// 007 - A View to a Kill (Part 1 of 3) (48K)

static struct BurnRomInfo SpecaviewtoaRomDesc[] = {
	{ "007 - A View to a Kill (1985)(Domark)(Part 1 of 3).z80", 0x07735, 0x09160ee4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaviewtoa, Specaviewtoa, Spectrum)
STD_ROM_FN(Specaviewtoa)

struct BurnDriver BurnSpecaviewtoa = {
	"spec_aviewtoa", NULL, "spec_spectrum", NULL, "1985",
	"007 - A View to a Kill (Part 1 of 3) (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaviewtoaRomInfo, SpecaviewtoaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 007 - A View to a Kill (Part 2 of 3) (48K)

static struct BurnRomInfo Specaviewtoa2RomDesc[] = {
	{ "007 - A View to a Kill (1985)(Domark)(Part 2 of 3).z80", 0x080f1, 0x01bc0f3b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaviewtoa2, Specaviewtoa2, Spectrum)
STD_ROM_FN(Specaviewtoa2)

struct BurnDriver BurnSpecaviewtoa2 = {
	"spec_aviewtoa2", "spec_aviewtoa", "spec_spectrum", NULL, "1985",
	"007 - A View to a Kill (Part 2 of 3) (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specaviewtoa2RomInfo, Specaviewtoa2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 007 - A View to a Kill (Part 3 of 3) (48K)

static struct BurnRomInfo Specaviewtoa3RomDesc[] = {
	{ "007 - A View to a Kill (1985)(Domark)(Part 3 of 3).z80", 0x069cd, 0xf918b9c2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaviewtoa3, Specaviewtoa3, Spectrum)
STD_ROM_FN(Specaviewtoa3)

struct BurnDriver BurnSpecaviewtoa3 = {
	"spec_aviewtoa3", "spec_aviewtoa", "spec_spectrum", NULL, "1985",
	"007 - A View to a Kill (Part 3 of 3) (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specaviewtoa3RomInfo, Specaviewtoa3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 007 - Licence to Kill (48K)

static struct BurnRomInfo Speclicekill_48RomDesc[] = {
	{ "007 - Licence to Kill (1989)(Domark).z80", 0x079d5, 0x114eef80, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclicekill_48, Speclicekill_48, Spectrum)
STD_ROM_FN(Speclicekill_48)

struct BurnDriver BurnSpeclicekill_48 = {
	"spec_licekill_48", "spec_licekill", "spec_spectrum", NULL, "1989",
	"007 - Licence to Kill (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclicekill_48RomInfo, Speclicekill_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 007 - Licence to Kill (128K)

static struct BurnRomInfo SpeclicekillRomDesc[] = {
	{ "007 - Licence to Kill (1989)(Domark)[128K].z80", 0x0a989, 0xb1421d77, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclicekill, Speclicekill, Spectrum)
STD_ROM_FN(Speclicekill)

struct BurnDriver BurnSpeclicekill = {
	"spec_licekill", NULL, "spec_spec128", NULL, "1989",
	"007 - Licence to Kill (128K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclicekillRomInfo, SpeclicekillRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 007 - Live and Let Die (48K)

static struct BurnRomInfo SpeclivletdiRomDesc[] = {
	{ "007 - Live and Let Die (1988)(Domark).z80", 0x09e2a, 0x72dd2728, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclivletdi, Speclivletdi, Spectrum)
STD_ROM_FN(Speclivletdi)

struct BurnDriver BurnSpeclivletdi = {
	"spec_livletdi", NULL, "spec_spectrum", NULL, "1988",
	"007 - Live and Let Die (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclivletdiRomInfo, SpeclivletdiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 007 - Lord Bromley's Estate (48K)

static struct BurnRomInfo SpeclorbroesRomDesc[] = {
	{ "007 - Lord Bromley's Estate (1990)(Domark).z80", 0x054d1, 0x9bdeec5f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclorbroes, Speclorbroes, Spectrum)
STD_ROM_FN(Speclorbroes)

struct BurnDriver BurnSpeclorbroes = {
	"spec_lorbroes", NULL, "spec_spectrum", NULL, "1990",
	"007 - Lord Bromley's Estate (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclorbroesRomInfo, SpeclorbroesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 007 - Q's Armoury (48K)

static struct BurnRomInfo SpecqsarmourRomDesc[] = {
	{ "007 - Q's Armoury (1990)(Domark).z80", 0x02d03, 0xcecb8882, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specqsarmour, Specqsarmour, Spectrum)
STD_ROM_FN(Specqsarmour)

struct BurnDriver BurnSpecqsarmour = {
	"spec_qsarmour", NULL, "spec_spectrum", NULL, "1990",
	"007 - Q's Armoury (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecqsarmourRomInfo, SpecqsarmourRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 007 - The Living Daylights (48K)

static struct BurnRomInfo SpecthelivdaRomDesc[] = {
	{ "007 - The Living Daylights (1987)(Domark).z80", 0x08d94, 0x3eef8db4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthelivda, Specthelivda, Spectrum)
STD_ROM_FN(Specthelivda)

struct BurnDriver BurnSpecthelivda = {
	"spec_thelivda", NULL, "spec_spectrum", NULL, "1987",
	"007 - The Living Daylights (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthelivdaRomInfo, SpecthelivdaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 007 - The Living Daylights (lightgun) (48K)

static struct BurnRomInfo SpecthelivdalRomDesc[] = {
	{ "007 - The Living Daylights (1987)(Domark)[lightgun].z80", 0x085c4, 0xd8bce2b9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthelivdal, Specthelivdal, Spectrum)
STD_ROM_FN(Specthelivdal)

struct BurnDriver BurnSpecthelivdal = {
	"spec_thelivdal", "spec_thelivda", "spec_spectrum", NULL, "1987",
	"007 - The Living Daylights (lightgun) (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthelivdalRomInfo, SpecthelivdalRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 100 km Race (48K)

static struct BurnRomInfo Spec100kraceRomDesc[] = {
	{ "100 km Race (19xx)(Coyote Software).z80", 0x0832f, 0xd369d9cc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec100krace, Spec100krace, Spectrum)
STD_ROM_FN(Spec100krace)

struct BurnDriver BurnSpec100krace = {
	"spec_100krace", NULL, "spec_spectrum", NULL, "19xx",
	"100 km Race (48K)\0", NULL, "Coyote Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec100kraceRomInfo, Spec100kraceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 10th Frame (48K)

static struct BurnRomInfo Spec10thfrmeRomDesc[] = {
	{ "10th Frame (1986)(U.S. Gold).z80", 0x0751a, 0x725997bc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec10thfrme, Spec10thfrme, Spectrum)
STD_ROM_FN(Spec10thfrme)

struct BurnDriver BurnSpec10thfrme = {
	"spec_10thfrme", NULL, "spec_spectrum", NULL, "1986",
	"10th Frame (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec10thfrmeRomInfo, Spec10thfrmeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 15 OS (hu) (128K)

static struct BurnRomInfo Spec15osRomDesc[] = {
	{ "15 OS (1998)(Laszlo Nyitrai)(hu)[128K].z80", 0x085a7, 0xae63ddd3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec15os, Spec15os, Spectrum)
STD_ROM_FN(Spec15os)

struct BurnDriver BurnSpec15os = {
	"spec_15os", NULL, "spec_spec128", NULL, "1998",
	"15 OS (hu) (128K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec15osRomInfo, Spec15osRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 15 OS Betu Puzzle (hu) (128K)

static struct BurnRomInfo Spec15osbetpRomDesc[] = {
	{ "15 OS Betu Puzzle (1998)(Laszlo Nyitrai)(hu)[128K].z80", 0x02a16, 0x0c5653c5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec15osbetp, Spec15osbetp, Spectrum)
STD_ROM_FN(Spec15osbetp)

struct BurnDriver BurnSpec15osbetp = {
	"spec_15osbetp", NULL, "spec_spec128", NULL, "1998",
	"15 OS Betu Puzzle (hu) (128K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec15osbetpRomInfo, Spec15osbetpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 180 (Micro-Gen) (48K)

static struct BurnRomInfo Spec180mgen_48RomDesc[] = {
	{ "180 (1983)(Mikro-Gen).z80", 0x03a00, 0x03cad5e0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec180mgen_48, Spec180mgen_48, Spectrum)
STD_ROM_FN(Spec180mgen_48)

struct BurnDriver BurnSpec180mgen_48 = {
	"spec_180mgen_48", "spec_180", "spec_spectrum", NULL, "1983",
	"180 (Micro-Gen) (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec180mgen_48RomInfo, Spec180mgen_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 180 (48K)

static struct BurnRomInfo Spec180_48RomDesc[] = {
	{ "180 (1986)(Mastertronic Added Dimension).z80", 0x08d96, 0x8cba8fcd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec180_48, Spec180_48, Spectrum)
STD_ROM_FN(Spec180_48)

struct BurnDriver BurnSpec180_48 = {
	"spec_180_48", "spec_180", "spec_spectrum", NULL, "1986",
	"180 (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec180_48RomInfo, Spec180_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 180 (128K)

static struct BurnRomInfo Spec180RomDesc[] = {
	{ "180 (1986)(Mastertronic Added Dimension)[128K].z80", 0x0d536, 0xc4937cba, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec180, Spec180, Spectrum)
STD_ROM_FN(Spec180)

struct BurnDriver BurnSpec180 = {
	"spec_180", NULL, "spec_spec128", NULL, "1986",
	"180 (128K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec180RomInfo, Spec180RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 19 Part 1 - Boot Camp (128K)

static struct BurnRomInfo Spec19part1RomDesc[] = {
	{ "19 Part 1 - Boot Camp (1988)(Cascade Games)[128K].z80", 0x11b76, 0xcf33db2a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec19part1, Spec19part1, Spectrum)
STD_ROM_FN(Spec19part1)

struct BurnDriver BurnSpec19part1 = {
	"spec_19part1", NULL, "spec_spec128", NULL, "1988",
	"19 Part 1 - Boot Camp (128K)\0", NULL, "Cascade Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec19part1RomInfo, Spec19part1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 1942 (48K)

static struct BurnRomInfo Spec1942RomDesc[] = {
	{ "1942 (1986)(Elite Systems).z80", 0x08a78, 0x82b77807, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec1942, Spec1942, Spectrum)
STD_ROM_FN(Spec1942)

struct BurnDriver BurnSpec1942 = {
	"spec_1942", NULL, "spec_spectrum", NULL, "1986",
	"1942 (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec1942RomInfo, Spec1942RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 1942 Mission (48K)

static struct BurnRomInfo Spec1942misnRomDesc[] = {
	{ "1942 Mission (1985)(Tartan Software).z80", 0x0aade, 0xf75e184c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec1942misn, Spec1942misn, Spectrum)
STD_ROM_FN(Spec1942misn)

struct BurnDriver BurnSpec1942misn = {
	"spec_1942misn", NULL, "spec_spectrum", NULL, "1985",
	"1942 Mission (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec1942misnRomInfo, Spec1942misnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 1943 - The Battle of Midway (48K)

static struct BurnRomInfo Spec1943RomDesc[] = {
	{ "1943 - The Battle of Midway (1988)(Go!).z80", 0x0996f, 0xc97f9144, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec1943, Spec1943, Spectrum)
STD_ROM_FN(Spec1943)

struct BurnDriver BurnSpec1943 = {
	"spec_1943", NULL, "spec_spectrum", NULL, "1988",
	"1943 - The Battle of Midway (48K)\0", NULL, "Go!", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec1943RomInfo, Spec1943RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 1984 - The Game of Economic Survival (48K)

static struct BurnRomInfo Spec1984ecosRomDesc[] = {
	{ "1984 - The Game of Economic Survival (1983)(Incentive Software).z80", 0x091da, 0xe2c63786, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec1984ecos, Spec1984ecos, Spectrum)
STD_ROM_FN(Spec1984ecos)

struct BurnDriver BurnSpec1984ecos = {
	"spec_1984ecos", NULL, "spec_spectrum", NULL, "1983",
	"1984 - The Game of Economic Survival (48K)\0", NULL, "Incentive Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec1984ecosRomInfo, Spec1984ecosRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 1985 - The Day After (48K)

static struct BurnRomInfo Spec1985dayaRomDesc[] = {
	{ "1985 - The Day After (1985)(Mastertronic).z80", 0x055c2, 0x0f41b9c9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec1985daya, Spec1985daya, Spectrum)
STD_ROM_FN(Spec1985daya)

struct BurnDriver BurnSpec1985daya = {
	"spec_1985daya", NULL, "spec_spectrum", NULL, "1985",
	"1985 - The Day After (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec1985dayaRomInfo, Spec1985dayaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 1994 - Ten Years After (48K)

static struct BurnRomInfo Spec1994tenyRomDesc[] = {
	{ "1994 - Ten Years After (1983)(Visions Software Factory).z80", 0x04fb4, 0x3b6e3093, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec1994teny, Spec1994teny, Spectrum)
STD_ROM_FN(Spec1994teny)

struct BurnDriver BurnSpec1994teny = {
	"spec_1994teny", NULL, "spec_spectrum", NULL, "1983",
	"1994 - Ten Years After (48K)\0", NULL, "Visions Software Factory", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec1994tenyRomInfo, Spec1994tenyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 1999 (48K)

static struct BurnRomInfo Spec1999RomDesc[] = {
	{ "1999 (1987)(Alternative Software).z80", 0x07b1d, 0x36dcbeb7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec1999, Spec1999, Spectrum)
STD_ROM_FN(Spec1999)

struct BurnDriver BurnSpec1999 = {
	"spec_1999", NULL, "spec_spectrum", NULL, "1987",
	"1999 (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec1999RomInfo, Spec1999RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 1D Tetris (48K)

static struct BurnRomInfo Spec1dtetrisRomDesc[] = {
	{ "1D Tetris (1998)(CSSCGC).z80", 0x00c6c, 0xfe604eb2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec1dtetris, Spec1dtetris, Spectrum)
STD_ROM_FN(Spec1dtetris)

struct BurnDriver BurnSpec1dtetris = {
	"spec_1dtetris", NULL, "spec_spectrum", NULL, "1998",
	"1D Tetris (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec1dtetrisRomInfo, Spec1dtetrisRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 1st Division Manager (48K)

static struct BurnRomInfo Spec1stdivm_48RomDesc[] = {
	{ "1st Division Manager (1991)(Codemasters).z80", 0x0a384, 0x8cc05a66, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec1stdivm_48, Spec1stdivm_48, Spectrum)
STD_ROM_FN(Spec1stdivm_48)

struct BurnDriver BurnSpec1stdivm_48 = {
	"spec_1stdivm_48", "spec_1stdivm", "spec_spectrum", NULL, "1991",
	"1st Division Manager (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec1stdivm_48RomInfo, Spec1stdivm_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 1st Division Manager (128K)

static struct BurnRomInfo Spec1stdivmRomDesc[] = {
	{ "1st Division Manager (1991)(Codemasters)[128K].z80", 0x0b956, 0x57fed4fa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec1stdivm, Spec1stdivm, Spectrum)
STD_ROM_FN(Spec1stdivm)

struct BurnDriver BurnSpec1stdivm = {
	"spec_1stdivm", NULL, "spec_spec128", NULL, "1991",
	"1st Division Manager (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec1stdivmRomInfo, Spec1stdivmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 2 Player Soccer Squad (48K)

static struct BurnRomInfo Spec2psocsqRomDesc[] = {
	{ "2 Player Soccer Squad (1991)(Cult Games).z80", 0x0869c, 0xb0f3b487, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec2psocsq, Spec2psocsq, Spectrum)
STD_ROM_FN(Spec2psocsq)

struct BurnDriver BurnSpec2psocsq = {
	"spec_2psocsq", NULL, "spec_spectrum", NULL, "1991",
	"2 Player Soccer Squad (48K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec2psocsqRomInfo, Spec2psocsqRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 20 Tons (48K)

static struct BurnRomInfo Spec20tonsRomDesc[] = {
	{ "20 Tons (1985)(Argus Press Software).z80", 0x042fd, 0x786ab0b3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec20tons, Spec20tons, Spectrum)
STD_ROM_FN(Spec20tons)

struct BurnDriver BurnSpec20tons = {
	"spec_20tons", NULL, "spec_spectrum", NULL, "1985",
	"20 Tons (48K)\0", NULL, "Argus Press Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec20tonsRomInfo, Spec20tonsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 2003 - A Space Oddity (48K)

static struct BurnRomInfo Spec2003asoRomDesc[] = {
	{ "2003 - A Space Oddity (1984)(DK'Tronics).z80", 0x084a6, 0x733d5ef1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec2003aso, Spec2003aso, Spectrum)
STD_ROM_FN(Spec2003aso)

struct BurnDriver BurnSpec2003aso = {
	"spec_2003aso", NULL, "spec_spectrum", NULL, "1984",
	"2003 - A Space Oddity (48K)\0", NULL, "DK'Tronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec2003asoRomInfo, Spec2003asoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 2088 (48K)

static struct BurnRomInfo Spec2088RomDesc[] = {
	{ "2088 (1988)(Zeppelin Games).z80", 0x0583f, 0x3f9fef3c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec2088, Spec2088, Spectrum)
STD_ROM_FN(Spec2088)

struct BurnDriver BurnSpec2088 = {
	"spec_2088", NULL, "spec_spectrum", NULL, "1988",
	"2088 (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec2088RomInfo, Spec2088RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 2112 AD (48K)

static struct BurnRomInfo Spec2112adRomDesc[] = {
	{ "2112 AD (1985)(Design Design Software).z80", 0x08f7c, 0xedaa4204, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec2112ad, Spec2112ad, Spectrum)
STD_ROM_FN(Spec2112ad)

struct BurnDriver BurnSpec2112ad = {
	"spec_2112ad", NULL, "spec_spectrum", NULL, "1985",
	"2112 AD (48K)\0", NULL, "Design Design Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec2112adRomInfo, Spec2112adRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 2D Mini Maze (48K)

static struct BurnRomInfo Spec2dmmazeRomDesc[] = {
	{ "2D Mini Maze (1996)(CSSCGC).z80", 0x01322, 0x974c8fd8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec2dmmaze, Spec2dmmaze, Spectrum)
STD_ROM_FN(Spec2dmmaze)

struct BurnDriver BurnSpec2dmmaze = {
	"spec_2dmmaze", NULL, "spec_spectrum", NULL, "1996",
	"2D Mini Maze (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec2dmmazeRomInfo, Spec2dmmazeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D (Spanish) (48K)

static struct BurnRomInfo Spec3dRomDesc[] = {
	{ "3D (19xx)(EP Software)(es).z80", 0x019a5, 0x2fae6de5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3d, Spec3d, Spectrum)
STD_ROM_FN(Spec3d)

struct BurnDriver BurnSpec3d = {
	"spec_3d", NULL, "spec_spectrum", NULL, "19xx",
	"3D (Spanish) (48K)\0", NULL, "EP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dRomInfo, Spec3dRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Bat Attack (48K)

static struct BurnRomInfo Spec3dbatattRomDesc[] = {
	{ "3D Bat Attack (1984)(Cheetahsoft).z80", 0x06d6f, 0xb9909cb5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dbatatt, Spec3dbatatt, Spectrum)
STD_ROM_FN(Spec3dbatatt)

struct BurnDriver BurnSpec3dbatatt = {
	"spec_3dbatatt", NULL, "spec_spectrum", NULL, "1984",
	"3D Bat Attack (48K)\0", NULL, "Cheetahsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dbatattRomInfo, Spec3dbatattRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Chess (48K)

static struct BurnRomInfo Spec3dchessRomDesc[] = {
	{ "3D Chess (1986)(Psion Software).z80", 0x04fd2, 0xc6b0a8f7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dchess, Spec3dchess, Spectrum)
STD_ROM_FN(Spec3dchess)

struct BurnDriver BurnSpec3dchess = {
	"spec_3dchess", NULL, "spec_spectrum", NULL, "1986",
	"3D Chess (48K)\0", NULL, "Psion Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dchessRomInfo, Spec3dchessRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Combat Zone (48K)

static struct BurnRomInfo Spec3dczone_48RomDesc[] = {
	{ "3D Combat Zone (1983)(Artic Computing).z80", 0x03094, 0x6a09e7d3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dczone_48, Spec3dczone_48, Spectrum)
STD_ROM_FN(Spec3dczone_48)

struct BurnDriver BurnSpec3dczone_48 = {
	"spec_3dczone_48", "spec_3dczone", "spec_spectrum", NULL, "1983",
	"3D Combat Zone (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dczone_48RomInfo, Spec3dczone_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Combat Zone (128K)

static struct BurnRomInfo Spec3dczoneRomDesc[] = {
	{ "3D Combat Zone (1983)(Artic Computing)[128K].z80", 0x04a0f, 0x53e1d826, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dczone, Spec3dczone, Spectrum)
STD_ROM_FN(Spec3dczone)

struct BurnDriver BurnSpec3dczone = {
	"spec_3dczone", NULL, "spec_spec128", NULL, "1983",
	"3D Combat Zone (128K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dczoneRomInfo, Spec3dczoneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Defence (48K)

static struct BurnRomInfo Spec3ddfnceRomDesc[] = {
	{ "3D Defence (1987)(Empire Software).z80", 0x02d8e, 0xd6b4a86a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3ddfnce, Spec3ddfnce, Spectrum)
STD_ROM_FN(Spec3ddfnce)

struct BurnDriver BurnSpec3ddfnce = {
	"spec_3ddfnce", NULL, "spec_spectrum", NULL, "1987",
	"3D Defence (48K)\0", NULL, "Empire Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3ddfnceRomInfo, Spec3ddfnceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Defenda (48K)

static struct BurnRomInfo Spec3ddfndaRomDesc[] = {
	{ "3D Defenda (1983)(Contrast Software).z80", 0x067ed, 0xafb4cfd3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3ddfnda, Spec3ddfnda, Spectrum)
STD_ROM_FN(Spec3ddfnda)

struct BurnDriver BurnSpec3ddfnda = {
	"spec_3ddfnda", NULL, "spec_spectrum", NULL, "1983",
	"3D Defenda (48K)\0", NULL, "Contrast Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3ddfndaRomInfo, Spec3ddfndaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3-D Golf (German) (48K)

static struct BurnRomInfo Spec3dgolfRomDesc[] = {
	{ "3-D Golf (19xx)(-)(de).z80", 0x04db7, 0x237c6619, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dgolf, Spec3dgolf, Spectrum)
STD_ROM_FN(Spec3dgolf)

struct BurnDriver BurnSpec3dgolf = {
	"spec_3dgolf", NULL, "spec_spectrum", NULL, "19xx",
	"3-D Golf (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dgolfRomInfo, Spec3dgolfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Grand Prix Championship (48K)

static struct BurnRomInfo Spec3dgpchmpRomDesc[] = {
	{ "3D Grand Prix Championship (1991)(Zeppelin Games).z80", 0x09b2b, 0x725288f6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dgpchmp, Spec3dgpchmp, Spectrum)
STD_ROM_FN(Spec3dgpchmp)

struct BurnDriver BurnSpec3dgpchmp = {
	"spec_3dgpchmp", NULL, "spec_spectrum", NULL, "1991",
	"3D Grand Prix Championship (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dgpchmpRomInfo, Spec3dgpchmpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Interceptor (Spanish) (48K)

static struct BurnRomInfo Spec3dintcprRomDesc[] = {
	{ "3D Interceptor (1984)(Ventamatic)(es).z80", 0x0528d, 0x8807e649, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dintcpr, Spec3dintcpr, Spectrum)
STD_ROM_FN(Spec3dintcpr)

struct BurnDriver BurnSpec3dintcpr = {
	"spec_3dintcpr", NULL, "spec_spectrum", NULL, "1984",
	"3D Interceptor (Spanish) (48K)\0", NULL, "Ventamatic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dintcprRomInfo, Spec3dintcprRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Irrgarten (German) (48K)

static struct BurnRomInfo Spec3dirgtnRomDesc[] = {
	{ "3D Irrgarten (1984)(J. Falkenberg)(de).z80", 0x02581, 0x3daca86b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dirgtn, Spec3dirgtn, Spectrum)
STD_ROM_FN(Spec3dirgtn)

struct BurnDriver BurnSpec3dirgtn = {
	"spec_3dirgtn", NULL, "spec_spectrum", NULL, "1984",
	"3D Irrgarten (German) (48K)\0", NULL, "J. Falkenberg", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dirgtnRomInfo, Spec3dirgtnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Labyrint (48K)

static struct BurnRomInfo Spec3dlbyrntRomDesc[] = {
	{ "3D Labyrint (1989)(Busy Software - Fuxoft).z80", 0x057c1, 0x67cabe12, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dlbyrnt, Spec3dlbyrnt, Spectrum)
STD_ROM_FN(Spec3dlbyrnt)

struct BurnDriver BurnSpec3dlbyrnt = {
	"spec_3dlbyrnt", NULL, "spec_spectrum", NULL, "1989",
	"3D Labyrint (48K)\0", NULL, "Busy Software - Fuxoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dlbyrntRomInfo, Spec3dlbyrntRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Labyrinth (48K)

static struct BurnRomInfo Spec3dlbrnthRomDesc[] = {
	{ "3D Labyrinth (19xx)(-).z80", 0x02ccd, 0x9bf9972a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dlbrnth, Spec3dlbrnth, Spectrum)
STD_ROM_FN(Spec3dlbrnth)

struct BurnDriver BurnSpec3dlbrnth = {
	"spec_3dlbrnth", NULL, "spec_spectrum", NULL, "19xx",
	"3D Labyrinth (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dlbrnthRomInfo, Spec3dlbrnthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Lunattack (48K)

static struct BurnRomInfo Spec3dlunattRomDesc[] = {
	{ "3D Lunattack (1984)(Hewson Consultants).z80", 0x0400f, 0x0b58cfda, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dlunatt, Spec3dlunatt, Spectrum)
STD_ROM_FN(Spec3dlunatt)

struct BurnDriver BurnSpec3dlunatt = {
	"spec_3dlunatt", NULL, "spec_spectrum", NULL, "1984",
	"3D Lunattack (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dlunattRomInfo, Spec3dlunattRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Master Game - Intro (48K)

static struct BurnRomInfo Spec3dmstgRomDesc[] = {
	{ "3D Master Game - Intro (1983)(Supersoft Systems).z80", 0x025ac, 0xbeef9037, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dmstg, Spec3dmstg, Spectrum)
STD_ROM_FN(Spec3dmstg)

struct BurnDriver BurnSpec3dmstg = {
	"spec_3dmstg", NULL, "spec_spectrum", NULL, "1983",
	"3D Master Game - Intro (48K)\0", NULL, "Supersoft Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dmstgRomInfo, Spec3dmstgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Master Game (48K)

static struct BurnRomInfo Spec3dmstggRomDesc[] = {
	{ "3D Master Game (1983)(Supersoft Systems).z80", 0x026ae, 0xfc0dffbb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dmstgg, Spec3dmstgg, Spectrum)
STD_ROM_FN(Spec3dmstgg)

struct BurnDriver BurnSpec3dmstgg = {
	"spec_3dmstgg", "spec_3dmstg", "spec_spectrum", NULL, "1983",
	"3D Master Game (48K)\0", NULL, "Supersoft Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dmstggRomInfo, Spec3dmstggRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Maze (Impact Software) (48K)

static struct BurnRomInfo Spec3dmazeimRomDesc[] = {
	{ "3D Maze (1982)(Impact Software).z80", 0x06b26, 0xcf853a94, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dmazeim, Spec3dmazeim, Spectrum)
STD_ROM_FN(Spec3dmazeim)

struct BurnDriver BurnSpec3dmazeim = {
	"spec_3dmazeim", NULL, "spec_spectrum", NULL, "1982",
	"3D Maze (Impact Software) (48K)\0", NULL, "Impact Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dmazeimRomInfo, Spec3dmazeimRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Maze (CSSCGC) (48K)

static struct BurnRomInfo Spec3dmazegsRomDesc[] = {
	{ "3D Maze (1996)(CSSCGC).z80", 0x02c38, 0xaff6fba9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dmazegs, Spec3dmazegs, Spectrum)
STD_ROM_FN(Spec3dmazegs)

struct BurnDriver BurnSpec3dmazegs = {
	"spec_3dmazegs", NULL, "spec_spectrum", NULL, "1996",
	"3D Maze (CSSCGC) (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dmazegsRomInfo, Spec3dmazegsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Monster Chase (48K)

static struct BurnRomInfo Spec3dmnstchRomDesc[] = {
	{ "3D Monster Chase (1984)(Romik Software).z80", 0x05343, 0xf9a01285, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dmnstch, Spec3dmnstch, Spectrum)
STD_ROM_FN(Spec3dmnstch)

struct BurnDriver BurnSpec3dmnstch = {
	"spec_3dmnstch", NULL, "spec_spectrum", NULL, "1984",
	"3D Monster Chase (48K)\0", NULL, "Romik Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dmnstchRomInfo, Spec3dmnstchRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3-D Noughts and Crosses (48K)

static struct BurnRomInfo Spec3dnghtxRomDesc[] = {
	{ "3-D Noughts and Crosses (1982)(Machinecroft).z80", 0x027a8, 0x541f9fb7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dnghtx, Spec3dnghtx, Spectrum)
STD_ROM_FN(Spec3dnghtx)

struct BurnDriver BurnSpec3dnghtx = {
	"spec_3dnghtx", NULL, "spec_spectrum", NULL, "1982",
	"3-D Noughts and Crosses (48K)\0", NULL, "Machinecroft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dnghtxRomInfo, Spec3dnghtxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Oxo (48K)

static struct BurnRomInfo Spec3doxoRomDesc[] = {
	{ "3D Oxo (1983)(Oasis Software).z80", 0x05d37, 0xb7c100e3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3doxo, Spec3doxo, Spectrum)
STD_ROM_FN(Spec3doxo)

struct BurnDriver BurnSpec3doxo = {
	"spec_3doxo", NULL, "spec_spectrum", NULL, "1983",
	"3D Oxo (48K)\0", NULL, "Oasis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3doxoRomInfo, Spec3doxoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Pacman (48K)

static struct BurnRomInfo Spec3dpacmanRomDesc[] = {
	{ "3D Pacman (1983)(Freddy Kristiansen).z80", 0x03855, 0xf11487c5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dpacman, Spec3dpacman, Spectrum)
STD_ROM_FN(Spec3dpacman)

struct BurnDriver BurnSpec3dpacman = {
	"spec_3dpacman", NULL, "spec_spectrum", NULL, "1983",
	"3D Pacman (48K)\0", NULL, "Freddy Kristiansen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dpacmanRomInfo, Spec3dpacmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Painter (48K)

static struct BurnRomInfo SpecdpainterRomDesc[] = {
	{ "3D Painter (1983)(CDS Microsystems).z80", 0x030d1, 0xd136b666, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdpainter, Specdpainter, Spectrum)
STD_ROM_FN(Specdpainter)

struct BurnDriver BurnSpecdpainter = {
	"spec_dpainter", NULL, "spec_spectrum", NULL, "1983",
	"3D Painter (48K)\0", NULL, "CDS Microsystems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdpainterRomInfo, SpecdpainterRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Pool (48K)

static struct BurnRomInfo Spec3dpoolRomDesc[] = {
	{ "3D Pool (1989)(Firebird Software).z80", 0x07833, 0xd7d72b61, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dpool, Spec3dpool, Spectrum)
STD_ROM_FN(Spec3dpool)

struct BurnDriver BurnSpec3dpool = {
	"spec_3dpool", NULL, "spec_spectrum", NULL, "1989",
	"3D Pool (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dpoolRomInfo, Spec3dpoolRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Pyramid (48K)

static struct BurnRomInfo Spec3dpyrmidRomDesc[] = {
	{ "3D Pyramid (1983)(Green Fish Software Enterprise).z80", 0x0162f, 0xddc8614b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dpyrmid, Spec3dpyrmid, Spectrum)
STD_ROM_FN(Spec3dpyrmid)

struct BurnDriver BurnSpec3dpyrmid = {
	"spec_3dpyrmid", NULL, "spec_spectrum", NULL, "1983",
	"3D Pyramid (48K)\0", NULL, "Green Fish Software Enterprise", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dpyrmidRomInfo, Spec3dpyrmidRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Snooker (48K)

static struct BurnRomInfo Spec3dsnkrRomDesc[] = {
	{ "3D Snooker (1990)(Players Premier Software).z80", 0x07179, 0x8dfff22d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dsnkr, Spec3dsnkr, Spectrum)
STD_ROM_FN(Spec3dsnkr)

struct BurnDriver BurnSpec3dsnkr = {
	"spec_3dsnkr", NULL, "spec_spectrum", NULL, "1990",
	"3D Snooker (48K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dsnkrRomInfo, Spec3dsnkrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Star Wars (48K)

static struct BurnRomInfo Spec3dstrwrsRomDesc[] = {
	{ "3D Star Wars (1983)(Custom Cables International).z80", 0x03ec0, 0xc74b80fc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dstrwrs, Spec3dstrwrs, Spectrum)
STD_ROM_FN(Spec3dstrwrs)

struct BurnDriver BurnSpec3dstrwrs = {
	"spec_3dstrwrs", NULL, "spec_spectrum", NULL, "1983",
	"3D Star Wars (48K)\0", NULL, "Custom Cables International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dstrwrsRomInfo, Spec3dstrwrsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Starfighter (48K)

static struct BurnRomInfo Spec3dstrfhtRomDesc[] = {
	{ "3D Starfighter (1988)(Codemasters).z80", 0x0a3ed, 0xecf16d88, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dstrfht, Spec3dstrfht, Spectrum)
STD_ROM_FN(Spec3dstrfht)

struct BurnDriver BurnSpec3dstrfht = {
	"spec_3dstrfht", NULL, "spec_spectrum", NULL, "1988",
	"3D Starfighter (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dstrfhtRomInfo, Spec3dstrfhtRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Starstrike (48K)

static struct BurnRomInfo Spec3dstrstrRomDesc[] = {
	{ "3D Starstrike (1984)(Realtime Games Software).z80", 0x0b03c, 0x8bcdf6a3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dstrstr, Spec3dstrstr, Spectrum)
STD_ROM_FN(Spec3dstrstr)

struct BurnDriver BurnSpec3dstrstr = {
	"spec_3dstrstr", NULL, "spec_spectrum", NULL, "1984",
	"3D Starstrike (48K)\0", NULL, "Realtime Games Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dstrstrRomInfo, Spec3dstrstrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Stock Car Championship (48K)

static struct BurnRomInfo Spec3dstckccRomDesc[] = {
	{ "3D Stock Car Championship (1988)(Firebird Software).z80", 0x0a1c4, 0xad809b73, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dstckcc, Spec3dstckcc, Spectrum)
STD_ROM_FN(Spec3dstckcc)

struct BurnDriver BurnSpec3dstckcc = {
	"spec_3dstckcc", NULL, "spec_spectrum", NULL, "1988",
	"3D Stock Car Championship (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dstckccRomInfo, Spec3dstckccRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Stock Cars II (48K)

static struct BurnRomInfo Spec3dstckc2RomDesc[] = {
	{ "3D Stock Cars II (1992)(E&J Software).z80", 0x09e8d, 0xf5cc48c1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dstckc2, Spec3dstckc2, Spectrum)
STD_ROM_FN(Spec3dstckc2)

struct BurnDriver BurnSpec3dstckc2 = {
	"spec_3dstckc2", NULL, "spec_spectrum", NULL, "1992",
	"3D Stock Cars II (48K)\0", NULL, "E&J Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dstckc2RomInfo, Spec3dstckc2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Strategy - Intro (48K)

static struct BurnRomInfo Spec3dstratiRomDesc[] = {
	{ "3D Strategy - Intro (1983)(Quicksilva).z80", 0x02068, 0x2a20b178, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dstrati, Spec3dstrati, Spectrum)
STD_ROM_FN(Spec3dstrati)

struct BurnDriver BurnSpec3dstrati = {
	"spec_3dstrati", NULL, "spec_spectrum", NULL, "1983",
	"3D Strategy - Intro (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dstratiRomInfo, Spec3dstratiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Tank Duel (48K)

static struct BurnRomInfo Spec3dtnkdlRomDesc[] = {
	{ "3D Tank Duel (1984)(Realtime Games Software).z80", 0x08a8b, 0x7d26671e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dtnkdl, Spec3dtnkdl, Spectrum)
STD_ROM_FN(Spec3dtnkdl)

struct BurnDriver BurnSpec3dtnkdl = {
	"spec_3dtnkdl", NULL, "spec_spectrum", NULL, "1984",
	"3D Tank Duel (48K)\0", NULL, "Realtime Games Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dtnkdlRomInfo, Spec3dtnkdlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Tennis (48K)

static struct BurnRomInfo Spec3dtennisRomDesc[] = {
	{ "3D Tennis (19xx)(-).z80", 0x09ec0, 0x7c49c2d7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dtennis, Spec3dtennis, Spectrum)
STD_ROM_FN(Spec3dtennis)

struct BurnDriver BurnSpec3dtennis = {
	"spec_3dtennis", NULL, "spec_spectrum", NULL, "19xx",
	"3D Tennis (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dtennisRomInfo, Spec3dtennisRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3-D Tic-Tac-Toe (German) (Ansgar Zerfass) (48K)

static struct BurnRomInfo Spec3dtttazRomDesc[] = {
	{ "3-D Tic-Tac-Toe (1983)(Ansgar Zerfass)(de).z80", 0x027bd, 0x84e118bd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dtttaz, Spec3dtttaz, Spectrum)
STD_ROM_FN(Spec3dtttaz)

struct BurnDriver BurnSpec3dtttaz = {
	"spec_3dtttaz", NULL, "spec_spectrum", NULL, "1983",
	"3-D Tic-Tac-Toe (German) (Ansgar Zerfass) (48K)\0", NULL, "Ansgar Zerfass", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dtttazRomInfo, Spec3dtttazRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3-D Tic-Tac-Toe (German) (Orwin Software) (48K)

static struct BurnRomInfo Spec3dtttosRomDesc[] = {
	{ "3-D Tic-Tac-Toe (1983)(Orwin Software)(de).z80", 0x01bf6, 0x19d005ec, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dtttos, Spec3dtttos, Spectrum)
STD_ROM_FN(Spec3dtttos)

struct BurnDriver BurnSpec3dtttos = {
	"spec_3dtttos", NULL, "spec_spectrum", NULL, "1983",
	"3-D Tic-Tac-Toe (German) (Orwin Software) (48K)\0", NULL, "Orwin Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dtttosRomInfo, Spec3dtttosRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Tunnel (German) (48K)

static struct BurnRomInfo Spec3dtnnldeRomDesc[] = {
	{ "3D Tunnel (1983)(New Generation Software)(de).z80", 0x02fbe, 0x1be75b77, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dtnnlde, Spec3dtnnlde, Spectrum)
STD_ROM_FN(Spec3dtnnlde)

struct BurnDriver BurnSpec3dtnnlde = {
	"spec_3dtnnlde", "spec_3dtunnel", "spec_spectrum", NULL, "1983",
	"3D Tunnel (German) (48K)\0", NULL, "New Generation Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dtnnldeRomInfo, Spec3dtnnldeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Tunnel (Spanish) (48K)

static struct BurnRomInfo Spec3dtnnlesRomDesc[] = {
	{ "3D Tunnel (1983)(New Generation Software)(es).z80", 0x0c01e, 0x67351143, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dtnnles, Spec3dtnnles, Spectrum)
STD_ROM_FN(Spec3dtnnles)

struct BurnDriver BurnSpec3dtnnles = {
	"spec_3dtnnles", "spec_3dtunnel", "spec_spectrum", NULL, "1983",
	"3D Tunnel (Spanish) (48K)\0", NULL, "New Generation Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dtnnlesRomInfo, Spec3dtnnlesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Tunnel (48K)

static struct BurnRomInfo Spec3dtunnelRomDesc[] = {
	{ "3D Tunnel (1983)(New Generation Software).z80", 0x04eed, 0xd98de71c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dtunnel, Spec3dtunnel, Spectrum)
STD_ROM_FN(Spec3dtunnel)

struct BurnDriver BurnSpec3dtunnel = {
	"spec_3dtunnel", NULL, "spec_spectrum", NULL, "1983",
	"3D Tunnel (48K)\0", NULL, "New Generation Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dtunnelRomInfo, Spec3dtunnelRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D Word (48K)

static struct BurnRomInfo Spec3dwordRomDesc[] = {
	{ "3D Word (1983)(P. Monger).z80", 0x00fca, 0x0b0ced7b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dword, Spec3dword, Spectrum)
STD_ROM_FN(Spec3dword)

struct BurnDriver BurnSpec3dword = {
	"spec_3dword", NULL, "spec_spectrum", NULL, "1983",
	"3D Word (48K)\0", NULL, "P. Monger", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dwordRomInfo, Spec3dwordRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3DC (48K)

static struct BurnRomInfo Spec3dcRomDesc[] = {
	{ "3DC (1987)(Encore).z80", 0x09680, 0x2e7dc80b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dc, Spec3dc, Spectrum)
STD_ROM_FN(Spec3dc)

struct BurnDriver BurnSpec3dc = {
	"spec_3dc", NULL, "spec_spectrum", NULL, "1987",
	"3DC (48K)\0", NULL, "Encore", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dcRomInfo, Spec3dcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3-Deep Space (48K)

static struct BurnRomInfo Spec3dpspaceRomDesc[] = {
	{ "3-Deep Space (1984)(Postern).z80", 0x01af2, 0x57e34111, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dpspace, Spec3dpspace, Spectrum)
STD_ROM_FN(Spec3dpspace)

struct BurnDriver BurnSpec3dpspace = {
	"spec_3dpspace", NULL, "spec_spectrum", NULL, "1984",
	"3-Deep Space (48K)\0", NULL, "Postern", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dpspaceRomInfo, Spec3dpspaceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D-Labyrinth (German) (48K)

static struct BurnRomInfo Spec3dlbrthdRomDesc[] = {
	{ "3D-Labyrinth (1983)(-)(de).z80", 0x040dd, 0xf8b095b8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dlbrthd, Spec3dlbrthd, Spectrum)
STD_ROM_FN(Spec3dlbrthd)

struct BurnDriver BurnSpec3dlbrthd = {
	"spec_3dlbrthd", NULL, "spec_spectrum", NULL, "1983",
	"3D-Labyrinth (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dlbrthdRomInfo, Spec3dlbrthdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 3D-Ravijn (nl) (48K)

static struct BurnRomInfo Spec3dravjinRomDesc[] = {
	{ "3D-Ravijn (1983)(Soft & Easy)(nl)[aka Blade Alley].z80", 0x06305, 0x4f7f5906, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dravjin, Spec3dravjin, Spectrum)
STD_ROM_FN(Spec3dravjin)

struct BurnDriver BurnSpec3dravjin = {
	"spec_3dravjin", NULL, "spec_spectrum", NULL, "1983",
	"3D-Ravijn (nl) (48K)\0", NULL, "Soft & Easy", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dravjinRomInfo, Spec3dravjinRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 4 Soccer Simulators - 11-a-Side Soccer (48K)

static struct BurnRomInfo Spec3dss11RomDesc[] = {
	{ "4 Soccer Simulators - 11-a-Side Soccer (1989)(Codemasters Gold).z80", 0x09f84, 0xa33baa06, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dss11, Spec3dss11, Spectrum)
STD_ROM_FN(Spec3dss11)

struct BurnDriver BurnSpec3dss11 = {
	"spec_3dss11", NULL, "spec_spectrum", NULL, "1989",
	"4 Soccer Simulators - 11-a-Side Soccer (48K)\0", NULL, "Codemasters Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dss11RomInfo, Spec3dss11RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 4 Soccer Simulators - Indoor Soccer (48K)

static struct BurnRomInfo Spec3dssisRomDesc[] = {
	{ "4 Soccer Simulators - Indoor Soccer (1989)(Codemasters Gold).z80", 0x09bf5, 0x5209de03, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dssis, Spec3dssis, Spectrum)
STD_ROM_FN(Spec3dssis)

struct BurnDriver BurnSpec3dssis = {
	"spec_3dssis", NULL, "spec_spectrum", NULL, "1989",
	"4 Soccer Simulators - Indoor Soccer (48K)\0", NULL, "Codemasters Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dssisRomInfo, Spec3dssisRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 4 Soccer Simulators - Soccer Skills (48K)

static struct BurnRomInfo Spec3dssssRomDesc[] = {
	{ "4 Soccer Simulators - Soccer Skills (1989)(Codemasters Gold).z80", 0x0a592, 0x1bab223a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dssss, Spec3dssss, Spectrum)
STD_ROM_FN(Spec3dssss)

struct BurnDriver BurnSpec3dssss = {
	"spec_3dssss", NULL, "spec_spectrum", NULL, "1989",
	"4 Soccer Simulators - Soccer Skills (48K)\0", NULL, "Codemasters Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dssssRomInfo, Spec3dssssRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 4 Soccer Simulators - Street Soccer (48K)

static struct BurnRomInfo Spec3dssstrtRomDesc[] = {
	{ "4 Soccer Simulators - Street Soccer (1989)(Codemasters Gold).z80", 0x0a2f8, 0x1c81ea53, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3dssstrt, Spec3dssstrt, Spectrum)
STD_ROM_FN(Spec3dssstrt)

struct BurnDriver BurnSpec3dssstrt = {
	"spec_3dssstrt", NULL, "spec_spectrum", NULL, "1989",
	"4 Soccer Simulators - Street Soccer (48K)\0", NULL, "Codemasters Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3dssstrtRomInfo, Spec3dssstrtRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 48 Irons (Russian) (128K)

static struct BurnRomInfo Spec48ironsRomDesc[] = {
	{ "48 Irons (1995)(Galaxy)(ru)[128K].z80", 0x10e9c, 0x7d8c5b26, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec48irons, Spec48irons, Spectrum)
STD_ROM_FN(Spec48irons)

struct BurnDriver BurnSpec48irons = {
	"spec_48irons", NULL, "spec_spec128", NULL, "1995",
	"48 Irons (Russian) (128K)\0", NULL, "Galaxy", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec48ironsRomInfo, Spec48ironsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 4x4 Off-Road Racing (48K)

static struct BurnRomInfo Spec4x4offrRomDesc[] = {
	{ "4x4 Off-Road Racing (1988)(U.S. Gold).z80", 0x06e60, 0x27e3ebc1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec4x4offr, Spec4x4offr, Spectrum)
STD_ROM_FN(Spec4x4offr)

struct BurnDriver BurnSpec4x4offr = {
	"spec_4x4offr", NULL, "spec_spectrum", NULL, "1988",
	"4x4 Off-Road Racing (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec4x4offrRomInfo, Spec4x4offrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 51 (German) (48K)

static struct BurnRomInfo Spec51RomDesc[] = {
	{ "51 (1983)(Th. Dargell)(de).z80", 0x01f41, 0x265700ff, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec51, Spec51, Spectrum)
STD_ROM_FN(Spec51)

struct BurnDriver BurnSpec51 = {
	"spec_51", NULL, "spec_spectrum", NULL, "1983",
	"51 (German) (48K)\0", NULL, "Th. Dargell", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec51RomInfo, Spec51RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 7 Card Stud (48K)

static struct BurnRomInfo Spec7cardstdRomDesc[] = {
	{ "7 Card Stud (1986)(Martech Games).z80", 0x04c56, 0x102b9471, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec7cardstd, Spec7cardstd, Spectrum)
STD_ROM_FN(Spec7cardstd)

struct BurnDriver BurnSpec7cardstd = {
	"spec_7cardstd", NULL, "spec_spectrum", NULL, "1986",
	"7 Card Stud (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec7cardstdRomInfo, Spec7cardstdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 720 Degrees (48K)

static struct BurnRomInfo Spec720degRomDesc[] = {
	{ "720 Degrees (1986)(U.S. Gold).z80", 0x096c6, 0x25a4c45f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec720deg, Spec720deg, Spectrum)
STD_ROM_FN(Spec720deg)

struct BurnDriver BurnSpec720deg = {
	"spec_720deg", NULL, "spec_spectrum", NULL, "1986",
	"720 Degrees (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec720degRomInfo, Spec720degRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 747 Flight Simulator (48K)

static struct BurnRomInfo Spec747fsRomDesc[] = {
	{ "747 Flight Simulator (1984)(DACC).z80", 0x05c0b, 0x8d124616, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec747fs, Spec747fs, Spectrum)
STD_ROM_FN(Spec747fs)

struct BurnDriver BurnSpec747fs = {
	"spec_747fs", NULL, "spec_spectrum", NULL, "1984",
	"747 Flight Simulator (48K)\0", NULL, "DACC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec747fsRomInfo, Spec747fsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 750cc Grand Prix (48K)

static struct BurnRomInfo Spec750ccgpRomDesc[] = {
	{ "750cc Grand Prix (1991)(Codemasters).z80", 0x09553, 0x902f4462, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec750ccgp, Spec750ccgp, Spectrum)
STD_ROM_FN(Spec750ccgp)

struct BurnDriver BurnSpec750ccgp = {
	"spec_750ccgp", NULL, "spec_spectrum", NULL, "1991",
	"750cc Grand Prix (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec750ccgpRomInfo, Spec750ccgpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 911 TS (48K)

static struct BurnRomInfo Spec911tdRomDesc[] = {
	{ "911 TS (1985)(Elite Systems).z80", 0x081f1, 0x7f25b3f2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec911td, Spec911td, Spectrum)
STD_ROM_FN(Spec911td)

struct BurnDriver BurnSpec911td = {
	"spec_911td", NULL, "spec_spectrum", NULL, "1985",
	"911 TS (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec911tdRomInfo, Spec911tdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// 9-Hole Golf (48K)

static struct BurnRomInfo Spec9holeglfRomDesc[] = {
	{ "9-Hole Golf (1986)(Galileo).z80", 0x01ec7, 0x19488689, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec9holeglf, Spec9holeglf, Spectrum)
STD_ROM_FN(Spec9holeglf)

struct BurnDriver BurnSpec9holeglf = {
	"spec_9holeglf", NULL, "spec_spectrum", NULL, "1986",
	"9-Hole Golf (48K)\0", NULL, "Galileo", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec9holeglfRomInfo, Spec9holeglfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Day in the Life (48K)

static struct BurnRomInfo SpecadayinthRomDesc[] = {
	{ "A Day in the Life (1985)(Micromega).z80", 0x091e9, 0x1fbb5327, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadayinth, Specadayinth, Spectrum)
STD_ROM_FN(Specadayinth)

struct BurnDriver BurnSpecadayinth = {
	"spec_adayinth", NULL, "spec_spectrum", NULL, "1985",
	"A Day in the Life (48K)\0", NULL, "Micromega", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadayinthRomInfo, SpecadayinthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Day in the Life of Arnold (48K)

static struct BurnRomInfo SpecadlaRomDesc[] = {
	{ "A Day in the Life of Arnold (1996)(CSSCGC).z80", 0x07d9f, 0x1236703c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadla, Specadla, Spectrum)
STD_ROM_FN(Specadla)

struct BurnDriver BurnSpecadla = {
	"spec_adla", NULL, "spec_spectrum", NULL, "1996",
	"A Day in the Life of Arnold (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadlaRomInfo, SpecadlaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Dungeon Romp (48K)

static struct BurnRomInfo SpecadungeonRomDesc[] = {
	{ "A Dungeon Romp (1995)(Zenobi Software).z80", 0x0978d, 0x7f6c460a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadungeon, Specadungeon, Spectrum)
STD_ROM_FN(Specadungeon)

struct BurnDriver BurnSpecadungeon = {
	"spec_adungeon", NULL, "spec_spectrum", NULL, "1995",
	"A Dungeon Romp (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadungeonRomInfo, SpecadungeonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Fistful of Blood Capsules - Intro (48K)

static struct BurnRomInfo SpecafistfulRomDesc[] = {
	{ "A Fistful of Blood Capsules - Intro (1987)(Zodiac Software).z80", 0x07177, 0x789368b2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specafistful, Specafistful, Spectrum)
STD_ROM_FN(Specafistful)

struct BurnDriver BurnSpecafistful = {
	"spec_afistful", NULL, "spec_spectrum", NULL, "1987",
	"A Fistful of Blood Capsules - Intro (48K)\0", NULL, "Zodiac Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecafistfulRomInfo, SpecafistfulRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Fistful of Blood Capsules (Part 1 of 3) (48K)

static struct BurnRomInfo Specafistful1RomDesc[] = {
	{ "A Fistful of Blood Capsules (1987)(Zodiac Software)(Part 1 of 3).z80", 0x092a8, 0x75ac4816, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specafistful1, Specafistful1, Spectrum)
STD_ROM_FN(Specafistful1)

struct BurnDriver BurnSpecafistful1 = {
	"spec_afistful1", "spec_afistful", "spec_spectrum", NULL, "1987",
	"A Fistful of Blood Capsules (Part 1 of 3) (48K)\0", NULL, "Zodiac Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specafistful1RomInfo, Specafistful1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Fistful of Blood Capsules (Part 2 of 3) (48K)

static struct BurnRomInfo Specafistful2RomDesc[] = {
	{ "A Fistful of Blood Capsules (1987)(Zodiac Software)(Part 2 of 3).z80", 0x08c9a, 0xb8b17228, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specafistful2, Specafistful2, Spectrum)
STD_ROM_FN(Specafistful2)

struct BurnDriver BurnSpecafistful2 = {
	"spec_afistful2", "spec_afistful", "spec_spectrum", NULL, "1987",
	"A Fistful of Blood Capsules (Part 2 of 3) (48K)\0", NULL, "Zodiac Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specafistful2RomInfo, Specafistful2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Fistful of Blood Capsules (Part 3 of 3) (48K)

static struct BurnRomInfo Specafistful3RomDesc[] = {
	{ "A Fistful of Blood Capsules (1987)(Zodiac Software)(Part 3 of 3).z80", 0x08fdc, 0x49d1e5be, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specafistful3, Specafistful3, Spectrum)
STD_ROM_FN(Specafistful3)

struct BurnDriver BurnSpecafistful3 = {
	"spec_afistful3", "spec_afistful", "spec_spectrum", NULL, "1987",
	"A Fistful of Blood Capsules (Part 3 of 3) (48K)\0", NULL, "Zodiac Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specafistful3RomInfo, Specafistful3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Fistful of Blood Capsules (end) (48K)

static struct BurnRomInfo SpecafistfuleRomDesc[] = {
	{ "A Fistful of Blood Capsules (1987)(Zodiac Software)[end].z80", 0x04482, 0x4de169c6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specafistfule, Specafistfule, Spectrum)
STD_ROM_FN(Specafistfule)

struct BurnDriver BurnSpecafistfule = {
	"spec_afistfule", "spec_afistful", "spec_spectrum", NULL, "1987",
	"A Fistful of Blood Capsules (end) (48K)\0", NULL, "Zodiac Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecafistfuleRomInfo, SpecafistfuleRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Fistful of Necronomicons (48K)

static struct BurnRomInfo SpecafistflnRomDesc[] = {
	{ "A Fistful of Necronomicons (1995)(Zenobi Software).z80", 0x09094, 0x7e54ddb9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specafistfln, Specafistfln, Spectrum)
STD_ROM_FN(Specafistfln)

struct BurnDriver BurnSpecafistfln = {
	"spec_afistfln", NULL, "spec_spectrum", NULL, "1995",
	"A Fistful of Necronomicons (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecafistflnRomInfo, SpecafistflnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Folyo (hu) (48K)

static struct BurnRomInfo SpecafolyohuRomDesc[] = {
	{ "A Folyo (1996)(Laszlo Nyitrai)(hu).z80", 0x01dc7, 0xf67cc842, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specafolyohu, Specafolyohu, Spectrum)
STD_ROM_FN(Specafolyohu)

struct BurnDriver BurnSpecafolyohu = {
	"spec_afolyohu", NULL, "spec_spectrum", NULL, "1996",
	"A Folyo (hu) (48K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecafolyohuRomInfo, SpecafolyohuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Harvesting Moon (48K)

static struct BurnRomInfo SpecaharvestRomDesc[] = {
	{ "A Harvesting Moon (1985)(8th Day Software).z80", 0x0b0e6, 0x6a7c9fb9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaharvest, Specaharvest, Spectrum)
STD_ROM_FN(Specaharvest)

struct BurnDriver BurnSpecaharvest = {
	"spec_aharvest", NULL, "spec_spectrum", NULL, "1985",
	"A Harvesting Moon (48K)\0", NULL, "8th Day Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaharvestRomInfo, SpecaharvestRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Hero for Sorania (48K)

static struct BurnRomInfo SpecaheroforRomDesc[] = {
	{ "A Hero for Sorania (1998)(Adventure Probe Software).z80", 0x0d16b, 0x1ce7cbf0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaherofor, Specaherofor, Spectrum)
STD_ROM_FN(Specaherofor)

struct BurnDriver BurnSpecaherofor = {
	"spec_aherofor", NULL, "spec_spectrum", NULL, "1998",
	"A Hero for Sorania (48K)\0", NULL, "Adventure Probe Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaheroforRomInfo, SpecaheroforRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Holiday to Remember (Part 1 of 2) (48K)

static struct BurnRomInfo SpecaholidayRomDesc[] = {
	{ "A Holiday to Remember (1987)(Visual Dimensions)(Part 1 of 2).z80", 0x08795, 0x7947266b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaholiday, Specaholiday, Spectrum)
STD_ROM_FN(Specaholiday)

struct BurnDriver BurnSpecaholiday = {
	"spec_aholiday", NULL, "spec_spectrum", NULL, "1987",
	"A Holiday to Remember (Part 1 of 2) (48K)\0", NULL, "Visual Dimensions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaholidayRomInfo, SpecaholidayRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Holiday to Remember (Part 2 of 2) (48K)

static struct BurnRomInfo Specaholiday2RomDesc[] = {
	{ "A Holiday to Remember (1987)(Visual Dimensions)(Part 2 of 2).z80", 0x092a4, 0x81bf5b53, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaholiday2, Specaholiday2, Spectrum)
STD_ROM_FN(Specaholiday2)

struct BurnDriver BurnSpecaholiday2 = {
	"spec_aholiday2", "spec_aholiday", "spec_spectrum", NULL, "1987",
	"A Holiday to Remember (Part 2 of 2) (48K)\0", NULL, "Visual Dimensions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specaholiday2RomInfo, Specaholiday2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Legacy for Alaric II - The Magic Isle (48K)

static struct BurnRomInfo Specalaiitm2RomDesc[] = {
	{ "A Legacy for Alaric II - The Magic Isle (1990)(Zenobi Software).z80", 0x0997e, 0x38a8a06f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalaiitm2, Specalaiitm2, Spectrum)
STD_ROM_FN(Specalaiitm2)

struct BurnDriver BurnSpecalaiitm2 = {
	"spec_alaiitm2", NULL, "spec_spectrum", NULL, "1990",
	"A Legacy for Alaric II - The Magic Isle (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specalaiitm2RomInfo, Specalaiitm2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Legacy for Alaric v2 (48K)

static struct BurnRomInfo Specalegcyf2RomDesc[] = {
	{ "A Legacy for Alaric v2 (1989)(Zenobi Software).z80", 0x0989d, 0x1db328f3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalegcyf2, Specalegcyf2, Spectrum)
STD_ROM_FN(Specalegcyf2)

struct BurnDriver BurnSpecalegcyf2 = {
	"spec_alegcyf2", NULL, "spec_spectrum", NULL, "1989",
	"A Legacy for Alaric v2 (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specalegcyf2RomInfo, Specalegcyf2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Legacy for Alaric v3 (48K)

static struct BurnRomInfo Specalegcyf3RomDesc[] = {
	{ "A Legacy for Alaric v3 (1989)(Zenobi Software).z80", 0x09c57, 0xcff9a0a7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalegcyf3, Specalegcyf3, Spectrum)
STD_ROM_FN(Specalegcyf3)

struct BurnDriver BurnSpecalegcyf3 = {
	"spec_alegcyf3", NULL, "spec_spectrum", NULL, "1989",
	"A Legacy for Alaric v3 (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specalegcyf3RomInfo, Specalegcyf3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Question of Scruples (128K)

static struct BurnRomInfo SpecaqscplesRomDesc[] = {
	{ "A Question of Scruples (1987)(Leisure Genius)[128K].z80", 0x1af24, 0x08f91a62, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaqscples, Specaqscples, Spectrum)
STD_ROM_FN(Specaqscples)

struct BurnDriver BurnSpecaqscples = {
	"spec_aqscples", NULL, "spec_spec128", NULL, "1987",
	"A Question of Scruples (128K)\0", NULL, "Leisure Genius", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaqscplesRomInfo, SpecaqscplesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Right Pair of... (48K)

static struct BurnRomInfo SpecarightpaRomDesc[] = {
	{ "A Right Pair of... (2002)(Naffsoft).z80", 0x01b9b, 0xb5e8be19, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarightpa, Specarightpa, Spectrum)
STD_ROM_FN(Specarightpa)

struct BurnDriver BurnSpecarightpa = {
	"spec_arightpa", NULL, "spec_spectrum", NULL, "2002",
	"A Right Pair of... (48K)\0", NULL, "Naffsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarightpaRomInfo, SpecarightpaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Shadow on Glass (48K)

static struct BurnRomInfo SpecashdwglsRomDesc[] = {
	{ "A Shadow on Glass (1989)(Psychaedelic Hedgehog Software).z80", 0x0a61f, 0x2fdf8bf2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specashdwgls, Specashdwgls, Spectrum)
STD_ROM_FN(Specashdwgls)

struct BurnDriver BurnSpecashdwgls = {
	"spec_ashdwgls", NULL, "spec_spectrum", NULL, "1989",
	"A Shadow on Glass (48K)\0", NULL, "Psychaedelic Hedgehog Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecashdwglsRomInfo, SpecashdwglsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Soupcon of Trouble (Part 1 of 2) (48K)

static struct BurnRomInfo SpecasoupconRomDesc[] = {
	{ "A Soupcon of Trouble (19xx)(Adventure Probe Software)(Part 1 of 2).z80", 0x092f9, 0xaecda917, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specasoupcon, Specasoupcon, Spectrum)
STD_ROM_FN(Specasoupcon)

struct BurnDriver BurnSpecasoupcon = {
	"spec_asoupcon", NULL, "spec_spectrum", NULL, "19xx",
	"A Soupcon of Trouble (Part 1 of 2) (48K)\0", NULL, "Adventure Probe Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecasoupconRomInfo, SpecasoupconRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Soupcon of Trouble (Part 2 of 2) (48K)

static struct BurnRomInfo Specasoupcon2RomDesc[] = {
	{ "A Soupcon of Trouble (19xx)(Adventure Probe Software)(Part 2 of 2).z80", 0x090e7, 0x9bb54fda, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specasoupcon2, Specasoupcon2, Spectrum)
STD_ROM_FN(Specasoupcon2)

struct BurnDriver BurnSpecasoupcon2 = {
	"spec_asoupcon2", "spec_asoupcon", "spec_spectrum", NULL, "19xx",
	"A Soupcon of Trouble (Part 2 of 2) (48K)\0", NULL, "Adventure Probe Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specasoupcon2RomInfo, Specasoupcon2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Spell of Christmas Ice (48K)

static struct BurnRomInfo SpecaspellofRomDesc[] = {
	{ "A Spell of Christmas Ice (1989)(Star Dreams).z80", 0x028fb, 0x72a66a76, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaspellof, Specaspellof, Spectrum)
STD_ROM_FN(Specaspellof)

struct BurnDriver BurnSpecaspellof = {
	"spec_aspellof", NULL, "spec_spectrum", NULL, "1989",
	"A Spell of Christmas Ice (48K)\0", NULL, "Star Dreams", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaspellofRomInfo, SpecaspellofRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Tangled Tale (48K)

static struct BurnRomInfo SpecatangledRomDesc[] = {
	{ "A Tangled Tale (1985)(Double Play Adventures).z80", 0x05e7d, 0xef3ed6cc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specatangled, Specatangled, Spectrum)
STD_ROM_FN(Specatangled)

struct BurnDriver BurnSpecatangled = {
	"spec_atangled", NULL, "spec_spectrum", NULL, "1985",
	"A Tangled Tale (48K)\0", NULL, "Double Play Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecatangledRomInfo, SpecatangledRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Thief in the Night (48K)

static struct BurnRomInfo SpecathiefinRomDesc[] = {
	{ "A Thief in the Night (1989)(Westy Productions).z80", 0x0573d, 0x02244f86, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specathiefin, Specathiefin, Spectrum)
STD_ROM_FN(Specathiefin)

struct BurnDriver BurnSpecathiefin = {
	"spec_athiefin", NULL, "spec_spectrum", NULL, "1989",
	"A Thief in the Night (48K)\0", NULL, "Westy Productions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecathiefinRomInfo, SpecathiefinRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A Ticket to Ride (48K)

static struct BurnRomInfo SpecatickettRomDesc[] = {
	{ "A Ticket to Ride (1986)(Mastertronic).z80", 0x0872e, 0xb7434275, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specatickett, Specatickett, Spectrum)
STD_ROM_FN(Specatickett)

struct BurnDriver BurnSpecatickett = {
	"spec_atickett", NULL, "spec_spectrum", NULL, "1986",
	"A Ticket to Ride (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecatickettRomInfo, SpecatickettRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A To Snad Ne! (cs) (Part 1 of 2) (128K)

static struct BurnRomInfo SpecatosnadnRomDesc[] = {
	{ "A To Snad Ne! (19xx)(-)(cs)(Part 1 of 2)[128K].z80", 0x0b389, 0x0b63dd55, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specatosnadn, Specatosnadn, Spectrum)
STD_ROM_FN(Specatosnadn)

struct BurnDriver BurnSpecatosnadn = {
	"spec_atosnadn", NULL, "spec_spec128", NULL, "19xx",
	"A To Snad Ne! (cs) (Part 1 of 2) (128K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecatosnadnRomInfo, SpecatosnadnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A To Snad Ne! (cs) (Part 2 of 2) (128K)

static struct BurnRomInfo Specatosnadn2RomDesc[] = {
	{ "A To Snad Ne! (19xx)(-)(cs)(Part 2 of 2)[128K].z80", 0x0b3a4, 0x43a09024, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specatosnadn2, Specatosnadn2, Spectrum)
STD_ROM_FN(Specatosnadn2)

struct BurnDriver BurnSpecatosnadn2 = {
	"spec_atosnadn2", "spec_atosnadn", "spec_spec128", NULL, "19xx",
	"A To Snad Ne! (cs) (Part 2 of 2) (128K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specatosnadn2RomInfo, Specatosnadn2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A.R.N.O.L.D. (Spanish) (48K)

static struct BurnRomInfo SpecarnoldRomDesc[] = {
	{ "A.R.N.O.L.D. (1988)(Static Soft)(es).z80", 0x09b4c, 0x6c521331, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarnold, Specarnold, Spectrum)
STD_ROM_FN(Specarnold)

struct BurnDriver BurnSpecarnold = {
	"spec_arnold", NULL, "spec_spectrum", NULL, "1988",
	"A.R.N.O.L.D. (Spanish) (48K)\0", NULL, "Static Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarnoldRomInfo, SpecarnoldRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aaargh! (48K)

static struct BurnRomInfo SpecaaarghRomDesc[] = {
	{ "Aaargh! (1989)(Melbourne House).z80", 0x0aba5, 0x884520f8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaaargh, Specaaargh, Spectrum)
STD_ROM_FN(Specaaargh)

struct BurnDriver BurnSpecaaargh = {
	"spec_aaargh", NULL, "spec_spectrum", NULL, "1989",
	"Aaargh! (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaaarghRomInfo, SpecaaarghRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Abadia del Crimen, La (Spanish) (128K)

static struct BurnRomInfo SpecabacrilaRomDesc[] = {
	{ "Abadia del Crimen, La (1988)(Opera Soft)(es)[128K][needs tape load].z80", 0x1320d, 0x057b4250, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specabacrila, Specabacrila, Spectrum)
STD_ROM_FN(Specabacrila)

struct BurnDriver BurnSpecabacrila = {
	"spec_abacrila", NULL, "spec_spec128", NULL, "1988",
	"Abadia del Crimen, La (Spanish) (128K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecabacrilaRomInfo, SpecabacrilaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Abracadabra (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecabracadaRomDesc[] = {
	{ "Abracadabra (1988)(Proein Soft Line)(es)(Part 1 of 2).z80", 0x09f82, 0x993a414f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specabracada, Specabracada, Spectrum)
STD_ROM_FN(Specabracada)

struct BurnDriver BurnSpecabracada = {
	"spec_abracada", NULL, "spec_spectrum", NULL, "1988",
	"Abracadabra (Spanish) (Part 1 of 2) (48K)\0", NULL, "Proein Soft Line", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecabracadaRomInfo, SpecabracadaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Abracadabra (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specabracada2RomDesc[] = {
	{ "Abracadabra (1988)(Proein Soft Line)(es)(Part 2 of 2).z80", 0x09d68, 0xde82cb50, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specabracada2, Specabracada2, Spectrum)
STD_ROM_FN(Specabracada2)

struct BurnDriver BurnSpecabracada2 = {
	"spec_abracada2", "spec_abracada", "spec_spectrum", NULL, "1988",
	"Abracadabra (Spanish) (Part 2 of 2) (48K)\0", NULL, "Proein Soft Line", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specabracada2RomInfo, Specabracada2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Abu Simbel Profanation (Spanish) (48K)

static struct BurnRomInfo SpecabusimprdRomDesc[] = {
	{ "Abu Simbel Profanation (1985)(Dinamic Software)(es).z80", 0x098be, 0x6293aedf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specabusimprd, Specabusimprd, Spectrum)
STD_ROM_FN(Specabusimprd)

struct BurnDriver BurnSpecabusimprd = {
	"spec_abusimprd", "spec_abusimpr", "spec_spectrum", NULL, "1985",
	"Abu Simbel Profanation (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecabusimprdRomInfo, SpecabusimprdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Abu Simbel Profanation (48K)

static struct BurnRomInfo SpecabusimprRomDesc[] = {
	{ "Abu Simbel Profanation (1987)(Gremlin Graphics Software)[re-release].z80", 0x08ed4, 0x0340c9f4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specabusimpr, Specabusimpr, Spectrum)
STD_ROM_FN(Specabusimpr)

struct BurnDriver BurnSpecabusimpr = {
	"spec_abusimpr", NULL, "spec_spectrum", NULL, "1987",
	"Abu Simbel Profanation (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecabusimprRomInfo, SpecabusimprRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Abwehr (German) (48K)

static struct BurnRomInfo SpecabwehrdeRomDesc[] = {
	{ "Abwehr (1983)(Werner Spahl)(de).z80", 0x01f1c, 0x0cbad377, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specabwehrde, Specabwehrde, Spectrum)
STD_ROM_FN(Specabwehrde)

struct BurnDriver BurnSpecabwehrde = {
	"spec_abwehrde", NULL, "spec_spectrum", NULL, "1983",
	"Abwehr (German) (48K)\0", NULL, "Werner Spahl", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecabwehrdeRomInfo, SpecabwehrdeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Abyss - Intro (48K)

static struct BurnRomInfo SpecabyssRomDesc[] = {
	{ "Abyss - Intro (1984)(CCS).z80", 0x01804, 0x9a80c075, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specabyss, Specabyss, Spectrum)
STD_ROM_FN(Specabyss)

struct BurnDriver BurnSpecabyss = {
	"spec_abyss", NULL, "spec_spectrum", NULL, "1984",
	"Abyss - Intro (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecabyssRomInfo, SpecabyssRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Abyss (48K)

static struct BurnRomInfo SpecabyssgRomDesc[] = {
	{ "Abyss (1984)(CCS).z80", 0x05049, 0x1c8e0990, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specabyssg, Specabyssg, Spectrum)
STD_ROM_FN(Specabyssg)

struct BurnDriver BurnSpecabyssg = {
	"spec_abyssg", "spec_abyss", "spec_spectrum", NULL, "1984",
	"Abyss (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecabyssgRomInfo, SpecabyssgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Academy - Tau Ceti II - Mission Don't Panic (48K)

static struct BurnRomInfo SpecacadtaucRomDesc[] = {
	{ "Academy - Tau Ceti II - Mission Don't Panic (1987)(CRL Group).z80", 0x0905e, 0x93014324, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specacadtauc, Specacadtauc, Spectrum)
STD_ROM_FN(Specacadtauc)

struct BurnDriver BurnSpecacadtauc = {
	"spec_acadtauc", NULL, "spec_spectrum", NULL, "1987",
	"Academy - Tau Ceti II - Mission Don't Panic (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecacadtaucRomInfo, SpecacadtaucRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Academy - Tau Ceti II - Mission If It Moves... (48K)

static struct BurnRomInfo Specacadtauc2RomDesc[] = {
	{ "Academy - Tau Ceti II - Mission If It Moves... (1987)(CRL Group).z80", 0x08faf, 0x04d21b4b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specacadtauc2, Specacadtauc2, Spectrum)
STD_ROM_FN(Specacadtauc2)

struct BurnDriver BurnSpecacadtauc2 = {
	"spec_acadtauc2", "spec_acadtauc", "spec_spectrum", NULL, "1987",
	"Academy - Tau Ceti II - Mission If It Moves... (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specacadtauc2RomInfo, Specacadtauc2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Academy - Tau Ceti II - Mission The Sands of Time (48K)

static struct BurnRomInfo Specacadtauc3RomDesc[] = {
	{ "Academy - Tau Ceti II - Mission The Sands of Time (1987)(CRL Group).z80", 0x090fa, 0xdbb492e3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specacadtauc3, Specacadtauc3, Spectrum)
STD_ROM_FN(Specacadtauc3)

struct BurnDriver BurnSpecacadtauc3 = {
	"spec_acadtauc3", "spec_acadtauc", "spec_spectrum", NULL, "1987",
	"Academy - Tau Ceti II - Mission The Sands of Time (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specacadtauc3RomInfo, Specacadtauc3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Accelerator (48K)

static struct BurnRomInfo SpecacceleraRomDesc[] = {
	{ "Accelerator (1984)(Century City Software).z80", 0x05856, 0x018831f6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaccelera, Specaccelera, Spectrum)
STD_ROM_FN(Specaccelera)

struct BurnDriver BurnSpecaccelera = {
	"spec_accelera", NULL, "spec_spectrum", NULL, "1984",
	"Accelerator (48K)\0", NULL, "Century City Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecacceleraRomInfo, SpecacceleraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// ACE - Air Combat Emulator (48K)

static struct BurnRomInfo SpecaceaceRomDesc[] = {
	{ "ACE - Air Combat Emulator (1986)(Cascade Games).z80", 0x07571, 0xa1d72179, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaceace, Specaceace, Spectrum)
STD_ROM_FN(Specaceace)

struct BurnDriver BurnSpecaceace = {
	"spec_aceace", NULL, "spec_spectrum", NULL, "1986",
	"ACE - Air Combat Emulator (48K)\0", NULL, "Cascade Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaceaceRomInfo, SpecaceaceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// ACE 2 - The Ultimate Head to Head Conflict (48K)

static struct BurnRomInfo SpecacetuhhcRomDesc[] = {
	{ "ACE 2 - The Ultimate Head to Head Conflict (1987)(Cascade Games).z80", 0x08080, 0x502c36aa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specacetuhhc, Specacetuhhc, Spectrum)
STD_ROM_FN(Specacetuhhc)

struct BurnDriver BurnSpecacetuhhc = {
	"spec_acetuhhc", NULL, "spec_spectrum", NULL, "1987",
	"ACE 2 - The Ultimate Head to Head Conflict (48K)\0", NULL, "Cascade Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecacetuhhcRomInfo, SpecacetuhhcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// ACE 2088 - The Space-Flight Combat Simulation (48K)

static struct BurnRomInfo Specacetsfcs_48RomDesc[] = {
	{ "ACE 2088 - The Space-Flight Combat Simulation (1988)(Cascade Games).z80", 0x0a2fd, 0xbd6bfc2c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specacetsfcs_48, Specacetsfcs_48, Spectrum)
STD_ROM_FN(Specacetsfcs_48)

struct BurnDriver BurnSpecacetsfcs_48 = {
	"spec_acetsfcs_48", "spec_acetsfcs", "spec_spectrum", NULL, "1988",
	"ACE 2088 - The Space-Flight Combat Simulation (48K)\0", NULL, "Cascade Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specacetsfcs_48RomInfo, Specacetsfcs_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// ACE 2088 - The Space-Flight Combat Simulation (128K)

static struct BurnRomInfo SpecacetsfcsRomDesc[] = {
	{ "ACE 2088 - The Space-Flight Combat Simulation (1988)(Cascade Games)[128K].z80", 0x0b9cf, 0x52b79ca0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specacetsfcs, Specacetsfcs, Spectrum)
STD_ROM_FN(Specacetsfcs)

struct BurnDriver BurnSpecacetsfcs = {
	"spec_acetsfcs", NULL, "spec_spec128", NULL, "1988",
	"ACE 2088 - The Space-Flight Combat Simulation (128K)\0", NULL, "Cascade Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecacetsfcsRomInfo, SpecacetsfcsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ace Low (48K)

static struct BurnRomInfo SpecacelowRomDesc[] = {
	{ "Ace Low (1983)(CCS).z80", 0x06856, 0x044cf800, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specacelow, Specacelow, Spectrum)
STD_ROM_FN(Specacelow)

struct BurnDriver BurnSpecacelow = {
	"spec_acelow", NULL, "spec_spectrum", NULL, "1983",
	"Ace Low (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecacelowRomInfo, SpecacelowRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ace of Aces (48K)

static struct BurnRomInfo Specaceoaces_48RomDesc[] = {
	{ "Ace of Aces (1986)(U.S. Gold).z80", 0x093cf, 0x15f2c557, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaceoaces_48, Specaceoaces_48, Spectrum)
STD_ROM_FN(Specaceoaces_48)

struct BurnDriver BurnSpecaceoaces_48 = {
	"spec_aceoaces_48", "spec_aceoaces", "spec_spectrum", NULL, "1986",
	"Ace of Aces (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specaceoaces_48RomInfo, Specaceoaces_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ace of Aces (128K)

static struct BurnRomInfo SpecaceoacesRomDesc[] = {
	{ "Ace of Aces (1986)(U.S. Gold)[128K].z80", 0x0e57a, 0x2bfbb756, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaceoaces, Specaceoaces, Spectrum)
STD_ROM_FN(Specaceoaces)

struct BurnDriver BurnSpecaceoaces = {
	"spec_aceoaces", NULL, "spec_spec128", NULL, "1986",
	"Ace of Aces (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaceoacesRomInfo, SpecaceoacesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Acme Glass Cube (48K)

static struct BurnRomInfo SpecacmglacuRomDesc[] = {
	{ "Acme Glass Cube (1982)(Iolo Davidson).z80", 0x02eee, 0xe1481aba, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specacmglacu, Specacmglacu, Spectrum)
STD_ROM_FN(Specacmglacu)

struct BurnDriver BurnSpecacmglacu = {
	"spec_acmglacu", NULL, "spec_spectrum", NULL, "1982",
	"Acme Glass Cube (48K)\0", NULL, "Iolo Davidson", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecacmglacuRomInfo, SpecacmglacuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Acro Jet (48K)

static struct BurnRomInfo SpecacrojetRomDesc[] = {
	{ "Acro Jet (1986)(U.S. Gold).z80", 0x09b0a, 0x8e757842, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specacrojet, Specacrojet, Spectrum)
STD_ROM_FN(Specacrojet)

struct BurnDriver BurnSpecacrojet = {
	"spec_acrojet", NULL, "spec_spectrum", NULL, "1986",
	"Acro Jet (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecacrojetRomInfo, SpecacrojetRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Action Biker (48K)

static struct BurnRomInfo SpecactibikeRomDesc[] = {
	{ "Action Biker (1985)(Mastertronic).z80", 0x08a52, 0x80fcdcb2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specactibike, Specactibike, Spectrum)
STD_ROM_FN(Specactibike)

struct BurnDriver BurnSpecactibike = {
	"spec_actibike", NULL, "spec_spectrum", NULL, "1985",
	"Action Biker (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecactibikeRomInfo, SpecactibikeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Action Fighter (48K)

static struct BurnRomInfo Specafighter_48RomDesc[] = {
	{ "Action Fighter (1989)(Firebird Software).z80", 0x09384, 0xd61df17c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specafighter_48, Specafighter_48, Spectrum)
STD_ROM_FN(Specafighter_48)

struct BurnDriver BurnSpecafighter_48 = {
	"spec_afighter_48", "spec_afighter", "spec_spectrum", NULL, "1989",
	"Action Fighter (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specafighter_48RomInfo, Specafighter_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Action Fighter (128K)

static struct BurnRomInfo SpecafighterRomDesc[] = {
	{ "Action Fighter (1989)(Firebird Software)[128K].z80", 0x0a81a, 0x55f30b2a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specafighter, Specafighter, Spectrum)
STD_ROM_FN(Specafighter)

struct BurnDriver BurnSpecafighter = {
	"spec_afighter", NULL, "spec_spec128", NULL, "1989",
	"Action Fighter (128K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecafighterRomInfo, SpecafighterRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Action Force (48K)

static struct BurnRomInfo SpecactiforcRomDesc[] = {
	{ "Action Force (1987)(Virgin Games).z80", 0x067ff, 0x30847930, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specactiforc, Specactiforc, Spectrum)
STD_ROM_FN(Specactiforc)

struct BurnDriver BurnSpecactiforc = {
	"spec_actiforc", NULL, "spec_spectrum", NULL, "1987",
	"Action Force (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecactiforcRomInfo, SpecactiforcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Action Force II (48K)

static struct BurnRomInfo Specactifrc2RomDesc[] = {
	{ "Action Force II (1988)(Virgin Mastertronic).z80", 0x0c01e, 0x00270617, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specactifrc2, Specactifrc2, Spectrum)
STD_ROM_FN(Specactifrc2)

struct BurnDriver BurnSpecactifrc2 = {
	"spec_actifrc2", NULL, "spec_spectrum", NULL, "1988",
	"Action Force II (48K)\0", NULL, "Virgin Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specactifrc2RomInfo, Specactifrc2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Action Reflex (48K)

static struct BurnRomInfo SpecactireflRomDesc[] = {
	{ "Action Reflex (1986)(Mirrorsoft).z80", 0x08496, 0xf912ef82, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specactirefl, Specactirefl, Spectrum)
STD_ROM_FN(Specactirefl)

struct BurnDriver BurnSpecactirefl = {
	"spec_actirefl", NULL, "spec_spectrum", NULL, "1986",
	"Action Reflex (48K)\0", NULL, "Mirrorsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecactireflRomInfo, SpecactireflRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ad Astra (48K)

static struct BurnRomInfo SpecadastraRomDesc[] = {
	{ "Ad Astra (1984)(Gargoyle Games).z80", 0x0a031, 0x2008e900, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadastra, Specadastra, Spectrum)
STD_ROM_FN(Specadastra)

struct BurnDriver BurnSpecadastra = {
	"spec_adastra", NULL, "spec_spectrum", NULL, "1984",
	"Ad Astra (48K)\0", NULL, "Gargoyle Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadastraRomInfo, SpecadastraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ad Lister (48K)

static struct BurnRomInfo SpecadlisterRomDesc[] = {
	{ "Ad Lister (19xx)(-).z80", 0x006c6, 0x7470bba1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadlister, Specadlister, Spectrum)
STD_ROM_FN(Specadlister)

struct BurnDriver BurnSpecadlister = {
	"spec_adlister", NULL, "spec_spectrum", NULL, "19xx",
	"Ad Lister (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadlisterRomInfo, SpecadlisterRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Addaladda (48K)

static struct BurnRomInfo SpecaddaladdRomDesc[] = {
	{ "Addaladda (1983)(David Cowell)[Run 2000 at D Break].z80", 0x07d7d, 0xcb7faf15, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaddaladd, Specaddaladd, Spectrum)
STD_ROM_FN(Specaddaladd)

struct BurnDriver BurnSpecaddaladd = {
	"spec_addaladd", NULL, "spec_spectrum", NULL, "1983",
	"Addaladda (48K)\0", NULL, "David Cowell", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaddaladdRomInfo, SpecaddaladdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Addams Family, The (128K)

static struct BurnRomInfo SpecaddfamthRomDesc[] = {
	{ "Addams Family, The (1991)(Ocean)[128K].z80", 0x1deee, 0xf4d1671a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaddfamth, Specaddfamth, Spectrum)
STD_ROM_FN(Specaddfamth)

struct BurnDriver BurnSpecaddfamth = {
	"spec_addfamth", NULL, "spec_spec128", NULL, "1991",
	"Addams Family, The (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaddfamthRomInfo, SpecaddfamthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adder Attack (48K)

static struct BurnRomInfo SpecaddeattaRomDesc[] = {
	{ "Adder Attack (1983)(Mogul Communications).z80", 0x05479, 0xf6f506cd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaddeatta, Specaddeatta, Spectrum)
STD_ROM_FN(Specaddeatta)

struct BurnDriver BurnSpecaddeatta = {
	"spec_addeatta", NULL, "spec_spectrum", NULL, "1983",
	"Adder Attack (48K)\0", NULL, "Mogul Communications", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaddeattaRomInfo, SpecaddeattaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adidas Championship Football (128K)

static struct BurnRomInfo SpecadichafoRomDesc[] = {
	{ "Adidas Championship Football (1990)(Ocean)[128K].z80", 0x17369, 0x89364845, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadichafo, Specadichafo, Spectrum)
STD_ROM_FN(Specadichafo)

struct BurnDriver BurnSpecadichafo = {
	"spec_adichafo", NULL, "spec_spec128", NULL, "1990",
	"Adidas Championship Football (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadichafoRomInfo, SpecadichafoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adidas Championship Tie-Break (48K)

static struct BurnRomInfo SpecadchtibrRomDesc[] = {
	{ "Adidas Championship Tie-Break (1990)(Ocean).z80", 0x079ed, 0x74aacd26, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadchtibr, Specadchtibr, Spectrum)
STD_ROM_FN(Specadchtibr)

struct BurnDriver BurnSpecadchtibr = {
	"spec_adchtibr", NULL, "spec_spectrum", NULL, "1990",
	"Adidas Championship Tie-Break (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadchtibrRomInfo, SpecadchtibrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Admiral Graf Spee (48K)

static struct BurnRomInfo SpecadmgraspRomDesc[] = {
	{ "Admiral Graf Spee (1982)(Temptation Software).z80", 0x058ff, 0x80bd2e4c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadmgrasp, Specadmgrasp, Spectrum)
STD_ROM_FN(Specadmgrasp)

struct BurnDriver BurnSpecadmgrasp = {
	"spec_admgrasp", NULL, "spec_spectrum", NULL, "1982",
	"Admiral Graf Spee (48K)\0", NULL, "Temptation Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadmgraspRomInfo, SpecadmgraspRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Advanced Advocacy Simulator (48K)

static struct BurnRomInfo SpecadvadvsiRomDesc[] = {
	{ "Advanced Advocacy Simulator (1997)(CSSCGC).z80", 0x01be8, 0x1f1a2449, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadvadvsi, Specadvadvsi, Spectrum)
STD_ROM_FN(Specadvadvsi)

struct BurnDriver BurnSpecadvadvsi = {
	"spec_advadvsi", NULL, "spec_spectrum", NULL, "1997",
	"Advanced Advocacy Simulator (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadvadvsiRomInfo, SpecadvadvsiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Advanced Binary Simulator (48K)

static struct BurnRomInfo SpecadvbinsiRomDesc[] = {
	{ "Advanced Binary Simulator (1998)(CSSCGC).z80", 0x010c4, 0xd3e034b9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadvbinsi, Specadvbinsi, Spectrum)
STD_ROM_FN(Specadvbinsi)

struct BurnDriver BurnSpecadvbinsi = {
	"spec_advbinsi", NULL, "spec_spectrum", NULL, "1998",
	"Advanced Binary Simulator (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadvbinsiRomInfo, SpecadvbinsiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Advanced Coin Simulator (48K)

static struct BurnRomInfo SpecadvcoisiRomDesc[] = {
	{ "Advanced Coin Simulator (19xx)(Codehamsters).z80", 0x013ea, 0xd01d67a4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadvcoisi, Specadvcoisi, Spectrum)
STD_ROM_FN(Specadvcoisi)

struct BurnDriver BurnSpecadvcoisi = {
	"spec_advcoisi", NULL, "spec_spectrum", NULL, "19xx",
	"Advanced Coin Simulator (48K)\0", NULL, "Codehamsters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadvcoisiRomInfo, SpecadvcoisiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Advanced Death Simulator (48K)

static struct BurnRomInfo SpecadvdeasiRomDesc[] = {
	{ "Advanced Death Simulator (1998)(CSSCGC).z80", 0x007af, 0xf0209b0e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadvdeasi, Specadvdeasi, Spectrum)
STD_ROM_FN(Specadvdeasi)

struct BurnDriver BurnSpecadvdeasi = {
	"spec_advdeasi", NULL, "spec_spectrum", NULL, "1998",
	"Advanced Death Simulator (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadvdeasiRomInfo, SpecadvdeasiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Advanced Lawnmower Simulator II (128K)

static struct BurnRomInfo Specadvlawn2RomDesc[] = {
	{ "Advanced Lawnmower Simulator II (1990)(JA Software)[128K].z80", 0x021e0, 0x9f4e38e2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadvlawn2, Specadvlawn2, Spectrum)
STD_ROM_FN(Specadvlawn2)

struct BurnDriver BurnSpecadvlawn2 = {
	"spec_advlawn2", NULL, "spec_spec128", NULL, "1990",
	"Advanced Lawnmower Simulator II (128K)\0", NULL, "JA Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specadvlawn2RomInfo, Specadvlawn2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Advanced Milkfloat Simulator, The (48K)

static struct BurnRomInfo SpecadmisithRomDesc[] = {
	{ "Advanced Milkfloat Simulator, The (1998)(Stuart Brady).z80", 0x02b87, 0x3712311d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadmisith, Specadmisith, Spectrum)
STD_ROM_FN(Specadmisith)

struct BurnDriver BurnSpecadmisith = {
	"spec_admisith", NULL, "spec_spectrum", NULL, "1998",
	"Advanced Milkfloat Simulator, The (48K)\0", NULL, "Stuart Brady", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadmisithRomInfo, SpecadmisithRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Advanced Patience (48K)

static struct BurnRomInfo SpecadvapatiRomDesc[] = {
	{ "Advanced Patience (1994)(Tiger's Claw).z80", 0x07ec7, 0x93b845f0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadvapati, Specadvapati, Spectrum)
STD_ROM_FN(Specadvapati)

struct BurnDriver BurnSpecadvapati = {
	"spec_advapati", NULL, "spec_spectrum", NULL, "1994",
	"Advanced Patience (48K)\0", NULL, "Tiger's Claw", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadvapatiRomInfo, SpecadvapatiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Advanced Pinball Simulator (48K)

static struct BurnRomInfo Specadvpinsi_48RomDesc[] = {
	{ "Advanced Pinball Simulator (1990)(Codemasters).z80", 0x09300, 0x06b0569a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadvpinsi_48, Specadvpinsi_48, Spectrum)
STD_ROM_FN(Specadvpinsi_48)

struct BurnDriver BurnSpecadvpinsi_48 = {
	"spec_advpinsi_48", "spec_advpinsi", "spec_spectrum", NULL, "1990",
	"Advanced Pinball Simulator (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specadvpinsi_48RomInfo, Specadvpinsi_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Advanced Pinball Simulator (128K)

static struct BurnRomInfo SpecadvpinsiRomDesc[] = {
	{ "Advanced Pinball Simulator (1990)(Codemasters)[128K].z80", 0x0ab97, 0x36a8ced2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadvpinsi, Specadvpinsi, Spectrum)
STD_ROM_FN(Specadvpinsi)

struct BurnDriver BurnSpecadvpinsi = {
	"spec_advpinsi", NULL, "spec_spec128", NULL, "1990",
	"Advanced Pinball Simulator (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadvpinsiRomInfo, SpecadvpinsiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Advanced Pro Wife Simulator (48K)

static struct BurnRomInfo SpecadprwisiRomDesc[] = {
	{ "Advanced Pro Wife Simulator (1999)(CSSCGC).z80", 0x01744, 0x250ccdea, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadprwisi, Specadprwisi, Spectrum)
STD_ROM_FN(Specadprwisi)

struct BurnDriver BurnSpecadprwisi = {
	"spec_adprwisi", NULL, "spec_spectrum", NULL, "1999",
	"Advanced Pro Wife Simulator (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadprwisiRomInfo, SpecadprwisiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Advanced Road Rage Simulator (48K)

static struct BurnRomInfo SpecadrorasiRomDesc[] = {
	{ "Advanced Road Rage Simulator (1997)(CSSCGC).z80", 0x034df, 0x9fbe5bda, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadrorasi, Specadrorasi, Spectrum)
STD_ROM_FN(Specadrorasi)

struct BurnDriver BurnSpecadrorasi = {
	"spec_adrorasi", NULL, "spec_spectrum", NULL, "1997",
	"Advanced Road Rage Simulator (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadrorasiRomInfo, SpecadrorasiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Advanced Soccer Simulator (48K)

static struct BurnRomInfo SpecadvsocsiRomDesc[] = {
	{ "Advanced Soccer Simulator (1989)(Mastertronic Plus).z80", 0x093d8, 0xdfd77ed7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadvsocsi, Specadvsocsi, Spectrum)
STD_ROM_FN(Specadvsocsi)

struct BurnDriver BurnSpecadvsocsi = {
	"spec_advsocsi", NULL, "spec_spectrum", NULL, "1989",
	"Advanced Soccer Simulator (48K)\0", NULL, "Mastertronic Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadvsocsiRomInfo, SpecadvsocsiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Advanced Wallpaper Simulator (48K)

static struct BurnRomInfo SpecadvwalsiRomDesc[] = {
	{ "Advanced Wallpaper Simulator (1998)(CSSCGC).z80", 0x00d19, 0xa1743ec5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadvwalsi, Specadvwalsi, Spectrum)
STD_ROM_FN(Specadvwalsi)

struct BurnDriver BurnSpecadvwalsi = {
	"spec_advwalsi", NULL, "spec_spectrum", NULL, "1998",
	"Advanced Wallpaper Simulator (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadvwalsiRomInfo, SpecadvwalsiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Advanced W-nking Simulator (48K)

static struct BurnRomInfo SpecadvwnksiRomDesc[] = {
	{ "Advanced W-nking Simulator (1998)(CSSCGC).z80", 0x01f81, 0x71f7f374, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadvwnksi, Specadvwnksi, Spectrum)
STD_ROM_FN(Specadvwnksi)

struct BurnDriver BurnSpecadvwnksi = {
	"spec_advwnksi", NULL, "spec_spectrum", NULL, "1998",
	"Advanced W-nking Simulator (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadvwnksiRomInfo, SpecadvwnksiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Advanced Year 2000 Simulator (128K)

static struct BurnRomInfo SpecadvyeasiRomDesc[] = {
	{ "Advanced Year 2000 Simulator (1999)(Rob Erlich)[128K].z80", 0x09a72, 0xf73ce8f1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadvyeasi, Specadvyeasi, Spectrum)
STD_ROM_FN(Specadvyeasi)

struct BurnDriver BurnSpecadvyeasi = {
	"spec_advyeasi", NULL, "spec_spec128", NULL, "1999",
	"Advanced Year 2000 Simulator (128K)\0", NULL, "Rob Erlich", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadvyeasiRomInfo, SpecadvyeasiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure (Micro-Gold) (48K)

static struct BurnRomInfo SpecadvntmgRomDesc[] = {
	{ "Adventure (1983)(Micro Gold).z80", 0x098f6, 0x81e7a212, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadvntmg, Specadvntmg, Spectrum)
STD_ROM_FN(Specadvntmg)

struct BurnDriver BurnSpecadvntmg = {
	"spec_advntmg", NULL, "spec_spectrum", NULL, "1983",
	"Adventure (Micro-Gold) (48K)\0", NULL, "Micro Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadvntmgRomInfo, SpecadvntmgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure (Adventuresoft UK) (48K)

static struct BurnRomInfo SpecadvntadvRomDesc[] = {
	{ "Adventure (1985)(Adventuresoft UK).z80", 0x07262, 0x16f943b8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadvntadv, Specadvntadv, Spectrum)
STD_ROM_FN(Specadvntadv)

struct BurnDriver BurnSpecadvntadv = {
	"spec_advntadv", NULL, "spec_spectrum", NULL, "1985",
	"Adventure (Adventuresoft UK) (48K)\0", NULL, "Adventuresoft UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadvntadvRomInfo, SpecadvntadvRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure 1 (48K)

static struct BurnRomInfo Specadventr1RomDesc[] = {
	{ "Adventure 1 (1982)(Abersoft).z80", 0x085e0, 0x3da59049, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadventr1, Specadventr1, Spectrum)
STD_ROM_FN(Specadventr1)

struct BurnDriver BurnSpecadventr1 = {
	"spec_adventr1", NULL, "spec_spectrum", NULL, "1982",
	"Adventure 1 (48K)\0", NULL, "Abersoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specadventr1RomInfo, Specadventr1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure 2 - Politico (128K)

static struct BurnRomInfo SpecadvepoliRomDesc[] = {
	{ "Adventure 2 - Politico (19xx)(D.J. Moody)[128K].z80", 0x0c1eb, 0x93fd90c3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadvepoli, Specadvepoli, Spectrum)
STD_ROM_FN(Specadvepoli)

struct BurnDriver BurnSpecadvepoli = {
	"spec_advepoli", NULL, "spec_spec128", NULL, "19xx",
	"Adventure 2 - Politico (128K)\0", NULL, "D.J. Moody", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadvepoliRomInfo, SpecadvepoliRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure 200 (48K)

static struct BurnRomInfo Specadven200RomDesc[] = {
	{ "Adventure 200 (1982)(C.J. Coombs).z80", 0x027a3, 0xfbb62ac2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadven200, Specadven200, Spectrum)
STD_ROM_FN(Specadven200)

struct BurnDriver BurnSpecadven200 = {
	"spec_adven200", NULL, "spec_spectrum", NULL, "1982",
	"Adventure 200 (48K)\0", NULL, "C.J. Coombs", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specadven200RomInfo, Specadven200RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure 3 - The Satan Crystals (128K)

static struct BurnRomInfo SpecadthsacrRomDesc[] = {
	{ "Adventure 3 - The Satan Crystals (19xx)(D.J. Moody)[128K].z80", 0x14746, 0x7ab27dab, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadthsacr, Specadthsacr, Spectrum)
STD_ROM_FN(Specadthsacr)

struct BurnDriver BurnSpecadthsacr = {
	"spec_adthsacr", NULL, "spec_spec128", NULL, "19xx",
	"Adventure 3 - The Satan Crystals (128K)\0", NULL, "D.J. Moody", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadthsacrRomInfo, SpecadthsacrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure A - The Planet of Death (48K)

static struct BurnRomInfo SpecadventurRomDesc[] = {
	{ "Adventure A - The Planet of Death (1982)(Artic Computing).z80", 0x0c01e, 0x39acc4a4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadventur, Specadventur, Spectrum)
STD_ROM_FN(Specadventur)

struct BurnDriver BurnSpecadventur = {
	"spec_adventur", NULL, "spec_spectrum", NULL, "1982",
	"Adventure A - The Planet of Death (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadventurRomInfo, SpecadventurRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure C - The Ship of Doom (48K)

static struct BurnRomInfo SpecadventurcRomDesc[] = {
	{ "Adventure C - The Ship of Doom (1982)(Artic Computing).z80", 0x03a7e, 0xd0c62f04, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadventurc, Specadventurc, Spectrum)
STD_ROM_FN(Specadventurc)

struct BurnDriver BurnSpecadventurc = {
	"spec_adventurc", "spec_adventur", "spec_spectrum", NULL, "1982",
	"Adventure C - The Ship of Doom (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadventurcRomInfo, SpecadventurcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure C - The Ship of Doom (Remake) (48K)

static struct BurnRomInfo SpecadventurciRomDesc[] = {
	{ "Adventure C - The Ship of Doom (1986)(Incentive Software)[remake].z80", 0x0a256, 0x2302bfb1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadventurci, Specadventurci, Spectrum)
STD_ROM_FN(Specadventurci)

struct BurnDriver BurnSpecadventurci = {
	"spec_adventurci", "spec_adventur", "spec_spectrum", NULL, "1986",
	"Adventure C - The Ship of Doom (Remake) (48K)\0", NULL, "Incentive Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadventurciRomInfo, SpecadventurciRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure C - The Ship of Doom v2 (48K)

static struct BurnRomInfo Specadventurc2RomDesc[] = {
	{ "Adventure C - The Ship of Doom v2 (1982)(Artic Computing).z80", 0x03ebb, 0xe6661f1a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadventurc2, Specadventurc2, Spectrum)
STD_ROM_FN(Specadventurc2)

struct BurnDriver BurnSpecadventurc2 = {
	"spec_adventurc2", "spec_adventur", "spec_spectrum", NULL, "1982",
	"Adventure C - The Ship of Doom v2 (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specadventurc2RomInfo, Specadventurc2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure D - Espionage Island (48K)

static struct BurnRomInfo SpecadventurdRomDesc[] = {
	{ "Adventure D - Espionage Island (1982)(Artic Computing).z80", 0x05133, 0xef863ded, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadventurd, Specadventurd, Spectrum)
STD_ROM_FN(Specadventurd)

struct BurnDriver BurnSpecadventurd = {
	"spec_adventurd", "spec_adventur", "spec_spectrum", NULL, "1982",
	"Adventure D - Espionage Island (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadventurdRomInfo, SpecadventurdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure E - The Golden Apple (48K)

static struct BurnRomInfo SpecadventureRomDesc[] = {
	{ "Adventure E - The Golden Apple (1983)(Artic Computing).z80", 0x04737, 0x9bb17688, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadventure, Specadventure, Spectrum)
STD_ROM_FN(Specadventure)

struct BurnDriver BurnSpecadventure = {
	"spec_adventure", "spec_adventur", "spec_spectrum", NULL, "1983",
	"Adventure E - The Golden Apple (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadventureRomInfo, SpecadventureRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure F - The Eye of Bain (48K)

static struct BurnRomInfo SpecadventurfRomDesc[] = {
	{ "Adventure F - The Eye of Bain (1984)(Artic Computing).z80", 0x0a553, 0x261ed8ee, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadventurf, Specadventurf, Spectrum)
STD_ROM_FN(Specadventurf)

struct BurnDriver BurnSpecadventurf = {
	"spec_adventurf", "spec_adventur", "spec_spectrum", NULL, "1984",
	"Adventure F - The Eye of Bain (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadventurfRomInfo, SpecadventurfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure G - Ground Zero (48K)

static struct BurnRomInfo SpecadventurgRomDesc[] = {
	{ "Adventure G - Ground Zero (1984)(Artic Computing).z80", 0x091dc, 0x9dce5009, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadventurg, Specadventurg, Spectrum)
STD_ROM_FN(Specadventurg)

struct BurnDriver BurnSpecadventurg = {
	"spec_adventurg", "spec_adventur", "spec_spectrum", NULL, "1984",
	"Adventure G - Ground Zero (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadventurgRomInfo, SpecadventurgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure H - Robin Hood (48K)

static struct BurnRomInfo SpecadventurhRomDesc[] = {
	{ "Adventure H - Robin Hood (1985)(Artic Computing).z80", 0x0b092, 0xbb70aed8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadventurh, Specadventurh, Spectrum)
STD_ROM_FN(Specadventurh)

struct BurnDriver BurnSpecadventurh = {
	"spec_adventurh", "spec_adventur", "spec_spectrum", NULL, "1985",
	"Adventure H - Robin Hood (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadventurhRomInfo, SpecadventurhRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure in Bristol (48K)

static struct BurnRomInfo SpecadvebrisRomDesc[] = {
	{ "Adventure in Bristol (1996)(CSSCGC).z80", 0x03eec, 0x0b386988, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadvebris, Specadvebris, Spectrum)
STD_ROM_FN(Specadvebris)

struct BurnDriver BurnSpecadvebris = {
	"spec_advebris", NULL, "spec_spectrum", NULL, "1996",
	"Adventure in Bristol (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadvebrisRomInfo, SpecadvebrisRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure Lister (48K)

static struct BurnRomInfo SpecadvelistRomDesc[] = {
	{ "Adventure Lister (19xx)(-).z80", 0x006c6, 0xbdd0ac08, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadvelist, Specadvelist, Spectrum)
STD_ROM_FN(Specadvelist)

struct BurnDriver BurnSpecadvelist = {
	"spec_advelist", NULL, "spec_spectrum", NULL, "19xx",
	"Adventure Lister (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadvelistRomInfo, SpecadvelistRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure Number 01 - Adventureland (48K)

static struct BurnRomInfo SpecadvnumadRomDesc[] = {
	{ "Adventure Number 01 - Adventureland (1985)(Adventure International).z80", 0x09927, 0xbd9efbda, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadvnumad, Specadvnumad, Spectrum)
STD_ROM_FN(Specadvnumad)

struct BurnDriver BurnSpecadvnumad = {
	"spec_advnumad", NULL, "spec_spectrum", NULL, "1985",
	"Adventure Number 01 - Adventureland (48K)\0", NULL, "Adventure International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadvnumadRomInfo, SpecadvnumadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure Number 02 - Pirate Adventure (48K)

static struct BurnRomInfo SpecadnupiadRomDesc[] = {
	{ "Adventure Number 02 - Pirate Adventure (1985)(Adventure International).z80", 0x044af, 0xf22ddd2e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadnupiad, Specadnupiad, Spectrum)
STD_ROM_FN(Specadnupiad)

struct BurnDriver BurnSpecadnupiad = {
	"spec_adnupiad", NULL, "spec_spectrum", NULL, "1985",
	"Adventure Number 02 - Pirate Adventure (48K)\0", NULL, "Adventure International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadnupiadRomInfo, SpecadnupiadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure Number 03 - Secret Mission (48K)

static struct BurnRomInfo SpecadnusemiRomDesc[] = {
	{ "Adventure Number 03 - Secret Mission (1985)(Adventure International).z80", 0x07a11, 0xb738fe28, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadnusemi, Specadnusemi, Spectrum)
STD_ROM_FN(Specadnusemi)

struct BurnDriver BurnSpecadnusemi = {
	"spec_adnusemi", NULL, "spec_spectrum", NULL, "1985",
	"Adventure Number 03 - Secret Mission (48K)\0", NULL, "Adventure International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadnusemiRomInfo, SpecadnusemiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure Number 04 - Voodoo Castle (48K)

static struct BurnRomInfo SpecadnuvocaRomDesc[] = {
	{ "Adventure Number 04 - Voodoo Castle (1985)(Adventure International).z80", 0x0432c, 0x46405e6b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadnuvoca, Specadnuvoca, Spectrum)
STD_ROM_FN(Specadnuvoca)

struct BurnDriver BurnSpecadnuvoca = {
	"spec_adnuvoca", NULL, "spec_spectrum", NULL, "1985",
	"Adventure Number 04 - Voodoo Castle (48K)\0", NULL, "Adventure International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadnuvocaRomInfo, SpecadnuvocaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure Number 06 - Strange Odyssey (48K)

static struct BurnRomInfo SpecadnustodRomDesc[] = {
	{ "Adventure Number 06 - Strange Odyssey (1985)(Adventure International).z80", 0x0431e, 0xdccb48c7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadnustod, Specadnustod, Spectrum)
STD_ROM_FN(Specadnustod)

struct BurnDriver BurnSpecadnustod = {
	"spec_adnustod", NULL, "spec_spectrum", NULL, "1985",
	"Adventure Number 06 - Strange Odyssey (48K)\0", NULL, "Adventure International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadnustodRomInfo, SpecadnustodRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure Number 10 - Savage Island Part 1 (48K)

static struct BurnRomInfo SpecadnusaisRomDesc[] = {
	{ "Adventure Number 10 - Savage Island Part 1 (1985)(Adventure International).z80", 0x09a4c, 0x49304b0a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadnusais, Specadnusais, Spectrum)
STD_ROM_FN(Specadnusais)

struct BurnDriver BurnSpecadnusais = {
	"spec_adnusais", NULL, "spec_spectrum", NULL, "1985",
	"Adventure Number 10 - Savage Island Part 1 (48K)\0", NULL, "Adventure International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadnusaisRomInfo, SpecadnusaisRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure Number 13 - Sorcerer of Claymorgue Castle (48K)

static struct BurnRomInfo SpecadnusoclRomDesc[] = {
	{ "Adventure Number 13 - Sorcerer of Claymorgue Castle (1985)(Adventure International).z80", 0x09c0d, 0xa1588e42, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadnusocl, Specadnusocl, Spectrum)
STD_ROM_FN(Specadnusocl)

struct BurnDriver BurnSpecadnusocl = {
	"spec_adnusocl", NULL, "spec_spectrum", NULL, "1985",
	"Adventure Number 13 - Sorcerer of Claymorgue Castle (48K)\0", NULL, "Adventure International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadnusoclRomInfo, SpecadnusoclRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventure Tutor (48K)

static struct BurnRomInfo SpecadvetutoRomDesc[] = {
	{ "Adventure Tutor (19xx)(-).z80", 0x0a6af, 0xcfc6dc2f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadvetuto, Specadvetuto, Spectrum)
STD_ROM_FN(Specadvetuto)

struct BurnDriver BurnSpecadvetuto = {
	"spec_advetuto", NULL, "spec_spectrum", NULL, "19xx",
	"Adventure Tutor (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadvetutoRomInfo, SpecadvetutoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventurer's Nightmare (German) (48K)

static struct BurnRomInfo SpecadvenighRomDesc[] = {
	{ "Adventurer's Nightmare (1983)(Wicosoft)(de).z80", 0x08ce7, 0xf00c4836, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadvenigh, Specadvenigh, Spectrum)
STD_ROM_FN(Specadvenigh)

struct BurnDriver BurnSpecadvenigh = {
	"spec_advenigh", NULL, "spec_spectrum", NULL, "1983",
	"Adventurer's Nightmare (German) (48K)\0", NULL, "Wicosoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadvenighRomInfo, SpecadvenighRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventures of Barsak the Dwarf, The - The Early Days (48K)

static struct BurnRomInfo SpecabdttedRomDesc[] = {
	{ "Adventures of Barsak the Dwarf, The - The Early Days (1984)(Gilsoft International).z80", 0x0704b, 0x75075f3e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specabdtted, Specabdtted, Spectrum)
STD_ROM_FN(Specabdtted)

struct BurnDriver BurnSpecabdtted = {
	"spec_abdtted", NULL, "spec_spectrum", NULL, "1984",
	"Adventures of Barsak the Dwarf, The - The Early Days (48K)\0", NULL, "Gilsoft International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecabdttedRomInfo, SpecabdttedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventures of Saint Bernard, The (48K)

static struct BurnRomInfo SpecadsabethRomDesc[] = {
	{ "Adventures of Saint Bernard, The (1983)(Carnell Software).z80", 0x05b9a, 0x76140448, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadsabeth, Specadsabeth, Spectrum)
STD_ROM_FN(Specadsabeth)

struct BurnDriver BurnSpecadsabeth = {
	"spec_adsabeth", NULL, "spec_spectrum", NULL, "1983",
	"Adventures of Saint Bernard, The (48K)\0", NULL, "Carnell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadsabethRomInfo, SpecadsabethRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventures of Sid Spider, The (128K)

static struct BurnRomInfo SpecadsispthRomDesc[] = {
	{ "Adventures of Sid Spider, The (2002)(David Pegg)[128K].z80", 0x05fb8, 0xc391bd0d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadsispth, Specadsispth, Spectrum)
STD_ROM_FN(Specadsispth)

struct BurnDriver BurnSpecadsispth = {
	"spec_adsispth", NULL, "spec_spec128", NULL, "2002",
	"Adventures of Sid Spider, The (128K)\0", NULL, "David Pegg", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadsispthRomInfo, SpecadsispthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Adventures of Sinbad, The (48K)

static struct BurnRomInfo SpecadvsinthRomDesc[] = {
	{ "Adventures of Sinbad, The (1983)(Atlantis Software).z80", 0x0a30d, 0x03d77053, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadvsinth, Specadvsinth, Spectrum)
STD_ROM_FN(Specadvsinth)

struct BurnDriver BurnSpecadvsinth = {
	"spec_advsinth", NULL, "spec_spectrum", NULL, "1983",
	"Adventures of Sinbad, The (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadvsinthRomInfo, SpecadvsinthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aegean Voyage (48K)

static struct BurnRomInfo SpecaegevoyaRomDesc[] = {
	{ "Aegean Voyage (1984)(Spinnaker Software).z80", 0x05e8f, 0x6719e47d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaegevoya, Specaegevoya, Spectrum)
STD_ROM_FN(Specaegevoya)

struct BurnDriver BurnSpecaegevoya = {
	"spec_aegevoya", NULL, "spec_spectrum", NULL, "1984",
	"Aegean Voyage (48K)\0", NULL, "Spinnaker Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaegevoyaRomInfo, SpecaegevoyaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Afghan Attack - Intro (48K)

static struct BurnRomInfo SpecafgattRomDesc[] = {
	{ "Afghan Attack - Intro (1984)(Southern Software).z80", 0x0298d, 0x11920358, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specafgatt, Specafgatt, Spectrum)
STD_ROM_FN(Specafgatt)

struct BurnDriver BurnSpecafgatt = {
	"spec_afgatt", NULL, "spec_spectrum", NULL, "1984",
	"Afghan Attack - Intro (48K)\0", NULL, "Southern Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecafgattRomInfo, SpecafgattRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Afghan Attack (Part 1 of 2) (48K)

static struct BurnRomInfo Specafgatt1RomDesc[] = {
	{ "Afghan Attack (1984)(Southern Software)(Part 1 of 2).z80", 0x0977b, 0xf1f96304, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specafgatt1, Specafgatt1, Spectrum)
STD_ROM_FN(Specafgatt1)

struct BurnDriver BurnSpecafgatt1 = {
	"spec_afgatt1", "spec_afgatt", "spec_spectrum", NULL, "1984",
	"Afghan Attack (Part 1 of 2) (48K)\0", NULL, "Southern Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specafgatt1RomInfo, Specafgatt1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Afghan Attack (Part 2 of 2) (48K)

static struct BurnRomInfo Specafgatt2RomDesc[] = {
	{ "Afghan Attack (1984)(Southern Software)(Part 2 of 2).z80", 0x08898, 0x83de84e9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specafgatt2, Specafgatt2, Spectrum)
STD_ROM_FN(Specafgatt2)

struct BurnDriver BurnSpecafgatt2 = {
	"spec_afgatt2", "spec_afgatt", "spec_spectrum", NULL, "1984",
	"Afghan Attack (Part 2 of 2) (48K)\0", NULL, "Southern Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specafgatt2RomInfo, Specafgatt2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Africa (German) (48K)

static struct BurnRomInfo SpecafricadeRomDesc[] = {
	{ "Africa (19xx)(Phantomsoft)(de).z80", 0x02cbf, 0xff5e4b8b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specafricade, Specafricade, Spectrum)
STD_ROM_FN(Specafricade)

struct BurnDriver BurnSpecafricade = {
	"spec_africade", NULL, "spec_spectrum", NULL, "19xx",
	"Africa (German) (48K)\0", NULL, "Phantomsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecafricadeRomInfo, SpecafricadeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Africa Gardens (48K)

static struct BurnRomInfo SpecafrigardRomDesc[] = {
	{ "Africa Gardens (1984)(Gilsoft International).z80", 0x0764e, 0xe89969a3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specafrigard, Specafrigard, Spectrum)
STD_ROM_FN(Specafrigard)

struct BurnDriver BurnSpecafrigard = {
	"spec_afrigard", NULL, "spec_spectrum", NULL, "1984",
	"Africa Gardens (48K)\0", NULL, "Gilsoft International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecafrigardRomInfo, SpecafrigardRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// African Trail Simulator (Spanish) (48K)

static struct BurnRomInfo Specafrtrasi_48RomDesc[] = {
	{ "African Trail Simulator (1990)(Positive)(es).z80", 0x0892d, 0xe7ca08bd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specafrtrasi_48, Specafrtrasi_48, Spectrum)
STD_ROM_FN(Specafrtrasi_48)

struct BurnDriver BurnSpecafrtrasi_48 = {
	"spec_afrtrasi_48", "spec_afrtrasi", "spec_spectrum", NULL, "1990",
	"African Trail Simulator (Spanish) (48K)\0", NULL, "Positive", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specafrtrasi_48RomInfo, Specafrtrasi_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// African Trail Simulator (Spanish) (128K)

static struct BurnRomInfo SpecafrtrasiRomDesc[] = {
	{ "African Trail Simulator (1990)(Positive)(es)[128K].z80", 0x0b5bd, 0xa19fea33, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specafrtrasi, Specafrtrasi, Spectrum)
STD_ROM_FN(Specafrtrasi)

struct BurnDriver BurnSpecafrtrasi = {
	"spec_afrtrasi", NULL, "spec_spec128", NULL, "1990",
	"African Trail Simulator (Spanish) (128K)\0", NULL, "Positive", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecafrtrasiRomInfo, SpecafrtrasiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// After Shock (48K)

static struct BurnRomInfo SpecafteshocRomDesc[] = {
	{ "After Shock (1986)(Interceptor Micros Software).z80", 0x0a3a1, 0xf2786b35, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specafteshoc, Specafteshoc, Spectrum)
STD_ROM_FN(Specafteshoc)

struct BurnDriver BurnSpecafteshoc = {
	"spec_afteshoc", NULL, "spec_spectrum", NULL, "1986",
	"After Shock (48K)\0", NULL, "Interceptor Micros Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecafteshocRomInfo, SpecafteshocRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// After the War (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecaftewareRomDesc[] = {
	{ "After the War (1989)(Dinamic Software)(es)(Part 1 of 2).z80", 0x08d02, 0x3dd3312a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specafteware, Specafteware, Spectrum)
STD_ROM_FN(Specafteware)

struct BurnDriver BurnSpecafteware = {
	"spec_afteware", NULL, "spec_spectrum", NULL, "1989",
	"After the War (Spanish) (Part 1 of 2) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaftewareRomInfo, SpecaftewareRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// After the War (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specafteware2RomDesc[] = {
	{ "After the War (1989)(Dinamic Software)(es)(Part 2 of 2).z80", 0x09817, 0x84817d84, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specafteware2, Specafteware2, Spectrum)
STD_ROM_FN(Specafteware2)

struct BurnDriver BurnSpecafteware2 = {
	"spec_afteware2", "spec_afteware", "spec_spectrum", NULL, "1989",
	"After the War (Spanish) (Part 2 of 2) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specafteware2RomInfo, Specafteware2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// After the War (Part 1 of 2) (48K)

static struct BurnRomInfo SpecaftwarpaRomDesc[] = {
	{ "After the War (1989)(Dinamic Software)(Part 1 of 2).z80", 0x0a226, 0xd346d48f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaftwarpa, Specaftwarpa, Spectrum)
STD_ROM_FN(Specaftwarpa)

struct BurnDriver BurnSpecaftwarpa = {
	"spec_aftwarpa", NULL, "spec_spectrum", NULL, "1989",
	"After the War (Part 1 of 2) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaftwarpaRomInfo, SpecaftwarpaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// After the War (Part 2 of 2) (48K)

static struct BurnRomInfo Specaftwarpa2RomDesc[] = {
	{ "After the War (1989)(Dinamic Software)(Part 2 of 2).z80", 0x0a4b5, 0xcd70bd34, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaftwarpa2, Specaftwarpa2, Spectrum)
STD_ROM_FN(Specaftwarpa2)

struct BurnDriver BurnSpecaftwarpa2 = {
	"spec_aftwarpa2", "spec_aftwarpa", "spec_spectrum", NULL, "1989",
	"After the War (Part 2 of 2) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specaftwarpa2RomInfo, Specaftwarpa2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Afterburner (48K)

static struct BurnRomInfo SpecaburnerRomDesc[] = {
	{ "Afterburner (1988)(Activision).z80", 0x0ab31, 0x1d647b67, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaburner, Specaburner, Spectrum)
STD_ROM_FN(Specaburner)

struct BurnDriver BurnSpecaburner = {
	"spec_aburner", NULL, "spec_spectrum", NULL, "1988",
	"Afterburner (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaburnerRomInfo, SpecaburnerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aftermath (48K)

static struct BurnRomInfo SpecaftermatRomDesc[] = {
	{ "Aftermath (1988)(Alternative Software).z80", 0x041f4, 0x5fe1c17b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaftermat, Specaftermat, Spectrum)
STD_ROM_FN(Specaftermat)

struct BurnDriver BurnSpecaftermat = {
	"spec_aftermat", NULL, "spec_spectrum", NULL, "1988",
	"Aftermath (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaftermatRomInfo, SpecaftermatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Afteroids (Spanish) (48K)

static struct BurnRomInfo SpecafteroidRomDesc[] = {
	{ "Afteroids (1988)(Zigurat Software)(es).z80", 0x097eb, 0x776b6166, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specafteroid, Specafteroid, Spectrum)
STD_ROM_FN(Specafteroid)

struct BurnDriver BurnSpecafteroid = {
	"spec_afteroid", NULL, "spec_spectrum", NULL, "1988",
	"Afteroids (Spanish) (48K)\0", NULL, "Zigurat Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecafteroidRomInfo, SpecafteroidRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Agatha's Folly (Part 1 of 2) (48K)

static struct BurnRomInfo SpecagafolpaRomDesc[] = {
	{ "Agatha's Folly (1989)(Zenobi Software)(Part 1 of 2).z80", 0x09ee5, 0x6e107cf3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specagafolpa, Specagafolpa, Spectrum)
STD_ROM_FN(Specagafolpa)

struct BurnDriver BurnSpecagafolpa = {
	"spec_agafolpa", NULL, "spec_spectrum", NULL, "1989",
	"Agatha's Folly (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecagafolpaRomInfo, SpecagafolpaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Agatha's Folly (Part 2 of 2) (48K)

static struct BurnRomInfo Specagafolpa2RomDesc[] = {
	{ "Agatha's Folly (1989)(Zenobi Software)(Part 2 of 2).z80", 0x08fd4, 0x4dd31929, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specagafolpa2, Specagafolpa2, Spectrum)
STD_ROM_FN(Specagafolpa2)

struct BurnDriver BurnSpecagafolpa2 = {
	"spec_agafolpa2", "spec_agafolpa", "spec_spectrum", NULL, "1989",
	"Agatha's Folly (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specagafolpa2RomInfo, Specagafolpa2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Agent 99 (cs) (48K)

static struct BurnRomInfo Specagent99cRomDesc[] = {
	{ "Agent 99 (1988)(Alkohol Soft)(cs).z80", 0x0a126, 0xdc786ceb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specagent99c, Specagent99c, Spectrum)
STD_ROM_FN(Specagent99c)

struct BurnDriver BurnSpecagent99c = {
	"spec_agent99c", NULL, "spec_spectrum", NULL, "1988",
	"Agent 99 (cs) (48K)\0", NULL, "Alkohol Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specagent99cRomInfo, Specagent99cRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Agent Orange (48K)

static struct BurnRomInfo SpecagenoranRomDesc[] = {
	{ "Agent Orange (1987)(A & F Software).z80", 0x09673, 0xbd2fe864, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specagenoran, Specagenoran, Spectrum)
STD_ROM_FN(Specagenoran)

struct BurnDriver BurnSpecagenoran = {
	"spec_agenoran", NULL, "spec_spectrum", NULL, "1987",
	"Agent Orange (48K)\0", NULL, "A & F Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecagenoranRomInfo, SpecagenoranRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Agent-X II (48K)

static struct BurnRomInfo Specagentxii_48RomDesc[] = {
	{ "Agent-X II (1987)(Mastertronic).z80", 0x06cfa, 0xffb073be, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specagentxii_48, Specagentxii_48, Spectrum)
STD_ROM_FN(Specagentxii_48)

struct BurnDriver BurnSpecagentxii_48 = {
	"spec_agentxii_48", "spec_agentxii", "spec_spectrum", NULL, "1987",
	"Agent-X II (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specagentxii_48RomInfo, Specagentxii_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Agent-X II (128K)

static struct BurnRomInfo SpecagentxiiRomDesc[] = {
	{ "Agent-X II (1987)(Mastertronic)[128K].z80", 0x0a535, 0x26e73d02, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specagentxii, Specagentxii, Spectrum)
STD_ROM_FN(Specagentxii)

struct BurnDriver BurnSpecagentxii = {
	"spec_agentxii", NULL, "spec_spec128", NULL, "1987",
	"Agent-X II (128K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecagentxiiRomInfo, SpecagentxiiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Agent-X in The Brain Drain Caper (End) (48K)

static struct BurnRomInfo SpecaxtbdceRomDesc[] = {
	{ "Agent-X in The Brain Drain Caper (1986)(Mastertronic)[end].z80", 0x06d77, 0x5ec98d60, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaxtbdce, Specaxtbdce, Spectrum)
STD_ROM_FN(Specaxtbdce)

struct BurnDriver BurnSpecaxtbdce = {
	"spec_axtbdce", "spec_axtbdc", "spec_spectrum", NULL, "1986",
	"Agent-X in The Brain Drain Caper (End) (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaxtbdceRomInfo, SpecaxtbdceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Agent-X in The Brain Drain Caper (Level 1) (48K)

static struct BurnRomInfo Specaxtbdc1RomDesc[] = {
	{ "Agent-X in The Brain Drain Caper (1986)(Mastertronic)[level 1].z80", 0x08502, 0xcf5bf0d3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaxtbdc1, Specaxtbdc1, Spectrum)
STD_ROM_FN(Specaxtbdc1)

struct BurnDriver BurnSpecaxtbdc1 = {
	"spec_axtbdc1", "spec_axtbdc", "spec_spectrum", NULL, "1986",
	"Agent-X in The Brain Drain Caper (Level 1) (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specaxtbdc1RomInfo, Specaxtbdc1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Agent-X in The Brain Drain Caper (Level 2) (48K)

static struct BurnRomInfo Specaxtbdc2RomDesc[] = {
	{ "Agent-X in The Brain Drain Caper (1986)(Mastertronic)[level 2].z80", 0x07f31, 0x1cbeb2f5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaxtbdc2, Specaxtbdc2, Spectrum)
STD_ROM_FN(Specaxtbdc2)

struct BurnDriver BurnSpecaxtbdc2 = {
	"spec_axtbdc2", "spec_axtbdc", "spec_spectrum", NULL, "1986",
	"Agent-X in The Brain Drain Caper (Level 2) (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specaxtbdc2RomInfo, Specaxtbdc2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Agent-X in The Brain Drain Caper (Level 3) (48K)

static struct BurnRomInfo Specaxtbdc3RomDesc[] = {
	{ "Agent-X in The Brain Drain Caper (1986)(Mastertronic)[level 3].z80", 0x08909, 0x6a2a3bfd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaxtbdc3, Specaxtbdc3, Spectrum)
STD_ROM_FN(Specaxtbdc3)

struct BurnDriver BurnSpecaxtbdc3 = {
	"spec_axtbdc3", "spec_axtbdc", "spec_spectrum", NULL, "1986",
	"Agent-X in The Brain Drain Caper (Level 3) (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specaxtbdc3RomInfo, Specaxtbdc3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Agent-X in The Brain Drain Caper (Level 4) (48K)

static struct BurnRomInfo Specaxtbdc4RomDesc[] = {
	{ "Agent-X in The Brain Drain Caper (1986)(Mastertronic)[level 4].z80", 0x08bda, 0x4daf5f73, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaxtbdc4, Specaxtbdc4, Spectrum)
STD_ROM_FN(Specaxtbdc4)

struct BurnDriver BurnSpecaxtbdc4 = {
	"spec_axtbdc4", "spec_axtbdc", "spec_spectrum", NULL, "1986",
	"Agent-X in The Brain Drain Caper (Level 4) (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specaxtbdc4RomInfo, Specaxtbdc4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Agent-X in The Brain Drain Caper (Start) (48K)

static struct BurnRomInfo SpecaxtbdcRomDesc[] = {
	{ "Agent-X in The Brain Drain Caper (1986)(Mastertronic)[start].z80", 0x03862, 0xd070098d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaxtbdc, Specaxtbdc, Spectrum)
STD_ROM_FN(Specaxtbdc)

struct BurnDriver BurnSpecaxtbdc = {
	"spec_axtbdc", NULL, "spec_spectrum", NULL, "1986",
	"Agent-X in The Brain Drain Caper (Start) (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaxtbdcRomInfo, SpecaxtbdcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ah Diddums (48K)

static struct BurnRomInfo SpecahdiddumRomDesc[] = {
	{ "Ah Diddums (1983)(Imagine Software).z80", 0x052d0, 0x173fdb09, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specahdiddum, Specahdiddum, Spectrum)
STD_ROM_FN(Specahdiddum)

struct BurnDriver BurnSpecahdiddum = {
	"spec_ahdiddum", NULL, "spec_spectrum", NULL, "1983",
	"Ah Diddums (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecahdiddumRomInfo, SpecahdiddumRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ahhh!! (48K)

static struct BurnRomInfo SpecahhhRomDesc[] = {
	{ "Ahhh!! (1984)(CRL Group).z80", 0x05a5a, 0x30241fe7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specahhh, Specahhh, Spectrum)
STD_ROM_FN(Specahhh)

struct BurnDriver BurnSpecahhh = {
	"spec_ahhh", NULL, "spec_spectrum", NULL, "1984",
	"Ahhh!! (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecahhhRomInfo, SpecahhhRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Air Brush (48K)

static struct BurnRomInfo SpecairbrushRomDesc[] = {
	{ "Air Brush (1983)(Soft Hits).z80", 0x021d5, 0x3adac7cb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specairbrush, Specairbrush, Spectrum)
STD_ROM_FN(Specairbrush)

struct BurnDriver BurnSpecairbrush = {
	"spec_airbrush", NULL, "spec_spectrum", NULL, "1983",
	"Air Brush (48K)\0", NULL, "Soft Hits", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecairbrushRomInfo, SpecairbrushRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Air Defence (48K)

static struct BurnRomInfo SpecairdefenRomDesc[] = {
	{ "Air Defence (1984)(CCS).z80", 0x0815b, 0x1d393b18, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specairdefen, Specairdefen, Spectrum)
STD_ROM_FN(Specairdefen)

struct BurnDriver BurnSpecairdefen = {
	"spec_airdefen", NULL, "spec_spectrum", NULL, "1984",
	"Air Defence (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecairdefenRomInfo, SpecairdefenRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Air Fire (it) (48K)

static struct BurnRomInfo SpecairfireiRomDesc[] = {
	{ "Air Fire (19xx)(Rebit Soft Bank)(it).z80", 0x01476, 0x51c0b9e4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specairfirei, Specairfirei, Spectrum)
STD_ROM_FN(Specairfirei)

struct BurnDriver BurnSpecairfirei = {
	"spec_airfirei", NULL, "spec_spectrum", NULL, "19xx",
	"Air Fire (it) (48K)\0", NULL, "Rebit Soft Bank", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecairfireiRomInfo, SpecairfireiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Airbase Invader (48K)

static struct BurnRomInfo SpecairbinvaRomDesc[] = {
	{ "Airbase Invader (1984)(CP Software).z80", 0x04fbd, 0x622253ba, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specairbinva, Specairbinva, Spectrum)
STD_ROM_FN(Specairbinva)

struct BurnDriver BurnSpecairbinva = {
	"spec_airbinva", NULL, "spec_spectrum", NULL, "1984",
	"Airbase Invader (48K)\0", NULL, "CP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecairbinvaRomInfo, SpecairbinvaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Airline (48K)

static struct BurnRomInfo SpecairlineRomDesc[] = {
	{ "Airline (1982)(CCS).z80", 0x0532a, 0x2d2bc115, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specairline, Specairline, Spectrum)
STD_ROM_FN(Specairline)

struct BurnDriver BurnSpecairline = {
	"spec_airline", NULL, "spec_spectrum", NULL, "1982",
	"Airline (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecairlineRomInfo, SpecairlineRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Airport '82 - Intro (48K)

static struct BurnRomInfo Specairp82RomDesc[] = {
	{ "Airport '82 - Intro (1982)(JRS Software).z80", 0x01d3f, 0x1d291e59, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specairp82, Specairp82, Spectrum)
STD_ROM_FN(Specairp82)

struct BurnDriver BurnSpecairp82 = {
	"spec_airp82", NULL, "spec_spectrum", NULL, "1982",
	"Airport '82 - Intro (48K)\0", NULL, "JRS Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specairp82RomInfo, Specairp82RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Airport '82 (48K)

static struct BurnRomInfo Specairp82gRomDesc[] = {
	{ "Airport '82 (1982)(JRS Software).z80", 0x0252b, 0x51b388c7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specairp82g, Specairp82g, Spectrum)
STD_ROM_FN(Specairp82g)

struct BurnDriver BurnSpecairp82g = {
	"spec_airp82g", "spec_airp82", "spec_spectrum", NULL, "1982",
	"Airport '82 (48K)\0", NULL, "JRS Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specairp82gRomInfo, Specairp82gRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Air-Raid (48K)

static struct BurnRomInfo SpecairraidRomDesc[] = {
	{ "Air-Raid (1983)(CCS).z80", 0x08d0a, 0x5b35bb1a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specairraid, Specairraid, Spectrum)
STD_ROM_FN(Specairraid)

struct BurnDriver BurnSpecairraid = {
	"spec_airraid", NULL, "spec_spectrum", NULL, "1983",
	"Air-Raid (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecairraidRomInfo, SpecairraidRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Airspeeder (German) (48K)

static struct BurnRomInfo SpecairspeedRomDesc[] = {
	{ "Airspeeder (19xx)(Fiedrich Zohmann)(de).z80", 0x05c9b, 0xa3352f3d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specairspeed, Specairspeed, Spectrum)
STD_ROM_FN(Specairspeed)

struct BurnDriver BurnSpecairspeed = {
	"spec_airspeed", NULL, "spec_spectrum", NULL, "19xx",
	"Airspeeder (German) (48K)\0", NULL, "Fiedrich Zohmann", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecairspeedRomInfo, SpecairspeedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Airwolf (48K)

static struct BurnRomInfo SpecairwolfRomDesc[] = {
	{ "Airwolf (1984)(Elite Systems).z80", 0x0af11, 0xf322ce6a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specairwolf, Specairwolf, Spectrum)
STD_ROM_FN(Specairwolf)

struct BurnDriver BurnSpecairwolf = {
	"spec_airwolf", NULL, "spec_spectrum", NULL, "1984",
	"Airwolf (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecairwolfRomInfo, SpecairwolfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Airwolf II (48K)

static struct BurnRomInfo Specairwolf2RomDesc[] = {
	{ "Airwolf II (1987)(Encore).z80", 0x09ae0, 0x8f6671ec, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specairwolf2, Specairwolf2, Spectrum)
STD_ROM_FN(Specairwolf2)

struct BurnDriver BurnSpecairwolf2 = {
	"spec_airwolf2", NULL, "spec_spectrum", NULL, "1987",
	"Airwolf II (48K)\0", NULL, "Encore", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specairwolf2RomInfo, Specairwolf2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ajedrez (Spanish) (48K)

static struct BurnRomInfo SpecajedrezeRomDesc[] = {
	{ "Ajedrez (1985)(Patxi Projects)(es).z80", 0x04409, 0xbb05c10a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specajedreze, Specajedreze, Spectrum)
STD_ROM_FN(Specajedreze)

struct BurnDriver BurnSpecajedreze = {
	"spec_ajedreze", NULL, "spec_spectrum", NULL, "1985",
	"Ajedrez (Spanish) (48K)\0", NULL, "Patxi Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecajedrezeRomInfo, SpecajedrezeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ajedrez Karpov (Spanish) (48K)

static struct BurnRomInfo SpecajedkarpRomDesc[] = {
	{ "Ajedrez Karpov (1984)(Microparadise Software)(es)[aka Chess - The Turk].z80", 0x0993b, 0xb8d420b5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specajedkarp, Specajedkarp, Spectrum)
STD_ROM_FN(Specajedkarp)

struct BurnDriver BurnSpecajedkarp = {
	"spec_ajedkarp", NULL, "spec_spectrum", NULL, "1984",
	"Ajedrez Karpov (Spanish) (48K)\0", NULL, "Microparadise Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecajedkarpRomInfo, SpecajedkarpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Akbarr (Spanish) (48K)

static struct BurnRomInfo SpecakbarresRomDesc[] = {
	{ "Akbarr (1991)(Ardent)(es).z80", 0x09fd2, 0x401a62ad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specakbarres, Specakbarres, Spectrum)
STD_ROM_FN(Specakbarres)

struct BurnDriver BurnSpecakbarres = {
	"spec_akbarres", NULL, "spec_spectrum", NULL, "1991",
	"Akbarr (Spanish) (48K)\0", NULL, "Ardent", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecakbarresRomInfo, SpecakbarresRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Akcionar II (sk) (48K)

static struct BurnRomInfo SpecakciiskRomDesc[] = {
	{ "Akcionar II (1990)(INFO Soft)(sk).z80", 0x0a766, 0x5db57a79, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specakciisk, Specakciisk, Spectrum)
STD_ROM_FN(Specakciisk)

struct BurnDriver BurnSpecakciisk = {
	"spec_akciisk", NULL, "spec_spectrum", NULL, "1990",
	"Akcionar II (sk) (48K)\0", NULL, "INFO Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecakciiskRomInfo, SpecakciiskRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Akerico (Spanish) (48K)

static struct BurnRomInfo SpecakericoeRomDesc[] = {
	{ "Akerico (2004)(Crazy Soft)(es).z80", 0x02ef3, 0x7e3f53eb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specakericoe, Specakericoe, Spectrum)
STD_ROM_FN(Specakericoe)

struct BurnDriver BurnSpecakericoe = {
	"spec_akericoe", NULL, "spec_spectrum", NULL, "2004",
	"Akerico (Spanish) (48K)\0", NULL, "Crazy Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecakericoeRomInfo, SpecakericoeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aknadach (cs) (128K)

static struct BurnRomInfo SpecaknadachRomDesc[] = {
	{ "Aknadach (1990)(Proxima Software)(cs)[128K].z80", 0x09dcd, 0x5feb63bf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaknadach, Specaknadach, Spectrum)
STD_ROM_FN(Specaknadach)

struct BurnDriver BurnSpecaknadach = {
	"spec_aknadach", NULL, "spec_spec128", NULL, "1990",
	"Aknadach (cs) (128K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaknadachRomInfo, SpecaknadachRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Al Ladron! (Spanish) (128K)

static struct BurnRomInfo SpecalladronRomDesc[] = {
	{ "Al Ladron! (1990)(Luis F. Sanchez)(es)[128K].z80", 0x0745f, 0x762d0b5e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalladron, Specalladron, Spectrum)
STD_ROM_FN(Specalladron)

struct BurnDriver BurnSpecalladron = {
	"spec_alladron", NULL, "spec_spec128", NULL, "1990",
	"Al Ladron! (Spanish) (128K)\0", NULL, "Luis F. Sanchez", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecalladronRomInfo, SpecalladronRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aladdin's Cave (48K)

static struct BurnRomInfo SpecaladcaveRomDesc[] = {
	{ "Aladdin's Cave (1985)(Artic Computing).z80", 0x08979, 0x2f97f7ee, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaladcave, Specaladcave, Spectrum)
STD_ROM_FN(Specaladcave)

struct BurnDriver BurnSpecaladcave = {
	"spec_aladcave", NULL, "spec_spectrum", NULL, "1985",
	"Aladdin's Cave (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaladcaveRomInfo, SpecaladcaveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alaska (German) (48K)

static struct BurnRomInfo SpecalaskadeRomDesc[] = {
	{ "Alaska (19xx)(-)(de).z80", 0x03459, 0xb7fd0969, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalaskade, Specalaskade, Spectrum)
STD_ROM_FN(Specalaskade)

struct BurnDriver BurnSpecalaskade = {
	"spec_alaskade", NULL, "spec_spectrum", NULL, "19xx",
	"Alaska (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecalaskadeRomInfo, SpecalaskadeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alcatraz Harry (48K)

static struct BurnRomInfo SpecalcaharrRomDesc[] = {
	{ "Alcatraz Harry (1984)(Mastertronic).z80", 0x08f55, 0x0d3e1085, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalcaharr, Specalcaharr, Spectrum)
STD_ROM_FN(Specalcaharr)

struct BurnDriver BurnSpecalcaharr = {
	"spec_alcaharr", NULL, "spec_spectrum", NULL, "1984",
	"Alcatraz Harry (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecalcaharrRomInfo, SpecalcaharrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alcatraz Harry 2 - The Doomsday Mission (48K)

static struct BurnRomInfo SpecalhathdoRomDesc[] = {
	{ "Alcatraz Harry 2 - The Doomsday Mission (1984)(Scorpio Gamesworld).z80", 0x09512, 0xd92a75d9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalhathdo, Specalhathdo, Spectrum)
STD_ROM_FN(Specalhathdo)

struct BurnDriver BurnSpecalhathdo = {
	"spec_alhathdo", NULL, "spec_spectrum", NULL, "1984",
	"Alcatraz Harry 2 - The Doomsday Mission (48K)\0", NULL, "Scorpio Gamesworld", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecalhathdoRomInfo, SpecalhathdoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alchemist (48K)

static struct BurnRomInfo SpecalchemisRomDesc[] = {
	{ "Alchemist (1983)(Imagine Software).z80", 0x093af, 0xe6f0df00, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalchemis, Specalchemis, Spectrum)
STD_ROM_FN(Specalchemis)

struct BurnDriver BurnSpecalchemis = {
	"spec_alchemis", NULL, "spec_spectrum", NULL, "1983",
	"Alchemist (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecalchemisRomInfo, SpecalchemisRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alchemist Puzzle (48K)

static struct BurnRomInfo SpecalchpuzzRomDesc[] = {
	{ "Alchemist Puzzle (1995)(Vaxalon).z80", 0x02aad, 0x5cb7438b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalchpuzz, Specalchpuzz, Spectrum)
STD_ROM_FN(Specalchpuzz)

struct BurnDriver BurnSpecalchpuzz = {
	"spec_alchpuzz", NULL, "spec_spectrum", NULL, "1995",
	"Alchemist Puzzle (48K)\0", NULL, "Vaxalon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecalchpuzzRomInfo, SpecalchpuzzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alfa 1 (pt) (48K)

static struct BurnRomInfo Specalfa1ptRomDesc[] = {
	{ "Alfa 1 (19xx)(Microdinamite)(pt).z80", 0x06c63, 0xe7bfba2a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalfa1pt, Specalfa1pt, Spectrum)
STD_ROM_FN(Specalfa1pt)

struct BurnDriver BurnSpecalfa1pt = {
	"spec_alfa1pt", NULL, "spec_spectrum", NULL, "19xx",
	"Alfa 1 (pt) (48K)\0", NULL, "Microdinamite", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specalfa1ptRomInfo, Specalfa1ptRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ali Baba (hr) (128K)

static struct BurnRomInfo SpecalibabaRomDesc[] = {
	{ "Ali Baba (1985)(Suzy Soft)(hr)[128K].z80", 0x051b9, 0x25deee8f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalibaba, Specalibaba, Spectrum)
STD_ROM_FN(Specalibaba)

struct BurnDriver BurnSpecalibaba = {
	"spec_alibaba", NULL, "spec_spec128", NULL, "1985",
	"Ali Baba (hr) (128K)\0", NULL, "Suzy Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecalibabaRomInfo, SpecalibabaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ali-Bebe (Spanish) (48K)

static struct BurnRomInfo SpecalibebeRomDesc[] = {
	{ "Ali-Bebe (1985)(Future Stars)(es).z80", 0x096a2, 0x597994ce, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalibebe, Specalibebe, Spectrum)
STD_ROM_FN(Specalibebe)

struct BurnDriver BurnSpecalibebe = {
	"spec_alibebe", NULL, "spec_spectrum", NULL, "1985",
	"Ali-Bebe (Spanish) (48K)\0", NULL, "Future Stars", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecalibebeRomInfo, SpecalibebeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alicia en el Pais de las Maravillas (Spanish) (48K)

static struct BurnRomInfo SpecalipaimaRomDesc[] = {
	{ "Alicia en el Pais de las Maravillas (19xx)(Danisoft)(es).z80", 0x097b1, 0xcf98a885, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalipaima, Specalipaima, Spectrum)
STD_ROM_FN(Specalipaima)

struct BurnDriver BurnSpecalipaima = {
	"spec_alipaima", NULL, "spec_spectrum", NULL, "19xx",
	"Alicia en el Pais de las Maravillas (Spanish) (48K)\0", NULL, "Danisoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecalipaimaRomInfo, SpecalipaimaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alien (Chin) (48K)

static struct BurnRomInfo SpecaliencRomDesc[] = {
	{ "Alien (1982)(Chin).z80", 0x01822, 0x74c77565, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalienc, Specalienc, Spectrum)
STD_ROM_FN(Specalienc)

struct BurnDriver BurnSpecalienc = {
	"spec_alienc", "spec_alien", "spec_spectrum", NULL, "1982",
	"Alien (Chin) (48K)\0", NULL, "Chin", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaliencRomInfo, SpecaliencRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alien (Mind Games) (48K)

static struct BurnRomInfo SpecalienRomDesc[] = {
	{ "Alien (1985)(Mind Games).z80", 0x05f1b, 0x55a2b19d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalien, Specalien, Spectrum)
STD_ROM_FN(Specalien)

struct BurnDriver BurnSpecalien = {
	"spec_alien", NULL, "spec_spectrum", NULL, "1985",
	"Alien (Mind Games) (48K)\0", NULL, "Mind Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecalienRomInfo, SpecalienRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alien (Gary Howland) (48K)

static struct BurnRomInfo SpecalienghRomDesc[] = {
	{ "Alien (19xx)(Gary Howland).z80", 0x035dd, 0x948be631, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaliengh, Specaliengh, Spectrum)
STD_ROM_FN(Specaliengh)

struct BurnDriver BurnSpecaliengh = {
	"spec_aliengh", "spec_alien", "spec_spectrum", NULL, "19xx",
	"Alien (Gary Howland) (48K)\0", NULL, "Gary Howland", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecalienghRomInfo, SpecalienghRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alien 8 (48K)

static struct BurnRomInfo Specalien8RomDesc[] = {
	{ "Alien 8 (1985)(Ultimate Play The Game).z80", 0x087f9, 0x8cce2d97, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalien8, Specalien8, Spectrum)
STD_ROM_FN(Specalien8)

struct BurnDriver BurnSpecalien8 = {
	"spec_alien8", NULL, "spec_spectrum", NULL, "1985",
	"Alien 8 (48K)\0", NULL, "Ultimate Play The Game", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specalien8RomInfo, Specalien8RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alien City, The (48K)

static struct BurnRomInfo SpecalicitthRomDesc[] = {
	{ "Alien City, The (1984)(Pirate Software).z80", 0x055a2, 0x31bbbafe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalicitth, Specalicitth, Spectrum)
STD_ROM_FN(Specalicitth)

struct BurnDriver BurnSpecalicitth = {
	"spec_alicitth", NULL, "spec_spectrum", NULL, "1984",
	"Alien City, The (48K)\0", NULL, "Pirate Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecalicitthRomInfo, SpecalicitthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alien Curse (German) (48K)

static struct BurnRomInfo SpecaliecursRomDesc[] = {
	{ "Alien Curse (1984)(Profisoft)(de).z80", 0x02532, 0x3780cfdf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaliecurs, Specaliecurs, Spectrum)
STD_ROM_FN(Specaliecurs)

struct BurnDriver BurnSpecaliecurs = {
	"spec_aliecurs", NULL, "spec_spectrum", NULL, "1984",
	"Alien Curse (German) (48K)\0", NULL, "Profisoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaliecursRomInfo, SpecaliecursRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alien Death Mine Massacre XII (48K)

static struct BurnRomInfo SpecadmmxiiRomDesc[] = {
	{ "Alien Death Mine Massacre XII (1997)(CSSCGC).z80", 0x0153b, 0x8c36c439, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specadmmxii, Specadmmxii, Spectrum)
STD_ROM_FN(Specadmmxii)

struct BurnDriver BurnSpecadmmxii = {
	"spec_admmxii", NULL, "spec_spectrum", NULL, "1997",
	"Alien Death Mine Massacre XII (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecadmmxiiRomInfo, SpecadmmxiiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alien Destroyer (48K)

static struct BurnRomInfo Specaliedest_48RomDesc[] = {
	{ "Alien Destroyer (1984)(Kuma Computers).z80", 0x05192, 0xf53d08ad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaliedest_48, Specaliedest_48, Spectrum)
STD_ROM_FN(Specaliedest_48)

struct BurnDriver BurnSpecaliedest_48 = {
	"spec_aliedest_48", "spec_aliedest", "spec_spectrum", NULL, "1984",
	"Alien Destroyer (48K)\0", NULL, "Kuma Computers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specaliedest_48RomInfo, Specaliedest_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alien Destroyer (128K)

static struct BurnRomInfo SpecaliedestRomDesc[] = {
	{ "Alien Destroyer (1984)(Kuma Computers)[128K].z80", 0x057f9, 0x2034cccd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaliedest, Specaliedest, Spectrum)
STD_ROM_FN(Specaliedest)

struct BurnDriver BurnSpecaliedest = {
	"spec_aliedest", NULL, "spec_spec128", NULL, "1984",
	"Alien Destroyer (128K)\0", NULL, "Kuma Computers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaliedestRomInfo, SpecaliedestRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alien Evolution (48K)

static struct BurnRomInfo SpecalieevolRomDesc[] = {
	{ "Alien Evolution (1987)(Gremlin Graphics Software).z80", 0x07a62, 0xef23e7a9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalieevol, Specalieevol, Spectrum)
STD_ROM_FN(Specalieevol)

struct BurnDriver BurnSpecalieevol = {
	"spec_alieevol", NULL, "spec_spectrum", NULL, "1987",
	"Alien Evolution (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecalieevolRomInfo, SpecalieevolRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alien Highway - Encounter 2 (48K)

static struct BurnRomInfo SpecalihigenRomDesc[] = {
	{ "Alien Highway - Encounter 2 (1986)(Vortex Software).z80", 0x09211, 0xee24456e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalihigen, Specalihigen, Spectrum)
STD_ROM_FN(Specalihigen)

struct BurnDriver BurnSpecalihigen = {
	"spec_alihigen", NULL, "spec_spectrum", NULL, "1986",
	"Alien Highway - Encounter 2 (48K)\0", NULL, "Vortex Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecalihigenRomInfo, SpecalihigenRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alien Kill (48K)

static struct BurnRomInfo SpecaliekillRomDesc[] = {
	{ "Alien Kill (1984)(Mastertronic).z80", 0x037a6, 0x20709faf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaliekill, Specaliekill, Spectrum)
STD_ROM_FN(Specaliekill)

struct BurnDriver BurnSpecaliekill = {
	"spec_aliekill", NULL, "spec_spectrum", NULL, "1984",
	"Alien Kill (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaliekillRomInfo, SpecaliekillRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alien Maze (48K)

static struct BurnRomInfo SpecaliemazeRomDesc[] = {
	{ "Alien Maze (1983)(CRL Group).z80", 0x07dc5, 0x1c564412, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaliemaze, Specaliemaze, Spectrum)
STD_ROM_FN(Specaliemaze)

struct BurnDriver BurnSpecaliemaze = {
	"spec_aliemaze", NULL, "spec_spectrum", NULL, "1983",
	"Alien Maze (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaliemazeRomInfo, SpecaliemazeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alien Research Centre (48K)

static struct BurnRomInfo SpecaliresceRomDesc[] = {
	{ "Alien Research Centre (1989)(Zenobi Software).z80", 0x0a94c, 0xa9696fe2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaliresce, Specaliresce, Spectrum)
STD_ROM_FN(Specaliresce)

struct BurnDriver BurnSpecaliresce = {
	"spec_aliresce", NULL, "spec_spectrum", NULL, "1989",
	"Alien Research Centre (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaliresceRomInfo, SpecaliresceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alien Rupture (48K)

static struct BurnRomInfo SpecalieruptRomDesc[] = {
	{ "Alien Rupture (1984)(Green Fish Software Enterprise).z80", 0x06df9, 0xfed95184, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalierupt, Specalierupt, Spectrum)
STD_ROM_FN(Specalierupt)

struct BurnDriver BurnSpecalierupt = {
	"spec_alierupt", NULL, "spec_spectrum", NULL, "1984",
	"Alien Rupture (48K)\0", NULL, "Green Fish Software Enterprise", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecalieruptRomInfo, SpecalieruptRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alien Syndrome (128K)

static struct BurnRomInfo SpecaliensynRomDesc[] = {
	{ "Alien Syndrome (1987)(ACE Software)[t +2][128K].z80", 0x0f7bc, 0x11c4832e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaliensyn, Specaliensyn, Spectrum)
STD_ROM_FN(Specaliensyn)

struct BurnDriver BurnSpecaliensyn = {
	"spec_aliensyn", NULL, "spec_spec128", NULL, "1987",
	"Alien Syndrome (128K)\0", NULL, "ACE Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaliensynRomInfo, SpecaliensynRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aliens (48K)

static struct BurnRomInfo SpecaliensRomDesc[] = {
	{ "Aliens (1986)(Electric Dreams Software).z80", 0x0a29d, 0xe6581397, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaliens, Specaliens, Spectrum)
STD_ROM_FN(Specaliens)

struct BurnDriver BurnSpecaliens = {
	"spec_aliens", NULL, "spec_spectrum", NULL, "1986",
	"Aliens (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaliensRomInfo, SpecaliensRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alkerk2004 (hu) (48K)

static struct BurnRomInfo Specalkerk20RomDesc[] = {
	{ "Alkerk2004 (2004)(Jatekgyaros)(hu).z80", 0x04307, 0xb5d0d1bd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalkerk20, Specalkerk20, Spectrum)
STD_ROM_FN(Specalkerk20)

struct BurnDriver BurnSpecalkerk20 = {
	"spec_alkerk20", NULL, "spec_spectrum", NULL, "2004",
	"Alkerk2004 (hu) (48K)\0", NULL, "Jatekgyaros", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specalkerk20RomInfo, Specalkerk20RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alky Ollie (48K)

static struct BurnRomInfo SpecalkyolliRomDesc[] = {
	{ "Alky Ollie (1986)(Firecracker Software).z80", 0x089b5, 0x0932ee47, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalkyolli, Specalkyolli, Spectrum)
STD_ROM_FN(Specalkyolli)

struct BurnDriver BurnSpecalkyolli = {
	"spec_alkyolli", NULL, "spec_spectrum", NULL, "1986",
	"Alky Ollie (48K)\0", NULL, "Firecracker Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecalkyolliRomInfo, SpecalkyolliRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// All American Basketball (48K)

static struct BurnRomInfo SpecallamebaRomDesc[] = {
	{ "All American Basketball (1992)(Zeppelin Games).z80", 0x06fc1, 0xe105d26e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specallameba, Specallameba, Spectrum)
STD_ROM_FN(Specallameba)

struct BurnDriver BurnSpecallameba = {
	"spec_allameba", NULL, "spec_spectrum", NULL, "1992",
	"All American Basketball (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecallamebaRomInfo, SpecallamebaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// All or Nothing (48K)

static struct BurnRomInfo SpecallonothRomDesc[] = {
	{ "All or Nothing (1984)(Abbex Electronics)[speech].z80", 0x07fea, 0x65eecb53, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specallonoth, Specallonoth, Spectrum)
STD_ROM_FN(Specallonoth)

struct BurnDriver BurnSpecallonoth = {
	"spec_allonoth", NULL, "spec_spectrum", NULL, "1984",
	"All or Nothing (48K)\0", NULL, "Abbex Electronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecallonothRomInfo, SpecallonothRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alma de Guerrero (Spanish) (48K)

static struct BurnRomInfo SpecalmaguerRomDesc[] = {
	{ "Alma de Guerrero (2003)(Beyker Soft)(es).z80", 0x0adb7, 0x7a7ab1ad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalmaguer, Specalmaguer, Spectrum)
STD_ROM_FN(Specalmaguer)

struct BurnDriver BurnSpecalmaguer = {
	"spec_almaguer", NULL, "spec_spectrum", NULL, "2003",
	"Alma de Guerrero (Spanish) (48K)\0", NULL, "Beyker Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecalmaguerRomInfo, SpecalmaguerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alpha 1 (German) (48K)

static struct BurnRomInfo Specalpha1deRomDesc[] = {
	{ "Alpha 1 (1984)(Stefan Wisskirchen)(de).z80", 0x041cf, 0x6b6a4eba, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalpha1de, Specalpha1de, Spectrum)
STD_ROM_FN(Specalpha1de)

struct BurnDriver BurnSpecalpha1de = {
	"spec_alpha1de", NULL, "spec_spectrum", NULL, "1984",
	"Alpha 1 (German) (48K)\0", NULL, "Stefan Wisskirchen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specalpha1deRomInfo, Specalpha1deRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alphabet Games (48K)

static struct BurnRomInfo SpecalphgameRomDesc[] = {
	{ "Alphabet Games (1987)(Atlantis Software).z80", 0x03e88, 0xe083d227, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalphgame, Specalphgame, Spectrum)
STD_ROM_FN(Specalphgame)

struct BurnDriver BurnSpecalphgame = {
	"spec_alphgame", NULL, "spec_spectrum", NULL, "1987",
	"Alphabet Games (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecalphgameRomInfo, SpecalphgameRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alphabet Zoo (48K)

static struct BurnRomInfo SpecalphzooRomDesc[] = {
	{ "Alphabet Zoo (1984)(Spinnaker Software).z80", 0x0658d, 0xf2b9c0d6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalphzoo, Specalphzoo, Spectrum)
STD_ROM_FN(Specalphzoo)

struct BurnDriver BurnSpecalphzoo = {
	"spec_alphzoo", NULL, "spec_spectrum", NULL, "1984",
	"Alphabet Zoo (48K)\0", NULL, "Spinnaker Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecalphzooRomInfo, SpecalphzooRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alpha-Raid (48K)

static struct BurnRomInfo SpecalphraidRomDesc[] = {
	{ "Alpha-Raid (1984)(Video Showcase).z80", 0x01e8f, 0xfb6ed851, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalphraid, Specalphraid, Spectrum)
STD_ROM_FN(Specalphraid)

struct BurnDriver BurnSpecalphraid = {
	"spec_alphraid", NULL, "spec_spectrum", NULL, "1984",
	"Alpha-Raid (48K)\0", NULL, "Video Showcase", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecalphraidRomInfo, SpecalphraidRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alpine Games (48K)

static struct BurnRomInfo Specalpigame_48RomDesc[] = {
	{ "Alpine Games (1987)(Atlantis Software).z80", 0x076cb, 0x157d22f9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalpigame_48, Specalpigame_48, Spectrum)
STD_ROM_FN(Specalpigame_48)

struct BurnDriver BurnSpecalpigame_48 = {
	"spec_alpigame_48", "spec_alpigame", "spec_spectrum", NULL, "1987",
	"Alpine Games (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specalpigame_48RomInfo, Specalpigame_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alpine Games (128K)

static struct BurnRomInfo SpecalpigameRomDesc[] = {
	{ "Alpine Games (1987)(Atlantis Software)[128K].z80", 0x07d37, 0x50e71589, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalpigame, Specalpigame, Spectrum)
STD_ROM_FN(Specalpigame)

struct BurnDriver BurnSpecalpigame = {
	"spec_alpigame", NULL, "spec_spec128", NULL, "1987",
	"Alpine Games (128K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecalpigameRomInfo, SpecalpigameRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alstrad (48K)

static struct BurnRomInfo SpecalstradRomDesc[] = {
	{ "Alstrad (19xx)(The Guild).z80", 0x07b2d, 0x09c8ce11, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalstrad, Specalstrad, Spectrum)
STD_ROM_FN(Specalstrad)

struct BurnDriver BurnSpecalstrad = {
	"spec_alstrad", NULL, "spec_spectrum", NULL, "19xx",
	"Alstrad (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecalstradRomInfo, SpecalstradRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alter-Earth (48K)

static struct BurnRomInfo SpecalteeartRomDesc[] = {
	{ "Alter-Earth (1984)(Double Play Adventures).z80", 0x06255, 0xda218a1e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specalteeart, Specalteeart, Spectrum)
STD_ROM_FN(Specalteeart)

struct BurnDriver BurnSpecalteeart = {
	"spec_alteeart", NULL, "spec_spectrum", NULL, "1984",
	"Alter-Earth (48K)\0", NULL, "Double Play Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecalteeartRomInfo, SpecalteeartRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Altered Beast (128K)

static struct BurnRomInfo SpecaltbeastRomDesc[] = {
	{ "Altered Beast (1988)(Activision)[128K].z80", 0x0b8b5, 0x8c27eb15, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaltbeast, Specaltbeast, Spectrum)
STD_ROM_FN(Specaltbeast)

struct BurnDriver BurnSpecaltbeast = {
	"spec_altbeast", NULL, "spec_spec128", NULL, "1988",
	"Altered Beast (128K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaltbeastRomInfo, SpecaltbeastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Alternative World Games (48K)

static struct BurnRomInfo SpecaltworgaRomDesc[] = {
	{ "Alternative World Games (1987)(Gremlin Graphics Software).z80", 0x08fc9, 0x120c9e3f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaltworga, Specaltworga, Spectrum)
STD_ROM_FN(Specaltworga)

struct BurnDriver BurnSpecaltworga = {
	"spec_altworga", NULL, "spec_spectrum", NULL, "1987",
	"Alternative World Games (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaltworgaRomInfo, SpecaltworgaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Amaurote (48K)

static struct BurnRomInfo Specamaurote_48RomDesc[] = {
	{ "Amaurote (1987)(Mastertronic Added Dimension).z80", 0x0c01e, 0x0d0df90f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specamaurote_48, Specamaurote_48, Spectrum)
STD_ROM_FN(Specamaurote_48)

struct BurnDriver BurnSpecamaurote_48 = {
	"spec_amaurote_48", "spec_amaurote", "spec_spectrum", NULL, "1987",
	"Amaurote (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specamaurote_48RomInfo, Specamaurote_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Amaurote (128K)

static struct BurnRomInfo SpecamauroteRomDesc[] = {
	{ "Amaurote (1987)(Mastertronic Added Dimension)[128K].z80", 0x12447, 0x4481095c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specamaurote, Specamaurote, Spectrum)
STD_ROM_FN(Specamaurote)

struct BurnDriver BurnSpecamaurote = {
	"spec_amaurote", NULL, "spec_spec128", NULL, "1987",
	"Amaurote (128K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecamauroteRomInfo, SpecamauroteRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A-Maze (48K)

static struct BurnRomInfo SpecamazeRomDesc[] = {
	{ "A-Maze (1986)(K'Soft)[needs tape load].z80", 0x02ac6, 0xd9139187, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specamaze, Specamaze, Spectrum)
STD_ROM_FN(Specamaze)

struct BurnDriver BurnSpecamaze = {
	"spec_amaze", NULL, "spec_spectrum", NULL, "1986",
	"A-Maze (48K)\0", NULL, "K'Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecamazeRomInfo, SpecamazeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Amazing Voyage (48K)

static struct BurnRomInfo SpecamazvoyaRomDesc[] = {
	{ "Amazing Voyage (1984)(-).z80", 0x0c01e, 0x3d9ec424, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specamazvoya, Specamazvoya, Spectrum)
STD_ROM_FN(Specamazvoya)

struct BurnDriver BurnSpecamazvoya = {
	"spec_amazvoya", NULL, "spec_spectrum", NULL, "1984",
	"Amazing Voyage (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecamazvoyaRomInfo, SpecamazvoyaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// American 3D Pool (48K)

static struct BurnRomInfo SpecamedpoolRomDesc[] = {
	{ "American 3D Pool (1992)(Zeppelin Games).z80", 0x090d4, 0x00b102a5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specamedpool, Specamedpool, Spectrum)
STD_ROM_FN(Specamedpool)

struct BurnDriver BurnSpecamedpool = {
	"spec_amedpool", NULL, "spec_spectrum", NULL, "1992",
	"American 3D Pool (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecamedpoolRomInfo, SpecamedpoolRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// American Football (48K)

static struct BurnRomInfo SpecamerfootRomDesc[] = {
	{ "American Football (1984)(Mind Games).z80", 0x09c57, 0x767a21cd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specamerfoot, Specamerfoot, Spectrum)
STD_ROM_FN(Specamerfoot)

struct BurnDriver BurnSpecamerfoot = {
	"spec_amerfoot", NULL, "spec_spectrum", NULL, "1984",
	"American Football (48K)\0", NULL, "Mind Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecamerfootRomInfo, SpecamerfootRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// American Tag Team Wrestling (48K)

static struct BurnRomInfo SpecamtatewrRomDesc[] = {
	{ "American Tag Team Wrestling (1992)(Zeppelin Games).z80", 0x0976f, 0xafb4c0cc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specamtatewr, Specamtatewr, Spectrum)
STD_ROM_FN(Specamtatewr)

struct BurnDriver BurnSpecamtatewr = {
	"spec_amtatewr", NULL, "spec_spectrum", NULL, "1992",
	"American Tag Team Wrestling (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecamtatewrRomInfo, SpecamtatewrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// American Turbo King (48K)

static struct BurnRomInfo SpecameturkiRomDesc[] = {
	{ "American Turbo King (1989)(Virgin Mastertronic).z80", 0x07ad2, 0xd9cc8cfe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specameturki, Specameturki, Spectrum)
STD_ROM_FN(Specameturki)

struct BurnDriver BurnSpecameturki = {
	"spec_ameturki", NULL, "spec_spectrum", NULL, "1989",
	"American Turbo King (48K)\0", NULL, "Virgin Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecameturkiRomInfo, SpecameturkiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// America's Agent (German) (48K)

static struct BurnRomInfo SpecameragenRomDesc[] = {
	{ "America's Agent (1984)(KMP Soft)(de).z80", 0x08765, 0xcd1a9b5a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specameragen, Specameragen, Spectrum)
STD_ROM_FN(Specameragen)

struct BurnDriver BurnSpecameragen = {
	"spec_ameragen", NULL, "spec_spectrum", NULL, "1984",
	"America's Agent (German) (48K)\0", NULL, "KMP Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecameragenRomInfo, SpecameragenRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Amo del Mundo (Spanish) (48K)

static struct BurnRomInfo SpecamodmundRomDesc[] = {
	{ "Amo del Mundo (1990)(Positive)(es).z80", 0x09b2c, 0xba1a4ef9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specamodmund, Specamodmund, Spectrum)
STD_ROM_FN(Specamodmund)

struct BurnDriver BurnSpecamodmund = {
	"spec_amodmund", NULL, "spec_spectrum", NULL, "1990",
	"Amo del Mundo (Spanish) (48K)\0", NULL, "Positive", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecamodmundRomInfo, SpecamodmundRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Amoto's Puf (Spanish) (48K)

static struct BurnRomInfo SpecamotpufeRomDesc[] = {
	{ "Amoto's Puf (1988)(SPE)(es).z80", 0x07913, 0x8c0f45ad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specamotpufe, Specamotpufe, Spectrum)
STD_ROM_FN(Specamotpufe)

struct BurnDriver BurnSpecamotpufe = {
	"spec_amotpufe", NULL, "spec_spectrum", NULL, "1988",
	"Amoto's Puf (Spanish) (48K)\0", NULL, "SPE", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecamotpufeRomInfo, SpecamotpufeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Amulet of Darath, The (48K)

static struct BurnRomInfo SpecamudarthRomDesc[] = {
	{ "Amulet of Darath, The (1991)(Zenobi Software).z80", 0x095d5, 0x89de6b05, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specamudarth, Specamudarth, Spectrum)
STD_ROM_FN(Specamudarth)

struct BurnDriver BurnSpecamudarth = {
	"spec_amudarth", NULL, "spec_spectrum", NULL, "1991",
	"Amulet of Darath, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecamudarthRomInfo, SpecamudarthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// An Everyday Tale of a Seeker of Gold (48K)

static struct BurnRomInfo SpecanevtaseRomDesc[] = {
	{ "An Everyday Tale of a Seeker of Gold (1986)(Zenobi Software).z80", 0x098f0, 0xaf9d9d2e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specanevtase, Specanevtase, Spectrum)
STD_ROM_FN(Specanevtase)

struct BurnDriver BurnSpecanevtase = {
	"spec_anevtase", NULL, "spec_spectrum", NULL, "1986",
	"An Everyday Tale of a Seeker of Gold (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecanevtaseRomInfo, SpecanevtaseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Anarchy (48K)

static struct BurnRomInfo SpecanarchyRomDesc[] = {
	{ "Anarchy (1987)(Rack-It).z80", 0x081a0, 0xacc2113b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specanarchy, Specanarchy, Spectrum)
STD_ROM_FN(Specanarchy)

struct BurnDriver BurnSpecanarchy = {
	"spec_anarchy", NULL, "spec_spectrum", NULL, "1987",
	"Anarchy (48K)\0", NULL, "Rack-It", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecanarchyRomInfo, SpecanarchyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Andeskydning (da) (48K)

static struct BurnRomInfo SpecandeskydRomDesc[] = {
	{ "Andeskydning (19xx)(-)(da).z80", 0x0120b, 0x5d132cc7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specandeskyd, Specandeskyd, Spectrum)
STD_ROM_FN(Specandeskyd)

struct BurnDriver BurnSpecandeskyd = {
	"spec_andeskyd", NULL, "spec_spectrum", NULL, "19xx",
	"Andeskydning (da) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecandeskydRomInfo, SpecandeskydRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Andrew's (48K)

static struct BurnRomInfo SpecandrewsRomDesc[] = {
	{ "Andrew's (1997)(CSSCGC).z80", 0x009b2, 0xd308d94a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specandrews, Specandrews, Spectrum)
STD_ROM_FN(Specandrews)

struct BurnDriver BurnSpecandrews = {
	"spec_andrews", NULL, "spec_spectrum", NULL, "1997",
	"Andrew's (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecandrewsRomInfo, SpecandrewsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Android 2 (Spanish) (48K)

static struct BurnRomInfo Specandroid2sRomDesc[] = {
	{ "Android 2 (1983)(Ventamatic)(es)[re-release].z80", 0x07297, 0x861b0181, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specandroid2s, Specandroid2s, Spectrum)
STD_ROM_FN(Specandroid2s)

struct BurnDriver BurnSpecandroid2s = {
	"spec_android2s", "spec_android2", "spec_spectrum", NULL, "1983",
	"Android 2 (Spanish) (48K)\0", NULL, "Ventamatic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specandroid2sRomInfo, Specandroid2sRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Android 2 v2 (48K)

static struct BurnRomInfo Specandroid2RomDesc[] = {
	{ "Android 2 v2 (1983)(Vortex Software).z80", 0x06428, 0x381f1341, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specandroid2, Specandroid2, Spectrum)
STD_ROM_FN(Specandroid2)

struct BurnDriver BurnSpecandroid2 = {
	"spec_android2", NULL, "spec_spectrum", NULL, "1983",
	"Android 2 v2 (48K)\0", NULL, "Vortex Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specandroid2RomInfo, Specandroid2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Android One - The Reactor Run - Intro (48K)

static struct BurnRomInfo Specandr1rrRomDesc[] = {
	{ "Android One - The Reactor Run - Intro (1983)(Vortex Software).z80", 0x01b94, 0xee1c5bbd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specandr1rr, Specandr1rr, Spectrum)
STD_ROM_FN(Specandr1rr)

struct BurnDriver BurnSpecandr1rr = {
	"spec_andr1rr", NULL, "spec_spectrum", NULL, "1983",
	"Android One - The Reactor Run - Intro (48K)\0", NULL, "Vortex Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specandr1rrRomInfo, Specandr1rrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Android One - The Reactor Run (Spanish) (48K)

static struct BurnRomInfo Specandr1rrsRomDesc[] = {
	{ "Android One - The Reactor Run (1983)(Ventamatic)(es)[re-release].z80", 0x0c01e, 0x3ba77954, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specandr1rrs, Specandr1rrs, Spectrum)
STD_ROM_FN(Specandr1rrs)

struct BurnDriver BurnSpecandr1rrs = {
	"spec_andr1rrs", "spec_andr1rr", "spec_spectrum", NULL, "1983",
	"Android One - The Reactor Run (Spanish) (48K)\0", NULL, "Ventamatic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specandr1rrsRomInfo, Specandr1rrsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Android One - The Reactor Run (48K)

static struct BurnRomInfo Specandr1rrgRomDesc[] = {
	{ "Android One - The Reactor Run (1983)(Vortex Software).z80", 0x025aa, 0x3f09fd3d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specandr1rrg, Specandr1rrg, Spectrum)
STD_ROM_FN(Specandr1rrg)

struct BurnDriver BurnSpecandr1rrg = {
	"spec_andr1rrg", "spec_andr1rr", "spec_spectrum", NULL, "1983",
	"Android One - The Reactor Run (48K)\0", NULL, "Vortex Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specandr1rrgRomInfo, Specandr1rrgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Andromeda (48K)

static struct BurnRomInfo SpecandromedRomDesc[] = {
	{ "Andromeda (1983)(PSS).z80", 0x0544c, 0x74f5d293, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specandromed, Specandromed, Spectrum)
STD_ROM_FN(Specandromed)

struct BurnDriver BurnSpecandromed = {
	"spec_andromed", NULL, "spec_spectrum", NULL, "1983",
	"Andromeda (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecandromedRomInfo, SpecandromedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Andromeda Chess (48K)

static struct BurnRomInfo SpecandrchesRomDesc[] = {
	{ "Andromeda Chess (1984)(Andromeda).z80", 0x03691, 0x3a5ec95a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specandrches, Specandrches, Spectrum)
STD_ROM_FN(Specandrches)

struct BurnDriver BurnSpecandrches = {
	"spec_andrches", NULL, "spec_spectrum", NULL, "1984",
	"Andromeda Chess (48K)\0", NULL, "Andromeda", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecandrchesRomInfo, SpecandrchesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Andy Capp (48K)

static struct BurnRomInfo Specandycapp_48RomDesc[] = {
	{ "Andy Capp (1988)(Mirrorsoft).z80", 0x09450, 0xbb1a4515, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specandycapp_48, Specandycapp_48, Spectrum)
STD_ROM_FN(Specandycapp_48)

struct BurnDriver BurnSpecandycapp_48 = {
	"spec_andycapp_48", "spec_andycapp", "spec_spectrum", NULL, "1988",
	"Andy Capp (48K)\0", NULL, "Mirrorsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specandycapp_48RomInfo, Specandycapp_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Andy Capp (128K)

static struct BurnRomInfo SpecandycappRomDesc[] = {
	{ "Andy Capp (1988)(Mirrorsoft)[128K].z80", 0x0ad39, 0x77f3f490, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specandycapp, Specandycapp, Spectrum)
STD_ROM_FN(Specandycapp)

struct BurnDriver BurnSpecandycapp = {
	"spec_andycapp", NULL, "spec_spec128", NULL, "1988",
	"Andy Capp (128K)\0", NULL, "Mirrorsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecandycappRomInfo, SpecandycappRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Anfractuos (48K)

static struct BurnRomInfo SpecanfractuRomDesc[] = {
	{ "Anfractuos (1987)(Players Software).z80", 0x097c6, 0xbe8471c7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specanfractu, Specanfractu, Spectrum)
STD_ROM_FN(Specanfractu)

struct BurnDriver BurnSpecanfractu = {
	"spec_anfractu", NULL, "spec_spectrum", NULL, "1987",
	"Anfractuos (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecanfractuRomInfo, SpecanfractuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Angleball (48K)

static struct BurnRomInfo SpecanglebalRomDesc[] = {
	{ "Angleball (1987)(Mastertronic Added Dimension).z80", 0x056bb, 0xb682ed12, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specanglebal, Specanglebal, Spectrum)
STD_ROM_FN(Specanglebal)

struct BurnDriver BurnSpecanglebal = {
	"spec_anglebal", NULL, "spec_spectrum", NULL, "1987",
	"Angleball (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecanglebalRomInfo, SpecanglebalRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Angler (48K)

static struct BurnRomInfo SpecanglerRomDesc[] = {
	{ "Angler (1983)(Virgin Games).z80", 0x03576, 0x6c565a74, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specangler, Specangler, Spectrum)
STD_ROM_FN(Specangler)

struct BurnDriver BurnSpecangler = {
	"spec_angler", NULL, "spec_spectrum", NULL, "1983",
	"Angler (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecanglerRomInfo, SpecanglerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Anillo, El (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecanilelesRomDesc[] = {
	{ "Anillo, El (1989)(Juan Antonio Paz Salgado)(es)(Part 1 of 2).z80", 0x09607, 0xeebe11f0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specanileles, Specanileles, Spectrum)
STD_ROM_FN(Specanileles)

struct BurnDriver BurnSpecanileles = {
	"spec_anileles", NULL, "spec_spectrum", NULL, "1989",
	"Anillo, El (Spanish) (Part 1 of 2) (48K)\0", NULL, "Juan Antonio Paz Salgado", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecanilelesRomInfo, SpecanilelesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Anillo, El (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specanileles2RomDesc[] = {
	{ "Anillo, El (1989)(Juan Antonio Paz Salgado)(es)(Part 2 of 2).z80", 0x09b36, 0x7835afd4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specanileles2, Specanileles2, Spectrum)
STD_ROM_FN(Specanileles2)

struct BurnDriver BurnSpecanileles2 = {
	"spec_anileles2", "spec_anileles", "spec_spectrum", NULL, "1989",
	"Anillo, El (Spanish) (Part 2 of 2) (48K)\0", NULL, "Juan Antonio Paz Salgado", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specanileles2RomInfo, Specanileles2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Animated Strip Poker (48K)

static struct BurnRomInfo SpecanistrpoRomDesc[] = {
	{ "Animated Strip Poker (1985)(Knightsoft).z80", 0x0ae0f, 0x8d00021c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specanistrpo, Specanistrpo, Spectrum)
STD_ROM_FN(Specanistrpo)

struct BurnDriver BurnSpecanistrpo = {
	"spec_anistrpo", NULL, "spec_spectrum", NULL, "1985",
	"Animated Strip Poker (48K)\0", NULL, "Knightsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecanistrpoRomInfo, SpecanistrpoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ankebergsaventyret (sv) (48K)

static struct BurnRomInfo SpecankebergRomDesc[] = {
	{ "Ankebergsaventyret (1987)(Stefan Andersson)(sv).z80", 0x055db, 0x9b941af6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specankeberg, Specankeberg, Spectrum)
STD_ROM_FN(Specankeberg)

struct BurnDriver BurnSpecankeberg = {
	"spec_ankeberg", NULL, "spec_spectrum", NULL, "1987",
	"Ankebergsaventyret (sv) (48K)\0", NULL, "Stefan Andersson", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecankebergRomInfo, SpecankebergRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Annals of Rome (48K)

static struct BurnRomInfo SpecannaromeRomDesc[] = {
	{ "Annals of Rome (1986)(PSS).z80", 0x0976e, 0x8b216c4e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specannarome, Specannarome, Spectrum)
STD_ROM_FN(Specannarome)

struct BurnDriver BurnSpecannarome = {
	"spec_annarome", NULL, "spec_spectrum", NULL, "1986",
	"Annals of Rome (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecannaromeRomInfo, SpecannaromeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ant Attack (German) (128K)

static struct BurnRomInfo SpecantattacgRomDesc[] = {
	{ "Ant Attack (1983)(Hansesoft)(de)[128K][re-release].z80", 0x06dd9, 0xb0be930f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specantattacg, Specantattacg, Spectrum)
STD_ROM_FN(Specantattacg)

struct BurnDriver BurnSpecantattacg = {
	"spec_antattacg", "spec_antattac", "spec_spec128", NULL, "1983",
	"Ant Attack (German) (128K)\0", NULL, "Hansesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecantattacgRomInfo, SpecantattacgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ant Attack (48K)

static struct BurnRomInfo SpecantattacRomDesc[] = {
	{ "Ant Attack (1983)(Quicksilva).z80", 0x06acb, 0x82495882, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specantattac, Specantattac, Spectrum)
STD_ROM_FN(Specantattac)

struct BurnDriver BurnSpecantattac = {
	"spec_antattac", NULL, "spec_spectrum", NULL, "1983",
	"Ant Attack (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecantattacRomInfo, SpecantattacRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Antagonisten, De (nl) (48K)

static struct BurnRomInfo SpecantadenlRomDesc[] = {
	{ "Antagonisten, De (1985)(Addison-Wesley Productions)(nl).z80", 0x07be3, 0x4cad4a8f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specantadenl, Specantadenl, Spectrum)
STD_ROM_FN(Specantadenl)

struct BurnDriver BurnSpecantadenl = {
	"spec_antadenl", NULL, "spec_spectrum", NULL, "1985",
	"Antagonisten, De (nl) (48K)\0", NULL, "Addison-Wesley Productions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecantadenlRomInfo, SpecantadenlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Antares (48K)

static struct BurnRomInfo SpecantaresRomDesc[] = {
	{ "Antares (1987)(Dro Soft).z80", 0x05cbc, 0x47b48962, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specantares, Specantares, Spectrum)
STD_ROM_FN(Specantares)

struct BurnDriver BurnSpecantares = {
	"spec_antares", NULL, "spec_spectrum", NULL, "1987",
	"Antares (48K)\0", NULL, "Dro Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecantaresRomInfo, SpecantaresRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Anthea Turner's National Lottery Simulator (48K)

static struct BurnRomInfo SpecantunaloRomDesc[] = {
	{ "Anthea Turner's National Lottery Simulator (1996)(CSSCGC).z80", 0x02cb2, 0x3c283362, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specantunalo, Specantunalo, Spectrum)
STD_ROM_FN(Specantunalo)

struct BurnDriver BurnSpecantunalo = {
	"spec_antunalo", NULL, "spec_spectrum", NULL, "1996",
	"Anthea Turner's National Lottery Simulator (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecantunaloRomInfo, SpecantunaloRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Antteroo the Mutant (48K)

static struct BurnRomInfo SpecanttmutaRomDesc[] = {
	{ "Antteroo the Mutant (1985)(Central Solutions).z80", 0x050d7, 0xdb7273c9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specanttmuta, Specanttmuta, Spectrum)
STD_ROM_FN(Specanttmuta)

struct BurnDriver BurnSpecanttmuta = {
	"spec_anttmuta", NULL, "spec_spectrum", NULL, "1985",
	"Antteroo the Mutant (48K)\0", NULL, "Central Solutions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecanttmutaRomInfo, SpecanttmutaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Anttilis Mission II, The - Deep Probe (48K)

static struct BurnRomInfo SpecamiitdpRomDesc[] = {
	{ "Anttilis Mission II, The - Deep Probe (1992)(Compass Software).z80", 0x09eb7, 0x55601fa7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specamiitdp, Specamiitdp, Spectrum)
STD_ROM_FN(Specamiitdp)

struct BurnDriver BurnSpecamiitdp = {
	"spec_amiitdp", NULL, "spec_spectrum", NULL, "1992",
	"Anttilis Mission II, The - Deep Probe (48K)\0", NULL, "Compass Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecamiitdpRomInfo, SpecamiitdpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Anttilis Mission, The (48K)

static struct BurnRomInfo SpecantmisthRomDesc[] = {
	{ "Anttilis Mission, The (1992)(Compass Software).z80", 0x0993e, 0xb7f1a57b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specantmisth, Specantmisth, Spectrum)
STD_ROM_FN(Specantmisth)

struct BurnDriver BurnSpecantmisth = {
	"spec_antmisth", NULL, "spec_spectrum", NULL, "1992",
	"Anttilis Mission, The (48K)\0", NULL, "Compass Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecantmisthRomInfo, SpecantmisthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Apache (Spanish) (48K)

static struct BurnRomInfo SpecapacheesRomDesc[] = {
	{ "Apache (1990)(Juan Antonio Paz Salgado)(es).z80", 0x08848, 0xb77d9c38, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specapachees, Specapachees, Spectrum)
STD_ROM_FN(Specapachees)

struct BurnDriver BurnSpecapachees = {
	"spec_apachees", NULL, "spec_spectrum", NULL, "1990",
	"Apache (Spanish) (48K)\0", NULL, "Juan Antonio Paz Salgado", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecapacheesRomInfo, SpecapacheesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Apache Raid!! (48K)

static struct BurnRomInfo SpecapacraidRomDesc[] = {
	{ "Apache Raid!! (1987)(Pirate Software).z80", 0x06ffc, 0x25706e5c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specapacraid, Specapacraid, Spectrum)
STD_ROM_FN(Specapacraid)

struct BurnDriver BurnSpecapacraid = {
	"spec_apacraid", NULL, "spec_spectrum", NULL, "1987",
	"Apache Raid!! (48K)\0", NULL, "Pirate Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecapacraidRomInfo, SpecapacraidRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// APB - All Points Bulletin (128K)

static struct BurnRomInfo SpecapbRomDesc[] = {
	{ "APB - All Points Bulletin (1989)(Domark)[128K].z80", 0x12d7d, 0x6fb0235f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specapb, Specapb, Spectrum)
STD_ROM_FN(Specapb)

struct BurnDriver BurnSpecapb = {
	"spec_apb", NULL, "spec_spec128", NULL, "1989",
	"APB - All Points Bulletin (128K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecapbRomInfo, SpecapbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Apocalypse - Britain (48K)

static struct BurnRomInfo SpecapocbritRomDesc[] = {
	{ "Apocalypse - Britain (1983)(Red Shift).z80", 0x0a515, 0xfeaf0891, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specapocbrit, Specapocbrit, Spectrum)
STD_ROM_FN(Specapocbrit)

struct BurnDriver BurnSpecapocbrit = {
	"spec_apocbrit", NULL, "spec_spectrum", NULL, "1983",
	"Apocalypse - Britain (48K)\0", NULL, "Red Shift", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecapocbritRomInfo, SpecapocbritRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Apocalypse - Carribean (48K)

static struct BurnRomInfo SpecapoccarrRomDesc[] = {
	{ "Apocalypse - Carribean (1983)(Red Shift).z80", 0x0a537, 0x24dfbb72, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specapoccarr, Specapoccarr, Spectrum)
STD_ROM_FN(Specapoccarr)

struct BurnDriver BurnSpecapoccarr = {
	"spec_apoccarr", NULL, "spec_spectrum", NULL, "1983",
	"Apocalypse - Carribean (48K)\0", NULL, "Red Shift", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecapoccarrRomInfo, SpecapoccarrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Apocalypse - Europe (48K)

static struct BurnRomInfo SpecapoceuroRomDesc[] = {
	{ "Apocalypse - Europe (1983)(Red Shift).z80", 0x0a7e9, 0x98cc44eb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specapoceuro, Specapoceuro, Spectrum)
STD_ROM_FN(Specapoceuro)

struct BurnDriver BurnSpecapoceuro = {
	"spec_apoceuro", NULL, "spec_spectrum", NULL, "1983",
	"Apocalypse - Europe (48K)\0", NULL, "Red Shift", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecapoceuroRomInfo, SpecapoceuroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Apocalypse - London (48K)

static struct BurnRomInfo SpecapoclondRomDesc[] = {
	{ "Apocalypse - London (1983)(Red Shift).z80", 0x0a597, 0x28b3c2a9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specapoclond, Specapoclond, Spectrum)
STD_ROM_FN(Specapoclond)

struct BurnDriver BurnSpecapoclond = {
	"spec_apoclond", NULL, "spec_spectrum", NULL, "1983",
	"Apocalypse - London (48K)\0", NULL, "Red Shift", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecapoclondRomInfo, SpecapoclondRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Apollo 11 (48K)

static struct BurnRomInfo Specapollo11RomDesc[] = {
	{ "Apollo 11 (1983)(Darkstar).z80", 0x07906, 0x06c92ef4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specapollo11, Specapollo11, Spectrum)
STD_ROM_FN(Specapollo11)

struct BurnDriver BurnSpecapollo11 = {
	"spec_apollo11", NULL, "spec_spectrum", NULL, "1983",
	"Apollo 11 (48K)\0", NULL, "Darkstar", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specapollo11RomInfo, Specapollo11RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Apple Catcher (48K)

static struct BurnRomInfo SpecapplcatcRomDesc[] = {
	{ "Apple Catcher (2002)(Naffsoft).z80", 0x018bd, 0xb523f315, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specapplcatc, Specapplcatc, Spectrum)
STD_ROM_FN(Specapplcatc)

struct BurnDriver BurnSpecapplcatc = {
	"spec_applcatc", NULL, "spec_spectrum", NULL, "2002",
	"Apple Catcher (48K)\0", NULL, "Naffsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecapplcatcRomInfo, SpecapplcatcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Appleton, The (48K)

static struct BurnRomInfo SpecappltheRomDesc[] = {
	{ "Appleton, The (1995)(Walter Pooley).z80", 0x087e0, 0xb3aa4ded, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specapplthe, Specapplthe, Spectrum)
STD_ROM_FN(Specapplthe)

struct BurnDriver BurnSpecapplthe = {
	"spec_applthe", NULL, "spec_spectrum", NULL, "1995",
	"Appleton, The (48K)\0", NULL, "Walter Pooley", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecappltheRomInfo, SpecappltheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Apprentice, The (128K)

static struct BurnRomInfo SpecapprtheRomDesc[] = {
	{ "Apprentice, The (1993)(Zenobi Software)[128K].z80", 0x0f291, 0xfe980b22, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specapprthe, Specapprthe, Spectrum)
STD_ROM_FN(Specapprthe)

struct BurnDriver BurnSpecapprthe = {
	"spec_apprthe", NULL, "spec_spec128", NULL, "1993",
	"Apprentice, The (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecapprtheRomInfo, SpecapprtheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// April 7th (48K)

static struct BurnRomInfo Specapril7thRomDesc[] = {
	{ "April 7th (1992)(Zenobi Software).z80", 0x0aac1, 0xa2bcc3d5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specapril7th, Specapril7th, Spectrum)
STD_ROM_FN(Specapril7th)

struct BurnDriver BurnSpecapril7th = {
	"spec_april7th", NULL, "spec_spectrum", NULL, "1992",
	"April 7th (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specapril7thRomInfo, Specapril7thRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aquaplane (48K)

static struct BurnRomInfo SpecaquaplanRomDesc[] = {
	{ "Aquaplane (1983)(Quicksilva).z80", 0x02996, 0x1064f32a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaquaplan, Specaquaplan, Spectrum)
STD_ROM_FN(Specaquaplan)

struct BurnDriver BurnSpecaquaplan = {
	"spec_aquaplan", NULL, "spec_spectrum", NULL, "1983",
	"Aquaplane (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaquaplanRomInfo, SpecaquaplanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aquarius (48K)

static struct BurnRomInfo SpecaquariusRomDesc[] = {
	{ "Aquarius (1983)(Bug-Byte Software).z80", 0x022d4, 0xd1fac924, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaquarius, Specaquarius, Spectrum)
STD_ROM_FN(Specaquarius)

struct BurnDriver BurnSpecaquarius = {
	"spec_aquarius", NULL, "spec_spectrum", NULL, "1983",
	"Aquarius (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaquariusRomInfo, SpecaquariusRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aquasquad (48K)

static struct BurnRomInfo SpecaquasquaRomDesc[] = {
	{ "Aquasquad (1988)(Atlantis Software).z80", 0x0a63b, 0x0556f6c2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaquasqua, Specaquasqua, Spectrum)
STD_ROM_FN(Specaquasqua)

struct BurnDriver BurnSpecaquasqua = {
	"spec_aquasqua", NULL, "spec_spectrum", NULL, "1988",
	"Aquasquad (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaquasquaRomInfo, SpecaquasquaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arana, La (Spanish) (48K)

static struct BurnRomInfo SpecaranlaesRomDesc[] = {
	{ "Arana, La (1990)(Year Zero Software)(es).z80", 0x099c8, 0xfb9036db, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaranlaes, Specaranlaes, Spectrum)
STD_ROM_FN(Specaranlaes)

struct BurnDriver BurnSpecaranlaes = {
	"spec_aranlaes", NULL, "spec_spectrum", NULL, "1990",
	"Arana, La (Spanish) (48K)\0", NULL, "Year Zero Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaranlaesRomInfo, SpecaranlaesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arbatax (German) (48K)

static struct BurnRomInfo SpecarbataxdRomDesc[] = {
	{ "Arbatax (19xx)(-)(de).z80", 0x05703, 0x7ce20d77, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarbataxd, Specarbataxd, Spectrum)
STD_ROM_FN(Specarbataxd)

struct BurnDriver BurnSpecarbataxd = {
	"spec_arbataxd", NULL, "spec_spectrum", NULL, "19xx",
	"Arbatax (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarbataxdRomInfo, SpecarbataxdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arc of Yesod, The (48K)

static struct BurnRomInfo Specarcyesth_48RomDesc[] = {
	{ "Arc of Yesod, The (1985)(Thor Computer Software).z80", 0x09934, 0xbd9b9ea4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarcyesth_48, Specarcyesth_48, Spectrum)
STD_ROM_FN(Specarcyesth_48)

struct BurnDriver BurnSpecarcyesth_48 = {
	"spec_arcyesth_48", "spec_arcyesth", "spec_spectrum", NULL, "1985",
	"Arc of Yesod, The (48K)\0", NULL, "Thor Computer Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specarcyesth_48RomInfo, Specarcyesth_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arc of Yesod, The (128K)

static struct BurnRomInfo SpecarcyesthRomDesc[] = {
	{ "Arc of Yesod, The (1985)(Thor Computer Software)[128K].z80", 0x10238, 0x99bcff1a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarcyesth, Specarcyesth, Spectrum)
STD_ROM_FN(Specarcyesth)

struct BurnDriver BurnSpecarcyesth = {
	"spec_arcyesth", NULL, "spec_spec128", NULL, "1985",
	"Arc of Yesod, The (128K)\0", NULL, "Thor Computer Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarcyesthRomInfo, SpecarcyesthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arcade Flight Simulator (48K)

static struct BurnRomInfo Specarcflisi_48RomDesc[] = {
	{ "Arcade Flight Simulator (1989)(Codemasters).z80", 0x0a514, 0x3a4b5bf6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarcflisi_48, Specarcflisi_48, Spectrum)
STD_ROM_FN(Specarcflisi_48)

struct BurnDriver BurnSpecarcflisi_48 = {
	"spec_arcflisi_48", "spec_arcflisi", "spec_spectrum", NULL, "1989",
	"Arcade Flight Simulator (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specarcflisi_48RomInfo, Specarcflisi_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arcade Flight Simulator (128K)

static struct BurnRomInfo SpecarcflisiRomDesc[] = {
	{ "Arcade Flight Simulator (1989)(Codemasters)[128K].z80", 0x0ab3b, 0x858f4515, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarcflisi, Specarcflisi, Spectrum)
STD_ROM_FN(Specarcflisi)

struct BurnDriver BurnSpecarcflisi = {
	"spec_arcflisi", NULL, "spec_spec128", NULL, "1989",
	"Arcade Flight Simulator (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarcflisiRomInfo, SpecarcflisiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arcade Trivia Quiz (Part 1 of 4) (48K)

static struct BurnRomInfo SpecatqRomDesc[] = {
	{ "Arcade Trivia Quiz (1989)(Zeppelin Games)(Part 1 of 4).z80", 0x0a000, 0xf6f38ef9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specatq, Specatq, Spectrum)
STD_ROM_FN(Specatq)

struct BurnDriver BurnSpecatq = {
	"spec_atq", NULL, "spec_spectrum", NULL, "1989",
	"Arcade Trivia Quiz (Part 1 of 4) (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecatqRomInfo, SpecatqRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arcade Trivia Quiz (Part 2 of 4) (48K)

static struct BurnRomInfo Specatq2RomDesc[] = {
	{ "Arcade Trivia Quiz (1989)(Zeppelin Games)(Part 2 of 4).z80", 0x0a08b, 0xa87c9c96, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specatq2, Specatq2, Spectrum)
STD_ROM_FN(Specatq2)

struct BurnDriver BurnSpecatq2 = {
	"spec_atq2", "spec_atq", "spec_spectrum", NULL, "1989",
	"Arcade Trivia Quiz (Part 2 of 4) (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specatq2RomInfo, Specatq2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arcade Trivia Quiz (Part 3 of 4) (48K)

static struct BurnRomInfo Specatq3RomDesc[] = {
	{ "Arcade Trivia Quiz (1989)(Zeppelin Games)(Part 3 of 4).z80", 0x0a033, 0x65bb51d6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specatq3, Specatq3, Spectrum)
STD_ROM_FN(Specatq3)

struct BurnDriver BurnSpecatq3 = {
	"spec_atq3", "spec_atq", "spec_spectrum", NULL, "1989",
	"Arcade Trivia Quiz (Part 3 of 4) (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specatq3RomInfo, Specatq3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arcade Trivia Quiz (Part 4 of 4) (48K)

static struct BurnRomInfo Specatq4RomDesc[] = {
	{ "Arcade Trivia Quiz (1989)(Zeppelin Games)(Part 4 of 4).z80", 0x0a033, 0xf6a49d75, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specatq4, Specatq4, Spectrum)
STD_ROM_FN(Specatq4)

struct BurnDriver BurnSpecatq4 = {
	"spec_atq4", "spec_artrqupa", "spec_spectrum", NULL, "1989",
	"Arcade Trivia Quiz (Part 4 of 4) (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specatq4RomInfo, Specatq4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arcadia (48K)

static struct BurnRomInfo SpecarcadiaRomDesc[] = {
	{ "Arcadia (1982)(Imagine Software).z80", 0x0c01e, 0x7de7b3ff, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarcadia, Specarcadia, Spectrum)
STD_ROM_FN(Specarcadia)

struct BurnDriver BurnSpecarcadia = {
	"spec_arcadia", NULL, "spec_spectrum", NULL, "1982",
	"Arcadia (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarcadiaRomInfo, SpecarcadiaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Archeo (cs) (48K)

static struct BurnRomInfo SpecarcheocsRomDesc[] = {
	{ "Archeo (19xx)(Proxima Software)(cs).z80", 0x0a4af, 0x19ecfd7b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarcheocs, Specarcheocs, Spectrum)
STD_ROM_FN(Specarcheocs)

struct BurnDriver BurnSpecarcheocs = {
	"spec_archeocs", NULL, "spec_spectrum", NULL, "19xx",
	"Archeo (cs) (48K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarcheocsRomInfo, SpecarcheocsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Archers, The (Part 1 of 4) (48K)

static struct BurnRomInfo SpecarchersRomDesc[] = {
	{ "Archers, The (1987)(Mosaic Publishing)(Part 1 of 4).z80", 0x0b433, 0xfbf2a8ac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarchers, Specarchers, Spectrum)
STD_ROM_FN(Specarchers)

struct BurnDriver BurnSpecarchers = {
	"spec_archers", NULL, "spec_spectrum", NULL, "1987",
	"Archers, The (Part 1 of 4) (48K)\0", NULL, "Mosaic Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarchersRomInfo, SpecarchersRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Archers, The (Part 2 of 4) (48K)

static struct BurnRomInfo Specarchers2RomDesc[] = {
	{ "Archers, The (1987)(Mosaic Publishing)(Part 2 of 4).z80", 0x0b08e, 0x592f1d8e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarchers2, Specarchers2, Spectrum)
STD_ROM_FN(Specarchers2)

struct BurnDriver BurnSpecarchers2 = {
	"spec_archers2", "spec_archers", "spec_spectrum", NULL, "1987",
	"Archers, The (Part 2 of 4) (48K)\0", NULL, "Mosaic Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specarchers2RomInfo, Specarchers2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Archers, The (Part 3 of 4) (48K)

static struct BurnRomInfo Specarchers3RomDesc[] = {
	{ "Archers, The (1987)(Mosaic Publishing)(Part 3 of 4).z80", 0x0b2f5, 0x027a6a8f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarchers3, Specarchers3, Spectrum)
STD_ROM_FN(Specarchers3)

struct BurnDriver BurnSpecarchers3 = {
	"spec_archers3", "spec_archers", "spec_spectrum", NULL, "1987",
	"Archers, The (Part 3 of 4) (48K)\0", NULL, "Mosaic Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specarchers3RomInfo, Specarchers3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Archon (The Ramjam Corporation) (48K)

static struct BurnRomInfo SpecarchonrcRomDesc[] = {
	{ "Archon (1983)(The Ramjam Corporation).z80", 0x0aa3d, 0x142f5985, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarchonrc, Specarchonrc, Spectrum)
STD_ROM_FN(Specarchonrc)

struct BurnDriver BurnSpecarchonrc = {
	"spec_archonrc", NULL, "spec_spectrum", NULL, "1983",
	"Archon (The Ramjam Corporation) (48K)\0", NULL, "The Ramjam Corporation", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarchonrcRomInfo, SpecarchonrcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Archon (Ariolasoft UK) (48K)

static struct BurnRomInfo SpecarchonauRomDesc[] = {
	{ "Archon (1985)(Ariolasoft UK).z80", 0x086e3, 0x96594a53, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarchonau, Specarchonau, Spectrum)
STD_ROM_FN(Specarchonau)

struct BurnDriver BurnSpecarchonau = {
	"spec_archonau", NULL, "spec_spectrum", NULL, "1985",
	"Archon (Ariolasoft UK) (48K)\0", NULL, "Ariolasoft UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarchonauRomInfo, SpecarchonauRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Archon II - Adept (48K)

static struct BurnRomInfo SpecariiadepRomDesc[] = {
	{ "Archon II - Adept (1989)(Electronic Arts).z80", 0x07cf9, 0x26b07518, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specariiadep, Specariiadep, Spectrum)
STD_ROM_FN(Specariiadep)

struct BurnDriver BurnSpecariiadep = {
	"spec_ariiadep", NULL, "spec_spectrum", NULL, "1989",
	"Archon II - Adept (48K)\0", NULL, "Electronic Arts", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecariiadepRomInfo, SpecariiadepRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arctic Fox (48K)

static struct BurnRomInfo Specarctfox_48RomDesc[] = {
	{ "Arctic Fox (1988)(Electronic Arts).z80", 0x089b1, 0xa2ff6e93, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarctfox_48, Specarctfox_48, Spectrum)
STD_ROM_FN(Specarctfox_48)

struct BurnDriver BurnSpecarctfox_48 = {
	"spec_arctfox_48", "spec_arctfox", "spec_spectrum", NULL, "1988",
	"Arctic Fox (48K)\0", NULL, "Electronic Arts", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specarctfox_48RomInfo, Specarctfox_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arctic Fox (128K)

static struct BurnRomInfo SpecarctfoxRomDesc[] = {
	{ "Arctic Fox (1988)(Electronic Arts)[128K].z80", 0x10025, 0xc5768f14, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarctfox, Specarctfox, Spectrum)
STD_ROM_FN(Specarctfox)

struct BurnDriver BurnSpecarctfox = {
	"spec_arctfox", NULL, "spec_spec128", NULL, "1988",
	"Arctic Fox (128K)\0", NULL, "Electronic Arts", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarctfoxRomInfo, SpecarctfoxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arcturus (48K)

static struct BurnRomInfo SpecarcturusRomDesc[] = {
	{ "Arcturus (1984)(Visions Software Factory).z80", 0x0aaee, 0xb794f4a9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarcturus, Specarcturus, Spectrum)
STD_ROM_FN(Specarcturus)

struct BurnDriver BurnSpecarcturus = {
	"spec_arcturus", NULL, "spec_spectrum", NULL, "1984",
	"Arcturus (48K)\0", NULL, "Visions Software Factory", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarcturusRomInfo, SpecarcturusRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arena (48K)

static struct BurnRomInfo SpecarenaRomDesc[] = {
	{ "Arena (1985)(MC Lothlorien).z80", 0x08195, 0x4246b1f4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarena, Specarena, Spectrum)
STD_ROM_FN(Specarena)

struct BurnDriver BurnSpecarena = {
	"spec_arena", NULL, "spec_spectrum", NULL, "1985",
	"Arena (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarenaRomInfo, SpecarenaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arena 3000 (48K)

static struct BurnRomInfo Specarena300RomDesc[] = {
	{ "Arena 3000 (1984)(Microdeal).z80", 0x0563d, 0xc7eaafbe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarena300, Specarena300, Spectrum)
STD_ROM_FN(Specarena300)

struct BurnDriver BurnSpecarena300 = {
	"spec_arena300", NULL, "spec_spectrum", NULL, "1984",
	"Arena 3000 (48K)\0", NULL, "Microdeal", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specarena300RomInfo, Specarena300RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ares (Spanish) (48K)

static struct BurnRomInfo SpecaresesRomDesc[] = {
	{ "Ares (1990)(Mixt Software)(es).z80", 0x084d2, 0x8d4f448e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specareses, Specareses, Spectrum)
STD_ROM_FN(Specareses)

struct BurnDriver BurnSpecareses = {
	"spec_areses", NULL, "spec_spectrum", NULL, "1990",
	"Ares (Spanish) (48K)\0", NULL, "Mixt Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaresesRomInfo, SpecaresesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ark, The (48K)

static struct BurnRomInfo SpecarktheRomDesc[] = {
	{ "Ark, The (1984)(Reelax Games)[aka Noah].z80", 0x09485, 0x47b516cc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarkthe, Specarkthe, Spectrum)
STD_ROM_FN(Specarkthe)

struct BurnDriver BurnSpecarkthe = {
	"spec_arkthe", NULL, "spec_spectrum", NULL, "1984",
	"Ark, The (48K)\0", NULL, "Reelax Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarktheRomInfo, SpecarktheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arkanods (48K)

static struct BurnRomInfo SpecarkanodsRomDesc[] = {
	{ "Arkanods (19xx)(-).z80", 0x05a58, 0x967f2e32, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarkanods, Specarkanods, Spectrum)
STD_ROM_FN(Specarkanods)

struct BurnDriver BurnSpecarkanods = {
	"spec_arkanods", NULL, "spec_spectrum", NULL, "19xx",
	"Arkanods (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarkanodsRomInfo, SpecarkanodsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arkanoid (48K)

static struct BurnRomInfo SpecarkanoidRomDesc[] = {
	{ "Arkanoid (1987)(Imagine Software).z80", 0x08ad3, 0x6fa4f00f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarkanoid, Specarkanoid, Spectrum)
STD_ROM_FN(Specarkanoid)

struct BurnDriver BurnSpecarkanoid = {
	"spec_arkanoid", NULL, "spec_spectrum", NULL, "1987",
	"Arkanoid (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarkanoidRomInfo, SpecarkanoidRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arkanoid II - Revenge of Doh (48K)

static struct BurnRomInfo Specarkanoid2_48RomDesc[] = {
	{ "Arkanoid II - Revenge of Doh (1988)(Imagine Software).z80", 0x0c01e, 0xaa06fc9e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarkanoid2_48, Specarkanoid2_48, Spectrum)
STD_ROM_FN(Specarkanoid2_48)

struct BurnDriver BurnSpecarkanoid2_48 = {
	"spec_arkanoid2_48", "spec_arkanoid2", "spec_spectrum", NULL, "1988",
	"Arkanoid II - Revenge of Doh (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specarkanoid2_48RomInfo, Specarkanoid2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arkanoid II - Revenge of Doh (128K)

static struct BurnRomInfo Specarkanoid2RomDesc[] = {
	{ "Arkanoid II - Revenge of Doh (1988)(Imagine Software)[128K].z80", 0x0cd16, 0x0fa0ffb5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarkanoid2, Specarkanoid2, Spectrum)
STD_ROM_FN(Specarkanoid2)

struct BurnDriver BurnSpecarkanoid2 = {
	"spec_arkanoid2", NULL, "spec_spec128", NULL, "1988",
	"Arkanoid II - Revenge of Doh (128K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specarkanoid2RomInfo, Specarkanoid2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arkarum (sk) (48K)

static struct BurnRomInfo Specarkarum_48RomDesc[] = {
	{ "Arkarum (1990)(Ultrasoft)(sk).z80", 0x066b5, 0x196e9f1c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarkarum_48, Specarkarum_48, Spectrum)
STD_ROM_FN(Specarkarum_48)

struct BurnDriver BurnSpecarkarum_48 = {
	"spec_arkarum_48", "spec_arkarum", "spec_spectrum", NULL, "1990",
	"Arkarum (sk) (48K)\0", NULL, "Ultrasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specarkarum_48RomInfo, Specarkarum_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arkarum (sk) (128K)

static struct BurnRomInfo SpecarkarumRomDesc[] = {
	{ "Arkarum (1990)(Ultrasoft)(sk)[128K].z80", 0x05e33, 0x0b588fe4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarkarum, Specarkarum, Spectrum)
STD_ROM_FN(Specarkarum)

struct BurnDriver BurnSpecarkarum = {
	"spec_arkarum", NULL, "spec_spec128", NULL, "1990",
	"Arkarum (sk) (128K)\0", NULL, "Ultrasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarkarumRomInfo, SpecarkarumRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arkos (Spanish) (Part 1 of 3) (48K)

static struct BurnRomInfo SpecarkosesRomDesc[] = {
	{ "Arkos (1988)(Zigurat Software)(es)(Part 1 of 3).z80", 0x08fa0, 0xe0bd1ed3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarkoses, Specarkoses, Spectrum)
STD_ROM_FN(Specarkoses)

struct BurnDriver BurnSpecarkoses = {
	"spec_arkoses", NULL, "spec_spectrum", NULL, "1988",
	"Arkos (Spanish) (Part 1 of 3) (48K)\0", NULL, "Zigurat Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarkosesRomInfo, SpecarkosesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arkos (Spanish) (Part 2 of 3) (48K)

static struct BurnRomInfo Specarkoses2RomDesc[] = {
	{ "Arkos (1988)(Zigurat Software)(es)(Part 2 of 3).z80", 0x0907a, 0xb0a1f64c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarkoses2, Specarkoses2, Spectrum)
STD_ROM_FN(Specarkoses2)

struct BurnDriver BurnSpecarkoses2 = {
	"spec_arkoses2", "spec_arkoses", "spec_spectrum", NULL, "1988",
	"Arkos (Spanish) (Part 2 of 3) (48K)\0", NULL, "Zigurat Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specarkoses2RomInfo, Specarkoses2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arkos (Spanish) (Part 3 of 3) (48K)

static struct BurnRomInfo Specarkoses3RomDesc[] = {
	{ "Arkos (1988)(Zigurat Software)(es)(Part 3 of 3).z80", 0x08e05, 0x08d6bf97, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarkoses3, Specarkoses3, Spectrum)
STD_ROM_FN(Specarkoses3)

struct BurnDriver BurnSpecarkoses3 = {
	"spec_arkoses3", "spec_arkoses", "spec_spectrum", NULL, "1988",
	"Arkos (Spanish) (Part 3 of 3) (48K)\0", NULL, "Zigurat Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specarkoses3RomInfo, Specarkoses3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Armadura Sagrada de Antiriad, La (Spanish) (128K)

static struct BurnRomInfo SpecarsaanlaRomDesc[] = {
	{ "Armadura Sagrada de Antiriad, La (1986)(Erbe Software)(es)[128K][aka Sacred Armour of Antiriad, The].z80", 0x09c65, 0x71ddace9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarsaanla, Specarsaanla, Spectrum)
STD_ROM_FN(Specarsaanla)

struct BurnDriver BurnSpecarsaanla = {
	"spec_arsaanla", NULL, "spec_spec128", NULL, "1986",
	"Armadura Sagrada de Antiriad, La (Spanish) (128K)\0", NULL, "Erbe Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarsaanlaRomInfo, SpecarsaanlaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Armageddon (Ocean Software) (48K)

static struct BurnRomInfo SpecarmageddoRomDesc[] = {
	{ "Armageddon (1983)(Ocean).z80", 0x0c01e, 0x941cbef5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarmageddo, Specarmageddo, Spectrum)
STD_ROM_FN(Specarmageddo)

struct BurnDriver BurnSpecarmageddo = {
	"spec_armageddo", NULL, "spec_spectrum", NULL, "1983",
	"Armageddon (Ocean Software) (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarmageddoRomInfo, SpecarmageddoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Armageddon (SVC Software) (48K)

static struct BurnRomInfo SpecarmageddsRomDesc[] = {
	{ "Armageddon (1993)(SVC Software).z80", 0x06959, 0x7fa80d4d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarmagedds, Specarmagedds, Spectrum)
STD_ROM_FN(Specarmagedds)

struct BurnDriver BurnSpecarmagedds = {
	"spec_armagedds", NULL, "spec_spectrum", NULL, "1993",
	"Armageddon (SVC Software) (48K)\0", NULL, "SVC Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarmageddsRomInfo, SpecarmageddsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Armageddon Man, The (48K)

static struct BurnRomInfo Specarmman_48RomDesc[] = {
	{ "Armageddon Man, The (1987)(Martech Games).z80", 0x08dff, 0x12282d8b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarmman_48, Specarmman_48, Spectrum)
STD_ROM_FN(Specarmman_48)

struct BurnDriver BurnSpecarmman_48 = {
	"spec_armman_48", "spec_armman", "spec_spectrum", NULL, "1987",
	"Armageddon Man, The (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specarmman_48RomInfo, Specarmman_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Armageddon Man, The (128K)

static struct BurnRomInfo SpecarmmanRomDesc[] = {
	{ "Armageddon Man, The (1987)(Martech Games)[128K].z80", 0x093c2, 0x7ef3c1e4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarmman, Specarmman, Spectrum)
STD_ROM_FN(Specarmman)

struct BurnDriver BurnSpecarmman = {
	"spec_armman", NULL, "spec_spec128", NULL, "1987",
	"Armageddon Man, The (128K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarmmanRomInfo, SpecarmmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Army Moves (Spanish) (48K)

static struct BurnRomInfo Specarmymves_48RomDesc[] = {
	{ "Army Moves (1986)(Dinamic Software)(es)(Part 2 of 2).z80", 0x0c01e, 0x2f2829f5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarmymves_48, Specarmymves_48, Spectrum)
STD_ROM_FN(Specarmymves_48)

struct BurnDriver BurnSpecarmymves_48 = {
	"spec_armymves_48", "spec_armymvs", "spec_spectrum", NULL, "1986",
	"Army Moves (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specarmymves_48RomInfo, Specarmymves_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Army Moves (Imagine Software) (Part 1 of 2) (48K)

static struct BurnRomInfo Specarmymvs_48RomDesc[] = {
	{ "Army Moves (1986)(Imagine Software)(Part 1 of 2)[re-release].z80", 0x08add, 0x6391a597, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarmymvs_48, Specarmymvs_48, Spectrum)
STD_ROM_FN(Specarmymvs_48)

struct BurnDriver BurnSpecarmymvs_48 = {
	"spec_armymvs_48", "spec_armymvs", "spec_spectrum", NULL, "1986",
	"Army Moves (Imagine Software) (Part 1 of 2) (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specarmymvs_48RomInfo, Specarmymvs_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Army Moves (Imagine Software) (Part 2 of 2) (48K)

static struct BurnRomInfo Specarmymvs2_48RomDesc[] = {
	{ "Army Moves (1986)(Imagine Software)(Part 2 of 2)[re-release].z80", 0x08439, 0x319f5e38, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarmymvs2_48, Specarmymvs2_48, Spectrum)
STD_ROM_FN(Specarmymvs2_48)

struct BurnDriver BurnSpecarmymvs2_48 = {
	"spec_armymvs2_48", "spec_armymvs", "spec_spectrum", NULL, "1986",
	"Army Moves (Imagine Software) (Part 2 of 2) (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specarmymvs2_48RomInfo, Specarmymvs2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Army Moves (128K)

static struct BurnRomInfo SpecarmymvsRomDesc[] = {
	{ "Army Moves (1986)(Imagine Software)[128K][re-release].z80", 0x11e70, 0x711e7166, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarmymvs, Specarmymvs, Spectrum)
STD_ROM_FN(Specarmymvs)

struct BurnDriver BurnSpecarmymvs = {
	"spec_armymvs", NULL, "spec_spec128", NULL, "1986",
	"Army Moves (128K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarmymvsRomInfo, SpecarmymvsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Army Moves (Summit Software) (Part 1 of 2) (48K)

static struct BurnRomInfo Specarmymvss_48RomDesc[] = {
	{ "Army Moves (1986)(Summit Software)(Part 1 of 2)[cr][re-release].z80", 0x0c01e, 0x0c5d446b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarmymvss_48, Specarmymvss_48, Spectrum)
STD_ROM_FN(Specarmymvss_48)

struct BurnDriver BurnSpecarmymvss_48 = {
	"spec_armymvss_48", "spec_armymvs", "spec_spectrum", NULL, "1986",
	"Army Moves (Summit Software) (Part 1 of 2) (48K)\0", NULL, "Summit Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specarmymvss_48RomInfo, Specarmymvss_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Army Moves (Summit Software) (Part 2 of 2) (48K)

static struct BurnRomInfo Specarmymvss2_48RomDesc[] = {
	{ "Army Moves (1986)(Summit Software)(Part 2 of 2)[re-release].z80", 0x08e0d, 0x68fee33d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarmymvss2_48, Specarmymvss2_48, Spectrum)
STD_ROM_FN(Specarmymvss2_48)

struct BurnDriver BurnSpecarmymvss2_48 = {
	"spec_armymvss2_48", "spec_armymvs", "spec_spectrum", NULL, "1986",
	"Army Moves (Summit Software) (Part 2 of 2) (48K)\0", NULL, "Summit Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specarmymvss2_48RomInfo, Specarmymvss2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arnal & Drak (cs) (48K)

static struct BurnRomInfo SpecarnadrakRomDesc[] = {
	{ "Arnal & Drak (1991)(Torasoft)(cs).z80", 0x0637c, 0x0d425f37, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarnadrak, Specarnadrak, Spectrum)
STD_ROM_FN(Specarnadrak)

struct BurnDriver BurnSpecarnadrak = {
	"spec_arnadrak", NULL, "spec_spectrum", NULL, "1991",
	"Arnal & Drak (cs) (48K)\0", NULL, "Torasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarnadrakRomInfo, SpecarnadrakRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arnhem (48K)

static struct BurnRomInfo SpecarnhemRomDesc[] = {
	{ "Arnhem (1985)(CCS).z80", 0x0824e, 0xe786e728, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarnhem, Specarnhem, Spectrum)
STD_ROM_FN(Specarnhem)

struct BurnDriver BurnSpecarnhem = {
	"spec_arnhem", NULL, "spec_spectrum", NULL, "1985",
	"Arnhem (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarnhemRomInfo, SpecarnhemRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arnold the Adventurer (48K)

static struct BurnRomInfo SpecarnoldaRomDesc[] = {
	{ "Arnold the Adventurer (1990)(Zenobi Software).z80", 0x0801e, 0x9a5ce4cd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarnolda, Specarnolda, Spectrum)
STD_ROM_FN(Specarnolda)

struct BurnDriver BurnSpecarnolda = {
	"spec_arnolda", NULL, "spec_spectrum", NULL, "1990",
	"Arnold the Adventurer (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarnoldaRomInfo, SpecarnoldaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arnold the Adventurer II (48K)

static struct BurnRomInfo Specarnolda2RomDesc[] = {
	{ "Arnold the Adventurer II (1992)(Zenobi Software).z80", 0x092b6, 0x83834254, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarnolda2, Specarnolda2, Spectrum)
STD_ROM_FN(Specarnolda2)

struct BurnDriver BurnSpecarnolda2 = {
	"spec_arnolda2", NULL, "spec_spectrum", NULL, "1992",
	"Arnold the Adventurer II (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specarnolda2RomInfo, Specarnolda2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arnold the Adventurer III (48K)

static struct BurnRomInfo Specarnolda3RomDesc[] = {
	{ "Arnold the Adventurer III (1992)(Zenobi Software).z80", 0x092c3, 0xaaf23767, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarnolda3, Specarnolda3, Spectrum)
STD_ROM_FN(Specarnolda3)

struct BurnDriver BurnSpecarnolda3 = {
	"spec_arnolda3", NULL, "spec_spectrum", NULL, "1992",
	"Arnold the Adventurer III (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specarnolda3RomInfo, Specarnolda3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Arquimedes XXI (Spanish) (48K)

static struct BurnRomInfo SpecarxxiesRomDesc[] = {
	{ "Arquimedes XXI (1986)(Dinamic Software)(es).z80", 0x0c01e, 0xea36928a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarxxies, Specarxxies, Spectrum)
STD_ROM_FN(Specarxxies)

struct BurnDriver BurnSpecarxxies = {
	"spec_arxxies", NULL, "spec_spectrum", NULL, "1986",
	"Arquimedes XXI (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarxxiesRomInfo, SpecarxxiesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Artillery (German) (48K)

static struct BurnRomInfo SpecartillerRomDesc[] = {
	{ "Artillery (1984)(B. Lutz)(de).z80", 0x017e9, 0x0ff41e68, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specartiller, Specartiller, Spectrum)
STD_ROM_FN(Specartiller)

struct BurnDriver BurnSpecartiller = {
	"spec_artiller", NULL, "spec_spectrum", NULL, "1984",
	"Artillery (German) (48K)\0", NULL, "B. Lutz", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecartillerRomInfo, SpecartillerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Artura (48K)

static struct BurnRomInfo SpecarturaRomDesc[] = {
	{ "Artura (1989)(Gremlin Graphics Software).z80", 0x08e5e, 0xcd577355, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specartura, Specartura, Spectrum)
STD_ROM_FN(Specartura)

struct BurnDriver BurnSpecartura = {
	"spec_artura", NULL, "spec_spectrum", NULL, "1989",
	"Artura (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarturaRomInfo, SpecarturaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ashes, The (48K)

static struct BurnRomInfo SpecashetheRomDesc[] = {
	{ "Ashes, The (1984)(CCS).z80", 0x09cf5, 0x7be147a9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specashethe, Specashethe, Spectrum)
STD_ROM_FN(Specashethe)

struct BurnDriver BurnSpecashethe = {
	"spec_ashethe", NULL, "spec_spectrum", NULL, "1984",
	"Ashes, The (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecashetheRomInfo, SpecashetheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ashkeron (48K)

static struct BurnRomInfo SpecashkeronRomDesc[] = {
	{ "Ashkeron (1985)(Mirrorsoft).z80", 0x09969, 0x16734060, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specashkeron, Specashkeron, Spectrum)
STD_ROM_FN(Specashkeron)

struct BurnDriver BurnSpecashkeron = {
	"spec_ashkeron", NULL, "spec_spectrum", NULL, "1985",
	"Ashkeron (48K)\0", NULL, "Mirrorsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecashkeronRomInfo, SpecashkeronRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aspar GP Master (Spanish) (48K)

static struct BurnRomInfo SpecasgpmastRomDesc[] = {
	{ "Aspar GP Master (1988)(Dinamic Software)(es).z80", 0x09006, 0x4dc9d9ec, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specasgpmast, Specasgpmast, Spectrum)
STD_ROM_FN(Specasgpmast)

struct BurnDriver BurnSpecasgpmast = {
	"spec_asgpmast", NULL, "spec_spectrum", NULL, "1988",
	"Aspar GP Master (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecasgpmastRomInfo, SpecasgpmastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Assault Course (48K)

static struct BurnRomInfo SpecassacourRomDesc[] = {
	{ "Assault Course (1990)(Players Premier Software).z80", 0x08414, 0xccc1be45, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specassacour, Specassacour, Spectrum)
STD_ROM_FN(Specassacour)

struct BurnDriver BurnSpecassacour = {
	"spec_assacour", NULL, "spec_spectrum", NULL, "1990",
	"Assault Course (48K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecassacourRomInfo, SpecassacourRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Asterix and the Magic Cauldron (48K)

static struct BurnRomInfo SpecastmagcaRomDesc[] = {
	{ "Asterix and the Magic Cauldron (1986)(Melbourne House).z80", 0x0a32c, 0x10d46235, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specastmagca, Specastmagca, Spectrum)
STD_ROM_FN(Specastmagca)

struct BurnDriver BurnSpecastmagca = {
	"spec_astmagca", NULL, "spec_spectrum", NULL, "1986",
	"Asterix and the Magic Cauldron (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecastmagcaRomInfo, SpecastmagcaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Asteroids (48K)

static struct BurnRomInfo SpecasteroidRomDesc[] = {
	{ "Asteroids (1983)(P.S. Newby).z80", 0x020d1, 0xc4aa153b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specasteroid, Specasteroid, Spectrum)
STD_ROM_FN(Specasteroid)

struct BurnDriver BurnSpecasteroid = {
	"spec_asteroid", NULL, "spec_spectrum", NULL, "1983",
	"Asteroids (48K)\0", NULL, "P.S. Newby", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecasteroidRomInfo, SpecasteroidRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Astro Blaster (Spanish) (48K)

static struct BurnRomInfo SpecastrblasRomDesc[] = {
	{ "Astro Blaster (1983)(Investronica)(es)[re-release].z80", 0x0c01e, 0xd2db3344, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specastrblas, Specastrblas, Spectrum)
STD_ROM_FN(Specastrblas)

struct BurnDriver BurnSpecastrblas = {
	"spec_astrblas", NULL, "spec_spectrum", NULL, "1983",
	"Astro Blaster (Spanish) (48K)\0", NULL, "Investronica", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecastrblasRomInfo, SpecastrblasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Astro Marine Corps (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo Specastmarco_48RomDesc[] = {
	{ "Astro Marine Corps (1989)(Dinamic Software)(es)(Part 1 of 2).z80", 0x0851f, 0x0f507e26, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specastmarco_48, Specastmarco_48, Spectrum)
STD_ROM_FN(Specastmarco_48)

struct BurnDriver BurnSpecastmarco_48 = {
	"spec_astmarco_48", "spec_astmarco", "spec_spectrum", NULL, "1989",
	"Astro Marine Corps (Spanish) (Part 1 of 2) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specastmarco_48RomInfo, Specastmarco_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Astro Marine Corps (Spanish) (Part 1 of 2) (128K)

static struct BurnRomInfo SpecastmarcsRomDesc[] = {
	{ "Astro Marine Corps (1989)(Dinamic Software)(es)(Part 1 of 2)[128K].z80", 0x0c130, 0x725a74ca, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specastmarcs, Specastmarcs, Spectrum)
STD_ROM_FN(Specastmarcs)

struct BurnDriver BurnSpecastmarcs = {
	"spec_astmarcs", "spec_astmarco", "spec_spec128", NULL, "1989",
	"Astro Marine Corps (Spanish) (Part 1 of 2) (128K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecastmarcsRomInfo, SpecastmarcsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Astro Marine Corps (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specastmarco2_48RomDesc[] = {
	{ "Astro Marine Corps (1989)(Dinamic Software)(es)(Part 2 of 2).z80", 0x0c01e, 0xeacc1b5d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specastmarco2_48, Specastmarco2_48, Spectrum)
STD_ROM_FN(Specastmarco2_48)

struct BurnDriver BurnSpecastmarco2_48 = {
	"spec_astmarco2_48", "spec_astmarco", "spec_spectrum", NULL, "1989",
	"Astro Marine Corps (Spanish) (Part 2 of 2) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specastmarco2_48RomInfo, Specastmarco2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Astro Marine Corps (Spanish) (Part 2 of 2) (128K)

static struct BurnRomInfo Specastmarcs2RomDesc[] = {
	{ "Astro Marine Corps (1989)(Dinamic Software)(es)(Part 2 of 2)[128K].z80", 0x0c68d, 0x324afdd2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specastmarcs2, Specastmarcs2, Spectrum)
STD_ROM_FN(Specastmarcs2)

struct BurnDriver BurnSpecastmarcs2 = {
	"spec_astmarcs2", "spec_astmarco", "spec_spec128", NULL, "1989",
	"Astro Marine Corps (Spanish) (Part 2 of 2) (128K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specastmarcs2RomInfo, Specastmarcs2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Astro Marine Corps (Part 1 of 2) (128K)

static struct BurnRomInfo SpecasmacopaRomDesc[] = {
	{ "Astro Marine Corps (1989)(Dinamic Software)(Part 1 of 2)[128K].z80", 0x0c6a2, 0x9e311c2c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specasmacopa, Specasmacopa, Spectrum)
STD_ROM_FN(Specasmacopa)

struct BurnDriver BurnSpecasmacopa = {
	"spec_asmacopa", "spec_astmarco", "spec_spec128", NULL, "1989",
	"Astro Marine Corps (Part 1 of 2) (128K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecasmacopaRomInfo, SpecasmacopaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Astro Marine Corps (Part 2 of 2) (128K)

static struct BurnRomInfo Specasmacopa2RomDesc[] = {
	{ "Astro Marine Corps (1989)(Dinamic Software)(Part 2 of 2)[128K].z80", 0x0ca68, 0x7fdadf49, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specasmacopa2, Specasmacopa2, Spectrum)
STD_ROM_FN(Specasmacopa2)

struct BurnDriver BurnSpecasmacopa2 = {
	"spec_asmacopa2", "spec_astmarco", "spec_spec128", NULL, "1989",
	"Astro Marine Corps (Part 2 of 2) (128K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specasmacopa2RomInfo, Specasmacopa2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Astroball (48K)

static struct BurnRomInfo SpecastrobalRomDesc[] = {
	{ "Astroball (1992)(Digital Reality).z80", 0x081f2, 0x447db093, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specastrobal, Specastrobal, Spectrum)
STD_ROM_FN(Specastrobal)

struct BurnDriver BurnSpecastrobal = {
	"spec_astrobal", NULL, "spec_spectrum", NULL, "1992",
	"Astroball (48K)\0", NULL, "Digital Reality", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecastrobalRomInfo, SpecastrobalRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Astroclone (Spanish) (48K)

static struct BurnRomInfo SpecastroclosRomDesc[] = {
	{ "Astroclone (1985)(Erbe Software)(es)[re-release].z80", 0x0c01e, 0x88c75d89, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specastroclos, Specastroclos, Spectrum)
STD_ROM_FN(Specastroclos)

struct BurnDriver BurnSpecastroclos = {
	"spec_astroclos", "spec_astroclo", "spec_spectrum", NULL, "1985",
	"Astroclone (Spanish) (48K)\0", NULL, "Erbe Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecastroclosRomInfo, SpecastroclosRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Astroclone (48K)

static struct BurnRomInfo SpecastrocloRomDesc[] = {
	{ "Astroclone (1985)(Hewson Consultants).z80", 0x0995a, 0x9ab3dc8e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specastroclo, Specastroclo, Spectrum)
STD_ROM_FN(Specastroclo)

struct BurnDriver BurnSpecastroclo = {
	"spec_astroclo", NULL, "spec_spectrum", NULL, "1985",
	"Astroclone (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecastrocloRomInfo, SpecastrocloRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Astronaut (nl) (48K)

static struct BurnRomInfo SpecastronauRomDesc[] = {
	{ "Astronaut (19xx)(-)(nl).z80", 0x08c91, 0x46c4c846, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specastronau, Specastronau, Spectrum)
STD_ROM_FN(Specastronau)

struct BurnDriver BurnSpecastronau = {
	"spec_astronau", NULL, "spec_spectrum", NULL, "19xx",
	"Astronaut (nl) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecastronauRomInfo, SpecastronauRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Astronut (48K)

static struct BurnRomInfo SpecastronutRomDesc[] = {
	{ "Astronut (1984)(Software Projects).z80", 0x061e0, 0x876f4184, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specastronut, Specastronut, Spectrum)
STD_ROM_FN(Specastronut)

struct BurnDriver BurnSpecastronut = {
	"spec_astronut", NULL, "spec_spectrum", NULL, "1984",
	"Astronut (48K)\0", NULL, "Software Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecastronutRomInfo, SpecastronutRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Astroplaner (48K)

static struct BurnRomInfo SpecastroplaRomDesc[] = {
	{ "Astroplaner (1983)(Romik Software).z80", 0x064b1, 0x2d1fdd3a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specastropla, Specastropla, Spectrum)
STD_ROM_FN(Specastropla)

struct BurnDriver BurnSpecastropla = {
	"spec_astropla", NULL, "spec_spectrum", NULL, "1983",
	"Astroplaner (48K)\0", NULL, "Romik Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecastroplaRomInfo, SpecastroplaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A-Team, The (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecateamRomDesc[] = {
	{ "A-Team, The (1988)(Zafiro Software Division)(es)(Part 1 of 2).z80", 0x08346, 0x29dcb9a9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specateam, Specateam, Spectrum)
STD_ROM_FN(Specateam)

struct BurnDriver BurnSpecateam = {
	"spec_ateam", NULL, "spec_spectrum", NULL, "1988",
	"A-Team, The (Spanish) (Part 1 of 2) (48K)\0", NULL, "Zafiro Software Division", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecateamRomInfo, SpecateamRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// A-Team, The (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specateam2RomDesc[] = {
	{ "A-Team, The (1988)(Zafiro Software Division)(es)(Part 2 of 2).z80", 0x088f1, 0x3232e610, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specateam2, Specateam2, Spectrum)
STD_ROM_FN(Specateam2)

struct BurnDriver BurnSpecateam2 = {
	"spec_ateam2", "spec_ateam", "spec_spectrum", NULL, "1988",
	"A-Team, The (Spanish) (Part 2 of 2) (48K)\0", NULL, "Zafiro Software Division", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specateam2RomInfo, Specateam2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// ATF - Advanced Tactical Fighter (48K)

static struct BurnRomInfo Specatf_48RomDesc[] = {
	{ "ATF - Advanced Tactical Fighter (1988)(Digital Integration).z80", 0x09b9a, 0x988aba74, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specatf_48, Specatf_48, Spectrum)
STD_ROM_FN(Specatf_48)

struct BurnDriver BurnSpecatf_48 = {
	"spec_atf_48", "spec_atf", "spec_spectrum", NULL, "1988",
	"ATF - Advanced Tactical Fighter (48K)\0", NULL, "Digital Integration", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specatf_48RomInfo, Specatf_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// ATF - Advanced Tactical Fighter (128K)

static struct BurnRomInfo SpecatfRomDesc[] = {
	{ "ATF - Advanced Tactical Fighter (1988)(Digital Integration)[128K].z80", 0x0aaf9, 0x23f0731e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specatf, Specatf, Spectrum)
STD_ROM_FN(Specatf)

struct BurnDriver BurnSpecatf = {
	"spec_atf", NULL, "spec_spec128", NULL, "1988",
	"ATF - Advanced Tactical Fighter (128K)\0", NULL, "Digital Integration", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecatfRomInfo, SpecatfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Athena (128K)

static struct BurnRomInfo SpecathenaRomDesc[] = {
	{ "Athena (1987)(Imagine Software)[128K].z80", 0x1a74c, 0x8d52021e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specathena, Specathena, Spectrum)
STD_ROM_FN(Specathena)

struct BurnDriver BurnSpecathena = {
	"spec_athena", NULL, "spec_spec128", NULL, "1987",
	"Athena (128K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecathenaRomInfo, SpecathenaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Athlete (48K)

static struct BurnRomInfo SpecathleteRomDesc[] = {
	{ "Athlete (1984)(Buffer Micro).z80", 0x079bd, 0xbcbd2ae7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specathlete, Specathlete, Spectrum)
STD_ROM_FN(Specathlete)

struct BurnDriver BurnSpecathlete = {
	"spec_athlete", NULL, "spec_spectrum", NULL, "1984",
	"Athlete (48K)\0", NULL, "Buffer Micro", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecathleteRomInfo, SpecathleteRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Atic Atac (48K)

static struct BurnRomInfo SpecaticatacRomDesc[] = {
	{ "Atic Atac (1983)(Ultimate Play The Game).z80", 0x08994, 0x56520bdf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaticatac, Specaticatac, Spectrum)
STD_ROM_FN(Specaticatac)

struct BurnDriver BurnSpecaticatac = {
	"spec_aticatac", NULL, "spec_spectrum", NULL, "1983",
	"Atic Atac (48K)\0", NULL, "Ultimate Play The Game", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaticatacRomInfo, SpecaticatacRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Atlas Assignment, The (48K)

static struct BurnRomInfo SpecatlassthRomDesc[] = {
	{ "Atlas Assignment, The (1983)(Virgin Games).z80", 0x08ed4, 0x55f625e7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specatlassth, Specatlassth, Spectrum)
STD_ROM_FN(Specatlassth)

struct BurnDriver BurnSpecatlassth = {
	"spec_atlassth", NULL, "spec_spectrum", NULL, "1983",
	"Atlas Assignment, The (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecatlassthRomInfo, SpecatlassthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Atom Ant (48K)

static struct BurnRomInfo SpecatomantRomDesc[] = {
	{ "Atom Ant (1990)(Hi-Tec Software).z80", 0x0c01e, 0xd11937eb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specatomant, Specatomant, Spectrum)
STD_ROM_FN(Specatomant)

struct BurnDriver BurnSpecatomant = {
	"spec_atomant", NULL, "spec_spectrum", NULL, "1990",
	"Atom Ant (48K)\0", NULL, "Hi-Tec Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecatomantRomInfo, SpecatomantRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Atomix (cs) (48K)

static struct BurnRomInfo Specatomix_48RomDesc[] = {
	{ "Atomix (1990)(Ultrasoft)(cs).z80", 0x083cf, 0x61f24944, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specatomix_48, Specatomix_48, Spectrum)
STD_ROM_FN(Specatomix_48)

struct BurnDriver BurnSpecatomix_48 = {
	"spec_atomix_48", "spec_atomix", "spec_spectrum", NULL, "1990",
	"Atomix (cs) (48K)\0", NULL, "Ultrasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specatomix_48RomInfo, Specatomix_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Atomix (cs) (128K)

static struct BurnRomInfo SpecatomixRomDesc[] = {
	{ "Atomix (1990)(Ultrasoft)(cs)[128K].z80", 0x08918, 0x1f97c93c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specatomix, Specatomix, Spectrum)
STD_ROM_FN(Specatomix)

struct BurnDriver BurnSpecatomix = {
	"spec_atomix", NULL, "spec_spec128", NULL, "1990",
	"Atomix (cs) (128K)\0", NULL, "Ultrasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecatomixRomInfo, SpecatomixRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Atomix II - Hexagonia (cs) (48K)

static struct BurnRomInfo SpecatiihexaRomDesc[] = {
	{ "Atomix II - Hexagonia (1991)(Proxima Software)(cs).z80", 0x082e7, 0xe319c776, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specatiihexa, Specatiihexa, Spectrum)
STD_ROM_FN(Specatiihexa)

struct BurnDriver BurnSpecatiihexa = {
	"spec_atiihexa", NULL, "spec_spectrum", NULL, "1991",
	"Atomix II - Hexagonia (cs) (48K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecatiihexaRomInfo, SpecatiihexaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// ATP Tour Simulator (cs) (128K)

static struct BurnRomInfo SpecatptoursRomDesc[] = {
	{ "ATP Tour Simulator (1990)(Proxima Software)(cs)[128K].z80", 0x08f9b, 0xc149c9f9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specatptours, Specatptours, Spectrum)
STD_ROM_FN(Specatptours)

struct BurnDriver BurnSpecatptours = {
	"spec_atptours", NULL, "spec_spec128", NULL, "1990",
	"ATP Tour Simulator (cs) (128K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecatptoursRomInfo, SpecatptoursRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// ATRAM (48K)

static struct BurnRomInfo SpecatramRomDesc[] = {
	{ "ATRAM (1984)(Websters Software).z80", 0x0ada0, 0xd7267657, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specatram, Specatram, Spectrum)
STD_ROM_FN(Specatram)

struct BurnDriver BurnSpecatram = {
	"spec_atram", NULL, "spec_spectrum", NULL, "1984",
	"ATRAM (48K)\0", NULL, "Websters Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecatramRomInfo, SpecatramRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Atrog (Spanish) (Part 1 of 3) (48K)

static struct BurnRomInfo SpecatrogesRomDesc[] = {
	{ "Atrog (1988)(Zafiro Software Division)(es)(Part 1 of 3).z80", 0x0782a, 0x0256ec99, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specatroges, Specatroges, Spectrum)
STD_ROM_FN(Specatroges)

struct BurnDriver BurnSpecatroges = {
	"spec_atroges", NULL, "spec_spectrum", NULL, "1988",
	"Atrog (Spanish) (Part 1 of 3) (48K)\0", NULL, "Zafiro Software Division", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecatrogesRomInfo, SpecatrogesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Atrog (Spanish) (Part 2 of 3) (48K)

static struct BurnRomInfo Specatroges2RomDesc[] = {
	{ "Atrog (1988)(Zafiro Software Division)(es)(Part 2 of 3).z80", 0x07e37, 0xca1ab972, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specatroges2, Specatroges2, Spectrum)
STD_ROM_FN(Specatroges2)

struct BurnDriver BurnSpecatroges2 = {
	"spec_atroges2", "spec_atroges", "spec_spectrum", NULL, "1988",
	"Atrog (Spanish) (Part 2 of 3) (48K)\0", NULL, "Zafiro Software Division", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specatroges2RomInfo, Specatroges2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Atrog (Spanish) (Part 3 of 3) (48K)

static struct BurnRomInfo Specatroges3RomDesc[] = {
	{ "Atrog (1988)(Zafiro Software Division)(es)(Part 3 of 3).z80", 0x07de3, 0x2184fb03, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specatroges3, Specatroges3, Spectrum)
STD_ROM_FN(Specatroges3)

struct BurnDriver BurnSpecatroges3 = {
	"spec_atroges3", "spec_atroges", "spec_spectrum", NULL, "1988",
	"Atrog (Spanish) (Part 3 of 3) (48K)\0", NULL, "Zafiro Software Division", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specatroges3RomInfo, Specatroges3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Attack of the Alien Waters (48K)

static struct BurnRomInfo SpecattaliwaRomDesc[] = {
	{ "Attack of the Alien Waters (1985)(Green Fish Software Enterprise).z80", 0x06181, 0x1ecbf076, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specattaliwa, Specattaliwa, Spectrum)
STD_ROM_FN(Specattaliwa)

struct BurnDriver BurnSpecattaliwa = {
	"spec_attaliwa", NULL, "spec_spectrum", NULL, "1985",
	"Attack of the Alien Waters (48K)\0", NULL, "Green Fish Software Enterprise", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecattaliwaRomInfo, SpecattaliwaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Attack of the Empire (48K)

static struct BurnRomInfo SpecattaempiRomDesc[] = {
	{ "Attack of the Empire (1985)(Chibur).z80", 0x074ba, 0xfab4abca, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specattaempi, Specattaempi, Spectrum)
STD_ROM_FN(Specattaempi)

struct BurnDriver BurnSpecattaempi = {
	"spec_attaempi", NULL, "spec_spectrum", NULL, "1985",
	"Attack of the Empire (48K)\0", NULL, "Chibur", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecattaempiRomInfo, SpecattaempiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Attack of the Killer Tomatoes (48K)

static struct BurnRomInfo SpecattkiltoRomDesc[] = {
	{ "Attack of the Killer Tomatoes (1986)(Global Software).z80", 0x079a3, 0xe7c8fc6c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specattkilto, Specattkilto, Spectrum)
STD_ROM_FN(Specattkilto)

struct BurnDriver BurnSpecattkilto = {
	"spec_attkilto", NULL, "spec_spectrum", NULL, "1986",
	"Attack of the Killer Tomatoes (48K)\0", NULL, "Global Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecattkiltoRomInfo, SpecattkiltoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Attack on Atlantis (48K)

static struct BurnRomInfo SpecattaatlaRomDesc[] = {
	{ "Attack on Atlantis (1984)(Century City Software)[aka Lunar Attack].z80", 0x02766, 0x4120858f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specattaatla, Specattaatla, Spectrum)
STD_ROM_FN(Specattaatla)

struct BurnDriver BurnSpecattaatla = {
	"spec_attaatla", NULL, "spec_spectrum", NULL, "1984",
	"Attack on Atlantis (48K)\0", NULL, "Century City Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecattaatlaRomInfo, SpecattaatlaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// ATV Simulator - All Terrain Vehicle (48K)

static struct BurnRomInfo Specatvsim_48RomDesc[] = {
	{ "ATV Simulator - All Terrain Vehicle (1987)(Codemasters).z80", 0x0a24d, 0x80171771, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specatvsim_48, Specatvsim_48, Spectrum)
STD_ROM_FN(Specatvsim_48)

struct BurnDriver BurnSpecatvsim_48 = {
	"spec_atvsim_48", "spec_atvsim", "spec_spectrum", NULL, "1987",
	"ATV Simulator - All Terrain Vehicle (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specatvsim_48RomInfo, Specatvsim_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// ATV Simulator - All Terrain Vehicle (128K)

static struct BurnRomInfo SpecatvsimRomDesc[] = {
	{ "ATV Simulator - All Terrain Vehicle (1987)(Codemasters)[128K].z80", 0x0a8ef, 0xe1fc4bb9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specatvsim, Specatvsim, Spectrum)
STD_ROM_FN(Specatvsim)

struct BurnDriver BurnSpecatvsim = {
	"spec_atvsim", NULL, "spec_spec128", NULL, "1987",
	"ATV Simulator - All Terrain Vehicle (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecatvsimRomInfo, SpecatvsimRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Auf Wiedersehen Monty (48K)

static struct BurnRomInfo Specaufwiemo_48RomDesc[] = {
	{ "Auf Wiedersehen Monty (1987)(Gremlin Graphics Software).z80", 0x0c01e, 0x1851b7fa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaufwiemo_48, Specaufwiemo_48, Spectrum)
STD_ROM_FN(Specaufwiemo_48)

struct BurnDriver BurnSpecaufwiemo_48 = {
	"spec_aufwiemo_48", "spec_aufwiemo", "spec_spectrum", NULL, "1987",
	"Auf Wiedersehen Monty (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specaufwiemo_48RomInfo, Specaufwiemo_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Auf Wiedersehen Monty (128K)

static struct BurnRomInfo SpecaufwiemoRomDesc[] = {
	{ "Auf Wiedersehen Monty (1987)(Gremlin Graphics Software)[128K].z80", 0x10eff, 0x49580b2d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaufwiemo, Specaufwiemo, Spectrum)
STD_ROM_FN(Specaufwiemo)

struct BurnDriver BurnSpecaufwiemo = {
	"spec_aufwiemo", NULL, "spec_spec128", NULL, "1987",
	"Auf Wiedersehen Monty (128K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaufwiemoRomInfo, SpecaufwiemoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Auf Wiedersehen Pet (48K)

static struct BurnRomInfo SpecaufwiepeRomDesc[] = {
	{ "Auf Wiedersehen Pet (1984)(Tynesoft)[speech].z80", 0x070c2, 0x39d7ac1a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaufwiepe, Specaufwiepe, Spectrum)
STD_ROM_FN(Specaufwiepe)

struct BurnDriver BurnSpecaufwiepe = {
	"spec_aufwiepe", NULL, "spec_spectrum", NULL, "1984",
	"Auf Wiedersehen Pet (48K)\0", NULL, "Tynesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaufwiepeRomInfo, SpecaufwiepeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aunt Velma's Coming to Tea! (48K)

static struct BurnRomInfo SpecauvecoteRomDesc[] = {
	{ "Aunt Velma's Coming to Tea! (1991)(Zenobi Software).z80", 0x05759, 0xbf404f69, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specauvecote, Specauvecote, Spectrum)
STD_ROM_FN(Specauvecote)

struct BurnDriver BurnSpecauvecote = {
	"spec_auvecote", NULL, "spec_spectrum", NULL, "1991",
	"Aunt Velma's Coming to Tea! (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecauvecoteRomInfo, SpecauvecoteRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aural Quest (48K)

static struct BurnRomInfo SpecauraquesRomDesc[] = {
	{ "Aural Quest (1983)(Star Dreams).z80", 0x0529f, 0x92a1aac1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specauraques, Specauraques, Spectrum)
STD_ROM_FN(Specauraques)

struct BurnDriver BurnSpecauraques = {
	"spec_auraques", NULL, "spec_spectrum", NULL, "1983",
	"Aural Quest (48K)\0", NULL, "Star Dreams", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecauraquesRomInfo, SpecauraquesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aurascope (128K)

static struct BurnRomInfo SpecaurascopRomDesc[] = {
	{ "Aurascope (1992)(Zenobi Software)[128K].z80", 0x1826a, 0xa130348f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaurascop, Specaurascop, Spectrum)
STD_ROM_FN(Specaurascop)

struct BurnDriver BurnSpecaurascop = {
	"spec_aurascop", NULL, "spec_spec128", NULL, "1992",
	"Aurascope (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaurascopRomInfo, SpecaurascopRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aureon (Spanish) (48K)

static struct BurnRomInfo SpecaureonesRomDesc[] = {
	{ "Aureon (1991)(DragonHold Software)(es).z80", 0x09f2a, 0x00aad099, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaureones, Specaureones, Spectrum)
STD_ROM_FN(Specaureones)

struct BurnDriver BurnSpecaureones = {
	"spec_aureones", NULL, "spec_spectrum", NULL, "1991",
	"Aureon (Spanish) (48K)\0", NULL, "DragonHold Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaureonesRomInfo, SpecaureonesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Austerlitz (48K)

static struct BurnRomInfo SpecausterliRomDesc[] = {
	{ "Austerlitz (1985)(MC Lothlorien).z80", 0x0c01e, 0x455b92f8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specausterli, Specausterli, Spectrum)
STD_ROM_FN(Specausterli)

struct BurnDriver BurnSpecausterli = {
	"spec_austerli", NULL, "spec_spectrum", NULL, "1985",
	"Austerlitz (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecausterliRomInfo, SpecausterliRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Austerlitz 1805 (48K)

static struct BurnRomInfo Specaust1805RomDesc[] = {
	{ "Austerlitz 1805 (1989)(CCS).z80", 0x09bb6, 0x0e168d68, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaust1805, Specaust1805, Spectrum)
STD_ROM_FN(Specaust1805)

struct BurnDriver BurnSpecaust1805 = {
	"spec_aust1805", NULL, "spec_spectrum", NULL, "1989",
	"Austerlitz 1805 (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specaust1805RomInfo, Specaust1805RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Australian Rules Football - The Outback Amateur League (48K)

static struct BurnRomInfo Specarftoal_48RomDesc[] = {
	{ "Australian Rules Football - The Outback Amateur League (1989)(Again Again).z80", 0x07583, 0x3b510fe9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarftoal_48, Specarftoal_48, Spectrum)
STD_ROM_FN(Specarftoal_48)

struct BurnDriver BurnSpecarftoal_48 = {
	"spec_arftoal_48", "spec_arftoal", "spec_spectrum", NULL, "1989",
	"Australian Rules Football - The Outback Amateur League (48K)\0", NULL, "Again Again", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specarftoal_48RomInfo, Specarftoal_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Australian Rules Football - The Outback Amateur League (128K)

static struct BurnRomInfo SpecarftoalRomDesc[] = {
	{ "Australian Rules Football - The Outback Amateur League (1989)(Again Again)[128K].z80", 0x0801d, 0x726d0f70, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarftoal, Specarftoal, Spectrum)
STD_ROM_FN(Specarftoal)

struct BurnDriver BurnSpecarftoal = {
	"spec_arftoal", NULL, "spec_spec128", NULL, "1989",
	"Australian Rules Football - The Outback Amateur League (128K)\0", NULL, "Again Again", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarftoalRomInfo, SpecarftoalRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Australian Rules Football - The Victorian Football League (48K)

static struct BurnRomInfo Specarftvfl_48RomDesc[] = {
	{ "Australian Rules Football - The Victorian Football League (1989)(Again Again).z80", 0x07540, 0x2f59446a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarftvfl_48, Specarftvfl_48, Spectrum)
STD_ROM_FN(Specarftvfl_48)

struct BurnDriver BurnSpecarftvfl_48 = {
	"spec_arftvfl_48", "spec_arftvfl", "spec_spectrum", NULL, "1989",
	"Australian Rules Football - The Victorian Football League (48K)\0", NULL, "Again Again", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specarftvfl_48RomInfo, Specarftvfl_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Australian Rules Football - The Victorian Football League (128K)

static struct BurnRomInfo SpecarftvflRomDesc[] = {
	{ "Australian Rules Football - The Victorian Football League (1989)(Again Again)[128K].z80", 0x07fdb, 0xba505dce, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specarftvfl, Specarftvfl, Spectrum)
STD_ROM_FN(Specarftvfl)

struct BurnDriver BurnSpecarftvfl = {
	"spec_arftvfl", NULL, "spec_spec128", NULL, "1989",
	"Australian Rules Football - The Victorian Football League (128K)\0", NULL, "Again Again", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecarftvflRomInfo, SpecarftvflRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Auto Concentration (48K)

static struct BurnRomInfo SpecautoconcRomDesc[] = {
	{ "Auto Concentration (1994)(Scene+).z80", 0x049bf, 0x48c19af8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specautoconc, Specautoconc, Spectrum)
STD_ROM_FN(Specautoconc)

struct BurnDriver BurnSpecautoconc = {
	"spec_autoconc", NULL, "spec_spectrum", NULL, "1994",
	"Auto Concentration (48K)\0", NULL, "Scene+", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecautoconcRomInfo, SpecautoconcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Auto Kursiv (48K)

static struct BurnRomInfo SpecautokursRomDesc[] = {
	{ "Auto Kursiv (1987)(W. Janowsky).z80", 0x01bb1, 0x1ebb9f9f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specautokurs, Specautokurs, Spectrum)
STD_ROM_FN(Specautokurs)

struct BurnDriver BurnSpecautokurs = {
	"spec_autokurs", NULL, "spec_spectrum", NULL, "1987",
	"Auto Kursiv (48K)\0", NULL, "W. Janowsky", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecautokursRomInfo, SpecautokursRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Autobahn (German) (48K)

static struct BurnRomInfo SpecautobahnRomDesc[] = {
	{ "Autobahn (1983)(H. Schiehl)(de).z80", 0x046df, 0x421d7ede, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specautobahn, Specautobahn, Spectrum)
STD_ROM_FN(Specautobahn)

struct BurnDriver BurnSpecautobahn = {
	"spec_autobahn", NULL, "spec_spectrum", NULL, "1983",
	"Autobahn (German) (48K)\0", NULL, "H. Schiehl", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecautobahnRomInfo, SpecautobahnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Autochef (48K)

static struct BurnRomInfo SpecautochefRomDesc[] = {
	{ "Autochef (1982)(CCS).z80", 0x02626, 0xd4a7ae3a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specautochef, Specautochef, Spectrum)
STD_ROM_FN(Specautochef)

struct BurnDriver BurnSpecautochef = {
	"spec_autochef", NULL, "spec_spectrum", NULL, "1982",
	"Autochef (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecautochefRomInfo, SpecautochefRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Autocrash (Spanish) (48K)

static struct BurnRomInfo SpecautocrasRomDesc[] = {
	{ "Autocrash (1991)(Zigurat Software)(es).z80", 0x09872, 0x244d394d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specautocras, Specautocras, Spectrum)
STD_ROM_FN(Specautocras)

struct BurnDriver BurnSpecautocras = {
	"spec_autocras", NULL, "spec_spectrum", NULL, "1991",
	"Autocrash (Spanish) (48K)\0", NULL, "Zigurat Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecautocrasRomInfo, SpecautocrasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Automania (48K)

static struct BurnRomInfo SpecautomaniRomDesc[] = {
	{ "Automania (1985)(Mikro-Gen).z80", 0x08236, 0xf1522fa8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specautomani, Specautomani, Spectrum)
STD_ROM_FN(Specautomani)

struct BurnDriver BurnSpecautomani = {
	"spec_automani", NULL, "spec_spectrum", NULL, "1985",
	"Automania (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecautomaniRomInfo, SpecautomaniRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Automonopoli (48K)

static struct BurnRomInfo SpecautomonoRomDesc[] = {
	{ "Automonopoli (1983)(Automata UK).z80", 0x088a5, 0xfe0c5c0f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specautomono, Specautomono, Spectrum)
STD_ROM_FN(Specautomono)

struct BurnDriver BurnSpecautomono = {
	"spec_automono", NULL, "spec_spectrum", NULL, "1983",
	"Automonopoli (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecautomonoRomInfo, SpecautomonoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Autorennen (German) (48K)

static struct BurnRomInfo SpecautorennRomDesc[] = {
	{ "Autorennen (1983)(EMM Software)(de).z80", 0x03a6a, 0x66119e02, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specautorenn, Specautorenn, Spectrum)
STD_ROM_FN(Specautorenn)

struct BurnDriver BurnSpecautorenn = {
	"spec_autorenn", NULL, "spec_spectrum", NULL, "1983",
	"Autorennen (German) (48K)\0", NULL, "EMM Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecautorennRomInfo, SpecautorennRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Autostopista Galactico (Spanish) (48K)

static struct BurnRomInfo SpecautogalaRomDesc[] = {
	{ "Autostopista Galactico (1984)(Ventamatic)(es).z80", 0x06dfb, 0x251e7496, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specautogala, Specautogala, Spectrum)
STD_ROM_FN(Specautogala)

struct BurnDriver BurnSpecautogala = {
	"spec_autogala", NULL, "spec_spectrum", NULL, "1984",
	"Autostopista Galactico (Spanish) (48K)\0", NULL, "Ventamatic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecautogalaRomInfo, SpecautogalaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Avalanche - The Struggle for Italy (48K)

static struct BurnRomInfo SpecavthstitRomDesc[] = {
	{ "Avalanche - The Struggle for Italy (1991)(CCS).z80", 0x09c95, 0x43731a56, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specavthstit, Specavthstit, Spectrum)
STD_ROM_FN(Specavthstit)

struct BurnDriver BurnSpecavthstit = {
	"spec_avthstit", NULL, "spec_spectrum", NULL, "1991",
	"Avalanche - The Struggle for Italy (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecavthstitRomInfo, SpecavthstitRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Avalon (48K)

static struct BurnRomInfo SpecavalonRomDesc[] = {
	{ "Avalon (1984)(Hewson Consultants).z80", 0x083b5, 0xab1d4f7e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specavalon, Specavalon, Spectrum)
STD_ROM_FN(Specavalon)

struct BurnDriver BurnSpecavalon = {
	"spec_avalon", NULL, "spec_spectrum", NULL, "1984",
	"Avalon (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecavalonRomInfo, SpecavalonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aven (cs) (128K)

static struct BurnRomInfo SpecavencsRomDesc[] = {
	{ "Aven (1993)(Proxima Software)(cs)[128K].z80", 0x0a226, 0xcc48e0ef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specavencs, Specavencs, Spectrum)
STD_ROM_FN(Specavencs)

struct BurnDriver BurnSpecavencs = {
	"spec_avencs", NULL, "spec_spec128", NULL, "1993",
	"Aven (cs) (128K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecavencsRomInfo, SpecavencsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Avenger (48K)

static struct BurnRomInfo Specavenger_48RomDesc[] = {
	{ "Avenger (1986)(Gremlin Graphics Software).z80", 0x08741, 0xd2e9d36f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specavenger_48, Specavenger_48, Spectrum)
STD_ROM_FN(Specavenger_48)

struct BurnDriver BurnSpecavenger_48 = {
	"spec_avenger_48", "spec_avenger", "spec_spectrum", NULL, "1986",
	"Avenger (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specavenger_48RomInfo, Specavenger_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Avenger (128K)

static struct BurnRomInfo SpecavengerRomDesc[] = {
	{ "Avenger (1986)(Gremlin Graphics Software)[128K].z80", 0x0b273, 0x8ac4d620, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specavenger, Specavenger, Spectrum)
STD_ROM_FN(Specavenger)

struct BurnDriver BurnSpecavenger = {
	"spec_avenger", NULL, "spec_spec128", NULL, "1986",
	"Avenger (128K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecavengerRomInfo, SpecavengerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aventura (Spanish) (48K)

static struct BurnRomInfo SpecaventuraRomDesc[] = {
	{ "Aventura (1989)(-)(es).z80", 0x0a9f3, 0xcc894969, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaventura, Specaventura, Spectrum)
STD_ROM_FN(Specaventura)

struct BurnDriver BurnSpecaventura = {
	"spec_aventura", NULL, "spec_spectrum", NULL, "1989",
	"Aventura (Spanish) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaventuraRomInfo, SpecaventuraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aventura Espacial, La - Part 1 - Explorando Mundos (Spanish) (48K)

static struct BurnRomInfo SpecaelpemRomDesc[] = {
	{ "Aventura Espacial, La - Part 1 - Explorando Mundos (1990)(Aventuras AD)(es).z80", 0x0b26c, 0xc46932a5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaelpem, Specaelpem, Spectrum)
STD_ROM_FN(Specaelpem)

struct BurnDriver BurnSpecaelpem = {
	"spec_aelpem", NULL, "spec_spectrum", NULL, "1990",
	"Aventura Espacial, La - Part 1 - Explorando Mundos (Spanish) (48K)\0", NULL, "Aventuras AD", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaelpemRomInfo, SpecaelpemRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aventura Espacial, La - Part 2 - En los Dominios del Cerebelo (Spanish) (48K)

static struct BurnRomInfo SpecaelpedcRomDesc[] = {
	{ "Aventura Espacial, La - Part 2 - En los Dominios del Cerebelo (1990)(Aventuras AD)(es).z80", 0x09fd3, 0x06d2fd5c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaelpedc, Specaelpedc, Spectrum)
STD_ROM_FN(Specaelpedc)

struct BurnDriver BurnSpecaelpedc = {
	"spec_aelpedc", NULL, "spec_spectrum", NULL, "1990",
	"Aventura Espacial, La - Part 2 - En los Dominios del Cerebelo (Spanish) (48K)\0", NULL, "Aventuras AD", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaelpedcRomInfo, SpecaelpedcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aventura Interminable (Spanish) (128K)

static struct BurnRomInfo SpecaveninteRomDesc[] = {
	{ "Aventura Interminable (1985)(J.M. Mayoral)(es)[128K].z80", 0x0b734, 0x5f2eec2f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaveninte, Specaveninte, Spectrum)
STD_ROM_FN(Specaveninte)

struct BurnDriver BurnSpecaveninte = {
	"spec_aveninte", NULL, "spec_spec128", NULL, "1985",
	"Aventura Interminable (Spanish) (128K)\0", NULL, "J.M. Mayoral", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaveninteRomInfo, SpecaveninteRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aventura Original, La - Part 1 - La Busqueda (Spanish) (48K)

static struct BurnRomInfo SpecaolplbRomDesc[] = {
	{ "Aventura Original, La - Part 1 - La Busqueda (1989)(Aventuras AD)(es).z80", 0x0b69e, 0xce246950, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaolplb, Specaolplb, Spectrum)
STD_ROM_FN(Specaolplb)

struct BurnDriver BurnSpecaolplb = {
	"spec_aolplb", NULL, "spec_spectrum", NULL, "1989",
	"Aventura Original, La - Part 1 - La Busqueda (Spanish) (48K)\0", NULL, "Aventuras AD", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaolplbRomInfo, SpecaolplbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aventura Original, La - Part 2 - El Encuentro (Spanish) (48K)

static struct BurnRomInfo SpecaolpeeRomDesc[] = {
	{ "Aventura Original, La - Part 2 - El Encuentro (1989)(Aventuras AD)(es).z80", 0x0b86c, 0x126a3c19, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaolpee, Specaolpee, Spectrum)
STD_ROM_FN(Specaolpee)

struct BurnDriver BurnSpecaolpee = {
	"spec_aolpee", NULL, "spec_spectrum", NULL, "1989",
	"Aventura Original, La - Part 2 - El Encuentro (Spanish) (48K)\0", NULL, "Aventuras AD", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaolpeeRomInfo, SpecaolpeeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Axe (48K)

static struct BurnRomInfo SpecaxeRomDesc[] = {
	{ "Axe (1987)(Top Ten Software).z80", 0x0af4e, 0x32a5552d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaxe, Specaxe, Spectrum)
STD_ROM_FN(Specaxe)

struct BurnDriver BurnSpecaxe = {
	"spec_axe", NULL, "spec_spectrum", NULL, "1987",
	"Axe (48K)\0", NULL, "Top Ten Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaxeRomInfo, SpecaxeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Axe of Kolt, The (Part 1 of 4) (48K)

static struct BurnRomInfo Specaxekolt_48RomDesc[] = {
	{ "Axe of Kolt, The (1990)(FSF Adventures)(Part 1 of 4).z80", 0x093d8, 0x22eeca2e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaxekolt_48, Specaxekolt_48, Spectrum)
STD_ROM_FN(Specaxekolt_48)

struct BurnDriver BurnSpecaxekolt_48 = {
	"spec_axekolt_48", "spec_axekolt", "spec_spectrum", NULL, "1990",
	"Axe of Kolt, The (Part 1 of 4) (48K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specaxekolt_48RomInfo, Specaxekolt_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Axe of Kolt, The (Part 1 of 4) (128K)

static struct BurnRomInfo SpecaxekoltRomDesc[] = {
	{ "Axe of Kolt, The (1990)(FSF Adventures)(Part 1 of 4)[128K].z80", 0x108c9, 0x843732cb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaxekolt, Specaxekolt, Spectrum)
STD_ROM_FN(Specaxekolt)

struct BurnDriver BurnSpecaxekolt = {
	"spec_axekolt", NULL, "spec_spec128", NULL, "1990",
	"Axe of Kolt, The (Part 1 of 4) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaxekoltRomInfo, SpecaxekoltRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Axe of Kolt, The (Part 2 of 4) (48K)

static struct BurnRomInfo Specaxekolt2_48RomDesc[] = {
	{ "Axe of Kolt, The (1990)(FSF Adventures)(Part 2 of 4).z80", 0x095a6, 0x2b86eaa1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaxekolt2_48, Specaxekolt2_48, Spectrum)
STD_ROM_FN(Specaxekolt2_48)

struct BurnDriver BurnSpecaxekolt2_48 = {
	"spec_axekolt2_48", "spec_axekolt", "spec_spectrum", NULL, "1990",
	"Axe of Kolt, The (Part 2 of 4) (48K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specaxekolt2_48RomInfo, Specaxekolt2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Axe of Kolt, The (Part 2 of 4) (128K)

static struct BurnRomInfo Specaxekolt2RomDesc[] = {
	{ "Axe of Kolt, The (1990)(FSF Adventures)(Part 2 of 4)[128K].z80", 0x0f4dd, 0xe48fd173, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaxekolt2, Specaxekolt2, Spectrum)
STD_ROM_FN(Specaxekolt2)

struct BurnDriver BurnSpecaxekolt2 = {
	"spec_axekolt2", "spec_axekolt", "spec_spec128", NULL, "1990",
	"Axe of Kolt, The (Part 2 of 4) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specaxekolt2RomInfo, Specaxekolt2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Axe of Kolt, The (Part 3 of 4) (48K)

static struct BurnRomInfo Specaxekolt3_48RomDesc[] = {
	{ "Axe of Kolt, The (1990)(FSF Adventures)(Part 3 of 4).z80", 0x09507, 0x63b6da8d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaxekolt3_48, Specaxekolt3_48, Spectrum)
STD_ROM_FN(Specaxekolt3_48)

struct BurnDriver BurnSpecaxekolt3_48 = {
	"spec_axekolt3_48", "spec_axekolt", "spec_spectrum", NULL, "1990",
	"Axe of Kolt, The (Part 3 of 4) (48K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specaxekolt3_48RomInfo, Specaxekolt3_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Axe of Kolt, The (Part 3 of 4) (128K)

static struct BurnRomInfo Specaxekolt3RomDesc[] = {
	{ "Axe of Kolt, The (1990)(FSF Adventures)(Part 3 of 4)[128K].z80", 0x0f647, 0xea17204e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaxekolt3, Specaxekolt3, Spectrum)
STD_ROM_FN(Specaxekolt3)

struct BurnDriver BurnSpecaxekolt3 = {
	"spec_axekolt3", "spec_axekolt", "spec_spec128", NULL, "1990",
	"Axe of Kolt, The (Part 3 of 4) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specaxekolt3RomInfo, Specaxekolt3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Axe of Kolt, The (Part 4 of 4) (48K)

static struct BurnRomInfo Specaxekolt4_48RomDesc[] = {
	{ "Axe of Kolt, The (1990)(FSF Adventures)(Part 4 of 4).z80", 0x09542, 0x44c92d99, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaxekolt4_48, Specaxekolt4_48, Spectrum)
STD_ROM_FN(Specaxekolt4_48)

struct BurnDriver BurnSpecaxekolt4_48 = {
	"spec_axekolt4_48", "spec_axekolt", "spec_spectrum", NULL, "1990",
	"Axe of Kolt, The (Part 4 of 4) (48K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specaxekolt4_48RomInfo, Specaxekolt4_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Axe of Kolt, The (Part 4 of 4) (128K)

static struct BurnRomInfo Specaxekolt4RomDesc[] = {
	{ "Axe of Kolt, The (1990)(FSF Adventures)(Part 4 of 4)[128K].z80", 0x0f026, 0x31912c4d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaxekolt4, Specaxekolt4, Spectrum)
STD_ROM_FN(Specaxekolt4)

struct BurnDriver BurnSpecaxekolt4 = {
	"spec_axekolt4", "spec_axekolt", "spec_spec128", NULL, "1990",
	"Axe of Kolt, The (Part 4 of 4) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specaxekolt4RomInfo, Specaxekolt4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aztec - Hunt for the Sun God (48K)

static struct BurnRomInfo SpecazhusugoRomDesc[] = {
	{ "Aztec - Hunt for the Sun God (1984)(Hill MacGibbon).z80", 0x096c4, 0x4ff846ed, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specazhusugo, Specazhusugo, Spectrum)
STD_ROM_FN(Specazhusugo)

struct BurnDriver BurnSpecazhusugo = {
	"spec_azhusugo", NULL, "spec_spectrum", NULL, "1984",
	"Aztec - Hunt for the Sun God (48K)\0", NULL, "Hill MacGibbon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecazhusugoRomInfo, SpecazhusugoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aztec (48K)

static struct BurnRomInfo SpecaztecRomDesc[] = {
	{ "Aztec (1986)(Luca Bordoni).z80", 0x05fca, 0x81dc5e7e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specaztec, Specaztec, Spectrum)
STD_ROM_FN(Specaztec)

struct BurnDriver BurnSpecaztec = {
	"spec_aztec", NULL, "spec_spectrum", NULL, "1986",
	"Aztec (48K)\0", NULL, "Luca Bordoni", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecaztecRomInfo, SpecaztecRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Aztec Assault (48K)

static struct BurnRomInfo SpecazteassaRomDesc[] = {
	{ "Aztec Assault (1992)(Zenobi Software).z80", 0x094df, 0x72e6be4a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specazteassa, Specazteassa, Spectrum)
STD_ROM_FN(Specazteassa)

struct BurnDriver BurnSpecazteassa = {
	"spec_azteassa", NULL, "spec_spectrum", NULL, "1992",
	"Aztec Assault (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecazteassaRomInfo, SpecazteassaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Babaliba (Spanish) (48K)

static struct BurnRomInfo SpecbabalibasRomDesc[] = {
	{ "Babaliba (1984)(Dinamic Software)(es).z80", 0x097b2, 0x368d5b87, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbabalibas, Specbabalibas, Spectrum)
STD_ROM_FN(Specbabalibas)

struct BurnDriver BurnSpecbabalibas = {
	"spec_babalibas", "spec_babaliba", "spec_spectrum", NULL, "1984",
	"Babaliba (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbabalibasRomInfo, SpecbabalibasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Babaliba (48K)

static struct BurnRomInfo SpecbabalibaRomDesc[] = {
	{ "Babaliba (1985)(Silversoft)[re-release].z80", 0x0a6da, 0x1ff38a94, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbabaliba, Specbabaliba, Spectrum)
STD_ROM_FN(Specbabaliba)

struct BurnDriver BurnSpecbabaliba = {
	"spec_babaliba", NULL, "spec_spectrum", NULL, "1985",
	"Babaliba (48K)\0", NULL, "Silversoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbabalibaRomInfo, SpecbabalibaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Babszem Jatek (hu) (48K)

static struct BurnRomInfo SpecbabsjateRomDesc[] = {
	{ "Babszem Jatek (1998)(Laszlo Nyitrai)(hu).z80", 0x06a1b, 0xde900d71, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbabsjate, Specbabsjate, Spectrum)
STD_ROM_FN(Specbabsjate)

struct BurnDriver BurnSpecbabsjate = {
	"spec_babsjate", NULL, "spec_spectrum", NULL, "1998",
	"Babszem Jatek (hu) (48K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbabsjateRomInfo, SpecbabsjateRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Back 9, The (48K)

static struct BurnRomInfo Specback9RomDesc[] = {
	{ "Back 9, The (19xx)(-).z80", 0x09ecb, 0x66436b29, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specback9, Specback9, Spectrum)
STD_ROM_FN(Specback9)

struct BurnDriver BurnSpecback9 = {
	"spec_back9", NULL, "spec_spectrum", NULL, "19xx",
	"Back 9, The (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specback9RomInfo, Specback9RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Back to Skool (48K)

static struct BurnRomInfo SpecbackskooRomDesc[] = {
	{ "Back to Skool (1985)(Microsphere).z80", 0x0afb3, 0x6bf68f3d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbackskoo, Specbackskoo, Spectrum)
STD_ROM_FN(Specbackskoo)

struct BurnDriver BurnSpecbackskoo = {
	"spec_backskoo", NULL, "spec_spectrum", NULL, "1985",
	"Back to Skool (48K)\0", NULL, "Microsphere", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbackskooRomInfo, SpecbackskooRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Back to the Future (48K)

static struct BurnRomInfo SpecbackfutuRomDesc[] = {
	{ "Back to the Future (1985)(Electric Dreams Software).z80", 0x08d76, 0x9d8d8fa7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbackfutu, Specbackfutu, Spectrum)
STD_ROM_FN(Specbackfutu)

struct BurnDriver BurnSpecbackfutu = {
	"spec_backfutu", NULL, "spec_spectrum", NULL, "1985",
	"Back to the Future (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbackfutuRomInfo, SpecbackfutuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Back to the Future III (48K)

static struct BurnRomInfo Specbackfut3RomDesc[] = {
	{ "Back to the Future III (1991)(Image Works)[incomplete].z80", 0x09ad2, 0xad5a7442, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbackfut3, Specbackfut3, Spectrum)
STD_ROM_FN(Specbackfut3)

struct BurnDriver BurnSpecbackfut3 = {
	"spec_backfut3", NULL, "spec_spectrum", NULL, "1991",
	"Back to the Future III (48K)\0", NULL, "Image Works", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbackfut3RomInfo, Specbackfut3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Backgammon (CP Software) (48K)

static struct BurnRomInfo SpecbackgammcpRomDesc[] = {
	{ "Backgammon (1983)(CP Software).z80", 0x05ee2, 0x0ea7c203, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbackgammcp, Specbackgammcp, Spectrum)
STD_ROM_FN(Specbackgammcp)

struct BurnDriver BurnSpecbackgammcp = {
	"spec_backgammcp", "spec_backgamm", "spec_spectrum", NULL, "1983",
	"Backgammon (CP Software) (48K)\0", NULL, "CP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbackgammcpRomInfo, SpecbackgammcpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Backgammon (Hewson Consultants) (48K)

static struct BurnRomInfo SpecbackgammhcRomDesc[] = {
	{ "Backgammon (1983)(Hewson Consultants).z80", 0x027f6, 0x062e48d6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbackgammhc, Specbackgammhc, Spectrum)
STD_ROM_FN(Specbackgammhc)

struct BurnDriver BurnSpecbackgammhc = {
	"spec_backgammhc", "spec_backgamm", "spec_spectrum", NULL, "1983",
	"Backgammon (Hewson Consultants) (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbackgammhcRomInfo, SpecbackgammhcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Backgammon (Sinclair Research) (48K)

static struct BurnRomInfo SpecbackgammRomDesc[] = {
	{ "Backgammon (1983)(Sinclair Research).z80", 0x03317, 0xc7de0f78, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbackgamm, Specbackgamm, Spectrum)
STD_ROM_FN(Specbackgamm)

struct BurnDriver BurnSpecbackgamm = {
	"spec_backgamm", NULL, "spec_spectrum", NULL, "1983",
	"Backgammon (Sinclair Research) (48K)\0", NULL, "Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbackgammRomInfo, SpecbackgammRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Backgammon (Oasis Software) (48K)

static struct BurnRomInfo SpecbackgammosRomDesc[] = {
	{ "Backgammon (1984)(Oasis Software).z80", 0x067a4, 0x8a6014e7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbackgammos, Specbackgammos, Spectrum)
STD_ROM_FN(Specbackgammos)

struct BurnDriver BurnSpecbackgammos = {
	"spec_backgammos", "spec_backgamm", "spec_spectrum", NULL, "1984",
	"Backgammon (Oasis Software) (48K)\0", NULL, "Oasis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbackgammosRomInfo, SpecbackgammosRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Backgammon (CDS Microsystems) (48K)

static struct BurnRomInfo SpecbackgammcdRomDesc[] = {
	{ "Backgammon (19xx)(CDS Microsystems).z80", 0x04789, 0xb3dde899, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbackgammcd, Specbackgammcd, Spectrum)
STD_ROM_FN(Specbackgammcd)

struct BurnDriver BurnSpecbackgammcd = {
	"spec_backgammcd", "spec_backgamm", "spec_spectrum", NULL, "19xx",
	"Backgammon (CDS Microsystems) (48K)\0", NULL, "CDS Microsystems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbackgammcdRomInfo, SpecbackgammcdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Backpackers Guide to the Universe - The Guide (48K)

static struct BurnRomInfo SpecbaguunthRomDesc[] = {
	{ "Backpackers Guide to the Universe - The Guide (1984)(Fantasy Software).z80", 0x051d6, 0xaac8c52c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbaguunth, Specbaguunth, Spectrum)
STD_ROM_FN(Specbaguunth)

struct BurnDriver BurnSpecbaguunth = {
	"spec_baguunth", NULL, "spec_spectrum", NULL, "1984",
	"Backpackers Guide to the Universe - The Guide (48K)\0", NULL, "Fantasy Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbaguunthRomInfo, SpecbaguunthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Backpackers Guide to the Universe (48K)

static struct BurnRomInfo SpecbacguiunRomDesc[] = {
	{ "Backpackers Guide to the Universe (1984)(Fantasy Software).z80", 0x0b31a, 0x5e8d25d7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbacguiun, Specbacguiun, Spectrum)
STD_ROM_FN(Specbacguiun)

struct BurnDriver BurnSpecbacguiun = {
	"spec_bacguiun", NULL, "spec_spectrum", NULL, "1984",
	"Backpackers Guide to the Universe (48K)\0", NULL, "Fantasy Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbacguiunRomInfo, SpecbacguiunRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bad Dream (cs) (48K)

static struct BurnRomInfo SpecbaddreamRomDesc[] = {
	{ "Bad Dream (1990)(Proxima Software)(cs).z80", 0x0983f, 0x81fac63d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbaddream, Specbaddream, Spectrum)
STD_ROM_FN(Specbaddream)

struct BurnDriver BurnSpecbaddream = {
	"spec_baddream", NULL, "spec_spectrum", NULL, "1990",
	"Bad Dream (cs) (48K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbaddreamRomInfo, SpecbaddreamRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bad Night (cs) (48K)

static struct BurnRomInfo SpecbadnightRomDesc[] = {
	{ "Bad Night (1987)(Palas)(cs).z80", 0x07cca, 0x6f09e41f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbadnight, Specbadnight, Spectrum)
STD_ROM_FN(Specbadnight)

struct BurnDriver BurnSpecbadnight = {
	"spec_badnight", NULL, "spec_spectrum", NULL, "1987",
	"Bad Night (cs) (48K)\0", NULL, "Palas", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbadnightRomInfo, SpecbadnightRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Badlands (Domark) (48K)

static struct BurnRomInfo SpecbadlandsRomDesc[] = {
	{ "Badlands (1990)(Domark).z80", 0x08b3e, 0x93b1febc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbadlands, Specbadlands, Spectrum)
STD_ROM_FN(Specbadlands)

struct BurnDriver BurnSpecbadlands = {
	"spec_badlands", NULL, "spec_spectrum", NULL, "1990",
	"Badlands (Domark) (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbadlandsRomInfo, SpecbadlandsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Badlands (Erbe Software) (48K)

static struct BurnRomInfo SpecbadlandseRomDesc[] = {
	{ "Badlands (1990)(Erbe Software)[re-release].z80", 0x0c01e, 0x13128782, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbadlandse, Specbadlandse, Spectrum)
STD_ROM_FN(Specbadlandse)

struct BurnDriver BurnSpecbadlandse = {
	"spec_badlandse", "spec_badlands", "spec_spectrum", NULL, "1990",
	"Badlands (Erbe Software) (48K)\0", NULL, "Erbe Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbadlandseRomInfo, SpecbadlandseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bajke (hr) (48K)

static struct BurnRomInfo SpecbajkehrRomDesc[] = {
	{ "Bajke (1986)(Xenon)(hr).z80", 0x0add4, 0xa3f3c584, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbajkehr, Specbajkehr, Spectrum)
STD_ROM_FN(Specbajkehr)

struct BurnDriver BurnSpecbajkehr = {
	"spec_bajkehr", NULL, "spec_spectrum", NULL, "1986",
	"Bajke (hr) (48K)\0", NULL, "Xenon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbajkehrRomInfo, SpecbajkehrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ball Breaker (128K)

static struct BurnRomInfo SpecballbreaRomDesc[] = {
	{ "Ball Breaker (1987)(CRL Group)[128K].z80", 0x0921a, 0x0bbf3537, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specballbrea, Specballbrea, Spectrum)
STD_ROM_FN(Specballbrea)

struct BurnDriver BurnSpecballbrea = {
	"spec_ballbrea", NULL, "spec_spec128", NULL, "1987",
	"Ball Breaker (128K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecballbreaRomInfo, SpecballbreaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ball Breaker II (48K)

static struct BurnRomInfo Specballbre2_48RomDesc[] = {
	{ "Ball Breaker II (1988)(CRL Group).z80", 0x090e4, 0x3951e9e1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specballbre2_48, Specballbre2_48, Spectrum)
STD_ROM_FN(Specballbre2_48)

struct BurnDriver BurnSpecballbre2_48 = {
	"spec_ballbre2_48", "spec_ballbre2", "spec_spectrum", NULL, "1988",
	"Ball Breaker II (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specballbre2_48RomInfo, Specballbre2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ball Breaker II (128K)

static struct BurnRomInfo Specballbre2RomDesc[] = {
	{ "Ball Breaker II (1988)(CRL Group)[128K].z80", 0x096e3, 0x2fca1d2e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specballbre2, Specballbre2, Spectrum)
STD_ROM_FN(Specballbre2)

struct BurnDriver BurnSpecballbre2 = {
	"spec_ballbre2", NULL, "spec_spec128", NULL, "1988",
	"Ball Breaker II (128K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specballbre2RomInfo, Specballbre2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ball Crazy (48K)

static struct BurnRomInfo SpecballcrazRomDesc[] = {
	{ "Ball Crazy (1987)(Mastertronic Added Dimension).z80", 0x067ab, 0x8e7b2f83, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specballcraz, Specballcraz, Spectrum)
STD_ROM_FN(Specballcraz)

struct BurnDriver BurnSpecballcraz = {
	"spec_ballcraz", NULL, "spec_spectrum", NULL, "1987",
	"Ball Crazy (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecballcrazRomInfo, SpecballcrazRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ballade du Lutin, La (fr) (48K)

static struct BurnRomInfo SpecballutlaRomDesc[] = {
	{ "Ballade du Lutin, La (1984)(Loriciels)(fr).z80", 0x04979, 0x1629c153, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specballutla, Specballutla, Spectrum)
STD_ROM_FN(Specballutla)

struct BurnDriver BurnSpecballutla = {
	"spec_ballutla", NULL, "spec_spectrum", NULL, "1984",
	"Ballade du Lutin, La (fr) (48K)\0", NULL, "Loriciels", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecballutlaRomInfo, SpecballutlaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ballblazer (48K)

static struct BurnRomInfo Specballblaz_48RomDesc[] = {
	{ "Ballblazer (1986)(Activision).z80", 0x08a5e, 0x5d963c0c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specballblaz_48, Specballblaz_48, Spectrum)
STD_ROM_FN(Specballblaz_48)

struct BurnDriver BurnSpecballblaz_48 = {
	"spec_ballblaz_48", "spec_ballblaz", "spec_spectrum", NULL, "1986",
	"Ballblazer (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specballblaz_48RomInfo, Specballblaz_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ballblazer (128K)

static struct BurnRomInfo SpecballblazRomDesc[] = {
	{ "Ballblazer (1986)(Activision)[128K].z80", 0x09ae0, 0x0dce25ea, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specballblaz, Specballblaz, Spectrum)
STD_ROM_FN(Specballblaz)

struct BurnDriver BurnSpecballblaz = {
	"spec_ballblaz", NULL, "spec_spec128", NULL, "1986",
	"Ballblazer (128K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecballblazRomInfo, SpecballblazRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Balloon (48K)

static struct BurnRomInfo SpecballoonRomDesc[] = {
	{ "Balloon (1997)(CSSCGC).z80", 0x01217, 0x7849b906, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specballoon, Specballoon, Spectrum)
STD_ROM_FN(Specballoon)

struct BurnDriver BurnSpecballoon = {
	"spec_balloon", NULL, "spec_spectrum", NULL, "1997",
	"Balloon (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecballoonRomInfo, SpecballoonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ballooning (48K)

static struct BurnRomInfo SpecballooniRomDesc[] = {
	{ "Ballooning (1984)(Heinemann).z80", 0x06beb, 0x05293a33, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specballooni, Specballooni, Spectrum)
STD_ROM_FN(Specballooni)

struct BurnDriver BurnSpecballooni = {
	"spec_ballooni", NULL, "spec_spectrum", NULL, "1984",
	"Ballooning (48K)\0", NULL, "Heinemann", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecballooniRomInfo, SpecballooniRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Balrog and the Cat, The (48K)

static struct BurnRomInfo SpecbalcatthRomDesc[] = {
	{ "Balrog and the Cat, The (1988)(Zenobi Software).z80", 0x09a59, 0xdca0ffd0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbalcatth, Specbalcatth, Spectrum)
STD_ROM_FN(Specbalcatth)

struct BurnDriver BurnSpecbalcatth = {
	"spec_balcatth", NULL, "spec_spectrum", NULL, "1988",
	"Balrog and the Cat, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbalcatthRomInfo, SpecbalcatthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Banda, La (Spanish) (48K)

static struct BurnRomInfo SpecbandlaesRomDesc[] = {
	{ "Banda, La (1985)(Stars)(es)[aka Everyone's a Wally].z80", 0x0878e, 0xea0c051b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbandlaes, Specbandlaes, Spectrum)
STD_ROM_FN(Specbandlaes)

struct BurnDriver BurnSpecbandlaes = {
	"spec_bandlaes", NULL, "spec_spectrum", NULL, "1985",
	"Banda, La (Spanish) (48K)\0", NULL, "Stars", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbandlaesRomInfo, SpecbandlaesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bandit (48K)

static struct BurnRomInfo SpecbanditRomDesc[] = {
	{ "Bandit (1984)(K. Deakes).z80", 0x028fc, 0xf6261e71, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbandit, Specbandit, Spectrum)
STD_ROM_FN(Specbandit)

struct BurnDriver BurnSpecbandit = {
	"spec_bandit", NULL, "spec_spectrum", NULL, "1984",
	"Bandit (48K)\0", NULL, "K. Deakes", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbanditRomInfo, SpecbanditRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Banger Racer (48K)

static struct BurnRomInfo SpecbangraceRomDesc[] = {
	{ "Banger Racer (1990)(Cult Games).z80", 0x0901a, 0x0208c61f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbangrace, Specbangrace, Spectrum)
STD_ROM_FN(Specbangrace)

struct BurnDriver BurnSpecbangrace = {
	"spec_bangrace", NULL, "spec_spectrum", NULL, "1990",
	"Banger Racer (48K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbangraceRomInfo, SpecbangraceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Barbarian - 1 Player (48K)

static struct BurnRomInfo Specbarbply1RomDesc[] = {
	{ "Barbarian - 1 Player (1987)(Palace Software).z80", 0x0a596, 0x5f06bc26, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbarbply1, Specbarbply1, Spectrum)
STD_ROM_FN(Specbarbply1)

struct BurnDriver BurnSpecbarbply1 = {
	"spec_barbply1", "spec_barbarn", "spec_spectrum", NULL, "1987",
	"Barbarian - 1 Player (48K)\0", NULL, "Palace Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbarbply1RomInfo, Specbarbply1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Barbarian - 2 Players (48K)

static struct BurnRomInfo Specbarbply2RomDesc[] = {
	{ "Barbarian - 2 Players (1987)(Palace Software).z80", 0x0a2b2, 0xa856967f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbarbply2, Specbarbply2, Spectrum)
STD_ROM_FN(Specbarbply2)

struct BurnDriver BurnSpecbarbply2 = {
	"spec_barbply2", "spec_barbarn", "spec_spectrum", NULL, "1987",
	"Barbarian - 2 Players (48K)\0", NULL, "Palace Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbarbply2RomInfo, Specbarbply2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Barbarian (48K)

static struct BurnRomInfo Specbarbarn_48RomDesc[] = {
	{ "Barbarian (1988)(Melbourne House).z80", 0x090d1, 0xf386a7ff, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbarbarn_48, Specbarbarn_48, Spectrum)
STD_ROM_FN(Specbarbarn_48)

struct BurnDriver BurnSpecbarbarn_48 = {
	"spec_barbarn_48", "spec_barbarn", "spec_spectrum", NULL, "1988",
	"Barbarian (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbarbarn_48RomInfo, Specbarbarn_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Barbarian (128K)

static struct BurnRomInfo SpecbarbarnRomDesc[] = {
	{ "Barbarian (1988)(Melbourne House)[128K].z80", 0x0a624, 0x4d0607de, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbarbarn, Specbarbarn, Spectrum)
STD_ROM_FN(Specbarbarn)

struct BurnDriver BurnSpecbarbarn = {
	"spec_barbarn", NULL, "spec_spec128", NULL, "1988",
	"Barbarian (128K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbarbarnRomInfo, SpecbarbarnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Barbarian II - The Dungeon of Drax (128K)

static struct BurnRomInfo Specbarbarn2RomDesc[] = {
	{ "Barbarian II - The Dungeon of Drax (1988)(Palace Software)[128K].z80", 0x1ac6c, 0x2215c3b7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbarbarn2, Specbarbarn2, Spectrum)
STD_ROM_FN(Specbarbarn2)

struct BurnDriver BurnSpecbarbarn2 = {
	"spec_barbarn2", NULL, "spec_spec128", NULL, "1988",
	"Barbarian II - The Dungeon of Drax (128K)\0", NULL, "Palace Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbarbarn2RomInfo, Specbarbarn2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Barchou (48K)

static struct BurnRomInfo SpecbarchouRomDesc[] = {
	{ "Barchou (1984)(Central Solutions).z80", 0x0266a, 0x88218092, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbarchou, Specbarchou, Spectrum)
STD_ROM_FN(Specbarchou)

struct BurnDriver BurnSpecbarchou = {
	"spec_barchou", NULL, "spec_spectrum", NULL, "1984",
	"Barchou (48K)\0", NULL, "Central Solutions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbarchouRomInfo, SpecbarchouRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bardic Rites, The (128K)

static struct BurnRomInfo SpecbarritthRomDesc[] = {
	{ "Bardic Rites, The (1994)(Zenobi Software)[128K].z80", 0x18879, 0x4d30b0e2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbarritth, Specbarritth, Spectrum)
STD_ROM_FN(Specbarritth)

struct BurnDriver BurnSpecbarritth = {
	"spec_barritth", NULL, "spec_spec128", NULL, "1994",
	"Bardic Rites, The (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbarritthRomInfo, SpecbarritthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bard's Tale, The - Party Merger (48K)

static struct BurnRomInfo SpecbatathpaRomDesc[] = {
	{ "Bard's Tale, The - Party Merger (1988)(Electronic Arts).z80", 0x040ba, 0x01f8a5e2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbatathpa, Specbatathpa, Spectrum)
STD_ROM_FN(Specbatathpa)

struct BurnDriver BurnSpecbatathpa = {
	"spec_batathpa", NULL, "spec_spectrum", NULL, "1988",
	"Bard's Tale, The - Party Merger (48K)\0", NULL, "Electronic Arts", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbatathpaRomInfo, SpecbatathpaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bard's Tale, The (48K)

static struct BurnRomInfo SpecbartalthRomDesc[] = {
	{ "Bard's Tale, The (1988)(Electronic Arts).z80", 0x0af78, 0xdc419c00, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbartalth, Specbartalth, Spectrum)
STD_ROM_FN(Specbartalth)

struct BurnDriver BurnSpecbartalth = {
	"spec_bartalth", NULL, "spec_spectrum", NULL, "1988",
	"Bard's Tale, The (48K)\0", NULL, "Electronic Arts", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbartalthRomInfo, SpecbartalthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bargain Basement (48K)

static struct BurnRomInfo SpecbargbaseRomDesc[] = {
	{ "Bargain Basement (1986)(Creative Sparks).z80", 0x095c6, 0x994ac34d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbargbase, Specbargbase, Spectrum)
STD_ROM_FN(Specbargbase)

struct BurnDriver BurnSpecbargbase = {
	"spec_bargbase", NULL, "spec_spectrum", NULL, "1986",
	"Bargain Basement (48K)\0", NULL, "Creative Sparks", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbargbaseRomInfo, SpecbargbaseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Barmy Burgers (48K)

static struct BurnRomInfo SpecbarmburgRomDesc[] = {
	{ "Barmy Burgers (1983)(Blaby Computer Games).z80", 0x06e58, 0x138faacd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbarmburg, Specbarmburg, Spectrum)
STD_ROM_FN(Specbarmburg)

struct BurnDriver BurnSpecbarmburg = {
	"spec_barmburg", NULL, "spec_spectrum", NULL, "1983",
	"Barmy Burgers (48K)\0", NULL, "Blaby Computer Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbarmburgRomInfo, SpecbarmburgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Baron (48K)

static struct BurnRomInfo SpecbaronRomDesc[] = {
	{ "Baron (1983)(Temptation Software).z80", 0x01273, 0x3c5f1629, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbaron, Specbaron, Spectrum)
STD_ROM_FN(Specbaron)

struct BurnDriver BurnSpecbaron = {
	"spec_baron", NULL, "spec_spectrum", NULL, "1983",
	"Baron (48K)\0", NULL, "Temptation Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbaronRomInfo, SpecbaronRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Barreldrop (48K)

static struct BurnRomInfo SpecbarreldrRomDesc[] = {
	{ "Barreldrop (1983)(Games Machine).z80", 0x03ea2, 0x80005ef5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbarreldr, Specbarreldr, Spectrum)
STD_ROM_FN(Specbarreldr)

struct BurnDriver BurnSpecbarreldr = {
	"spec_barreldr", NULL, "spec_spectrum", NULL, "1983",
	"Barreldrop (48K)\0", NULL, "Games Machine", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbarreldrRomInfo, SpecbarreldrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Barrow Quest (48K)

static struct BurnRomInfo SpecbarrquesRomDesc[] = {
	{ "Barrow Quest (1984)(CCS).z80", 0x09a6f, 0x2e6420e2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbarrques, Specbarrques, Spectrum)
STD_ROM_FN(Specbarrques)

struct BurnDriver BurnSpecbarrques = {
	"spec_barrques", NULL, "spec_spectrum", NULL, "1984",
	"Barrow Quest (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbarrquesRomInfo, SpecbarrquesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Barry McGuigan World Championship Boxing (48K)

static struct BurnRomInfo SpecbmgwcbRomDesc[] = {
	{ "Barry McGuigan World Championship Boxing (1985)(Gamestar).z80", 0x09f8f, 0xfeaffaae, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbmgwcb, Specbmgwcb, Spectrum)
STD_ROM_FN(Specbmgwcb)

struct BurnDriver BurnSpecbmgwcb = {
	"spec_bmgwcb", NULL, "spec_spectrum", NULL, "1985",
	"Barry McGuigan World Championship Boxing (48K)\0", NULL, "Gamestar", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbmgwcbRomInfo, SpecbmgwcbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Base, The - Part 1 - The Prison (48K)

static struct BurnRomInfo SpecbathpathRomDesc[] = {
	{ "Base, The - Part 1 - The Prison (1988)(The Guild).z80", 0x08bfa, 0xdad548fa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbathpath, Specbathpath, Spectrum)
STD_ROM_FN(Specbathpath)

struct BurnDriver BurnSpecbathpath = {
	"spec_bathpath", NULL, "spec_spectrum", NULL, "1988",
	"Base, The - Part 1 - The Prison (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbathpathRomInfo, SpecbathpathRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Base, The - Part 2 - The Submarine Base (48K)

static struct BurnRomInfo SpecbtptsbRomDesc[] = {
	{ "Base, The - Part 2 - The Submarine Base (1988)(The Guild).z80", 0x07e6e, 0x61f0048d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbtptsb, Specbtptsb, Spectrum)
STD_ROM_FN(Specbtptsb)

struct BurnDriver BurnSpecbtptsb = {
	"spec_btptsb", NULL, "spec_spectrum", NULL, "1988",
	"Base, The - Part 2 - The Submarine Base (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbtptsbRomInfo, SpecbtptsbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bash 'n' Grab (48K)

static struct BurnRomInfo SpecbashgrabRomDesc[] = {
	{ "Bash 'n' Grab (1997)(CSSCGC).z80", 0x025ac, 0x35c8dd58, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbashgrab, Specbashgrab, Spectrum)
STD_ROM_FN(Specbashgrab)

struct BurnDriver BurnSpecbashgrab = {
	"spec_bashgrab", NULL, "spec_spectrum", NULL, "1997",
	"Bash 'n' Grab (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbashgrabRomInfo, SpecbashgrabRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Basil - The Great Mouse Detective (48K)

static struct BurnRomInfo SpecbathgrmoRomDesc[] = {
	{ "Basil - The Great Mouse Detective (1987)(Gremlin Graphics Software).z80", 0x095f7, 0xb5e12867, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbathgrmo, Specbathgrmo, Spectrum)
STD_ROM_FN(Specbathgrmo)

struct BurnDriver BurnSpecbathgrmo = {
	"spec_bathgrmo", NULL, "spec_spectrum", NULL, "1987",
	"Basil - The Great Mouse Detective (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbathgrmoRomInfo, SpecbathgrmoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Basque Terrorists Loose in Dartford (48K)

static struct BurnRomInfo SpecbatelodaRomDesc[] = {
	{ "Basque Terrorists Loose in Dartford (1987)(Infected Software).z80", 0x0abd7, 0x5f5180b9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbateloda, Specbateloda, Spectrum)
STD_ROM_FN(Specbateloda)

struct BurnDriver BurnSpecbateloda = {
	"spec_bateloda", NULL, "spec_spectrum", NULL, "1987",
	"Basque Terrorists Loose in Dartford (48K)\0", NULL, "Infected Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbatelodaRomInfo, SpecbatelodaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Batalla Naval (Spanish) (48K)

static struct BurnRomInfo SpecbatanavaRomDesc[] = {
	{ "Batalla Naval (1983)(Taller de Aplicaciones Informaticas)(es).z80", 0x03566, 0x873aa9f6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbatanava, Specbatanava, Spectrum)
STD_ROM_FN(Specbatanava)

struct BurnDriver BurnSpecbatanava = {
	"spec_batanava", NULL, "spec_spectrum", NULL, "1983",
	"Batalla Naval (Spanish) (48K)\0", NULL, "Taller de Aplicaciones Informaticas", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbatanavaRomInfo, SpecbatanavaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Batman - The Caped Crusader - Part 1 - A Bird in the Hand (48K)

static struct BurnRomInfo SpecbatmanccRomDesc[] = {
	{ "Batman - The Caped Crusader - Part 1 - A Bird in the Hand (1988)(Ocean).z80", 0x09dc8, 0x2d3ebd28, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbatmancc, Specbatmancc, Spectrum)
STD_ROM_FN(Specbatmancc)

struct BurnDriver BurnSpecbatmancc = {
	"spec_batmancc", NULL, "spec_spectrum", NULL, "1988",
	"Batman - The Caped Crusader - Part 1 - A Bird in the Hand (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbatmanccRomInfo, SpecbatmanccRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Batman - The Caped Crusader - Part 2 - A Fete Worse than Death (48K)

static struct BurnRomInfo Specbatmancc2RomDesc[] = {
	{ "Batman - The Caped Crusader - Part 2 - A Fete Worse than Death (1988)(Ocean).z80", 0x0a1fb, 0x9a27094c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbatmancc2, Specbatmancc2, Spectrum)
STD_ROM_FN(Specbatmancc2)

struct BurnDriver BurnSpecbatmancc2 = {
	"spec_batmancc2", "spec_batmancc", "spec_spectrum", NULL, "1988",
	"Batman - The Caped Crusader - Part 2 - A Fete Worse than Death (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbatmancc2RomInfo, Specbatmancc2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Batman - The Movie (128K)

static struct BurnRomInfo SpecbatmanmvRomDesc[] = {
	{ "Batman - The Movie (1989)(Ocean)[128K].z80", 0x1b872, 0x17ed3d84, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbatmanmv, Specbatmanmv, Spectrum)
STD_ROM_FN(Specbatmanmv)

struct BurnDriver BurnSpecbatmanmv = {
	"spec_batmanmv", NULL, "spec_spec128", NULL, "1989",
	"Batman - The Movie (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbatmanmvRomInfo, SpecbatmanmvRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Batman - The Puaj Edition (48K)

static struct BurnRomInfo SpecbatmanpeRomDesc[] = {
	{ "Batman - The Puaj Edition (1989)(Micro House).z80", 0x086f6, 0x1ec85d88, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbatmanpe, Specbatmanpe, Spectrum)
STD_ROM_FN(Specbatmanpe)

struct BurnDriver BurnSpecbatmanpe = {
	"spec_batmanpe", NULL, "spec_spectrum", NULL, "1989",
	"Batman - The Puaj Edition (48K)\0", NULL, "Micro House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbatmanpeRomInfo, SpecbatmanpeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Batman (48K)

static struct BurnRomInfo Specbatman_48RomDesc[] = {
	{ "Batman (1986)(Ocean).z80", 0x0a6bb, 0x0f909c21, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbatman_48, Specbatman_48, Spectrum)
STD_ROM_FN(Specbatman_48)

struct BurnDriver BurnSpecbatman_48 = {
	"spec_batman_48", "spec_batman", "spec_spectrum", NULL, "1986",
	"Batman (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbatman_48RomInfo, Specbatman_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Batman (128K)

static struct BurnRomInfo SpecbatmanRomDesc[] = {
	{ "Batman (1986)(Ocean)[128K].z80", 0x0b90a, 0x48ec8253, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbatman, Specbatman, Spectrum)
STD_ROM_FN(Specbatman)

struct BurnDriver BurnSpecbatman = {
	"spec_batman", NULL, "spec_spec128", NULL, "1986",
	"Batman (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbatmanRomInfo, SpecbatmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Batspil (sv) (48K)

static struct BurnRomInfo SpecbatspilsRomDesc[] = {
	{ "Batspil (19xx)(-)(sv).z80", 0x0145d, 0x163e889d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbatspils, Specbatspils, Spectrum)
STD_ROM_FN(Specbatspils)

struct BurnDriver BurnSpecbatspils = {
	"spec_batspils", NULL, "spec_spectrum", NULL, "19xx",
	"Batspil (sv) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbatspilsRomInfo, SpecbatspilsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Battle 1917 - Intro (48K)

static struct BurnRomInfo Specbatt1917RomDesc[] = {
	{ "Battle 1917 - Intro (1983)(CCS).z80", 0x01f12, 0x335b135c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbatt1917, Specbatt1917, Spectrum)
STD_ROM_FN(Specbatt1917)

struct BurnDriver BurnSpecbatt1917 = {
	"spec_batt1917", NULL, "spec_spectrum", NULL, "1983",
	"Battle 1917 - Intro (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbatt1917RomInfo, Specbatt1917RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Battle 1917 (48K)

static struct BurnRomInfo Specbatt1917gRomDesc[] = {
	{ "Battle 1917 (1983)(CCS).z80", 0x03915, 0xc36e0c0a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbatt1917g, Specbatt1917g, Spectrum)
STD_ROM_FN(Specbatt1917g)

struct BurnDriver BurnSpecbatt1917g = {
	"spec_batt1917g", "spec_batt1917", "spec_spectrum", NULL, "1983",
	"Battle 1917 (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbatt1917gRomInfo, Specbatt1917gRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Battle 1917 v2 (48K)

static struct BurnRomInfo Specbattle19RomDesc[] = {
	{ "Battle 1917 v2 (1983)(CCS).z80", 0x031cd, 0x2036eb14, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbattle19, Specbattle19, Spectrum)
STD_ROM_FN(Specbattle19)

struct BurnDriver BurnSpecbattle19 = {
	"spec_battle19", NULL, "spec_spectrum", NULL, "1983",
	"Battle 1917 v2 (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbattle19RomInfo, Specbattle19RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Battle City (128K)

static struct BurnRomInfo SpecbattcityRomDesc[] = {
	{ "Battle City (1995)(Flash)[128K].z80", 0x0c3a0, 0x9c972c00, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbattcity, Specbattcity, Spectrum)
STD_ROM_FN(Specbattcity)

struct BurnDriver BurnSpecbattcity = {
	"spec_battcity", NULL, "spec_spec128", NULL, "1995",
	"Battle City (128K)\0", NULL, "Flash", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbattcityRomInfo, SpecbattcityRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Battle Field (48K)

static struct BurnRomInfo SpecbattfielRomDesc[] = {
	{ "Battle Field (1988)(Atlantis Software).z80", 0x0558b, 0xba58c4da, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbattfiel, Specbattfiel, Spectrum)
STD_ROM_FN(Specbattfiel)

struct BurnDriver BurnSpecbattfiel = {
	"spec_battfiel", NULL, "spec_spectrum", NULL, "1988",
	"Battle Field (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbattfielRomInfo, SpecbattfielRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Battle for Midway, The (48K)

static struct BurnRomInfo SpecbatmidthRomDesc[] = {
	{ "Battle for Midway, The (1985)(PSS).z80", 0x062cb, 0xb7243347, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbatmidth, Specbatmidth, Spectrum)
STD_ROM_FN(Specbatmidth)

struct BurnDriver BurnSpecbatmidth = {
	"spec_batmidth", NULL, "spec_spectrum", NULL, "1985",
	"Battle for Midway, The (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbatmidthRomInfo, SpecbatmidthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Battle of Britain (Migrogame Simulations) (48K)

static struct BurnRomInfo SpecbattbrtmRomDesc[] = {
	{ "Battle of Britain (1982)(Microgame Simulations).z80", 0x05874, 0x768215df, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbattbrtm, Specbattbrtm, Spectrum)
STD_ROM_FN(Specbattbrtm)

struct BurnDriver BurnSpecbattbrtm = {
	"spec_battbrtm", NULL, "spec_spectrum", NULL, "1982",
	"Battle of Britain (Migrogame Simulations) (48K)\0", NULL, "Microgame Simulations", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbattbrtmRomInfo, SpecbattbrtmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Battle of Britain (PSS) (48K)

static struct BurnRomInfo SpecbattbrtpRomDesc[] = {
	{ "Battle of Britain (1986)(PSS).z80", 0x08547, 0x60a12d20, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbattbrtp, Specbattbrtp, Spectrum)
STD_ROM_FN(Specbattbrtp)

struct BurnDriver BurnSpecbattbrtp = {
	"spec_battbrtp", NULL, "spec_spectrum", NULL, "1986",
	"Battle of Britain (PSS) (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbattbrtpRomInfo, SpecbattbrtpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Battle of the Bulge, The (48K)

static struct BurnRomInfo SpecbatbulthRomDesc[] = {
	{ "Battle of the Bulge, The (1990)(CCS).z80", 0x0899b, 0xc967fb7b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbatbulth, Specbatbulth, Spectrum)
STD_ROM_FN(Specbatbulth)

struct BurnDriver BurnSpecbatbulth = {
	"spec_batbulth", NULL, "spec_spectrum", NULL, "1990",
	"Battle of the Bulge, The (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbatbulthRomInfo, SpecbatbulthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Battle of the Planets (48K)

static struct BurnRomInfo SpecbattplanRomDesc[] = {
	{ "Battle of the Planets (1986)(Mikro-Gen).z80", 0x08da5, 0x60cd78c6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbattplan, Specbattplan, Spectrum)
STD_ROM_FN(Specbattplan)

struct BurnDriver BurnSpecbattplan = {
	"spec_battplan", NULL, "spec_spectrum", NULL, "1986",
	"Battle of the Planets (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbattplanRomInfo, SpecbattplanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Battle of the Toothpaste Tubes (48K)

static struct BurnRomInfo SpecbattootuRomDesc[] = {
	{ "Battle of the Toothpaste Tubes (1983)(K-Tel Productions).z80", 0x01c8c, 0x2bc3ec63, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbattootu, Specbattootu, Spectrum)
STD_ROM_FN(Specbattootu)

struct BurnDriver BurnSpecbattootu = {
	"spec_battootu", NULL, "spec_spectrum", NULL, "1983",
	"Battle of the Toothpaste Tubes (48K)\0", NULL, "K-Tel Productions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbattootuRomInfo, SpecbattootuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Battle Ships (48K)

static struct BurnRomInfo SpecbattshipRomDesc[] = {
	{ "Battle Ships (1988)(Encore).z80", 0x08234, 0xf1dbd7cd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbattship, Specbattship, Spectrum)
STD_ROM_FN(Specbattship)

struct BurnDriver BurnSpecbattship = {
	"spec_battship", NULL, "spec_spectrum", NULL, "1988",
	"Battle Ships (48K)\0", NULL, "Encore", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbattshipRomInfo, SpecbattshipRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Battle Valley (48K)

static struct BurnRomInfo SpecbattvallRomDesc[] = {
	{ "Battle Valley (1988)(Rack-It).z80", 0x09230, 0xd77cbb55, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbattvall, Specbattvall, Spectrum)
STD_ROM_FN(Specbattvall)

struct BurnDriver BurnSpecbattvall = {
	"spec_battvall", NULL, "spec_spectrum", NULL, "1988",
	"Battle Valley (48K)\0", NULL, "Rack-It", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbattvallRomInfo, SpecbattvallRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Battle Zone (48K)

static struct BurnRomInfo SpecbattzoneRomDesc[] = {
	{ "Battle Zone (1984)(Quicksilva).z80", 0x06dfd, 0xb265fd3d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbattzone, Specbattzone, Spectrum)
STD_ROM_FN(Specbattzone)

struct BurnDriver BurnSpecbattzone = {
	"spec_battzone", NULL, "spec_spectrum", NULL, "1984",
	"Battle Zone (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbattzoneRomInfo, SpecbattzoneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Battlecars - Designer (48K)

static struct BurnRomInfo SpecbattdesiRomDesc[] = {
	{ "Battlecars - Designer (1984)(Games Workshop).z80", 0x0929d, 0xc79ac5f1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbattdesi, Specbattdesi, Spectrum)
STD_ROM_FN(Specbattdesi)

struct BurnDriver BurnSpecbattdesi = {
	"spec_battdesi", NULL, "spec_spectrum", NULL, "1984",
	"Battlecars - Designer (48K)\0", NULL, "Games Workshop", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbattdesiRomInfo, SpecbattdesiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Battlecars (48K)

static struct BurnRomInfo SpecbattlecaRomDesc[] = {
	{ "Battlecars (1984)(Games Workshop).z80", 0x08a69, 0xc0da7b74, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbattleca, Specbattleca, Spectrum)
STD_ROM_FN(Specbattleca)

struct BurnDriver BurnSpecbattleca = {
	"spec_battleca", NULL, "spec_spectrum", NULL, "1984",
	"Battlecars (48K)\0", NULL, "Games Workshop", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbattlecaRomInfo, SpecbattlecaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Battlefield Germany - 1 Player (48K)

static struct BurnRomInfo SpecbattgermRomDesc[] = {
	{ "Battlefield Germany - 1 Player (1987)(PSS).z80", 0x0a6cb, 0x1bd41404, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbattgerm, Specbattgerm, Spectrum)
STD_ROM_FN(Specbattgerm)

struct BurnDriver BurnSpecbattgerm = {
	"spec_battgerm", NULL, "spec_spectrum", NULL, "1987",
	"Battlefield Germany - 1 Player (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbattgermRomInfo, SpecbattgermRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Battlefield Germany - 2 Players (48K)

static struct BurnRomInfo Specbattgerm2RomDesc[] = {
	{ "Battlefield Germany - 2 Players (1987)(PSS).z80", 0x0a214, 0x63e37455, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbattgerm2, Specbattgerm2, Spectrum)
STD_ROM_FN(Specbattgerm2)

struct BurnDriver BurnSpecbattgerm2 = {
	"spec_battgerm2", "spec_battgerm", "spec_spectrum", NULL, "1987",
	"Battlefield Germany - 2 Players (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbattgerm2RomInfo, Specbattgerm2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Batty (48K)

static struct BurnRomInfo SpecbattyRomDesc[] = {
	{ "Batty (1987)(Hit-Pak).z80", 0x06966, 0x4d2435bc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbatty, Specbatty, Spectrum)
STD_ROM_FN(Specbatty)

struct BurnDriver BurnSpecbatty = {
	"spec_batty", NULL, "spec_spectrum", NULL, "1987",
	"Batty (48K)\0", NULL, "Hit-Pak", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbattyRomInfo, SpecbattyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bazooka Bill (48K)

static struct BurnRomInfo SpecbazobillRomDesc[] = {
	{ "Bazooka Bill (1986)(Melbourne House).z80", 0x0a0ba, 0x8d5007d2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbazobill, Specbazobill, Spectrum)
STD_ROM_FN(Specbazobill)

struct BurnDriver BurnSpecbazobill = {
	"spec_bazobill", NULL, "spec_spectrum", NULL, "1986",
	"Bazooka Bill (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbazobillRomInfo, SpecbazobillRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// BC Bill (48K)

static struct BurnRomInfo SpecbcbillRomDesc[] = {
	{ "BC Bill (1984)(Imagine Software).z80", 0x099ea, 0x4b1b93a0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbcbill, Specbcbill, Spectrum)
STD_ROM_FN(Specbcbill)

struct BurnDriver BurnSpecbcbill = {
	"spec_bcbill", NULL, "spec_spectrum", NULL, "1984",
	"BC Bill (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbcbillRomInfo, SpecbcbillRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// BC's Quest for Tires (48K)

static struct BurnRomInfo SpecbcsquestRomDesc[] = {
	{ "BC's Quest for Tires (1983)(Software Projects).z80", 0x07b99, 0x145ec0f7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbcsquest, Specbcsquest, Spectrum)
STD_ROM_FN(Specbcsquest)

struct BurnDriver BurnSpecbcsquest = {
	"spec_bcsquest", NULL, "spec_spectrum", NULL, "1983",
	"BC's Quest for Tires (48K)\0", NULL, "Software Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbcsquestRomInfo, SpecbcsquestRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Beach Buggy Simulator (48K)

static struct BurnRomInfo SpecbeabugsiRomDesc[] = {
	{ "Beach Buggy Simulator (1988)(Silverbird Software).z80", 0x096de, 0x900b90e9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbeabugsi, Specbeabugsi, Spectrum)
STD_ROM_FN(Specbeabugsi)

struct BurnDriver BurnSpecbeabugsi = {
	"spec_beabugsi", NULL, "spec_spectrum", NULL, "1988",
	"Beach Buggy Simulator (48K)\0", NULL, "Silverbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbeabugsiRomInfo, SpecbeabugsiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Beach Volley (128K)

static struct BurnRomInfo SpecbeacvollRomDesc[] = {
	{ "Beach Volley (1989)(Ocean)[cr Terminator][128K].z80", 0x0f3ab, 0x4174e289, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbeacvoll, Specbeacvoll, Spectrum)
STD_ROM_FN(Specbeacvoll)

struct BurnDriver BurnSpecbeacvoll = {
	"spec_beacvoll", NULL, "spec_spec128", NULL, "1989",
	"Beach Volley (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbeacvollRomInfo, SpecbeacvollRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Beach-Head (48K)

static struct BurnRomInfo SpecbeacheadRomDesc[] = {
	{ "Beach-Head (1984)(U.S. Gold).z80", 0x0999e, 0x70112e2c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbeachead, Specbeachead, Spectrum)
STD_ROM_FN(Specbeachead)

struct BurnDriver BurnSpecbeachead = {
	"spec_beachead", NULL, "spec_spectrum", NULL, "1984",
	"Beach-Head (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbeacheadRomInfo, SpecbeacheadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Beach-Head II - The Dictator Strikes Back! (48K)

static struct BurnRomInfo Specbeached2RomDesc[] = {
	{ "Beach-Head II - The Dictator Strikes Back! (1986)(U.S. Gold).z80", 0x09caf, 0x178b1c61, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbeached2, Specbeached2, Spectrum)
STD_ROM_FN(Specbeached2)

struct BurnDriver BurnSpecbeached2 = {
	"spec_beached2", NULL, "spec_spectrum", NULL, "1986",
	"Beach-Head II - The Dictator Strikes Back! (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbeached2RomInfo, Specbeached2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Beaky and the Egg Snatchers (48K)

static struct BurnRomInfo SpecbeaeggsnRomDesc[] = {
	{ "Beaky and the Egg Snatchers (1984)(Fantasy Software).z80", 0x09f53, 0xc145a40c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbeaeggsn, Specbeaeggsn, Spectrum)
STD_ROM_FN(Specbeaeggsn)

struct BurnDriver BurnSpecbeaeggsn = {
	"spec_beaeggsn", NULL, "spec_spectrum", NULL, "1984",
	"Beaky and the Egg Snatchers (48K)\0", NULL, "Fantasy Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbeaeggsnRomInfo, SpecbeaeggsnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Beamrider (48K)

static struct BurnRomInfo SpecbeamrideRomDesc[] = {
	{ "Beamrider (1984)(Activision).z80", 0x04e8b, 0xef3040cf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbeamride, Specbeamride, Spectrum)
STD_ROM_FN(Specbeamride)

struct BurnDriver BurnSpecbeamride = {
	"spec_beamride", NULL, "spec_spectrum", NULL, "1984",
	"Beamrider (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbeamrideRomInfo, SpecbeamrideRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bear Bovver (48K)

static struct BurnRomInfo SpecbearbovvRomDesc[] = {
	{ "Bear Bovver (1983)(Artic Computing).z80", 0x070ef, 0x29a1f6b5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbearbovv, Specbearbovv, Spectrum)
STD_ROM_FN(Specbearbovv)

struct BurnDriver BurnSpecbearbovv = {
	"spec_bearbovv", NULL, "spec_spectrum", NULL, "1983",
	"Bear Bovver (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbearbovvRomInfo, SpecbearbovvRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bear George (48K)

static struct BurnRomInfo SpecbeargeorRomDesc[] = {
	{ "Bear George (1984)(Cheetahsoft).z80", 0x07081, 0x22222b9b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbeargeor, Specbeargeor, Spectrum)
STD_ROM_FN(Specbeargeor)

struct BurnDriver BurnSpecbeargeor = {
	"spec_beargeor", NULL, "spec_spectrum", NULL, "1984",
	"Bear George (48K)\0", NULL, "Cheetahsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbeargeorRomInfo, SpecbeargeorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bearings (48K)

static struct BurnRomInfo SpecbearingsRomDesc[] = {
	{ "Bearings (19xx)(-).z80", 0x00a77, 0x1b08f6cc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbearings, Specbearings, Spectrum)
STD_ROM_FN(Specbearings)

struct BurnDriver BurnSpecbearings = {
	"spec_bearings", NULL, "spec_spectrum", NULL, "19xx",
	"Bearings (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbearingsRomInfo, SpecbearingsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Beast of Torrack Moor, The (128K)

static struct BurnRomInfo SpecbetomothRomDesc[] = {
	{ "Beast of Torrack Moor, The (1988)(Marlin Games)[128K].z80", 0x12be5, 0x0bebfb48, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbetomoth, Specbetomoth, Spectrum)
STD_ROM_FN(Specbetomoth)

struct BurnDriver BurnSpecbetomoth = {
	"spec_betomoth", NULL, "spec_spec128", NULL, "1988",
	"Beast of Torrack Moor, The (128K)\0", NULL, "Marlin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbetomothRomInfo, SpecbetomothRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Beatcha (48K)

static struct BurnRomInfo SpecbeatchaRomDesc[] = {
	{ "Beatcha (1984)(Romik Software).z80", 0x05f79, 0x54737b49, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbeatcha, Specbeatcha, Spectrum)
STD_ROM_FN(Specbeatcha)

struct BurnDriver BurnSpecbeatcha = {
	"spec_beatcha", NULL, "spec_spectrum", NULL, "1984",
	"Beatcha (48K)\0", NULL, "Romik Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbeatchaRomInfo, SpecbeatchaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Beatle Quest (48K)

static struct BurnRomInfo SpecbeatquesRomDesc[] = {
	{ "Beatle Quest (1985)(Number 9 Software).z80", 0x0ac08, 0xd1bad29d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbeatques, Specbeatques, Spectrum)
STD_ROM_FN(Specbeatques)

struct BurnDriver BurnSpecbeatques = {
	"spec_beatques", NULL, "spec_spectrum", NULL, "1985",
	"Beatle Quest (48K)\0", NULL, "Number 9 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbeatquesRomInfo, SpecbeatquesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Beautiful Dreamer (48K)

static struct BurnRomInfo SpecbeaudreaRomDesc[] = {
	{ "Beautiful Dreamer (1986)(Spectrum Adventure Exch Club).z80", 0x0aaf3, 0xfe434416, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbeaudrea, Specbeaudrea, Spectrum)
STD_ROM_FN(Specbeaudrea)

struct BurnDriver BurnSpecbeaudrea = {
	"spec_beaudrea", NULL, "spec_spectrum", NULL, "1986",
	"Beautiful Dreamer (48K)\0", NULL, "Spectrum Adventure Exch Club", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbeaudreaRomInfo, SpecbeaudreaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bedlam (128K)

static struct BurnRomInfo SpecbedlamRomDesc[] = {
	{ "Bedlam (1988)(Go!)[128K].z80", 0x147e5, 0xf75ba6ab, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbedlam, Specbedlam, Spectrum)
STD_ROM_FN(Specbedlam)

struct BurnDriver BurnSpecbedlam = {
	"spec_bedlam", NULL, "spec_spec128", NULL, "1988",
	"Bedlam (128K)\0", NULL, "Go!", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbedlamRomInfo, SpecbedlamRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Beebul (48K)

static struct BurnRomInfo SpecbeebulRomDesc[] = {
	{ "Beebul (1984)(Scorpio Gamesworld).z80", 0x02054, 0x89c1c74e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbeebul, Specbeebul, Spectrum)
STD_ROM_FN(Specbeebul)

struct BurnDriver BurnSpecbeebul = {
	"spec_beebul", NULL, "spec_spectrum", NULL, "1984",
	"Beebul (48K)\0", NULL, "Scorpio Gamesworld", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbeebulRomInfo, SpecbeebulRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Beerland (cs) (128K)

static struct BurnRomInfo SpecbeerlandRomDesc[] = {
	{ "Beerland (1991)(Proxima Software)(cs)[128K].z80", 0x08254, 0x9064bc46, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbeerland, Specbeerland, Spectrum)
STD_ROM_FN(Specbeerland)

struct BurnDriver BurnSpecbeerland = {
	"spec_beerland", NULL, "spec_spec128", NULL, "1991",
	"Beerland (cs) (128K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbeerlandRomInfo, SpecbeerlandRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Beets 'n' Eggs (48K)

static struct BurnRomInfo SpecbeeteggsRomDesc[] = {
	{ "Beets 'n' Eggs (1986)(Mesoft).z80", 0x0349f, 0x6e54e119, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbeeteggs, Specbeeteggs, Spectrum)
STD_ROM_FN(Specbeeteggs)

struct BurnDriver BurnSpecbeeteggs = {
	"spec_beeteggs", NULL, "spec_spectrum", NULL, "1986",
	"Beets 'n' Eggs (48K)\0", NULL, "Mesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbeeteggsRomInfo, SpecbeeteggsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Beginning of the End, The (Part 1 of 2) (48K)

static struct BurnRomInfo SpecbegoendRomDesc[] = {
	{ "Beginning of the End, The (1992)(Zenobi Software)(Part 1 of 2).z80", 0x09a48, 0xdd9d1917, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbegoend, Specbegoend, Spectrum)
STD_ROM_FN(Specbegoend)

struct BurnDriver BurnSpecbegoend = {
	"spec_begoend", NULL, "spec_spectrum", NULL, "1992",
	"Beginning of the End, The (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbegoendRomInfo, SpecbegoendRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Beginning of the End, The (Part 2 of 2) (48K)

static struct BurnRomInfo Specbegoend2RomDesc[] = {
	{ "Beginning of the End, The (1992)(Zenobi Software)(Part 2 of 2).z80", 0x08d7c, 0x9ec65acb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbegoend2, Specbegoend2, Spectrum)
STD_ROM_FN(Specbegoend2)

struct BurnDriver BurnSpecbegoend2 = {
	"spec_begoend2", "spec_begoend", "spec_spectrum", NULL, "1992",
	"Beginning of the End, The (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbegoend2RomInfo, Specbegoend2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Behind Closed Doors (48K)

static struct BurnRomInfo SpecbehclodoRomDesc[] = {
	{ "Behind Closed Doors (1988)(Zenobi Software).z80", 0x05c52, 0xa5617ee5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbehclodo, Specbehclodo, Spectrum)
STD_ROM_FN(Specbehclodo)

struct BurnDriver BurnSpecbehclodo = {
	"spec_behclodo", NULL, "spec_spectrum", NULL, "1988",
	"Behind Closed Doors (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbehclodoRomInfo, SpecbehclodoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Behind Closed Doors II - The Sequel (48K)

static struct BurnRomInfo Specbehclod2RomDesc[] = {
	{ "Behind Closed Doors II - The Sequel (1988)(Zenobi Software).z80", 0x06f6e, 0x72213ecb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbehclod2, Specbehclod2, Spectrum)
STD_ROM_FN(Specbehclod2)

struct BurnDriver BurnSpecbehclod2 = {
	"spec_behclod2", NULL, "spec_spectrum", NULL, "1988",
	"Behind Closed Doors II - The Sequel (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbehclod2RomInfo, Specbehclod2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Behind Closed Doors III - Revenge of the Ants (48K)

static struct BurnRomInfo Specbehclod3RomDesc[] = {
	{ "Behind Closed Doors III - Revenge of the Ants (1989)(Zenobi Software).z80", 0x09bf1, 0x230825f9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbehclod3, Specbehclod3, Spectrum)
STD_ROM_FN(Specbehclod3)

struct BurnDriver BurnSpecbehclod3 = {
	"spec_behclod3", NULL, "spec_spectrum", NULL, "1989",
	"Behind Closed Doors III - Revenge of the Ants (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbehclod3RomInfo, Specbehclod3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Behind Closed Doors IV - Balrog's Day Out (48K)

static struct BurnRomInfo Specbehclod4RomDesc[] = {
	{ "Behind Closed Doors IV - Balrog's Day Out (1989)(Zenobi Software).z80", 0x0932a, 0xddec00c7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbehclod4, Specbehclod4, Spectrum)
STD_ROM_FN(Specbehclod4)

struct BurnDriver BurnSpecbehclod4 = {
	"spec_behclod4", NULL, "spec_spectrum", NULL, "1989",
	"Behind Closed Doors IV - Balrog's Day Out (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbehclod4RomInfo, Specbehclod4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Behold Atlantis (48K)

static struct BurnRomInfo SpecbehoatlaRomDesc[] = {
	{ "Behold Atlantis (1991)(Zenobi Software).z80", 0x09a81, 0xce61fb13, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbehoatla, Specbehoatla, Spectrum)
STD_ROM_FN(Specbehoatla)

struct BurnDriver BurnSpecbehoatla = {
	"spec_behoatla", NULL, "spec_spectrum", NULL, "1991",
	"Behold Atlantis (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbehoatlaRomInfo, SpecbehoatlaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bekstvo iz KPD Grljevca (sr) (48K)

static struct BurnRomInfo SpecbekpdgrlRomDesc[] = {
	{ "Bekstvo iz KPD Grljevca (1987)(Nikola Alivojvodic)(sr).z80", 0x0727e, 0x5500360d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbekpdgrl, Specbekpdgrl, Spectrum)
STD_ROM_FN(Specbekpdgrl)

struct BurnDriver BurnSpecbekpdgrl = {
	"spec_bekpdgrl", NULL, "spec_spectrum", NULL, "1987",
	"Bekstvo iz KPD Grljevca (sr) (48K)\0", NULL, "Nikola Alivojvodic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbekpdgrlRomInfo, SpecbekpdgrlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Belegost (cs) (48K)

static struct BurnRomInfo SpecbelegostRomDesc[] = {
	{ "Belegost (1989)(Cybexlab Software)(cs).z80", 0x09a66, 0x76d5518e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbelegost, Specbelegost, Spectrum)
STD_ROM_FN(Specbelegost)

struct BurnDriver BurnSpecbelegost = {
	"spec_belegost", NULL, "spec_spectrum", NULL, "1989",
	"Belegost (cs) (48K)\0", NULL, "Cybexlab Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbelegostRomInfo, SpecbelegostRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bennie the Burglar (48K)

static struct BurnRomInfo SpecbennburgRomDesc[] = {
	{ "Bennie the Burglar (1987)(MB - APG Software).z80", 0x092a2, 0xdcc97808, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbennburg, Specbennburg, Spectrum)
STD_ROM_FN(Specbennburg)

struct BurnDriver BurnSpecbennburg = {
	"spec_bennburg", NULL, "spec_spectrum", NULL, "1987",
	"Bennie the Burglar (48K)\0", NULL, "MB - APG Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbennburgRomInfo, SpecbennburgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Benny Bunny - Firefighter (48K)

static struct BurnRomInfo SpecbenbunfiRomDesc[] = {
	{ "Benny Bunny - Firefighter (19xx)(-).z80", 0x03931, 0xf0f43d9f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbenbunfi, Specbenbunfi, Spectrum)
STD_ROM_FN(Specbenbunfi)

struct BurnDriver BurnSpecbenbunfi = {
	"spec_benbunfi", NULL, "spec_spectrum", NULL, "19xx",
	"Benny Bunny - Firefighter (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbenbunfiRomInfo, SpecbenbunfiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Benny Bunny - Gold Rush (48K)

static struct BurnRomInfo SpecbebugoruRomDesc[] = {
	{ "Benny Bunny - Gold Rush (19xx)(-).z80", 0x03e2f, 0xe6bd48cb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbebugoru, Specbebugoru, Spectrum)
STD_ROM_FN(Specbebugoru)

struct BurnDriver BurnSpecbebugoru = {
	"spec_bebugoru", NULL, "spec_spectrum", NULL, "19xx",
	"Benny Bunny - Gold Rush (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbebugoruRomInfo, SpecbebugoruRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Benny Bunny - Haunted Belltower (48K)

static struct BurnRomInfo SpecbebuhabeRomDesc[] = {
	{ "Benny Bunny - Haunted Belltower (19xx)(-).z80", 0x04aec, 0xb6c99469, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbebuhabe, Specbebuhabe, Spectrum)
STD_ROM_FN(Specbebuhabe)

struct BurnDriver BurnSpecbebuhabe = {
	"spec_bebuhabe", NULL, "spec_spectrum", NULL, "19xx",
	"Benny Bunny - Haunted Belltower (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbebuhabeRomInfo, SpecbebuhabeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Benny Bunny - Monster Mansion (48K)

static struct BurnRomInfo SpecbebumomaRomDesc[] = {
	{ "Benny Bunny - Monster Mansion (19xx)(-).z80", 0x05624, 0xa81ba88d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbebumoma, Specbebumoma, Spectrum)
STD_ROM_FN(Specbebumoma)

struct BurnDriver BurnSpecbebumoma = {
	"spec_bebumoma", NULL, "spec_spectrum", NULL, "19xx",
	"Benny Bunny - Monster Mansion (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbebumomaRomInfo, SpecbebumomaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Benny Hill's Madcap Chase! (48K)

static struct BurnRomInfo SpecbehimachRomDesc[] = {
	{ "Benny Hill's Madcap Chase! (1985)(DK'Tronics).z80", 0x079ad, 0xcf301e4c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbehimach, Specbehimach, Spectrum)
STD_ROM_FN(Specbehimach)

struct BurnDriver BurnSpecbehimach = {
	"spec_behimach", NULL, "spec_spectrum", NULL, "1985",
	"Benny Hill's Madcap Chase! (48K)\0", NULL, "DK'Tronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbehimachRomInfo, SpecbehimachRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bentley Bear (48K)

static struct BurnRomInfo SpecbentbearRomDesc[] = {
	{ "Bentley Bear (19xx)(-).z80", 0x08e17, 0x1c3f06f9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbentbear, Specbentbear, Spectrum)
STD_ROM_FN(Specbentbear)

struct BurnDriver BurnSpecbentbear = {
	"spec_bentbear", NULL, "spec_spectrum", NULL, "19xx",
	"Bentley Bear (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbentbearRomInfo, SpecbentbearRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bergwacht (German) (48K)

static struct BurnRomInfo SpecbergwachRomDesc[] = {
	{ "Bergwacht (19xx)(-)(de).z80", 0x0235d, 0xd3e0b65c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbergwach, Specbergwach, Spectrum)
STD_ROM_FN(Specbergwach)

struct BurnDriver BurnSpecbergwach = {
	"spec_bergwach", NULL, "spec_spectrum", NULL, "19xx",
	"Bergwacht (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbergwachRomInfo, SpecbergwachRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bermuda Triangle, The (48K)

static struct BurnRomInfo SpecbertrithRomDesc[] = {
	{ "Bermuda Triangle, The (1991)(Zenobi Software).z80", 0x0a0ab, 0x1f50d667, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbertrith, Specbertrith, Spectrum)
STD_ROM_FN(Specbertrith)

struct BurnDriver BurnSpecbertrith = {
	"spec_bertrith", NULL, "spec_spectrum", NULL, "1991",
	"Bermuda Triangle, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbertrithRomInfo, SpecbertrithRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bertie Bug (48K)

static struct BurnRomInfo SpecbertbugRomDesc[] = {
	{ "Bertie Bug (19xx)(-).z80", 0x01b0e, 0xf36b7efd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbertbug, Specbertbug, Spectrum)
STD_ROM_FN(Specbertbug)

struct BurnDriver BurnSpecbertbug = {
	"spec_bertbug", NULL, "spec_spectrum", NULL, "19xx",
	"Bertie Bug (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbertbugRomInfo, SpecbertbugRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Best Thing Since Sliced Bread, The (48K)

static struct BurnRomInfo SpecbtssbtRomDesc[] = {
	{ "Best Thing Since Sliced Bread, The (1998)(CSSCGC).z80", 0x00d86, 0x413ea5bd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbtssbt, Specbtssbt, Spectrum)
STD_ROM_FN(Specbtssbt)

struct BurnDriver BurnSpecbtssbt = {
	"spec_btssbt", NULL, "spec_spectrum", NULL, "1998",
	"Best Thing Since Sliced Bread, The (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbtssbtRomInfo, SpecbtssbtRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bestial Warrior (Spanish) (48K)

static struct BurnRomInfo SpecbestwarrRomDesc[] = {
	{ "Bestial Warrior (1989)(Dinamic Software)(es).z80", 0x09e54, 0x53c7f498, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbestwarr, Specbestwarr, Spectrum)
STD_ROM_FN(Specbestwarr)

struct BurnDriver BurnSpecbestwarr = {
	"spec_bestwarr", NULL, "spec_spectrum", NULL, "1989",
	"Bestial Warrior (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbestwarrRomInfo, SpecbestwarrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Betu 2005 (hu) (48K)

static struct BurnRomInfo Specbetu2005RomDesc[] = {
	{ "Betu 2005 (2005)(NyitraiSOFT)(hu).z80", 0x091b5, 0x1fd014eb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbetu2005, Specbetu2005, Spectrum)
STD_ROM_FN(Specbetu2005)

struct BurnDriver BurnSpecbetu2005 = {
	"spec_betu2005", NULL, "spec_spectrum", NULL, "2005",
	"Betu 2005 (hu) (48K)\0", NULL, "NyitraiSOFT", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbetu2005RomInfo, Specbetu2005RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Beyond El Dorado (48K)

static struct BurnRomInfo SpecbeyeldorRomDesc[] = {
	{ "Beyond El Dorado (1995)(Zenobi Software).z80", 0x0ad1d, 0xae0f9b00, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbeyeldor, Specbeyeldor, Spectrum)
STD_ROM_FN(Specbeyeldor)

struct BurnDriver BurnSpecbeyeldor = {
	"spec_beyeldor", NULL, "spec_spectrum", NULL, "1995",
	"Beyond El Dorado (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbeyeldorRomInfo, SpecbeyeldorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Beyond the Ice Palace (48K)

static struct BurnRomInfo Specbeyicepa_48RomDesc[] = {
	{ "Beyond the Ice Palace (1988)(Elite Systems).z80", 0x09e04, 0xf039a5d9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbeyicepa_48, Specbeyicepa_48, Spectrum)
STD_ROM_FN(Specbeyicepa_48)

struct BurnDriver BurnSpecbeyicepa_48 = {
	"spec_beyicepa_48", "spec_beyicepa", "spec_spectrum", NULL, "1988",
	"Beyond the Ice Palace (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbeyicepa_48RomInfo, Specbeyicepa_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Beyond the Ice Palace (128K)

static struct BurnRomInfo SpecbeyicepaRomDesc[] = {
	{ "Beyond the Ice Palace (1988)(Elite Systems)[128K].z80", 0x0bc09, 0x3bb06772, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbeyicepa, Specbeyicepa, Spectrum)
STD_ROM_FN(Specbeyicepa)

struct BurnDriver BurnSpecbeyicepa = {
	"spec_beyicepa", NULL, "spec_spec128", NULL, "1988",
	"Beyond the Ice Palace (128K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbeyicepaRomInfo, SpecbeyicepaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Biff (48K)

static struct BurnRomInfo SpecbiffRomDesc[] = {
	{ "Biff (1992)(Beyond Belief).z80", 0x098aa, 0x2e29c76d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbiff, Specbiff, Spectrum)
STD_ROM_FN(Specbiff)

struct BurnDriver BurnSpecbiff = {
	"spec_biff", NULL, "spec_spectrum", NULL, "1992",
	"Biff (48K)\0", NULL, "Beyond Belief", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbiffRomInfo, SpecbiffRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Big Bad John (48K)

static struct BurnRomInfo SpecbigbadjoRomDesc[] = {
	{ "Big Bad John (1986)(Tynesoft).z80", 0x085e1, 0xae94c3c2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbigbadjo, Specbigbadjo, Spectrum)
STD_ROM_FN(Specbigbadjo)

struct BurnDriver BurnSpecbigbadjo = {
	"spec_bigbadjo", NULL, "spec_spectrum", NULL, "1986",
	"Big Bad John (48K)\0", NULL, "Tynesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbigbadjoRomInfo, SpecbigbadjoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Big Ben Strikes Again (48K)

static struct BurnRomInfo SpecbibestagRomDesc[] = {
	{ "Big Ben Strikes Again (1985)(Artic Computing).z80", 0x087b1, 0x3b161025, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbibestag, Specbibestag, Spectrum)
STD_ROM_FN(Specbibestag)

struct BurnDriver BurnSpecbibestag = {
	"spec_bibestag", NULL, "spec_spectrum", NULL, "1985",
	"Big Ben Strikes Again (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbibestagRomInfo, SpecbibestagRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Big Match Soccer (48K)

static struct BurnRomInfo SpecbigmatsoRomDesc[] = {
	{ "Big Match Soccer (1983)(Wintersoft).z80", 0x02107, 0x7cfb5046, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbigmatso, Specbigmatso, Spectrum)
STD_ROM_FN(Specbigmatso)

struct BurnDriver BurnSpecbigmatso = {
	"spec_bigmatso", NULL, "spec_spectrum", NULL, "1983",
	"Big Match Soccer (48K)\0", NULL, "Wintersoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbigmatsoRomInfo, SpecbigmatsoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Big Railway Adventure (48K)

static struct BurnRomInfo SpecbigraiadRomDesc[] = {
	{ "Big Railway Adventure (19xx)(Mark Gipson).z80", 0x09af9, 0xda4b707d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbigraiad, Specbigraiad, Spectrum)
STD_ROM_FN(Specbigraiad)

struct BurnDriver BurnSpecbigraiad = {
	"spec_bigraiad", NULL, "spec_spectrum", NULL, "19xx",
	"Big Railway Adventure (48K)\0", NULL, "Mark Gipson", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbigraiadRomInfo, SpecbigraiadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Big Sleaze, The (Part 1 of 3) (48K)

static struct BurnRomInfo SpecbigslzRomDesc[] = {
	{ "Big Sleaze, The (1987)(Piranha)(Part 1 of 3).z80", 0x0a249, 0x06337322, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbigslz, Specbigslz, Spectrum)
STD_ROM_FN(Specbigslz)

struct BurnDriver BurnSpecbigslz = {
	"spec_bigslz", NULL, "spec_spectrum", NULL, "1987",
	"Big Sleaze, The (Part 1 of 3) (48K)\0", NULL, "Piranha", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbigslzRomInfo, SpecbigslzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Big Sleaze, The (Part 2 of 3) (48K)

static struct BurnRomInfo Specbigslz2RomDesc[] = {
	{ "Big Sleaze, The (1987)(Piranha)(Part 2 of 3).z80", 0x0939c, 0xd0defa8e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbigslz2, Specbigslz2, Spectrum)
STD_ROM_FN(Specbigslz2)

struct BurnDriver BurnSpecbigslz2 = {
	"spec_bigslz2", "spec_bigslz", "spec_spectrum", NULL, "1987",
	"Big Sleaze, The (Part 2 of 3) (48K)\0", NULL, "Piranha", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbigslz2RomInfo, Specbigslz2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Big Sleaze, The (Part 3 of 3) (48K)

static struct BurnRomInfo Specbigslz3RomDesc[] = {
	{ "Big Sleaze, The (1987)(Piranha)(Part 3 of 3).z80", 0x0a854, 0xfc3aea26, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbigslz3, Specbigslz3, Spectrum)
STD_ROM_FN(Specbigslz3)

struct BurnDriver BurnSpecbigslz3 = {
	"spec_bigslz3", "spec_bigslz", "spec_spectrum", NULL, "1987",
	"Big Sleaze, The (Part 3 of 3) (48K)\0", NULL, "Piranha", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbigslz3RomInfo, Specbigslz3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Big Trouble in Little China (48K)

static struct BurnRomInfo SpecbitrlichRomDesc[] = {
	{ "Big Trouble in Little China (1986)(Electric Dreams Software).z80", 0x09ab4, 0xeffee870, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbitrlich, Specbitrlich, Spectrum)
STD_ROM_FN(Specbitrlich)

struct BurnDriver BurnSpecbitrlich = {
	"spec_bitrlich", NULL, "spec_spectrum", NULL, "1986",
	"Big Trouble in Little China (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbitrlichRomInfo, SpecbitrlichRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bigfoot (48K)

static struct BurnRomInfo SpecbigfootRomDesc[] = {
	{ "Bigfoot (1988)(Codemasters).z80", 0x098aa, 0xd831f8fb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbigfoot, Specbigfoot, Spectrum)
STD_ROM_FN(Specbigfoot)

struct BurnDriver BurnSpecbigfoot = {
	"spec_bigfoot", NULL, "spec_spectrum", NULL, "1988",
	"Bigfoot (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbigfootRomInfo, SpecbigfootRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Biggles - The Secret Weapon (48K)

static struct BurnRomInfo SpecbithseweRomDesc[] = {
	{ "Biggles - The Secret Weapon (1986)(Mirrorsoft).z80", 0x075fc, 0x0805dad4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbithsewe, Specbithsewe, Spectrum)
STD_ROM_FN(Specbithsewe)

struct BurnDriver BurnSpecbithsewe = {
	"spec_bithsewe", NULL, "spec_spectrum", NULL, "1986",
	"Biggles - The Secret Weapon (48K)\0", NULL, "Mirrorsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbithseweRomInfo, SpecbithseweRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Biggles - Timewarp (48K)

static struct BurnRomInfo SpecbiggtimeRomDesc[] = {
	{ "Biggles - Timewarp (1986)(Mirrorsoft).z80", 0x09c51, 0xbc038109, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbiggtime, Specbiggtime, Spectrum)
STD_ROM_FN(Specbiggtime)

struct BurnDriver BurnSpecbiggtime = {
	"spec_biggtime", NULL, "spec_spectrum", NULL, "1986",
	"Biggles - Timewarp (48K)\0", NULL, "Mirrorsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbiggtimeRomInfo, SpecbiggtimeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bignose's USA Adventure (48K)

static struct BurnRomInfo SpecbiusaadvRomDesc[] = {
	{ "Bignose's USA Adventure (1992)(Codemasters).z80", 0x084ad, 0xebcbd55c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbiusaadv, Specbiusaadv, Spectrum)
STD_ROM_FN(Specbiusaadv)

struct BurnDriver BurnSpecbiusaadv = {
	"spec_biusaadv", NULL, "spec_spectrum", NULL, "1992",
	"Bignose's USA Adventure (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbiusaadvRomInfo, SpecbiusaadvRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Biljard (sv) (48K)

static struct BurnRomInfo SpecbiljardsRomDesc[] = {
	{ "Biljard (1987)(Birger Larsson)(sv).z80", 0x0359c, 0x395104d0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbiljards, Specbiljards, Spectrum)
STD_ROM_FN(Specbiljards)

struct BurnDriver BurnSpecbiljards = {
	"spec_biljards", NULL, "spec_spectrum", NULL, "1987",
	"Biljard (sv) (48K)\0", NULL, "Birger Larsson", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbiljardsRomInfo, SpecbiljardsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Billy Bong (48K)

static struct BurnRomInfo SpecbillbongRomDesc[] = {
	{ "Billy Bong (1984)(MC Lothlorien).z80", 0x05189, 0xc730481d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbillbong, Specbillbong, Spectrum)
STD_ROM_FN(Specbillbong)

struct BurnDriver BurnSpecbillbong = {
	"spec_billbong", NULL, "spec_spectrum", NULL, "1984",
	"Billy Bong (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbillbongRomInfo, SpecbillbongRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Billy the Kid (48K)

static struct BurnRomInfo SpecbillkidRomDesc[] = {
	{ "Billy the Kid (1989)(Virgin Mastertronic).z80", 0x07b9c, 0xb2e6d0ce, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbillkid, Specbillkid, Spectrum)
STD_ROM_FN(Specbillkid)

struct BurnDriver BurnSpecbillkid = {
	"spec_billkid", NULL, "spec_spectrum", NULL, "1989",
	"Billy the Kid (48K)\0", NULL, "Virgin Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbillkidRomInfo, SpecbillkidRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bimbo (48K)

static struct BurnRomInfo SpecbimboRomDesc[] = {
	{ "Bimbo (1983)(Joe the Lion).z80", 0x02b8d, 0x036d0050, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbimbo, Specbimbo, Spectrum)
STD_ROM_FN(Specbimbo)

struct BurnDriver BurnSpecbimbo = {
	"spec_bimbo", NULL, "spec_spectrum", NULL, "1983",
	"Bimbo (48K)\0", NULL, "Joe the Lion", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbimboRomInfo, SpecbimboRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bingo (Spanish) (Taller de Aplicaciones Informaticas) (48K)

static struct BurnRomInfo SpecbingoestRomDesc[] = {
	{ "Bingo (1983)(Taller de Aplicaciones Informaticas)(es).z80", 0x03f6f, 0xb1ae9f69, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbingoest, Specbingoest, Spectrum)
STD_ROM_FN(Specbingoest)

struct BurnDriver BurnSpecbingoest = {
	"spec_bingoest", NULL, "spec_spectrum", NULL, "1983",
	"Bingo (Spanish) (Taller de Aplicaciones Informaticas) (48K)\0", NULL, "Taller de Aplicaciones Informaticas", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbingoestRomInfo, SpecbingoestRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bingo (48K)

static struct BurnRomInfo SpecbingoRomDesc[] = {
	{ "Bingo (1984)(Tynesoft).z80", 0x07d46, 0x251d3182, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbingo, Specbingo, Spectrum)
STD_ROM_FN(Specbingo)

struct BurnDriver BurnSpecbingo = {
	"spec_bingo", NULL, "spec_spectrum", NULL, "1984",
	"Bingo (48K)\0", NULL, "Tynesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbingoRomInfo, SpecbingoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bingo (Spanish) (Creativos Editoriales) (48K)

static struct BurnRomInfo SpecbingoescRomDesc[] = {
	{ "Bingo (1986)(Creativos Editoriales)(es).z80", 0x07026, 0x47f63615, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbingoesc, Specbingoesc, Spectrum)
STD_ROM_FN(Specbingoesc)

struct BurnDriver BurnSpecbingoesc = {
	"spec_bingoesc", NULL, "spec_spectrum", NULL, "1986",
	"Bingo (Spanish) (Creativos Editoriales) (48K)\0", NULL, "Creativos Editoriales", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbingoescRomInfo, SpecbingoescRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bionic Commando (48K)

static struct BurnRomInfo Specbionicc_48RomDesc[] = {
	{ "Bionic Commando (1988)(Go!).z80", 0x09ba6, 0x69a1c19d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbionicc_48, Specbionicc_48, Spectrum)
STD_ROM_FN(Specbionicc_48)

struct BurnDriver BurnSpecbionicc_48 = {
	"spec_bionicc_48", "spec_bionicc", "spec_spectrum", NULL, "1988",
	"Bionic Commando (48K)\0", NULL, "Go!", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbionicc_48RomInfo, Specbionicc_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bionic Commando (128K)

static struct BurnRomInfo SpecbioniccRomDesc[] = {
	{ "Bionic Commando (1988)(Go!)[128K].z80", 0x166f5, 0x8eb507eb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbionicc, Specbionicc, Spectrum)
STD_ROM_FN(Specbionicc)

struct BurnDriver BurnSpecbionicc = {
	"spec_bionicc", NULL, "spec_spec128", NULL, "1988",
	"Bionic Commando (128K)\0", NULL, "Go!", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbioniccRomInfo, SpecbioniccRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bionic Ninja (48K)

static struct BurnRomInfo SpecbionninjRomDesc[] = {
	{ "Bionic Ninja (1989)(Zeppelin Games).z80", 0x08602, 0x93139c73, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbionninj, Specbionninj, Spectrum)
STD_ROM_FN(Specbionninj)

struct BurnDriver BurnSpecbionninj = {
	"spec_bionninj", NULL, "spec_spectrum", NULL, "1989",
	"Bionic Ninja (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbionninjRomInfo, SpecbionninjRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Birds and the Bees 2, The - Antics (48K)

static struct BurnRomInfo SpecbibethanRomDesc[] = {
	{ "Birds and the Bees 2, The - Antics (1984)(Bug-Byte Software).z80", 0x0c01e, 0x0f869141, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbibethan, Specbibethan, Spectrum)
STD_ROM_FN(Specbibethan)

struct BurnDriver BurnSpecbibethan = {
	"spec_bibethan", NULL, "spec_spectrum", NULL, "1984",
	"Birds and the Bees 2, The - Antics (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbibethanRomInfo, SpecbibethanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Birds and the Bees, The (48K)

static struct BurnRomInfo SpecbirbeethRomDesc[] = {
	{ "Birds and the Bees, The (1983)(Bug-Byte Software).z80", 0x06a26, 0x9e34a9c1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbirbeeth, Specbirbeeth, Spectrum)
STD_ROM_FN(Specbirbeeth)

struct BurnDriver BurnSpecbirbeeth = {
	"spec_birbeeth", NULL, "spec_spectrum", NULL, "1983",
	"Birds and the Bees, The (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbirbeethRomInfo, SpecbirbeethRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bismarck (48K)

static struct BurnRomInfo SpecbismarckRomDesc[] = {
	{ "Bismarck (1987)(PSS).z80", 0x09e1f, 0x77212493, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbismarck, Specbismarck, Spectrum)
STD_ROM_FN(Specbismarck)

struct BurnDriver BurnSpecbismarck = {
	"spec_bismarck", NULL, "spec_spectrum", NULL, "1987",
	"Bismarck (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbismarckRomInfo, SpecbismarckRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bismark - Strategy Two (48K)

static struct BurnRomInfo SpecbisstrtwRomDesc[] = {
	{ "Bismark - Strategy Two (1983)(ASP Software).z80", 0x05dee, 0xbf2b7965, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbisstrtw, Specbisstrtw, Spectrum)
STD_ROM_FN(Specbisstrtw)

struct BurnDriver BurnSpecbisstrtw = {
	"spec_bisstrtw", NULL, "spec_spectrum", NULL, "1983",
	"Bismark - Strategy Two (48K)\0", NULL, "ASP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbisstrtwRomInfo, SpecbisstrtwRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bitwa o Wyspe II (48K)

static struct BurnRomInfo SpecbiwyiiRomDesc[] = {
	{ "Bitwa o Wyspe II (19xx)(-).z80", 0x08f24, 0x4d58b8a3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbiwyii, Specbiwyii, Spectrum)
STD_ROM_FN(Specbiwyii)

struct BurnDriver BurnSpecbiwyii = {
	"spec_biwyii", NULL, "spec_spectrum", NULL, "19xx",
	"Bitwa o Wyspe II (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbiwyiiRomInfo, SpecbiwyiiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Biz, The (48K)

static struct BurnRomInfo SpecbiztheRomDesc[] = {
	{ "Biz, The (1984)(Virgin Games).z80", 0x0a1cc, 0x23892c0a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbizthe, Specbizthe, Spectrum)
STD_ROM_FN(Specbizthe)

struct BurnDriver BurnSpecbizthe = {
	"spec_bizthe", NULL, "spec_spectrum", NULL, "1984",
	"Biz, The (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbiztheRomInfo, SpecbiztheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Black Arrow (48K)

static struct BurnRomInfo SpecblacarroRomDesc[] = {
	{ "Black Arrow (1986)(Coyote Software).z80", 0x06593, 0x951530b0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblacarro, Specblacarro, Spectrum)
STD_ROM_FN(Specblacarro)

struct BurnDriver BurnSpecblacarro = {
	"spec_blacarro", NULL, "spec_spectrum", NULL, "1986",
	"Black Arrow (48K)\0", NULL, "Coyote Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblacarroRomInfo, SpecblacarroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Black Crystal (Part 1 of 6) (48K)

static struct BurnRomInfo SpecblckrystRomDesc[] = {
	{ "Black Crystal (1982)(Carnell Software)(Part 1 of 6).z80", 0x074d1, 0x552c6493, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblckryst, Specblckryst, Spectrum)
STD_ROM_FN(Specblckryst)

struct BurnDriver BurnSpecblckryst = {
	"spec_blckryst", NULL, "spec_spectrum", NULL, "1982",
	"Black Crystal (Part 1 of 6) (48K)\0", NULL, "Carnell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblckrystRomInfo, SpecblckrystRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Black Crystal (Part 2 of 6) (48K)

static struct BurnRomInfo Specblckryst2RomDesc[] = {
	{ "Black Crystal (1982)(Carnell Software)(Part 2 of 6).z80", 0x0595d, 0x8fc9755c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblckryst2, Specblckryst2, Spectrum)
STD_ROM_FN(Specblckryst2)

struct BurnDriver BurnSpecblckryst2 = {
	"spec_blckryst2", "spec_blckryst", "spec_spectrum", NULL, "1982",
	"Black Crystal (Part 2 of 6) (48K)\0", NULL, "Carnell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specblckryst2RomInfo, Specblckryst2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Black Crystal (Part 3 of 6) (48K)

static struct BurnRomInfo Specblckryst3RomDesc[] = {
	{ "Black Crystal (1982)(Carnell Software)(Part 3 of 6).z80", 0x05c61, 0x33ac9381, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblckryst3, Specblckryst3, Spectrum)
STD_ROM_FN(Specblckryst3)

struct BurnDriver BurnSpecblckryst3 = {
	"spec_blckryst3", "spec_blckryst", "spec_spectrum", NULL, "1982",
	"Black Crystal (Part 3 of 6) (48K)\0", NULL, "Carnell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specblckryst3RomInfo, Specblckryst3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Black Crystal (Part 4 of 6) (48K)

static struct BurnRomInfo Specblckryst4RomDesc[] = {
	{ "Black Crystal (1982)(Carnell Software)(Part 4 of 6).z80", 0x096b1, 0xa2d787ca, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblckryst4, Specblckryst4, Spectrum)
STD_ROM_FN(Specblckryst4)

struct BurnDriver BurnSpecblckryst4 = {
	"spec_blckryst4", "spec_blckryst", "spec_spectrum", NULL, "1982",
	"Black Crystal (Part 4 of 6) (48K)\0", NULL, "Carnell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specblckryst4RomInfo, Specblckryst4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Black Crystal (Part 5 of 6) (48K)

static struct BurnRomInfo Specblckryst5RomDesc[] = {
	{ "Black Crystal (1982)(Carnell Software)(Part 5 of 6).z80", 0x05c19, 0x128d35f1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblckryst5, Specblckryst5, Spectrum)
STD_ROM_FN(Specblckryst5)

struct BurnDriver BurnSpecblckryst5 = {
	"spec_blckryst5", "spec_blckryst", "spec_spectrum", NULL, "1982",
	"Black Crystal (Part 5 of 6) (48K)\0", NULL, "Carnell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specblckryst5RomInfo, Specblckryst5RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Black Crystal (Part 6 of 6) (48K)

static struct BurnRomInfo Specblckryst6RomDesc[] = {
	{ "Black Crystal (1982)(Carnell Software)(Part 6 of 6).z80", 0x04c56, 0x8fbde763, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblckryst6, Specblckryst6, Spectrum)
STD_ROM_FN(Specblckryst6)

struct BurnDriver BurnSpecblckryst6 = {
	"spec_blckryst6", "spec_blckryst", "spec_spectrum", NULL, "1982",
	"Black Crystal (Part 6 of 6) (48K)\0", NULL, "Carnell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specblckryst6RomInfo, Specblckryst6RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Black Friday (German) (48K)

static struct BurnRomInfo SpecblacfridRomDesc[] = {
	{ "Black Friday (1983)(EMM Software)(de).z80", 0x05360, 0xeffe591a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblacfrid, Specblacfrid, Spectrum)
STD_ROM_FN(Specblacfrid)

struct BurnDriver BurnSpecblacfrid = {
	"spec_blacfrid", NULL, "spec_spectrum", NULL, "1983",
	"Black Friday (German) (48K)\0", NULL, "EMM Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblacfridRomInfo, SpecblacfridRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Black Hawk (48K)

static struct BurnRomInfo SpecblachawkRomDesc[] = {
	{ "Black Hawk (1984)(Creative Sparks).z80", 0x07849, 0x4208032a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblachawk, Specblachawk, Spectrum)
STD_ROM_FN(Specblachawk)

struct BurnDriver BurnSpecblachawk = {
	"spec_blachawk", NULL, "spec_spectrum", NULL, "1984",
	"Black Hawk (48K)\0", NULL, "Creative Sparks", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblachawkRomInfo, SpecblachawkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Black Hole, The (48K)

static struct BurnRomInfo SpecblaholthRomDesc[] = {
	{ "Black Hole, The (1983)(Quest Microsoftware).z80", 0x032b4, 0x81e9de9f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblaholth, Specblaholth, Spectrum)
STD_ROM_FN(Specblaholth)

struct BurnDriver BurnSpecblaholth = {
	"spec_blaholth", NULL, "spec_spectrum", NULL, "1983",
	"Black Hole, The (48K)\0", NULL, "Quest Microsoftware", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblaholthRomInfo, SpecblaholthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Black Jack (48K)

static struct BurnRomInfo SpecblacjackRomDesc[] = {
	{ "Black Jack (19xx)(-).z80", 0x016aa, 0x52b1adc5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblacjack, Specblacjack, Spectrum)
STD_ROM_FN(Specblacjack)

struct BurnDriver BurnSpecblacjack = {
	"spec_blacjack", NULL, "spec_spectrum", NULL, "19xx",
	"Black Jack (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblacjackRomInfo, SpecblacjackRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Black Jack (da) (48K)

static struct BurnRomInfo SpecblacjckdRomDesc[] = {
	{ "Black Jack (19xx)(ZX Data)(da).z80", 0x05f01, 0x47b9092d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblacjckd, Specblacjckd, Spectrum)
STD_ROM_FN(Specblacjckd)

struct BurnDriver BurnSpecblacjckd = {
	"spec_blacjckd", NULL, "spec_spectrum", NULL, "19xx",
	"Black Jack (da) (48K)\0", NULL, "ZX Data", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblacjckdRomInfo, SpecblacjckdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Black Lamp (128K)

static struct BurnRomInfo SpecblaclampRomDesc[] = {
	{ "Black Lamp (1988)(Firebird Software)[128K].z80", 0x0bcf1, 0x04d92b07, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblaclamp, Specblaclamp, Spectrum)
STD_ROM_FN(Specblaclamp)

struct BurnDriver BurnSpecblaclamp = {
	"spec_blaclamp", NULL, "spec_spec128", NULL, "1988",
	"Black Lamp (128K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblaclampRomInfo, SpecblaclampRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Black Magic (48K)

static struct BurnRomInfo SpecblacmagiRomDesc[] = {
	{ "Black Magic (1987)(U.S. Gold).z80", 0x09138, 0x9c5f9edb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblacmagi, Specblacmagi, Spectrum)
STD_ROM_FN(Specblacmagi)

struct BurnDriver BurnSpecblacmagi = {
	"spec_blacmagi", NULL, "spec_spectrum", NULL, "1987",
	"Black Magic (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblacmagiRomInfo, SpecblacmagiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Black Planet - Intro (48K)

static struct BurnRomInfo SpecblckplntRomDesc[] = {
	{ "Black Planet - Intro (1983)(Phipps Associates).z80", 0x051d3, 0x1708aeb8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblckplnt, Specblckplnt, Spectrum)
STD_ROM_FN(Specblckplnt)

struct BurnDriver BurnSpecblckplnt = {
	"spec_blckplnt", NULL, "spec_spectrum", NULL, "1983",
	"Black Planet - Intro (48K)\0", NULL, "Phipps Associates", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblckplntRomInfo, SpecblckplntRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Black Planet (48K)

static struct BurnRomInfo SpecblckplntgRomDesc[] = {
	{ "Black Planet (1983)(Phipps Associates).z80", 0x09d78, 0x19d7b88a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblckplntg, Specblckplntg, Spectrum)
STD_ROM_FN(Specblckplntg)

struct BurnDriver BurnSpecblckplntg = {
	"spec_blckplntg", "spec_blckplnt", "spec_spectrum", NULL, "1983",
	"Black Planet (48K)\0", NULL, "Phipps Associates", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblckplntgRomInfo, SpecblckplntgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Black Tiger (48K)

static struct BurnRomInfo Specblktiger_48RomDesc[] = {
	{ "Black Tiger (1989)(U.S. Gold).z80", 0x086a4, 0x22b42c5d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblktiger_48, Specblktiger_48, Spectrum)
STD_ROM_FN(Specblktiger_48)

struct BurnDriver BurnSpecblktiger_48 = {
	"spec_blktiger_48", "spec_blktiger", "spec_spectrum", NULL, "1989",
	"Black Tiger (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specblktiger_48RomInfo, Specblktiger_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Black Tiger (128K)

static struct BurnRomInfo SpecblktigerRomDesc[] = {
	{ "Black Tiger (1989)(U.S. Gold)[128K].z80", 0x0a1a1, 0xc9b3da9b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblktiger, Specblktiger, Spectrum)
STD_ROM_FN(Specblktiger)

struct BurnDriver BurnSpecblktiger = {
	"spec_blktiger", NULL, "spec_spec128", NULL, "1989",
	"Black Tiger (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblktigerRomInfo, SpecblktigerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Black Tower (Part 1 of 2) (48K)

static struct BurnRomInfo SpecblktowerRomDesc[] = {
	{ "Black Tower (1984)(Zenobi Software)(Part 1 of 2).z80", 0x08f1d, 0x8dbaa78e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblktower, Specblktower, Spectrum)
STD_ROM_FN(Specblktower)

struct BurnDriver BurnSpecblktower = {
	"spec_blktower", NULL, "spec_spectrum", NULL, "1984",
	"Black Tower (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblktowerRomInfo, SpecblktowerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Black Tower (Part 2 of 2) (48K)

static struct BurnRomInfo Specblktower2RomDesc[] = {
	{ "Black Tower (1984)(Zenobi Software)(Part 2 of 2).z80", 0x08d0c, 0x86f74be9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblktower2, Specblktower2, Spectrum)
STD_ROM_FN(Specblktower2)

struct BurnDriver BurnSpecblktower2 = {
	"spec_blktower2", "spec_blktower", "spec_spectrum", NULL, "1984",
	"Black Tower (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specblktower2RomInfo, Specblktower2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Black Tower II - A Serpentine Tale (48K)

static struct BurnRomInfo SpecbtiiastRomDesc[] = {
	{ "Black Tower II - A Serpentine Tale (1993)(Zenobi Software).z80", 0x08fcf, 0x840e5f6b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbtiiast, Specbtiiast, Spectrum)
STD_ROM_FN(Specbtiiast)

struct BurnDriver BurnSpecbtiiast = {
	"spec_btiiast", NULL, "spec_spectrum", NULL, "1993",
	"Black Tower II - A Serpentine Tale (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbtiiastRomInfo, SpecbtiiastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Black Tower, The (48K)

static struct BurnRomInfo SpecblatowthRomDesc[] = {
	{ "Black Tower, The (1984)(Dollarsoft).z80", 0x09317, 0x8f5bd7c5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblatowth, Specblatowth, Spectrum)
STD_ROM_FN(Specblatowth)

struct BurnDriver BurnSpecblatowth = {
	"spec_blatowth", NULL, "spec_spectrum", NULL, "1984",
	"Black Tower, The (48K)\0", NULL, "Dollarsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblatowthRomInfo, SpecblatowthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blackbeard (Spanish) (48K)

static struct BurnRomInfo SpecblackbeasRomDesc[] = {
	{ "Blackbeard (1988)(Topo Soft)(es).z80", 0x0c01e, 0x32737fb9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblackbeas, Specblackbeas, Spectrum)
STD_ROM_FN(Specblackbeas)

struct BurnDriver BurnSpecblackbeas = {
	"spec_blackbeas", "spec_blackbea", "spec_spectrum", NULL, "1988",
	"Blackbeard (Spanish) (48K)\0", NULL, "Topo Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblackbeasRomInfo, SpecblackbeasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blackbeard (48K)

static struct BurnRomInfo SpecblackbeaRomDesc[] = {
	{ "Blackbeard (1989)(Kixx)[re-release].z80", 0x09dd8, 0x7722649e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblackbea, Specblackbea, Spectrum)
STD_ROM_FN(Specblackbea)

struct BurnDriver BurnSpecblackbea = {
	"spec_blackbea", NULL, "spec_spectrum", NULL, "1989",
	"Blackbeard (48K)\0", NULL, "Kixx", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblackbeaRomInfo, SpecblackbeaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blackjack (48K)

static struct BurnRomInfo SpecblackjacRomDesc[] = {
	{ "Blackjack (1984)(Oxford Computer Publishing).z80", 0x027b1, 0xc623a03c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblackjac, Specblackjac, Spectrum)
STD_ROM_FN(Specblackjac)

struct BurnDriver BurnSpecblackjac = {
	"spec_blackjac", NULL, "spec_spectrum", NULL, "1984",
	"Blackjack (48K)\0", NULL, "Oxford Computer Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblackjacRomInfo, SpecblackjacRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blade Alley (48K)

static struct BurnRomInfo SpecbladalleRomDesc[] = {
	{ "Blade Alley (1983)(PSS).z80", 0x06caa, 0x5a919ad6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbladalle, Specbladalle, Spectrum)
STD_ROM_FN(Specbladalle)

struct BurnDriver BurnSpecbladalle = {
	"spec_bladalle", NULL, "spec_spectrum", NULL, "1983",
	"Blade Alley (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbladalleRomInfo, SpecbladalleRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blade Runner (48K)

static struct BurnRomInfo SpecbladrunnRomDesc[] = {
	{ "Blade Runner (1985)(CRL Group).z80", 0x0aada, 0x5de10490, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbladrunn, Specbladrunn, Spectrum)
STD_ROM_FN(Specbladrunn)

struct BurnDriver BurnSpecbladrunn = {
	"spec_bladrunn", NULL, "spec_spectrum", NULL, "1985",
	"Blade Runner (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbladrunnRomInfo, SpecbladrunnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blade Warrior (48K)

static struct BurnRomInfo SpecbladwarrRomDesc[] = {
	{ "Blade Warrior (1988)(Codemasters).z80", 0x0966a, 0x3716a173, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbladwarr, Specbladwarr, Spectrum)
STD_ROM_FN(Specbladwarr)

struct BurnDriver BurnSpecbladwarr = {
	"spec_bladwarr", NULL, "spec_spectrum", NULL, "1988",
	"Blade Warrior (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbladwarrRomInfo, SpecbladwarrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blasteroids (48K)

static struct BurnRomInfo Specblastero_48RomDesc[] = {
	{ "Blasteroids (1987)(Image Works).z80", 0x0822d, 0x50fb88b0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblastero_48, Specblastero_48, Spectrum)
STD_ROM_FN(Specblastero_48)

struct BurnDriver BurnSpecblastero_48 = {
	"spec_blastero_48", "spec_blastero", "spec_spectrum", NULL, "1987",
	"Blasteroids (48K)\0", NULL, "Image Works", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specblastero_48RomInfo, Specblastero_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blasteroids (128K)

static struct BurnRomInfo SpecblasteroRomDesc[] = {
	{ "Blasteroids (1987)(Image Works)[128K].z80", 0x09ca3, 0x44b73f8d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblastero, Specblastero, Spectrum)
STD_ROM_FN(Specblastero)

struct BurnDriver BurnSpecblastero = {
	"spec_blastero", NULL, "spec_spec128", NULL, "1987",
	"Blasteroids (128K)\0", NULL, "Image Works", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblasteroRomInfo, SpecblasteroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blazing Thunder (48K)

static struct BurnRomInfo SpecblazthunRomDesc[] = {
	{ "Blazing Thunder (1990)(Hi-Tec Software).z80", 0x0a058, 0x41afcb85, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblazthun, Specblazthun, Spectrum)
STD_ROM_FN(Specblazthun)

struct BurnDriver BurnSpecblazthun = {
	"spec_blazthun", NULL, "spec_spectrum", NULL, "1990",
	"Blazing Thunder (48K)\0", NULL, "Hi-Tec Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblazthunRomInfo, SpecblazthunRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blind Alley (48K)

static struct BurnRomInfo SpecblinalleRomDesc[] = {
	{ "Blind Alley (1983)(Sunshine Books).z80", 0x025fb, 0x7d7bf538, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblinalle, Specblinalle, Spectrum)
STD_ROM_FN(Specblinalle)

struct BurnDriver BurnSpecblinalle = {
	"spec_blinalle", NULL, "spec_spectrum", NULL, "1983",
	"Blind Alley (48K)\0", NULL, "Sunshine Books", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblinalleRomInfo, SpecblinalleRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blinky's Scary School (48K)

static struct BurnRomInfo SpecblinkysRomDesc[] = {
	{ "Blinky's Scary School (1990)(Zeppelin Games).z80", 0x09cdf, 0x65b0cd8e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblinkys, Specblinkys, Spectrum)
STD_ROM_FN(Specblinkys)

struct BurnDriver BurnSpecblinkys = {
	"spec_blinkys", NULL, "spec_spectrum", NULL, "1990",
	"Blinky's Scary School (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblinkysRomInfo, SpecblinkysRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blip! (48K)

static struct BurnRomInfo SpecblipRomDesc[] = {
	{ "Blip! (1989)(Silverbird Software).z80", 0x0341a, 0xbca7694a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblip, Specblip, Spectrum)
STD_ROM_FN(Specblip)

struct BurnDriver BurnSpecblip = {
	"spec_blip", NULL, "spec_spectrum", NULL, "1989",
	"Blip! (48K)\0", NULL, "Silverbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblipRomInfo, SpecblipRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blitz (48K)

static struct BurnRomInfo SpecblitzRomDesc[] = {
	{ "Blitz (1997)(CSSCGC).z80", 0x01066, 0x83ebde18, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblitz, Specblitz, Spectrum)
STD_ROM_FN(Specblitz)

struct BurnDriver BurnSpecblitz = {
	"spec_blitz", NULL, "spec_spectrum", NULL, "1997",
	"Blitz (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblitzRomInfo, SpecblitzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blitzkrieg (48K)

static struct BurnRomInfo SpecblitzkriRomDesc[] = {
	{ "Blitzkrieg (1988)(CCS).z80", 0x084b5, 0x994ade49, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblitzkri, Specblitzkri, Spectrum)
STD_ROM_FN(Specblitzkri)

struct BurnDriver BurnSpecblitzkri = {
	"spec_blitzkri", NULL, "spec_spectrum", NULL, "1988",
	"Blitzkrieg (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblitzkriRomInfo, SpecblitzkriRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blizzard Pass (128K)

static struct BurnRomInfo SpecblizpassRomDesc[] = {
	{ "Blizzard Pass (1986)(Adventuresoft UK)[128K].z80", 0x12b4d, 0xb0a9eaea, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblizpass, Specblizpass, Spectrum)
STD_ROM_FN(Specblizpass)

struct BurnDriver BurnSpecblizpass = {
	"spec_blizpass", NULL, "spec_spec128", NULL, "1986",
	"Blizzard Pass (128K)\0", NULL, "Adventuresoft UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblizpassRomInfo, SpecblizpassRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blob Quest (48K)

static struct BurnRomInfo SpecblobquesRomDesc[] = {
	{ "Blob Quest (1992)(Richard Swann).z80", 0x0a147, 0x84835540, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblobques, Specblobques, Spectrum)
STD_ROM_FN(Specblobques)

struct BurnDriver BurnSpecblobques = {
	"spec_blobques", NULL, "spec_spectrum", NULL, "1992",
	"Blob Quest (48K)\0", NULL, "Richard Swann", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblobquesRomInfo, SpecblobquesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blockade Runner (48K)

static struct BurnRomInfo SpecblocrunnRomDesc[] = {
	{ "Blockade Runner (1983)(Thorn Emi Video).z80", 0x026b0, 0x60f45828, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblocrunn, Specblocrunn, Spectrum)
STD_ROM_FN(Specblocrunn)

struct BurnDriver BurnSpecblocrunn = {
	"spec_blocrunn", NULL, "spec_spectrum", NULL, "1983",
	"Blockade Runner (48K)\0", NULL, "Thorn Emi Video", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblocrunnRomInfo, SpecblocrunnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Block-Buster (48K)

static struct BurnRomInfo SpecblocbustRomDesc[] = {
	{ "Block-Buster (1984)(Compusound).z80", 0x089e1, 0x1af4232a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblocbust, Specblocbust, Spectrum)
STD_ROM_FN(Specblocbust)

struct BurnDriver BurnSpecblocbust = {
	"spec_blocbust", NULL, "spec_spectrum", NULL, "1984",
	"Block-Buster (48K)\0", NULL, "Compusound", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblocbustRomInfo, SpecblocbustRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blockbusters - Gold Run (48K)

static struct BurnRomInfo SpecblogolruRomDesc[] = {
	{ "Blockbusters - Gold Run (1984)(Macsen Software).z80", 0x08213, 0x32914193, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblogolru, Specblogolru, Spectrum)
STD_ROM_FN(Specblogolru)

struct BurnDriver BurnSpecblogolru = {
	"spec_blogolru", NULL, "spec_spectrum", NULL, "1984",
	"Blockbusters - Gold Run (48K)\0", NULL, "Macsen Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblogolruRomInfo, SpecblogolruRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blockbusters (48K)

static struct BurnRomInfo SpecblockbusRomDesc[] = {
	{ "Blockbusters (1984)(Macsen Software).z80", 0x0934a, 0xaac23229, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblockbus, Specblockbus, Spectrum)
STD_ROM_FN(Specblockbus)

struct BurnDriver BurnSpecblockbus = {
	"spec_blockbus", NULL, "spec_spectrum", NULL, "1984",
	"Blockbusters (48K)\0", NULL, "Macsen Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblockbusRomInfo, SpecblockbusRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blocked In (48K)

static struct BurnRomInfo SpecblocinRomDesc[] = {
	{ "Blocked In (1983)(D. Milwain).z80", 0x02ae7, 0xb56d2adc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblocin, Specblocin, Spectrum)
STD_ROM_FN(Specblocin)

struct BurnDriver BurnSpecblocin = {
	"spec_blocin", NULL, "spec_spectrum", NULL, "1983",
	"Blocked In (48K)\0", NULL, "D. Milwain", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblocinRomInfo, SpecblocinRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blood & Guts (48K)

static struct BurnRomInfo SpecbloogutsRomDesc[] = {
	{ "Blood & Guts (1984)(Quicksilva).z80", 0x06d5b, 0x04a97d7d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblooguts, Specblooguts, Spectrum)
STD_ROM_FN(Specblooguts)

struct BurnDriver BurnSpecblooguts = {
	"spec_blooguts", NULL, "spec_spectrum", NULL, "1984",
	"Blood & Guts (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbloogutsRomInfo, SpecbloogutsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blood Brothers (Part 1 of 3) (48K)

static struct BurnRomInfo Specbloodbro_48RomDesc[] = {
	{ "Blood Brothers (1988)(Gremlin Graphics Software)(Part 1 of 3).z80", 0x0885c, 0x89d0eef6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbloodbro_48, Specbloodbro_48, Spectrum)
STD_ROM_FN(Specbloodbro_48)

struct BurnDriver BurnSpecbloodbro_48 = {
	"spec_bloodbro_48", "spec_bloodbro", "spec_spectrum", NULL, "1988",
	"Blood Brothers (Part 1 of 3) (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbloodbro_48RomInfo, Specbloodbro_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blood Brothers (128K)

static struct BurnRomInfo SpecbloodbroRomDesc[] = {
	{ "Blood Brothers (1988)(Gremlin Graphics Software)(Part 1 of 3)[128K].z80", 0x10cf7, 0xda7d17d2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbloodbro, Specbloodbro, Spectrum)
STD_ROM_FN(Specbloodbro)

struct BurnDriver BurnSpecbloodbro = {
	"spec_bloodbro", NULL, "spec_spec128", NULL, "1988",
	"Blood Brothers (128K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbloodbroRomInfo, SpecbloodbroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blood Brothers (Part 2 of 3) (48K)

static struct BurnRomInfo Specbloodbro2_48RomDesc[] = {
	{ "Blood Brothers (1988)(Gremlin Graphics Software)(Part 2 of 3).z80", 0x087cf, 0xea600885, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbloodbro2_48, Specbloodbro2_48, Spectrum)
STD_ROM_FN(Specbloodbro2_48)

struct BurnDriver BurnSpecbloodbro2_48 = {
	"spec_bloodbro2_48", "spec_bloodbro", "spec_spectrum", NULL, "1988",
	"Blood Brothers (Part 2 of 3) (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbloodbro2_48RomInfo, Specbloodbro2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blood Brothers (Part 3 of 3) (48K)

static struct BurnRomInfo Specbloodbro3_48RomDesc[] = {
	{ "Blood Brothers (1988)(Gremlin Graphics Software)(Part 3 of 3).z80", 0x08860, 0xb07566e7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbloodbro3_48, Specbloodbro3_48, Spectrum)
STD_ROM_FN(Specbloodbro3_48)

struct BurnDriver BurnSpecbloodbro3_48 = {
	"spec_bloodbro3_48", "spec_bloodbro", "spec_spectrum", NULL, "1988",
	"Blood Brothers (Part 3 of 3) (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbloodbro3_48RomInfo, Specbloodbro3_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blood of Bogmole II - Zogan's Revenge (48K)

static struct BurnRomInfo SpecbbiizrRomDesc[] = {
	{ "Blood of Bogmole II - Zogan's Revenge (1986)(Compass Software).z80", 0x09292, 0xcf2a973e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbbiizr, Specbbiizr, Spectrum)
STD_ROM_FN(Specbbiizr)

struct BurnDriver BurnSpecbbiizr = {
	"spec_bbiizr", NULL, "spec_spectrum", NULL, "1986",
	"Blood of Bogmole II - Zogan's Revenge (48K)\0", NULL, "Compass Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbbiizrRomInfo, SpecbbiizrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blood of Bogmole III - Wizards Skull (48K)

static struct BurnRomInfo SpecbbiiiwsRomDesc[] = {
	{ "Blood of Bogmole III - Wizards Skull (1986)(Compass Software).z80", 0x098ba, 0x83a29c79, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbbiiiws, Specbbiiiws, Spectrum)
STD_ROM_FN(Specbbiiiws)

struct BurnDriver BurnSpecbbiiiws = {
	"spec_bbiiiws", NULL, "spec_spectrum", NULL, "1986",
	"Blood of Bogmole III - Wizards Skull (48K)\0", NULL, "Compass Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbbiiiwsRomInfo, SpecbbiiiwsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blood of Bogmole, The (48K)

static struct BurnRomInfo SpecblobogthRomDesc[] = {
	{ "Blood of Bogmole, The (1986)(Compass Software).z80", 0x0964a, 0x105c1586, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblobogth, Specblobogth, Spectrum)
STD_ROM_FN(Specblobogth)

struct BurnDriver BurnSpecblobogth = {
	"spec_blobogth", NULL, "spec_spectrum", NULL, "1986",
	"Blood of Bogmole, The (48K)\0", NULL, "Compass Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblobogthRomInfo, SpecblobogthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blood Valley (M3) (48K)

static struct BurnRomInfo Specblovalm3RomDesc[] = {
	{ "Blood Valley (1987)(Gremlin Graphics Software)(M3).z80", 0x09715, 0x1d4fc42b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblovalm3, Specblovalm3, Spectrum)
STD_ROM_FN(Specblovalm3)

struct BurnDriver BurnSpecblovalm3 = {
	"spec_blovalm3", NULL, "spec_spectrum", NULL, "1987",
	"Blood Valley (M3) (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specblovalm3RomInfo, Specblovalm3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bloodwych (128K)

static struct BurnRomInfo SpecbloodwycRomDesc[] = {
	{ "Bloodwych (1990)(Image Works)[128K].z80", 0x10119, 0xcead957e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbloodwyc, Specbloodwyc, Spectrum)
STD_ROM_FN(Specbloodwyc)

struct BurnDriver BurnSpecbloodwyc = {
	"spec_bloodwyc", NULL, "spec_spec128", NULL, "1990",
	"Bloodwych (128K)\0", NULL, "Image Works", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbloodwycRomInfo, SpecbloodwycRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bloody (Spanish) (48K)

static struct BurnRomInfo SpecbloodyesRomDesc[] = {
	{ "Bloody (1987)(P.J. Software)(es).z80", 0x06091, 0x1afb7df9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbloodyes, Specbloodyes, Spectrum)
STD_ROM_FN(Specbloodyes)

struct BurnDriver BurnSpecbloodyes = {
	"spec_bloodyes", NULL, "spec_spectrum", NULL, "1987",
	"Bloody (Spanish) (48K)\0", NULL, "P.J. Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbloodyesRomInfo, SpecbloodyesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bloody Paws (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecbloopawsRomDesc[] = {
	{ "Bloody Paws (1990)(G.LL. Software)(es)(Part 1 of 2).z80", 0x083e9, 0x0749f680, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbloopaws, Specbloopaws, Spectrum)
STD_ROM_FN(Specbloopaws)

struct BurnDriver BurnSpecbloopaws = {
	"spec_bloopaws", NULL, "spec_spectrum", NULL, "1990",
	"Bloody Paws (Spanish) (Part 1 of 2) (48K)\0", NULL, "G.LL. Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbloopawsRomInfo, SpecbloopawsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bloody Paws (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specbloopaws2RomDesc[] = {
	{ "Bloody Paws (1990)(G.LL. Software)(es)(Part 2 of 2).z80", 0x0873e, 0x25686342, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbloopaws2, Specbloopaws2, Spectrum)
STD_ROM_FN(Specbloopaws2)

struct BurnDriver BurnSpecbloopaws2 = {
	"spec_bloopaws2", "spec_bloopaws", "spec_spectrum", NULL, "1990",
	"Bloody Paws (Spanish) (Part 2 of 2) (48K)\0", NULL, "G.LL. Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbloopaws2RomInfo, Specbloopaws2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bludisko (48K)

static struct BurnRomInfo SpecbludiskoRomDesc[] = {
	{ "Bludisko (1997)(CSSCGC).z80", 0x01120, 0x934f6b1e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbludisko, Specbludisko, Spectrum)
STD_ROM_FN(Specbludisko)

struct BurnDriver BurnSpecbludisko = {
	"spec_bludisko", NULL, "spec_spectrum", NULL, "1997",
	"Bludisko (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbludiskoRomInfo, SpecbludiskoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blue Max (48K)

static struct BurnRomInfo SpecbluemaxRomDesc[] = {
	{ "Blue Max (1984)(U.S. Gold).z80", 0x061c1, 0x8085e6b7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbluemax, Specbluemax, Spectrum)
STD_ROM_FN(Specbluemax)

struct BurnDriver BurnSpecbluemax = {
	"spec_bluemax", NULL, "spec_spectrum", NULL, "1984",
	"Blue Max (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbluemaxRomInfo, SpecbluemaxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blue Riband (48K)

static struct BurnRomInfo SpecblueribaRomDesc[] = {
	{ "Blue Riband (1984)(CCS).z80", 0x06aaa, 0x69a237e2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specblueriba, Specblueriba, Spectrum)
STD_ROM_FN(Specblueriba)

struct BurnDriver BurnSpecblueriba = {
	"spec_blueriba", NULL, "spec_spectrum", NULL, "1984",
	"Blue Riband (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecblueribaRomInfo, SpecblueribaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blue Thunder (48K)

static struct BurnRomInfo SpecbluethunRomDesc[] = {
	{ "Blue Thunder (1984)(Richard Wilcox Software).z80", 0x0a1d8, 0x9574968e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbluethun, Specbluethun, Spectrum)
STD_ROM_FN(Specbluethun)

struct BurnDriver BurnSpecbluethun = {
	"spec_bluethun", NULL, "spec_spectrum", NULL, "1984",
	"Blue Thunder (48K)\0", NULL, "Richard Wilcox Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbluethunRomInfo, SpecbluethunRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Blue Thunder (demo) (48K)

static struct BurnRomInfo SpecbluethundRomDesc[] = {
	{ "Blue Thunder (demo) (1984)(Richard Wilcox Software).z80", 0x0c01e, 0xd8e528d0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbluethund, Specbluethund, Spectrum)
STD_ROM_FN(Specbluethund)

struct BurnDriver BurnSpecbluethund = {
	"spec_bluethund", "spec_bluethun", "spec_spectrum", NULL, "1984",
	"Blue Thunder (demo) (48K)\0", NULL, "Richard Wilcox Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbluethundRomInfo, SpecbluethundRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// BMX Freestyle Simulator (48K)

static struct BurnRomInfo Specbmxfrees_48RomDesc[] = {
	{ "BMX Freestyle Simulator (1989)(Codemasters).z80", 0x09c65, 0x10749c38, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbmxfrees_48, Specbmxfrees_48, Spectrum)
STD_ROM_FN(Specbmxfrees_48)

struct BurnDriver BurnSpecbmxfrees_48 = {
	"spec_bmxfrees_48", "spec_bmxfrees", "spec_spectrum", NULL, "1989",
	"BMX Freestyle Simulator (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbmxfrees_48RomInfo, Specbmxfrees_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// BMX Freestyle Simulator (128K)

static struct BurnRomInfo SpecbmxfreesRomDesc[] = {
	{ "BMX Freestyle Simulator (1989)(Codemasters)[128K].z80", 0x0b736, 0x58d28848, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbmxfrees, Specbmxfrees, Spectrum)
STD_ROM_FN(Specbmxfrees)

struct BurnDriver BurnSpecbmxfrees = {
	"spec_bmxfrees", NULL, "spec_spec128", NULL, "1989",
	"BMX Freestyle Simulator (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbmxfreesRomInfo, SpecbmxfreesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// BMX Kidz (48K)

static struct BurnRomInfo SpecbmxkidzRomDesc[] = {
	{ "BMX Kidz (1988)(Firebird Software).z80", 0x0864f, 0x1d2ada59, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbmxkidz, Specbmxkidz, Spectrum)
STD_ROM_FN(Specbmxkidz)

struct BurnDriver BurnSpecbmxkidz = {
	"spec_bmxkidz", NULL, "spec_spectrum", NULL, "1988",
	"BMX Kidz (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbmxkidzRomInfo, SpecbmxkidzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// BMX Ninja (48K)

static struct BurnRomInfo SpecbmxninjaRomDesc[] = {
	{ "BMX Ninja (1988)(Alternative Software).z80", 0x07103, 0x42caf8cb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbmxninja, Specbmxninja, Spectrum)
STD_ROM_FN(Specbmxninja)

struct BurnDriver BurnSpecbmxninja = {
	"spec_bmxninja", NULL, "spec_spectrum", NULL, "1988",
	"BMX Ninja (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbmxninjaRomInfo, SpecbmxninjaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// BMX Racers (48K)

static struct BurnRomInfo SpecbmxracerRomDesc[] = {
	{ "BMX Racers (1984)(Mastertronic).z80", 0x088ac, 0x516efc3c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbmxracer, Specbmxracer, Spectrum)
STD_ROM_FN(Specbmxracer)

struct BurnDriver BurnSpecbmxracer = {
	"spec_bmxracer", NULL, "spec_spectrum", NULL, "1984",
	"BMX Racers (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbmxracerRomInfo, SpecbmxracerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// BMX Simulator (48K)

static struct BurnRomInfo SpecbmxsimulRomDesc[] = {
	{ "BMX Simulator (1987)(Codemasters).z80", 0x0c01e, 0xc18c2ea5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbmxsimul, Specbmxsimul, Spectrum)
STD_ROM_FN(Specbmxsimul)

struct BurnDriver BurnSpecbmxsimul = {
	"spec_bmxsimul", NULL, "spec_spectrum", NULL, "1987",
	"BMX Simulator (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbmxsimulRomInfo, SpecbmxsimulRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// BMX Simulator 2 (48K)

static struct BurnRomInfo Specbmxsiml2RomDesc[] = {
	{ "BMX Simulator 2 (1989)(Codemasters).z80", 0x0ab18, 0xa1a18ccd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbmxsiml2, Specbmxsiml2, Spectrum)
STD_ROM_FN(Specbmxsiml2)

struct BurnDriver BurnSpecbmxsiml2 = {
	"spec_bmxsiml2", NULL, "spec_spectrum", NULL, "1989",
	"BMX Simulator 2 (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbmxsiml2RomInfo, Specbmxsiml2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bobby Bearing (48K)

static struct BurnRomInfo SpecbobbbearRomDesc[] = {
	{ "Bobby Bearing (1986)(The Edge Software).z80", 0x08a84, 0x45860109, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbobbbear, Specbobbbear, Spectrum)
STD_ROM_FN(Specbobbbear)

struct BurnDriver BurnSpecbobbbear = {
	"spec_bobbbear", NULL, "spec_spectrum", NULL, "1986",
	"Bobby Bearing (48K)\0", NULL, "The Edge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbobbbearRomInfo, SpecbobbbearRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bob's Full House (48K)

static struct BurnRomInfo SpecbobfulhoRomDesc[] = {
	{ "Bob's Full House (1988)(Domark).z80", 0x094f7, 0x427775d1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbobfulho, Specbobfulho, Spectrum)
STD_ROM_FN(Specbobfulho)

struct BurnDriver BurnSpecbobfulho = {
	"spec_bobfulho", NULL, "spec_spectrum", NULL, "1988",
	"Bob's Full House (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbobfulhoRomInfo, SpecbobfulhoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bobsleigh (128K)

static struct BurnRomInfo SpecbobsleigRomDesc[] = {
	{ "Bobsleigh (1987)(Digital Integration)[128K].z80", 0x0a2a8, 0xe8e94aef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbobsleig, Specbobsleig, Spectrum)
STD_ROM_FN(Specbobsleig)

struct BurnDriver BurnSpecbobsleig = {
	"spec_bobsleig", NULL, "spec_spec128", NULL, "1987",
	"Bobsleigh (128K)\0", NULL, "Digital Integration", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbobsleigRomInfo, SpecbobsleigRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bog of Brit (48K)

static struct BurnRomInfo SpecbogobritRomDesc[] = {
	{ "Bog of Brit (1990)(Stormbringer Software).z80", 0x0934c, 0x7d8e2baa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbogobrit, Specbogobrit, Spectrum)
STD_ROM_FN(Specbogobrit)

struct BurnDriver BurnSpecbogobrit = {
	"spec_bogobrit", NULL, "spec_spectrum", NULL, "1990",
	"Bog of Brit (48K)\0", NULL, "Stormbringer Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbogobritRomInfo, SpecbogobritRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Boggit, The (Part 1 of 3) (48K)

static struct BurnRomInfo SpecboggitRomDesc[] = {
	{ "Boggit, The (1986)(CRL Group)(Part 1 of 3).z80", 0x09d3f, 0x7db577a6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specboggit, Specboggit, Spectrum)
STD_ROM_FN(Specboggit)

struct BurnDriver BurnSpecboggit = {
	"spec_boggit", NULL, "spec_spectrum", NULL, "1986",
	"Boggit, The (Part 1 of 3) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecboggitRomInfo, SpecboggitRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Boggit, The (Part 2 of 3) (48K)

static struct BurnRomInfo Specboggit2RomDesc[] = {
	{ "Boggit, The (1986)(CRL Group)(Part 2 of 3).z80", 0x090e4, 0x273812a6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specboggit2, Specboggit2, Spectrum)
STD_ROM_FN(Specboggit2)

struct BurnDriver BurnSpecboggit2 = {
	"spec_boggit2", "spec_boggit", "spec_spectrum", NULL, "1986",
	"Boggit, The (Part 2 of 3) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specboggit2RomInfo, Specboggit2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Boggit, The (Part 3 of 3) (48K)

static struct BurnRomInfo Specboggit3RomDesc[] = {
	{ "Boggit, The (1986)(CRL Group)(Part 3 of 3).z80", 0x09cd2, 0x2fee9a0b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specboggit3, Specboggit3, Spectrum)
STD_ROM_FN(Specboggit3)

struct BurnDriver BurnSpecboggit3 = {
	"spec_boggit3", "spec_boggit", "spec_spectrum", NULL, "1986",
	"Boggit, The (Part 3 of 3) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specboggit3RomInfo, Specboggit3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Boiler House (hu) (48K)

static struct BurnRomInfo SpecboilhousRomDesc[] = {
	{ "Boiler House (1984)(Front Runner)(hu).z80", 0x074c1, 0x6ef4b9ad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specboilhous, Specboilhous, Spectrum)
STD_ROM_FN(Specboilhous)

struct BurnDriver BurnSpecboilhous = {
	"spec_boilhous", NULL, "spec_spectrum", NULL, "1984",
	"Boiler House (hu) (48K)\0", NULL, "Front Runner", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecboilhousRomInfo, SpecboilhousRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Boing Plop (48K)

static struct BurnRomInfo SpecboinplopRomDesc[] = {
	{ "Boing Plop (1997)(CSSCGC).z80", 0x01526, 0x41e7626d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specboinplop, Specboinplop, Spectrum)
STD_ROM_FN(Specboinplop)

struct BurnDriver BurnSpecboinplop = {
	"spec_boinplop", NULL, "spec_spectrum", NULL, "1997",
	"Boing Plop (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecboinplopRomInfo, SpecboinplopRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bomb Jack (48K)

static struct BurnRomInfo Specbombjack_48RomDesc[] = {
	{ "Bomb Jack (1986)(Elite Systems).z80", 0x0a30a, 0x00e95211, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbombjack_48, Specbombjack_48, Spectrum)
STD_ROM_FN(Specbombjack_48)

struct BurnDriver BurnSpecbombjack_48 = {
	"spec_bombjack_48", "spec_bombjack", "spec_spectrum", NULL, "1986",
	"Bomb Jack (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbombjack_48RomInfo, Specbombjack_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bomb Jack (128K)

static struct BurnRomInfo SpecbombjackRomDesc[] = {
	{ "Bomb Jack (1986)(Elite Systems)[128K].z80", 0x0a345, 0x71a84d84, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbombjack, Specbombjack, Spectrum)
STD_ROM_FN(Specbombjack)

struct BurnDriver BurnSpecbombjack = {
	"spec_bombjack", NULL, "spec_spec128", NULL, "1986",
	"Bomb Jack (128K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbombjackRomInfo, SpecbombjackRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bomb Jack II (48K)

static struct BurnRomInfo Specbmbjack2RomDesc[] = {
	{ "Bomb Jack II (1987)(Elite Systems).z80", 0x0b1b2, 0x6327f471, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbmbjack2, Specbmbjack2, Spectrum)
STD_ROM_FN(Specbmbjack2)

struct BurnDriver BurnSpecbmbjack2 = {
	"spec_bmbjack2", NULL, "spec_spectrum", NULL, "1987",
	"Bomb Jack II (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbmbjack2RomInfo, Specbmbjack2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bombazo (hu) (128K)

static struct BurnRomInfo SpecbombazohRomDesc[] = {
	{ "Bombazo (1996)(Laszlo Nyitrai)(hu)[128K].z80", 0x02a99, 0xf6fe081f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbombazoh, Specbombazoh, Spectrum)
STD_ROM_FN(Specbombazoh)

struct BurnDriver BurnSpecbombazoh = {
	"spec_bombazoh", NULL, "spec_spec128", NULL, "1996",
	"Bombazo (hu) (128K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbombazohRomInfo, SpecbombazohRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bomber Bob in Pentagon Capers (48K)

static struct BurnRomInfo SpecbobopecaRomDesc[] = {
	{ "Bomber Bob in Pentagon Capers (1985)(Bug-Byte Software).z80", 0x07b37, 0xc9095fb9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbobopeca, Specbobopeca, Spectrum)
STD_ROM_FN(Specbobopeca)

struct BurnDriver BurnSpecbobopeca = {
	"spec_bobopeca", NULL, "spec_spectrum", NULL, "1985",
	"Bomber Bob in Pentagon Capers (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbobopecaRomInfo, SpecbobopecaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bomber Man (48K)

static struct BurnRomInfo SpecbombmanRomDesc[] = {
	{ "Bomber Man (1983)(Hudson Soft).z80", 0x03aed, 0xc82320a4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbombman, Specbombman, Spectrum)
STD_ROM_FN(Specbombman)

struct BurnDriver BurnSpecbombman = {
	"spec_bombman", NULL, "spec_spectrum", NULL, "1983",
	"Bomber Man (48K)\0", NULL, "Hudson Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbombmanRomInfo, SpecbombmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bombfusion (48K)

static struct BurnRomInfo SpecbombfusiRomDesc[] = {
	{ "Bombfusion (1989)(Virgin Mastertronic).z80", 0x04a4b, 0xbb619191, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbombfusi, Specbombfusi, Spectrum)
STD_ROM_FN(Specbombfusi)

struct BurnDriver BurnSpecbombfusi = {
	"spec_bombfusi", NULL, "spec_spectrum", NULL, "1989",
	"Bombfusion (48K)\0", NULL, "Virgin Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbombfusiRomInfo, SpecbombfusiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bombscare (48K)

static struct BurnRomInfo SpecbombscarRomDesc[] = {
	{ "Bombscare (1986)(Firebird Software).z80", 0x08b94, 0x27291cb3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbombscar, Specbombscar, Spectrum)
STD_ROM_FN(Specbombscar)

struct BurnDriver BurnSpecbombscar = {
	"spec_bombscar", NULL, "spec_spectrum", NULL, "1986",
	"Bombscare (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbombscarRomInfo, SpecbombscarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bones (Russian) (48K)

static struct BurnRomInfo SpecbonesruRomDesc[] = {
	{ "Bones (1991)(Corporation AS-DS)(ru).z80", 0x02b4b, 0xadc7271a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbonesru, Specbonesru, Spectrum)
STD_ROM_FN(Specbonesru)

struct BurnDriver BurnSpecbonesru = {
	"spec_bonesru", NULL, "spec_spectrum", NULL, "1991",
	"Bones (Russian) (48K)\0", NULL, "Corporation AS-DS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbonesruRomInfo, SpecbonesruRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bongo (48K)

static struct BurnRomInfo SpecbongoRomDesc[] = {
	{ "Bongo (1984)(Anirog Software)[speech].z80", 0x02eee, 0x63cb65e8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbongo, Specbongo, Spectrum)
STD_ROM_FN(Specbongo)

struct BurnDriver BurnSpecbongo = {
	"spec_bongo", NULL, "spec_spectrum", NULL, "1984",
	"Bongo (48K)\0", NULL, "Anirog Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbongoRomInfo, SpecbongoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bonkers (48K)

static struct BurnRomInfo SpecbonkersRomDesc[] = {
	{ "Bonkers (1983)(Procom Software).z80", 0x0363d, 0x953c1662, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbonkers, Specbonkers, Spectrum)
STD_ROM_FN(Specbonkers)

struct BurnDriver BurnSpecbonkers = {
	"spec_bonkers", NULL, "spec_spectrum", NULL, "1983",
	"Bonkers (48K)\0", NULL, "Procom Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbonkersRomInfo, SpecbonkersRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bonweshar Uctopur (Russian) (128K)

static struct BurnRomInfo SpecbonwuctoRomDesc[] = {
	{ "Bonweshar Uctopur (1994)(Fantasy)(ru)[128K].z80", 0x0b5de, 0x26b30a17, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbonwucto, Specbonwucto, Spectrum)
STD_ROM_FN(Specbonwucto)

struct BurnDriver BurnSpecbonwucto = {
	"spec_bonwucto", NULL, "spec_spec128", NULL, "1994",
	"Bonweshar Uctopur (Russian) (128K)\0", NULL, "Fantasy", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbonwuctoRomInfo, SpecbonwuctoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Book of the Dead (CRL Group) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecbookdeadRomDesc[] = {
	{ "Book of the Dead (1987)(CRL Group)(Part 1 of 2)[re-release].z80", 0x0a680, 0x3b133f9f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbookdead, Specbookdead, Spectrum)
STD_ROM_FN(Specbookdead)

struct BurnDriver BurnSpecbookdead = {
	"spec_bookdead", NULL, "spec_spectrum", NULL, "1987",
	"Book of the Dead (CRL Group) (Part 1 of 2) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbookdeadRomInfo, SpecbookdeadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Book of the Dead (CRL Group) (Part 2 of 2) (48K)

static struct BurnRomInfo Specbookdead2RomDesc[] = {
	{ "Book of the Dead (1987)(CRL Group)(Part 2 of 2)[re-release].z80", 0x09de3, 0x4f125d4f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbookdead2, Specbookdead2, Spectrum)
STD_ROM_FN(Specbookdead2)

struct BurnDriver BurnSpecbookdead2 = {
	"spec_bookdead2", "spec_bookdead", "spec_spectrum", NULL, "1987",
	"Book of the Dead (CRL Group) (Part 2 of 2) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbookdead2RomInfo, Specbookdead2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Book of the Dead (Essential Myth) (Part 1 of 2) (48K)

static struct BurnRomInfo Specbookddem1RomDesc[] = {
	{ "Book of the Dead (1987)(Essential Myth)(Part 1 of 2).z80", 0x0a606, 0x8a71ec33, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbookddem1, Specbookddem1, Spectrum)
STD_ROM_FN(Specbookddem1)

struct BurnDriver BurnSpecbookddem1 = {
	"spec_bookddem1", "spec_bookdead", "spec_spectrum", NULL, "1987",
	"Book of the Dead (Essential Myth) (Part 1 of 2) (48K)\0", NULL, "Essential Myth", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbookddem1RomInfo, Specbookddem1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Book of the Dead (Essential Myth) (Part 2 of 2) (48K)

static struct BurnRomInfo Specbookddem2RomDesc[] = {
	{ "Book of the Dead (1987)(Essential Myth)(Part 2 of 2).z80", 0x09e15, 0xd0e426e8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbookddem2, Specbookddem2, Spectrum)
STD_ROM_FN(Specbookddem2)

struct BurnDriver BurnSpecbookddem2 = {
	"spec_bookddem2", "spec_bookdead", "spec_spectrum", NULL, "1987",
	"Book of the Dead (Essential Myth) (Part 2 of 2) (48K)\0", NULL, "Essential Myth", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbookddem2RomInfo, Specbookddem2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Booty - Hidden Game (48K)

static struct BurnRomInfo SpecbootyhdnRomDesc[] = {
	{ "Booty - Hidden Game (1984)(Firebird Software).z80", 0x08dba, 0x1a59f664, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbootyhdn, Specbootyhdn, Spectrum)
STD_ROM_FN(Specbootyhdn)

struct BurnDriver BurnSpecbootyhdn = {
	"spec_bootyhdn", NULL, "spec_spectrum", NULL, "1984",
	"Booty - Hidden Game (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbootyhdnRomInfo, SpecbootyhdnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Booty (48K)

static struct BurnRomInfo SpecbootyRomDesc[] = {
	{ "Booty (1984)(Firebird Software).z80", 0x08d9b, 0x2bddd5df, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbooty, Specbooty, Spectrum)
STD_ROM_FN(Specbooty)

struct BurnDriver BurnSpecbooty = {
	"spec_booty", NULL, "spec_spectrum", NULL, "1984",
	"Booty (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbootyRomInfo, SpecbootyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Boovie (cs) (128K)

static struct BurnRomInfo SpecbooviecsRomDesc[] = {
	{ "Boovie (1994)(KVL)(cs)[h Zer0][128K].z80", 0x0e283, 0x70920656, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbooviecs, Specbooviecs, Spectrum)
STD_ROM_FN(Specbooviecs)

struct BurnDriver BurnSpecbooviecs = {
	"spec_booviecs", NULL, "spec_spec128", NULL, "1994",
	"Boovie (cs) (128K)\0", NULL, "KVL", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbooviecsRomInfo, SpecbooviecsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Border Harrier (48K)

static struct BurnRomInfo SpecbordharrRomDesc[] = {
	{ "Border Harrier (1986)(Sole Solution Software).z80", 0x097f9, 0x7ebd2ffc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbordharr, Specbordharr, Spectrum)
STD_ROM_FN(Specbordharr)

struct BurnDriver BurnSpecbordharr = {
	"spec_bordharr", NULL, "spec_spectrum", NULL, "1986",
	"Border Harrier (48K)\0", NULL, "Sole Solution Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbordharrRomInfo, SpecbordharrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bored of the Rings (Delta 4 Software) (Part 1 of 3) (48K)

static struct BurnRomInfo SpecborrinpdRomDesc[] = {
	{ "Bored of the Rings (1985)(Delta 4 Software)(Part 1 of 3).z80", 0x08b41, 0x8967cc95, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specborrinpd, Specborrinpd, Spectrum)
STD_ROM_FN(Specborrinpd)

struct BurnDriver BurnSpecborrinpd = {
	"spec_borrinpd", "spec_borring", "spec_spectrum", NULL, "1985",
	"Bored of the Rings (Delta 4 Software) (Part 1 of 3) (48K)\0", NULL, "Delta 4 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecborrinpdRomInfo, SpecborrinpdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bored of the Rings (Delta 4 Software) (Part 2 of 3) (48K)

static struct BurnRomInfo Specborrinpd2RomDesc[] = {
	{ "Bored of the Rings (1985)(Delta 4 Software)(Part 2 of 3).z80", 0x09d39, 0x752959d9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specborrinpd2, Specborrinpd2, Spectrum)
STD_ROM_FN(Specborrinpd2)

struct BurnDriver BurnSpecborrinpd2 = {
	"spec_borrinpd2", "spec_borring", "spec_spectrum", NULL, "1985",
	"Bored of the Rings (Delta 4 Software) (Part 2 of 3) (48K)\0", NULL, "Delta 4 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specborrinpd2RomInfo, Specborrinpd2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bored of the Rings (Delta 4 Software) (Part 3 of 3) (48K)

static struct BurnRomInfo Specborrinpd3RomDesc[] = {
	{ "Bored of the Rings (1985)(Delta 4 Software)(Part 3 of 3).z80", 0x0ad72, 0x7d983176, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specborrinpd3, Specborrinpd3, Spectrum)
STD_ROM_FN(Specborrinpd3)

struct BurnDriver BurnSpecborrinpd3 = {
	"spec_borrinpd3", "spec_borring", "spec_spectrum", NULL, "1985",
	"Bored of the Rings (Delta 4 Software) (Part 3 of 3) (48K)\0", NULL, "Delta 4 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specborrinpd3RomInfo, Specborrinpd3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bored of the Rings (Silversoft) (Part 1 of 3) (48K)

static struct BurnRomInfo SpecborringRomDesc[] = {
	{ "Bored of the Rings (1985)(Silversoft)(Part 1 of 3)[re-release].z80", 0x09d2b, 0x382dc2b2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specborring, Specborring, Spectrum)
STD_ROM_FN(Specborring)

struct BurnDriver BurnSpecborring = {
	"spec_borring", NULL, "spec_spectrum", NULL, "1985",
	"Bored of the Rings (Silversoft) (Part 1 of 3) (48K)\0", NULL, "Silversoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecborringRomInfo, SpecborringRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bored of the Rings (Silversoft) (Part 2 of 3) (48K)

static struct BurnRomInfo Specborring2RomDesc[] = {
	{ "Bored of the Rings (1985)(Silversoft)(Part 2 of 3)[re-release].z80", 0x0a0cd, 0x92867dcc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specborring2, Specborring2, Spectrum)
STD_ROM_FN(Specborring2)

struct BurnDriver BurnSpecborring2 = {
	"spec_borring2", "spec_borring", "spec_spectrum", NULL, "1985",
	"Bored of the Rings (Silversoft) (Part 2 of 3) (48K)\0", NULL, "Silversoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specborring2RomInfo, Specborring2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bored of the Rings (Silversoft) (Part 3 of 3) (48K)

static struct BurnRomInfo Specborring3RomDesc[] = {
	{ "Bored of the Rings (1985)(Silversoft)(Part 3 of 3)[re-release].z80", 0x0a0df, 0x944f125d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specborring3, Specborring3, Spectrum)
STD_ROM_FN(Specborring3)

struct BurnDriver BurnSpecborring3 = {
	"spec_borring3", "spec_borring", "spec_spectrum", NULL, "1985",
	"Bored of the Rings (Silversoft) (Part 3 of 3) (48K)\0", NULL, "Silversoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specborring3RomInfo, Specborring3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bor-Fies (it) (48K)

static struct BurnRomInfo SpecborfiesiRomDesc[] = {
	{ "Bor-Fies (1985)(Soft Well)(it)[aka Bug-Eyes].z80", 0x053ec, 0xbeccfad4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specborfiesi, Specborfiesi, Spectrum)
STD_ROM_FN(Specborfiesi)

struct BurnDriver BurnSpecborfiesi = {
	"spec_borfiesi", NULL, "spec_spectrum", NULL, "1985",
	"Bor-Fies (it) (48K)\0", NULL, "Soft Well", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecborfiesiRomInfo, SpecborfiesiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Borzak (Spanish) (48K)

static struct BurnRomInfo SpecborzakesRomDesc[] = {
	{ "Borzak (1984)(Zafiro Software Division)(es)[re-release].z80", 0x08582, 0x505d4fe1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specborzakes, Specborzakes, Spectrum)
STD_ROM_FN(Specborzakes)

struct BurnDriver BurnSpecborzakes = {
	"spec_borzakes", NULL, "spec_spectrum", NULL, "1984",
	"Borzak (Spanish) (48K)\0", NULL, "Zafiro Software Division", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecborzakesRomInfo, SpecborzakesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bosconian '87 (48K)

static struct BurnRomInfo Specbosc87_48RomDesc[] = {
	{ "Bosconian '87 (1987)(Mastertronic).z80", 0x07899, 0xdeb7845a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbosc87_48, Specbosc87_48, Spectrum)
STD_ROM_FN(Specbosc87_48)

struct BurnDriver BurnSpecbosc87_48 = {
	"spec_bosc87_48", "spec_bosc87", "spec_spectrum", NULL, "1987",
	"Bosconian '87 (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbosc87_48RomInfo, Specbosc87_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bosconian '87 (128K)

static struct BurnRomInfo Specbosc87RomDesc[] = {
	{ "Bosconian '87 (1987)(Mastertronic)[128K].z80", 0x0895f, 0xabcd3a19, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbosc87, Specbosc87, Spectrum)
STD_ROM_FN(Specbosc87)

struct BurnDriver BurnSpecbosc87 = {
	"spec_bosc87", NULL, "spec_spec128", NULL, "1987",
	"Bosconian '87 (128K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbosc87RomInfo, Specbosc87RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Boss, The (48K)

static struct BurnRomInfo SpecbosstheRomDesc[] = {
	{ "Boss, The (1984)(Peaksoft).z80", 0x09035, 0x9b7242b2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbossthe, Specbossthe, Spectrum)
STD_ROM_FN(Specbossthe)

struct BurnDriver BurnSpecbossthe = {
	"spec_bossthe", NULL, "spec_spectrum", NULL, "1984",
	"Boss, The (48K)\0", NULL, "Peaksoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbosstheRomInfo, SpecbosstheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Boulder Dash - Construction Kit (48K)

static struct BurnRomInfo SpecbodacokiRomDesc[] = {
	{ "Boulder Dash - Construction Kit (1988)(Databyte).z80", 0x07e25, 0xfc4f42da, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbodacoki, Specbodacoki, Spectrum)
STD_ROM_FN(Specbodacoki)

struct BurnDriver BurnSpecbodacoki = {
	"spec_bodacoki", NULL, "spec_spectrum", NULL, "1988",
	"Boulder Dash - Construction Kit (48K)\0", NULL, "Databyte", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbodacokiRomInfo, SpecbodacokiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Boulder Dash (48K)

static struct BurnRomInfo SpecbouldashRomDesc[] = {
	{ "Boulder Dash (1984)(Front Runner).z80", 0x04849, 0x5d71133f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbouldash, Specbouldash, Spectrum)
STD_ROM_FN(Specbouldash)

struct BurnDriver BurnSpecbouldash = {
	"spec_bouldash", NULL, "spec_spectrum", NULL, "1984",
	"Boulder Dash (48K)\0", NULL, "Front Runner", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbouldashRomInfo, SpecbouldashRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Boulder Dash II - Rockford's Riot (48K)

static struct BurnRomInfo Specbouldsh2RomDesc[] = {
	{ "Boulder Dash II - Rockford's Riot (1985)(Prism Leisure).z80", 0x057a4, 0xbcab1101, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbouldsh2, Specbouldsh2, Spectrum)
STD_ROM_FN(Specbouldsh2)

struct BurnDriver BurnSpecbouldsh2 = {
	"spec_bouldsh2", NULL, "spec_spectrum", NULL, "1985",
	"Boulder Dash II - Rockford's Riot (48K)\0", NULL, "Prism Leisure", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbouldsh2RomInfo, Specbouldsh2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Boulder Dash III (48K)

static struct BurnRomInfo Specbouldsh3RomDesc[] = {
	{ "Boulder Dash III (1986)(Prism Leisure).z80", 0x04982, 0xb61f2fae, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbouldsh3, Specbouldsh3, Spectrum)
STD_ROM_FN(Specbouldsh3)

struct BurnDriver BurnSpecbouldsh3 = {
	"spec_bouldsh3", NULL, "spec_spectrum", NULL, "1986",
	"Boulder Dash III (48K)\0", NULL, "Prism Leisure", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbouldsh3RomInfo, Specbouldsh3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Boulder Dash V (48K)

static struct BurnRomInfo Specbouldsh4RomDesc[] = {
	{ "Boulder Dash V (1992)(Too Trek Moscow S.N.G.).z80", 0x08721, 0x6e9b68bf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbouldsh4, Specbouldsh4, Spectrum)
STD_ROM_FN(Specbouldsh4)

struct BurnDriver BurnSpecbouldsh4 = {
	"spec_bouldsh4", NULL, "spec_spectrum", NULL, "1992",
	"Boulder Dash V (48K)\0", NULL, "Too Trek Moscow S.N.G.", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbouldsh4RomInfo, Specbouldsh4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Boulder Dash VI (48K)

static struct BurnRomInfo Specbouldsh5RomDesc[] = {
	{ "Boulder Dash VI (1992)(Too Trek Moscow S.N.G.).z80", 0x08792, 0x6abfc981, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbouldsh5, Specbouldsh5, Spectrum)
STD_ROM_FN(Specbouldsh5)

struct BurnDriver BurnSpecbouldsh5 = {
	"spec_bouldsh5", NULL, "spec_spectrum", NULL, "1992",
	"Boulder Dash VI (48K)\0", NULL, "Too Trek Moscow S.N.G.", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbouldsh5RomInfo, Specbouldsh5RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Boun Zai (48K)

static struct BurnRomInfo SpecbounzaiRomDesc[] = {
	{ "Boun Zai (1986)(Centaurisoft).z80", 0x0265f, 0x1a08ddbe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbounzai, Specbounzai, Spectrum)
STD_ROM_FN(Specbounzai)

struct BurnDriver BurnSpecbounzai = {
	"spec_bounzai", NULL, "spec_spectrum", NULL, "1986",
	"Boun Zai (48K)\0", NULL, "Centaurisoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbounzaiRomInfo, SpecbounzaiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bounce Panic (48K)

static struct BurnRomInfo SpecbounpaniRomDesc[] = {
	{ "Bounce Panic (1983)(Poppy Soft).z80", 0x06866, 0x6ce25d2b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbounpani, Specbounpani, Spectrum)
STD_ROM_FN(Specbounpani)

struct BurnDriver BurnSpecbounpani = {
	"spec_bounpani", NULL, "spec_spectrum", NULL, "1983",
	"Bounce Panic (48K)\0", NULL, "Poppy Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbounpaniRomInfo, SpecbounpaniRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bounces (48K)

static struct BurnRomInfo SpecbouncesRomDesc[] = {
	{ "Bounces (1985)(Beyond Software).z80", 0x08b41, 0xbd312347, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbounces, Specbounces, Spectrum)
STD_ROM_FN(Specbounces)

struct BurnDriver BurnSpecbounces = {
	"spec_bounces", NULL, "spec_spectrum", NULL, "1985",
	"Bounces (48K)\0", NULL, "Beyond Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbouncesRomInfo, SpecbouncesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bounty Bob Strikes Back (48K)

static struct BurnRomInfo SpecbobostbaRomDesc[] = {
	{ "Bounty Bob Strikes Back (1984)(U.S. Gold).z80", 0x0b17c, 0xde0b2094, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbobostba, Specbobostba, Spectrum)
STD_ROM_FN(Specbobostba)

struct BurnDriver BurnSpecbobostba = {
	"spec_bobostba", NULL, "spec_spectrum", NULL, "1984",
	"Bounty Bob Strikes Back (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbobostbaRomInfo, SpecbobostbaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bounty Hunter (48K)

static struct BurnRomInfo SpecbounhuntRomDesc[] = {
	{ "Bounty Hunter (1989)(Codemasters).z80", 0x08fad, 0xdf394ea9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbounhunt, Specbounhunt, Spectrum)
STD_ROM_FN(Specbounhunt)

struct BurnDriver BurnSpecbounhunt = {
	"spec_bounhunt", NULL, "spec_spectrum", NULL, "1989",
	"Bounty Hunter (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbounhuntRomInfo, SpecbounhuntRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bounty Hunter, The (48K)

static struct BurnRomInfo SpecbouhunthRomDesc[] = {
	{ "Bounty Hunter, The (1989)(Zenobi Software)[re-release].z80", 0x0a211, 0x3e18828a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbouhunth, Specbouhunth, Spectrum)
STD_ROM_FN(Specbouhunth)

struct BurnDriver BurnSpecbouhunth = {
	"spec_bouhunth", NULL, "spec_spectrum", NULL, "1989",
	"Bounty Hunter, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbouhunthRomInfo, SpecbouhunthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bow, The (48K)

static struct BurnRomInfo SpecbowtheRomDesc[] = {
	{ "Bow, The (1987)(The Power House).z80", 0x073eb, 0xef8dfb6c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbowthe, Specbowthe, Spectrum)
STD_ROM_FN(Specbowthe)

struct BurnDriver BurnSpecbowthe = {
	"spec_bowthe", NULL, "spec_spectrum", NULL, "1987",
	"Bow, The (48K)\0", NULL, "The Power House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbowtheRomInfo, SpecbowtheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bowling 2000 (cs) (48K)

static struct BurnRomInfo Specbowling2RomDesc[] = {
	{ "Bowling 2000 (1992)(Proxima Software)(cs).z80", 0x05ca7, 0xded2b3d1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbowling2, Specbowling2, Spectrum)
STD_ROM_FN(Specbowling2)

struct BurnDriver BurnSpecbowling2 = {
	"spec_bowling2", NULL, "spec_spectrum", NULL, "1992",
	"Bowling 2000 (cs) (48K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbowling2RomInfo, Specbowling2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Boxeo (Spanish) (48K)

static struct BurnRomInfo SpecboxeoesRomDesc[] = {
	{ "Boxeo (1992)(Rafael Vico Costa)(es).z80", 0x05dbd, 0x4f193028, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specboxeoes, Specboxeoes, Spectrum)
STD_ROM_FN(Specboxeoes)

struct BurnDriver BurnSpecboxeoes = {
	"spec_boxeoes", NULL, "spec_spectrum", NULL, "1992",
	"Boxeo (Spanish) (48K)\0", NULL, "Rafael Vico Costa", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecboxeoesRomInfo, SpecboxeoesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Boxing (48K)

static struct BurnRomInfo SpecboxingRomDesc[] = {
	{ "Boxing (1984)(Silicon Joy).z80", 0x09698, 0x997ee2bb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specboxing, Specboxing, Spectrum)
STD_ROM_FN(Specboxing)

struct BurnDriver BurnSpecboxing = {
	"spec_boxing", NULL, "spec_spectrum", NULL, "1984",
	"Boxing (48K)\0", NULL, "Silicon Joy", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecboxingRomInfo, SpecboxingRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Boxing Manager (Willysoft UK) (48K)

static struct BurnRomInfo SpecboxingmwRomDesc[] = {
	{ "Boxing Manager (1987)(Willysoft UK).z80", 0x08ae7, 0xcb8ae966, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specboxingmw, Specboxingmw, Spectrum)
STD_ROM_FN(Specboxingmw)

struct BurnDriver BurnSpecboxingmw = {
	"spec_boxingmw", NULL, "spec_spectrum", NULL, "1987",
	"Boxing Manager (Willysoft UK) (48K)\0", NULL, "Willysoft UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecboxingmwRomInfo, SpecboxingmwRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Boxing Manager (D&H Games) (48K)

static struct BurnRomInfo SpecboxingmdRomDesc[] = {
	{ "Boxing Manager (1988)(D&H Games).z80", 0x09e29, 0xa8a2fa3c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specboxingmd, Specboxingmd, Spectrum)
STD_ROM_FN(Specboxingmd)

struct BurnDriver BurnSpecboxingmd = {
	"spec_boxingmd", NULL, "spec_spectrum", NULL, "1988",
	"Boxing Manager (D&H Games) (48K)\0", NULL, "D&H Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecboxingmdRomInfo, SpecboxingmdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Boyd File, The (48K)

static struct BurnRomInfo SpecboyfilthRomDesc[] = {
	{ "Boyd File, The (1990)(Zenobi Software).z80", 0x0a670, 0x37bb8311, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specboyfilth, Specboyfilth, Spectrum)
STD_ROM_FN(Specboyfilth)

struct BurnDriver BurnSpecboyfilth = {
	"spec_boyfilth", NULL, "spec_spectrum", NULL, "1990",
	"Boyd File, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecboyfilthRomInfo, SpecboyfilthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bozy Boa (48K)

static struct BurnRomInfo SpecbozyboaRomDesc[] = {
	{ "Bozy Boa (1983)(CDS Microsystems).z80", 0x02458, 0xfff62b3e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbozyboa, Specbozyboa, Spectrum)
STD_ROM_FN(Specbozyboa)

struct BurnDriver BurnSpecbozyboa = {
	"spec_bozyboa", NULL, "spec_spectrum", NULL, "1983",
	"Bozy Boa (48K)\0", NULL, "CDS Microsystems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbozyboaRomInfo, SpecbozyboaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Brad Blasts the Galactic Barbarians (48K)

static struct BurnRomInfo SpecbrblgabaRomDesc[] = {
	{ "Brad Blasts the Galactic Barbarians (1983)(Express Software).z80", 0x06a78, 0x5a3ee064, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbrblgaba, Specbrblgaba, Spectrum)
STD_ROM_FN(Specbrblgaba)

struct BurnDriver BurnSpecbrblgaba = {
	"spec_brblgaba", NULL, "spec_spectrum", NULL, "1983",
	"Brad Blasts the Galactic Barbarians (48K)\0", NULL, "Express Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbrblgabaRomInfo, SpecbrblgabaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Brainache (48K)

static struct BurnRomInfo SpecbrainachRomDesc[] = {
	{ "Brainache (1987)(Codemasters).z80", 0x0a2b1, 0xe4be6513, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbrainach, Specbrainach, Spectrum)
STD_ROM_FN(Specbrainach)

struct BurnDriver BurnSpecbrainach = {
	"spec_brainach", NULL, "spec_spectrum", NULL, "1987",
	"Brainache (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbrainachRomInfo, SpecbrainachRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Brainstorm (Bubblebus Software) (48K)

static struct BurnRomInfo SpecbrainsbRomDesc[] = {
	{ "Brainstorm (1985)(Bubblebus Software).z80", 0x091bc, 0x5f39eade, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbrainsb, Specbrainsb, Spectrum)
STD_ROM_FN(Specbrainsb)

struct BurnDriver BurnSpecbrainsb = {
	"spec_brainsb", NULL, "spec_spectrum", NULL, "1985",
	"Brainstorm (Bubblebus Software) (48K)\0", NULL, "Bubblebus Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbrainsbRomInfo, SpecbrainsbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Brainstorm (Firebird Software) (128K)

static struct BurnRomInfo SpecbrainsfRomDesc[] = {
	{ "Brainstorm (1987)(Firebird Software)[128K].z80", 0x078f1, 0xcb07631b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbrainsf, Specbrainsf, Spectrum)
STD_ROM_FN(Specbrainsf)

struct BurnDriver BurnSpecbrainsf = {
	"spec_brainsf", NULL, "spec_spec128", NULL, "1987",
	"Brainstorm (Firebird Software) (128K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbrainsfRomInfo, SpecbrainsfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// BraveStarr (48K)

static struct BurnRomInfo Specbravstar_48RomDesc[] = {
	{ "BraveStarr (1987)(Go!).z80", 0x09bf8, 0x71e225f0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbravstar_48, Specbravstar_48, Spectrum)
STD_ROM_FN(Specbravstar_48)

struct BurnDriver BurnSpecbravstar_48 = {
	"spec_bravstar_48", "spec_bravstar", "spec_spectrum", NULL, "1987",
	"BraveStarr (48K)\0", NULL, "Go!", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbravstar_48RomInfo, Specbravstar_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// BraveStarr (128K)

static struct BurnRomInfo SpecbravstarRomDesc[] = {
	{ "BraveStarr (1987)(Go!)[128K].z80", 0x0afd3, 0x130cb55d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbravstar, Specbravstar, Spectrum)
STD_ROM_FN(Specbravstar)

struct BurnDriver BurnSpecbravstar = {
	"spec_bravstar", NULL, "spec_spec128", NULL, "1987",
	"BraveStarr (128K)\0", NULL, "Go!", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbravstarRomInfo, SpecbravstarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Braxx Bluff (48K)

static struct BurnRomInfo SpecbraxblufRomDesc[] = {
	{ "Braxx Bluff (1984)(Micromega).z80", 0x0806d, 0xbdb9b4e9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbraxbluf, Specbraxbluf, Spectrum)
STD_ROM_FN(Specbraxbluf)

struct BurnDriver BurnSpecbraxbluf = {
	"spec_braxbluf", NULL, "spec_spectrum", NULL, "1984",
	"Braxx Bluff (48K)\0", NULL, "Micromega", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbraxblufRomInfo, SpecbraxblufRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Break Neck (48K)

static struct BurnRomInfo SpecbreaneckRomDesc[] = {
	{ "Break Neck (1990)(Lusitania).z80", 0x095ca, 0x9c8f5f5a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbreaneck, Specbreaneck, Spectrum)
STD_ROM_FN(Specbreaneck)

struct BurnDriver BurnSpecbreaneck = {
	"spec_breaneck", NULL, "spec_spectrum", NULL, "1990",
	"Break Neck (48K)\0", NULL, "Lusitania", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbreaneckRomInfo, SpecbreaneckRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Breakout (48K)

static struct BurnRomInfo SpecbreakoutRomDesc[] = {
	{ "Breakout (1997)(CSSCGC).z80", 0x00ad6, 0xbeb576de, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbreakout, Specbreakout, Spectrum)
STD_ROM_FN(Specbreakout)

struct BurnDriver BurnSpecbreakout = {
	"spec_breakout", NULL, "spec_spectrum", NULL, "1997",
	"Breakout (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbreakoutRomInfo, SpecbreakoutRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Breakthru (48K)

static struct BurnRomInfo SpecbreakthrRomDesc[] = {
	{ "Breakthru (1986)(U.S. Gold).z80", 0x0ac5e, 0x1daa8d58, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbreakthr, Specbreakthr, Spectrum)
STD_ROM_FN(Specbreakthr)

struct BurnDriver BurnSpecbreakthr = {
	"spec_breakthr", NULL, "spec_spectrum", NULL, "1986",
	"Breakthru (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbreakthrRomInfo, SpecbreakthrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Brewery (48K)

static struct BurnRomInfo SpecbreweryRomDesc[] = {
	{ "Brewery (1983)(CCS).z80", 0x0940b, 0x62e65097, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbrewery, Specbrewery, Spectrum)
STD_ROM_FN(Specbrewery)

struct BurnDriver BurnSpecbrewery = {
	"spec_brewery", NULL, "spec_spectrum", NULL, "1983",
	"Brewery (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbreweryRomInfo, SpecbreweryRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Brian - The Novice Barbarian (48K)

static struct BurnRomInfo SpecbrthnobaRomDesc[] = {
	{ "Brian - The Novice Barbarian (1994)(Zenobi Software).z80", 0x09b43, 0x822110ab, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbrthnoba, Specbrthnoba, Spectrum)
STD_ROM_FN(Specbrthnoba)

struct BurnDriver BurnSpecbrthnoba = {
	"spec_brthnoba", NULL, "spec_spectrum", NULL, "1994",
	"Brian - The Novice Barbarian (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbrthnobaRomInfo, SpecbrthnobaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Brian and the Dishonest Politician (Part 1 of 2) (48K)

static struct BurnRomInfo SpecbriandhpRomDesc[] = {
	{ "Brian and the Dishonest Politician (1992)(Zenobi Software)(Part 1 of 2)[re-release].z80", 0x0927b, 0xc10f3323, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbriandhp, Specbriandhp, Spectrum)
STD_ROM_FN(Specbriandhp)

struct BurnDriver BurnSpecbriandhp = {
	"spec_briandhp", NULL, "spec_spectrum", NULL, "1992",
	"Brian and the Dishonest Politician (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbriandhpRomInfo, SpecbriandhpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Brian and the Dishonest Politician (Part 2 of 2) (48K)

static struct BurnRomInfo Specbriandhp2RomDesc[] = {
	{ "Brian and the Dishonest Politician (1992)(Zenobi Software)(Part 2 of 2)[re-release].z80", 0x08b1e, 0x2e27d150, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbriandhp2, Specbriandhp2, Spectrum)
STD_ROM_FN(Specbriandhp2)

struct BurnDriver BurnSpecbriandhp2 = {
	"spec_briandhp2", "spec_briandhp", "spec_spectrum", NULL, "1992",
	"Brian and the Dishonest Politician (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbriandhp2RomInfo, Specbriandhp2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Brian Bloodaxe (48K)

static struct BurnRomInfo SpecbriablooRomDesc[] = {
	{ "Brian Bloodaxe (1985)(The Edge Software).z80", 0x0ab5f, 0x396688be, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbriabloo, Specbriabloo, Spectrum)
STD_ROM_FN(Specbriabloo)

struct BurnDriver BurnSpecbriabloo = {
	"spec_briabloo", NULL, "spec_spectrum", NULL, "1985",
	"Brian Bloodaxe (48K)\0", NULL, "The Edge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbriablooRomInfo, SpecbriablooRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Brian Clough's Football Fortunes (48K)

static struct BurnRomInfo SpecbclghffRomDesc[] = {
	{ "Brian Clough's Football Fortunes (1987)(CDS Microsystems).z80", 0x07c3a, 0x1bee09d6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbclghff, Specbclghff, Spectrum)
STD_ROM_FN(Specbclghff)

struct BurnDriver BurnSpecbclghff = {
	"spec_bclghff", NULL, "spec_spectrum", NULL, "1987",
	"Brian Clough's Football Fortunes (48K)\0", NULL, "CDS Microsystems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbclghffRomInfo, SpecbclghffRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Brian Jacks Superstar Challenge (Part 1 of 2) (48K)

static struct BurnRomInfo SpecbrjasuchRomDesc[] = {
	{ "Brian Jacks Superstar Challenge (1985)(Martech Games)(Part 1 of 2).z80", 0x092a0, 0x7a5c66a7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbrjasuch, Specbrjasuch, Spectrum)
STD_ROM_FN(Specbrjasuch)

struct BurnDriver BurnSpecbrjasuch = {
	"spec_brjasuch", NULL, "spec_spectrum", NULL, "1985",
	"Brian Jacks Superstar Challenge (Part 1 of 2) (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbrjasuchRomInfo, SpecbrjasuchRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Brian Jacks Superstar Challenge (Part 2 of 2) (48K)

static struct BurnRomInfo Specbrjasuch2RomDesc[] = {
	{ "Brian Jacks Superstar Challenge (1985)(Martech Games)(Part 2 of 2).z80", 0x078c3, 0xc1aaab2e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbrjasuch2, Specbrjasuch2, Spectrum)
STD_ROM_FN(Specbrjasuch2)

struct BurnDriver BurnSpecbrjasuch2 = {
	"spec_brjasuch2", "spec_brjasuch", "spec_spectrum", NULL, "1985",
	"Brian Jacks Superstar Challenge (Part 2 of 2) (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbrjasuch2RomInfo, Specbrjasuch2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Brian the Bold - Intro (48K)

static struct BurnRomInfo SpecbrnboldRomDesc[] = {
	{ "Brian the Bold - Intro (1985)(Central Solutions).z80", 0x01372, 0xcc6cbeb1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbrnbold, Specbrnbold, Spectrum)
STD_ROM_FN(Specbrnbold)

struct BurnDriver BurnSpecbrnbold = {
	"spec_brnbold", NULL, "spec_spectrum", NULL, "1985",
	"Brian the Bold - Intro (48K)\0", NULL, "Central Solutions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbrnboldRomInfo, SpecbrnboldRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Brian the Bold (48K)

static struct BurnRomInfo SpecbrnboldgRomDesc[] = {
	{ "Brian the Bold (1985)(Central Solutions).z80", 0x0a6a9, 0xf3034ddf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbrnboldg, Specbrnboldg, Spectrum)
STD_ROM_FN(Specbrnboldg)

struct BurnDriver BurnSpecbrnboldg = {
	"spec_brnboldg", "spec_brnbold", "spec_spectrum", NULL, "1985",
	"Brian the Bold (48K)\0", NULL, "Central Solutions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbrnboldgRomInfo, SpecbrnboldgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Brick, The (Spanish) (48K)

static struct BurnRomInfo SpecbrictheeRomDesc[] = {
	{ "Brick, The (1989)(Delta Software)(es).z80", 0x068f4, 0x47f3ca1a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbricthee, Specbricthee, Spectrum)
STD_ROM_FN(Specbricthee)

struct BurnDriver BurnSpecbricthee = {
	"spec_bricthee", NULL, "spec_spectrum", NULL, "1989",
	"Brick, The (Spanish) (48K)\0", NULL, "Delta Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbrictheeRomInfo, SpecbrictheeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bride of Frankenstein (48K)

static struct BurnRomInfo SpecbridfranRomDesc[] = {
	{ "Bride of Frankenstein (1988)(39 Steps).z80", 0x0ac54, 0x9676a003, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbridfran, Specbridfran, Spectrum)
STD_ROM_FN(Specbridfran)

struct BurnDriver BurnSpecbridfran = {
	"spec_bridfran", NULL, "spec_spectrum", NULL, "1988",
	"Bride of Frankenstein (48K)\0", NULL, "39 Steps", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbridfranRomInfo, SpecbridfranRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bridge Player (48K)

static struct BurnRomInfo SpecbridplayRomDesc[] = {
	{ "Bridge Player (1983)(CP Software).z80", 0x0a9a2, 0xa4e266aa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbridplay, Specbridplay, Spectrum)
STD_ROM_FN(Specbridplay)

struct BurnDriver BurnSpecbridplay = {
	"spec_bridplay", NULL, "spec_spectrum", NULL, "1983",
	"Bridge Player (48K)\0", NULL, "CP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbridplayRomInfo, SpecbridplayRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bridge Player 2 - Review (48K)

static struct BurnRomInfo Specbridpl2rRomDesc[] = {
	{ "Bridge Player 2 - Review (1984)(CP Software).z80", 0x019bc, 0x971093bc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbridpl2r, Specbridpl2r, Spectrum)
STD_ROM_FN(Specbridpl2r)

struct BurnDriver BurnSpecbridpl2r = {
	"spec_bridpl2r", NULL, "spec_spectrum", NULL, "1984",
	"Bridge Player 2 - Review (48K)\0", NULL, "CP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbridpl2rRomInfo, Specbridpl2rRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bridge Player 2 (48K)

static struct BurnRomInfo Specbridply2RomDesc[] = {
	{ "Bridge Player 2 (1984)(CP Software).z80", 0x0a16b, 0x3ebcec9e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbridply2, Specbridply2, Spectrum)
STD_ROM_FN(Specbridply2)

struct BurnDriver BurnSpecbridply2 = {
	"spec_bridply2", NULL, "spec_spectrum", NULL, "1984",
	"Bridge Player 2 (48K)\0", NULL, "CP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbridply2RomInfo, Specbridply2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bridge Player 3 (48K)

static struct BurnRomInfo Specbridply4RomDesc[] = {
	{ "Bridge Player 3 (1986)(CP Software).z80", 0x0a7d1, 0x2e93761d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbridply4, Specbridply4, Spectrum)
STD_ROM_FN(Specbridply4)

struct BurnDriver BurnSpecbridply4 = {
	"spec_bridply4", NULL, "spec_spectrum", NULL, "1986",
	"Bridge Player 3 (48K)\0", NULL, "CP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbridply4RomInfo, Specbridply4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bristles (48K)

static struct BurnRomInfo SpecbristlesRomDesc[] = {
	{ "Bristles (1984)(Statesoft).z80", 0x05658, 0xdf35a8c7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbristles, Specbristles, Spectrum)
STD_ROM_FN(Specbristles)

struct BurnDriver BurnSpecbristles = {
	"spec_bristles", NULL, "spec_spectrum", NULL, "1984",
	"Bristles (48K)\0", NULL, "Statesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbristlesRomInfo, SpecbristlesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// British Lowland (48K)

static struct BurnRomInfo SpecbritlowlRomDesc[] = {
	{ "British Lowland (1983)(CCS).z80", 0x0964a, 0x0094fb0b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbritlowl, Specbritlowl, Spectrum)
STD_ROM_FN(Specbritlowl)

struct BurnDriver BurnSpecbritlowl = {
	"spec_britlowl", NULL, "spec_spectrum", NULL, "1983",
	"British Lowland (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbritlowlRomInfo, SpecbritlowlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// British Super League (48K)

static struct BurnRomInfo SpecbrisupleRomDesc[] = {
	{ "British Super League (1989)(Cult Games).z80", 0x07946, 0xfb327018, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbrisuple, Specbrisuple, Spectrum)
STD_ROM_FN(Specbrisuple)

struct BurnDriver BurnSpecbrisuple = {
	"spec_brisuple", NULL, "spec_spectrum", NULL, "1989",
	"British Super League (48K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbrisupleRomInfo, SpecbrisupleRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Brojke i Slova (sr) (48K)

static struct BurnRomInfo SpecbrojslovRomDesc[] = {
	{ "Brojke i Slova (1998)(Nikola Alivojvodic)(sr).z80", 0x07792, 0x6a2902ca, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbrojslov, Specbrojslov, Spectrum)
STD_ROM_FN(Specbrojslov)

struct BurnDriver BurnSpecbrojslov = {
	"spec_brojslov", NULL, "spec_spectrum", NULL, "1998",
	"Brojke i Slova (sr) (48K)\0", NULL, "Nikola Alivojvodic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbrojslovRomInfo, SpecbrojslovRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bronx (Spanish) (48K)

static struct BurnRomInfo SpecbronxesRomDesc[] = {
	{ "Bronx (1989)(Animagic)(es).z80", 0x09d73, 0xb7eb45af, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbronxes, Specbronxes, Spectrum)
STD_ROM_FN(Specbronxes)

struct BurnDriver BurnSpecbronxes = {
	"spec_bronxes", NULL, "spec_spectrum", NULL, "1989",
	"Bronx (Spanish) (48K)\0", NULL, "Animagic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbronxesRomInfo, SpecbronxesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Brood Slayer (48K)

static struct BurnRomInfo SpecbrooslayRomDesc[] = {
	{ "Brood Slayer (1984)(CCS).z80", 0x07126, 0x0bfe100d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbrooslay, Specbrooslay, Spectrum)
STD_ROM_FN(Specbrooslay)

struct BurnDriver BurnSpecbrooslay = {
	"spec_brooslay", NULL, "spec_spectrum", NULL, "1984",
	"Brood Slayer (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbrooslayRomInfo, SpecbrooslayRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Brook the Barbarian (48K)

static struct BurnRomInfo SpecbroobarbRomDesc[] = {
	{ "Brook the Barbarian (1986)(Richard Silfverberg).z80", 0x08704, 0x612f9633, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbroobarb, Specbroobarb, Spectrum)
STD_ROM_FN(Specbroobarb)

struct BurnDriver BurnSpecbroobarb = {
	"spec_broobarb", NULL, "spec_spectrum", NULL, "1986",
	"Brook the Barbarian (48K)\0", NULL, "Richard Silfverberg", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbroobarbRomInfo, SpecbroobarbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bruce Lee (48K)

static struct BurnRomInfo SpecbruceleeRomDesc[] = {
	{ "Bruce Lee (1984)(U.S. Gold).z80", 0x08ceb, 0x8298df22, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbrucelee, Specbrucelee, Spectrum)
STD_ROM_FN(Specbrucelee)

struct BurnDriver BurnSpecbrucelee = {
	"spec_brucelee", NULL, "spec_spectrum", NULL, "1984",
	"Bruce Lee (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbruceleeRomInfo, SpecbruceleeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Brum Brum (pt) (48K)

static struct BurnRomInfo SpecbrumbrumRomDesc[] = {
	{ "Brum Brum (1984)(Astor Software)(pt).z80", 0x04da1, 0x716bc0d3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbrumbrum, Specbrumbrum, Spectrum)
STD_ROM_FN(Specbrumbrum)

struct BurnDriver BurnSpecbrumbrum = {
	"spec_brumbrum", NULL, "spec_spectrum", NULL, "1984",
	"Brum Brum (pt) (48K)\0", NULL, "Astor Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbrumbrumRomInfo, SpecbrumbrumRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bubble Bobble - The Adventure (128K)

static struct BurnRomInfo SpecbubothadRomDesc[] = {
	{ "Bubble Bobble - The Adventure (1993)(AP's Adventures)[128K].z80", 0x0d387, 0xcfa03eec, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbubothad, Specbubothad, Spectrum)
STD_ROM_FN(Specbubothad)

struct BurnDriver BurnSpecbubothad = {
	"spec_bubothad", NULL, "spec_spec128", NULL, "1993",
	"Bubble Bobble - The Adventure (128K)\0", NULL, "AP's Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbubothadRomInfo, SpecbubothadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bubble Bobble (48K)

static struct BurnRomInfo Specbublbobl_48RomDesc[] = {
	{ "Bubble Bobble (1987)(Firebird Software).z80", 0x09e39, 0x77c240b3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbublbobl_48, Specbublbobl_48, Spectrum)
STD_ROM_FN(Specbublbobl_48)

struct BurnDriver BurnSpecbublbobl_48 = {
	"spec_bublbobl_48", "spec_bublbobl", "spec_spectrum", NULL, "1987",
	"Bubble Bobble (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbublbobl_48RomInfo, Specbublbobl_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bubble Bobble (128K)

static struct BurnRomInfo SpecbublboblRomDesc[] = {
	{ "Bubble Bobble (1987)(Firebird Software)[128K].z80", 0x0b5c8, 0x7919a50e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbublbobl, Specbublbobl, Spectrum)
STD_ROM_FN(Specbublbobl)

struct BurnDriver BurnSpecbublbobl = {
	"spec_bublbobl", NULL, "spec_spec128", NULL, "1987",
	"Bubble Bobble (128K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbublboblRomInfo, SpecbublboblRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bubble Buster (48K)

static struct BurnRomInfo SpecbubbbustRomDesc[] = {
	{ "Bubble Buster (1983)(Sinclair Research).z80", 0x0311f, 0x09e24682, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbubbbust, Specbubbbust, Spectrum)
STD_ROM_FN(Specbubbbust)

struct BurnDriver BurnSpecbubbbust = {
	"spec_bubbbust", NULL, "spec_spectrum", NULL, "1983",
	"Bubble Buster (48K)\0", NULL, "Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbubbbustRomInfo, SpecbubbbustRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bubble Dizzy (48K)

static struct BurnRomInfo Specbubbdizz_48RomDesc[] = {
	{ "Bubble Dizzy (1991)(Codemasters).z80", 0x09214, 0xfa662366, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbubbdizz_48, Specbubbdizz_48, Spectrum)
STD_ROM_FN(Specbubbdizz_48)

struct BurnDriver BurnSpecbubbdizz_48 = {
	"spec_bubbdizz_48", "spec_bubbdizz", "spec_spectrum", NULL, "1991",
	"Bubble Dizzy (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbubbdizz_48RomInfo, Specbubbdizz_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bubble Dizzy (128K)

static struct BurnRomInfo SpecbubbdizzRomDesc[] = {
	{ "Bubble Dizzy (1991)(Codemasters)[128K].z80", 0x0d9eb, 0xb9086f44, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbubbdizz, Specbubbdizz, Spectrum)
STD_ROM_FN(Specbubbdizz)

struct BurnDriver BurnSpecbubbdizz = {
	"spec_bubbdizz", NULL, "spec_spec128", NULL, "1991",
	"Bubble Dizzy (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbubbdizzRomInfo, SpecbubbdizzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bubble Run (48K)

static struct BurnRomInfo SpecbubbrunRomDesc[] = {
	{ "Bubble Run (1986)(Tynesoft).z80", 0x02143, 0xa75c0b2e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbubbrun, Specbubbrun, Spectrum)
STD_ROM_FN(Specbubbrun)

struct BurnDriver BurnSpecbubbrun = {
	"spec_bubbrun", NULL, "spec_spectrum", NULL, "1986",
	"Bubble Run (48K)\0", NULL, "Tynesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbubbrunRomInfo, SpecbubbrunRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bubble Trouble (48K)

static struct BurnRomInfo SpecbubbtrouRomDesc[] = {
	{ "Bubble Trouble (1982)(Arcade Software).z80", 0x064c8, 0xa81503c0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbubbtrou, Specbubbtrou, Spectrum)
STD_ROM_FN(Specbubbtrou)

struct BurnDriver BurnSpecbubbtrou = {
	"spec_bubbtrou", NULL, "spec_spectrum", NULL, "1982",
	"Bubble Trouble (48K)\0", NULL, "Arcade Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbubbtrouRomInfo, SpecbubbtrouRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bubbler (48K)

static struct BurnRomInfo SpecbubblerRomDesc[] = {
	{ "Bubbler (1987)(Ultimate Play The Game).z80", 0x098ce, 0x6e993cc9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbubbler, Specbubbler, Spectrum)
STD_ROM_FN(Specbubbler)

struct BurnDriver BurnSpecbubbler = {
	"spec_bubbler", NULL, "spec_spectrum", NULL, "1987",
	"Bubbler (48K)\0", NULL, "Ultimate Play The Game", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbubblerRomInfo, SpecbubblerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Buck Rogers - Planet of Zoom (48K)

static struct BurnRomInfo SpecburoplzoRomDesc[] = {
	{ "Buck Rogers - Planet of Zoom (1985)(U.S. Gold).z80", 0x075f9, 0xe8b65171, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specburoplzo, Specburoplzo, Spectrum)
STD_ROM_FN(Specburoplzo)

struct BurnDriver BurnSpecburoplzo = {
	"spec_buroplzo", NULL, "spec_spectrum", NULL, "1985",
	"Buck Rogers - Planet of Zoom (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecburoplzoRomInfo, SpecburoplzoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Buckaroo Banzai (48K)

static struct BurnRomInfo SpecbuckbanzRomDesc[] = {
	{ "Buckaroo Banzai (1987)(Adventure International).z80", 0x04024, 0xb937e32b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbuckbanz, Specbuckbanz, Spectrum)
STD_ROM_FN(Specbuckbanz)

struct BurnDriver BurnSpecbuckbanz = {
	"spec_buckbanz", NULL, "spec_spectrum", NULL, "1987",
	"Buckaroo Banzai (48K)\0", NULL, "Adventure International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbuckbanzRomInfo, SpecbuckbanzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Buergermeister (German) (48K)

static struct BurnRomInfo SpecbuergermRomDesc[] = {
	{ "Buergermeister (1984)(Dieter Asbrock)(de).z80", 0x03c11, 0xa8d87369, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbuergerm, Specbuergerm, Spectrum)
STD_ROM_FN(Specbuergerm)

struct BurnDriver BurnSpecbuergerm = {
	"spec_buergerm", NULL, "spec_spectrum", NULL, "1984",
	"Buergermeister (German) (48K)\0", NULL, "Dieter Asbrock", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbuergermRomInfo, SpecbuergermRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bug (48K)

static struct BurnRomInfo SpecbugRomDesc[] = {
	{ "Bug (19xx)(Secundus).z80", 0x04b16, 0x23fbccb7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbug, Specbug, Spectrum)
STD_ROM_FN(Specbug)

struct BurnDriver BurnSpecbug = {
	"spec_bug", NULL, "spec_spectrum", NULL, "19xx",
	"Bug (48K)\0", NULL, "Secundus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbugRomInfo, SpecbugRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bugaboo the Flea (48K)

static struct BurnRomInfo SpecbugafleaRomDesc[] = {
	{ "Bugaboo the Flea (1983)(Quicksilva)[aka Pulga, La].z80", 0x04343, 0xbe0d58a4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbugaflea, Specbugaflea, Spectrum)
STD_ROM_FN(Specbugaflea)

struct BurnDriver BurnSpecbugaflea = {
	"spec_bugaflea", NULL, "spec_spectrum", NULL, "1983",
	"Bugaboo the Flea (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbugafleaRomInfo, SpecbugafleaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bug-Eyes (48K)

static struct BurnRomInfo SpecbugeyesRomDesc[] = {
	{ "Bug-Eyes (1985)(Icon Software).z80", 0x0614b, 0x5045f363, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbugeyes, Specbugeyes, Spectrum)
STD_ROM_FN(Specbugeyes)

struct BurnDriver BurnSpecbugeyes = {
	"spec_bugeyes", NULL, "spec_spectrum", NULL, "1985",
	"Bug-Eyes (48K)\0", NULL, "Icon Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbugeyesRomInfo, SpecbugeyesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Buggy Blast (48K)

static struct BurnRomInfo SpecbuggblasRomDesc[] = {
	{ "Buggy Blast (1985)(Firebird Software).z80", 0x0ae9b, 0x24cd88e9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbuggblas, Specbuggblas, Spectrum)
STD_ROM_FN(Specbuggblas)

struct BurnDriver BurnSpecbuggblas = {
	"spec_buggblas", NULL, "spec_spectrum", NULL, "1985",
	"Buggy Blast (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbuggblasRomInfo, SpecbuggblasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Buggy Boy - East Track (48K)

static struct BurnRomInfo Specbuggybet_48RomDesc[] = {
	{ "Buggy Boy - East Track (1988)(Elite Systems).z80", 0x08b2c, 0x3c06fc05, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbuggybet_48, Specbuggybet_48, Spectrum)
STD_ROM_FN(Specbuggybet_48)

struct BurnDriver BurnSpecbuggybet_48 = {
	"spec_buggybet_48", "spec_buggyb", "spec_spectrum", NULL, "1988",
	"Buggy Boy - East Track (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbuggybet_48RomInfo, Specbuggybet_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Buggy Boy - Offroad Track (48K)

static struct BurnRomInfo Specbuggybot_48RomDesc[] = {
	{ "Buggy Boy - Offroad Track (1988)(Elite Systems).z80", 0x08ab1, 0x575abc17, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbuggybot_48, Specbuggybot_48, Spectrum)
STD_ROM_FN(Specbuggybot_48)

struct BurnDriver BurnSpecbuggybot_48 = {
	"spec_buggybot_48", "spec_buggyb", "spec_spectrum", NULL, "1988",
	"Buggy Boy - Offroad Track (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbuggybot_48RomInfo, Specbuggybot_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Buggy Boy (128K)

static struct BurnRomInfo SpecbuggybRomDesc[] = {
	{ "Buggy Boy (1988)(Elite Systems)[128K].z80", 0x0e9b6, 0x0497d4f4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbuggyb, Specbuggyb, Spectrum)
STD_ROM_FN(Specbuggyb)

struct BurnDriver BurnSpecbuggyb = {
	"spec_buggyb", NULL, "spec_spec128", NULL, "1988",
	"Buggy Boy (128K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbuggybRomInfo, SpecbuggybRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Buggy Ranger (Spanish) (48K)

static struct BurnRomInfo SpecbuggrangRomDesc[] = {
	{ "Buggy Ranger (1990)(Dinamic Software)(es).z80", 0x0a02e, 0xaab373fa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbuggrang, Specbuggrang, Spectrum)
STD_ROM_FN(Specbuggrang)

struct BurnDriver BurnSpecbuggrang = {
	"spec_buggrang", NULL, "spec_spectrum", NULL, "1990",
	"Buggy Ranger (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbuggrangRomInfo, SpecbuggrangRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bugsy (Part 1 of 2) (48K)

static struct BurnRomInfo SpecbugsyRomDesc[] = {
	{ "Bugsy (1986)(CRL Group)(Part 1 of 2).z80", 0x0b18d, 0x5b18569a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbugsy, Specbugsy, Spectrum)
STD_ROM_FN(Specbugsy)

struct BurnDriver BurnSpecbugsy = {
	"spec_bugsy", NULL, "spec_spectrum", NULL, "1986",
	"Bugsy (Part 1 of 2) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbugsyRomInfo, SpecbugsyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bugsy (Part 2 of 2) (48K)

static struct BurnRomInfo Specbugsy2RomDesc[] = {
	{ "Bugsy (1986)(CRL Group)(Part 2 of 2).z80", 0x0b150, 0x73cb0b01, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbugsy2, Specbugsy2, Spectrum)
STD_ROM_FN(Specbugsy2)

struct BurnDriver BurnSpecbugsy2 = {
	"spec_bugsy2", "spec_bugsy", "spec_spectrum", NULL, "1986",
	"Bugsy (Part 2 of 2) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbugsy2RomInfo, Specbugsy2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Build a City (48K)

static struct BurnRomInfo SpecbuilcityRomDesc[] = {
	{ "Build a City (1983)(Aqua Soft).z80", 0x0361f, 0xc2a30327, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbuilcity, Specbuilcity, Spectrum)
STD_ROM_FN(Specbuilcity)

struct BurnDriver BurnSpecbuilcity = {
	"spec_builcity", NULL, "spec_spectrum", NULL, "1983",
	"Build a City (48K)\0", NULL, "Aqua Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbuilcityRomInfo, SpecbuilcityRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Build That Tower (48K)

static struct BurnRomInfo SpecbuithatoRomDesc[] = {
	{ "Build That Tower (1996)(CSSCGC).z80", 0x023ce, 0x4653a6ac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbuithato, Specbuithato, Spectrum)
STD_ROM_FN(Specbuithato)

struct BurnDriver BurnSpecbuithato = {
	"spec_buithato", NULL, "spec_spectrum", NULL, "1996",
	"Build That Tower (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbuithatoRomInfo, SpecbuithatoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bulbo and the Lizard-King - Companion Pics (48K)

static struct BurnRomInfo SpecbulikicoRomDesc[] = {
	{ "Bulbo and the Lizard-King - Companion Pics (1987)(Zenobi Software).z80", 0x0a1dd, 0x190821bd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbulikico, Specbulikico, Spectrum)
STD_ROM_FN(Specbulikico)

struct BurnDriver BurnSpecbulikico = {
	"spec_bulikico", NULL, "spec_spectrum", NULL, "1987",
	"Bulbo and the Lizard-King - Companion Pics (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbulikicoRomInfo, SpecbulikicoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bulbo and the Lizard-King (48K)

static struct BurnRomInfo Specbullizki_48RomDesc[] = {
	{ "Bulbo and the Lizard-King (1987)(Zenobi Software).z80", 0x0aa79, 0xed997ac1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbullizki_48, Specbullizki_48, Spectrum)
STD_ROM_FN(Specbullizki_48)

struct BurnDriver BurnSpecbullizki_48 = {
	"spec_bullizki_48", "spec_bullizki", "spec_spectrum", NULL, "1987",
	"Bulbo and the Lizard-King (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specbullizki_48RomInfo, Specbullizki_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bulbo and the Lizard-King (128K)

static struct BurnRomInfo SpecbullizkiRomDesc[] = {
	{ "Bulbo and the Lizard-King (1987)(Zenobi Software)[128K].z80", 0x0b0ef, 0x2aea0fc1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbullizki, Specbullizki, Spectrum)
STD_ROM_FN(Specbullizki)

struct BurnDriver BurnSpecbullizki = {
	"spec_bullizki", NULL, "spec_spec128", NULL, "1987",
	"Bulbo and the Lizard-King (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbullizkiRomInfo, SpecbullizkiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bulge, The (48K)

static struct BurnRomInfo SpecbulgtheRomDesc[] = {
	{ "Bulge, The (1985)(MC Lothlorien).z80", 0x0961b, 0x6a7def38, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbulgthe, Specbulgthe, Spectrum)
STD_ROM_FN(Specbulgthe)

struct BurnDriver BurnSpecbulgthe = {
	"spec_bulgthe", NULL, "spec_spectrum", NULL, "1985",
	"Bulge, The (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbulgtheRomInfo, SpecbulgtheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bulls & Bears (48K)

static struct BurnRomInfo SpecbullbearRomDesc[] = {
	{ "Bulls & Bears (1986)(The Stock Exchange).z80", 0x07791, 0x78ad38eb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbullbear, Specbullbear, Spectrum)
STD_ROM_FN(Specbullbear)

struct BurnDriver BurnSpecbullbear = {
	"spec_bullbear", NULL, "spec_spectrum", NULL, "1986",
	"Bulls & Bears (48K)\0", NULL, "The Stock Exchange", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbullbearRomInfo, SpecbullbearRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bulls Cows (Russian) (48K)

static struct BurnRomInfo SpecbullcowsRomDesc[] = {
	{ "Bulls Cows (1987)(WIN)(ru).z80", 0x02d1c, 0x677d73f0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbullcows, Specbullcows, Spectrum)
STD_ROM_FN(Specbullcows)

struct BurnDriver BurnSpecbullcows = {
	"spec_bullcows", NULL, "spec_spectrum", NULL, "1987",
	"Bulls Cows (Russian) (48K)\0", NULL, "WIN", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbullcowsRomInfo, SpecbullcowsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bulls Eye (48K)

static struct BurnRomInfo SpecbulleyeRomDesc[] = {
	{ "Bulls Eye (1984)(Macsen Software).z80", 0x09944, 0xce764dd1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbulleye, Specbulleye, Spectrum)
STD_ROM_FN(Specbulleye)

struct BurnDriver BurnSpecbulleye = {
	"spec_bulleye", NULL, "spec_spectrum", NULL, "1984",
	"Bulls Eye (48K)\0", NULL, "Macsen Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbulleyeRomInfo, SpecbulleyeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bullseye (Mastertronic) (48K)

static struct BurnRomInfo SpecbullseymRomDesc[] = {
	{ "Bullseye (1982)(Mastertronic)[aka Darts].z80", 0x0935f, 0x1caf68ca, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbullseym, Specbullseym, Spectrum)
STD_ROM_FN(Specbullseym)

struct BurnDriver BurnSpecbullseym = {
	"spec_bullseym", NULL, "spec_spectrum", NULL, "1982",
	"Bullseye (Mastertronic) (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbullseymRomInfo, SpecbullseymRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bullseye (GSSCGC) (48K)

static struct BurnRomInfo SpecbullseygRomDesc[] = {
	{ "Bullseye (1997)(CSSCGC).z80", 0x00f78, 0xf985d118, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbullseyg, Specbullseyg, Spectrum)
STD_ROM_FN(Specbullseyg)

struct BurnDriver BurnSpecbullseyg = {
	"spec_bullseyg", NULL, "spec_spectrum", NULL, "1997",
	"Bullseye (GSSCGC) (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbullseygRomInfo, SpecbullseygRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bully Embassy (48K)

static struct BurnRomInfo SpecbullembaRomDesc[] = {
	{ "Bully Embassy (19xx)(Robert Frosdick).z80", 0x08004, 0x535e07e3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbullemba, Specbullemba, Spectrum)
STD_ROM_FN(Specbullemba)

struct BurnDriver BurnSpecbullemba = {
	"spec_bullemba", NULL, "spec_spectrum", NULL, "19xx",
	"Bully Embassy (48K)\0", NULL, "Robert Frosdick", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbullembaRomInfo, SpecbullembaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bully's Sporting Darts (48K)

static struct BurnRomInfo SpecbulspodaRomDesc[] = {
	{ "Bully's Sporting Darts (1993)(Alternative Software).z80", 0x0924c, 0xeaa84f1f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbulspoda, Specbulspoda, Spectrum)
STD_ROM_FN(Specbulspoda)

struct BurnDriver BurnSpecbulspoda = {
	"spec_bulspoda", NULL, "spec_spectrum", NULL, "1993",
	"Bully's Sporting Darts (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbulspodaRomInfo, SpecbulspodaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bumpy (48K)

static struct BurnRomInfo SpecbumpyRomDesc[] = {
	{ "Bumpy (1989)(Loriciels).z80", 0x08f45, 0x8eb1ac09, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbumpy, Specbumpy, Spectrum)
STD_ROM_FN(Specbumpy)

struct BurnDriver BurnSpecbumpy = {
	"spec_bumpy", NULL, "spec_spectrum", NULL, "1989",
	"Bumpy (48K)\0", NULL, "Loriciels", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbumpyRomInfo, SpecbumpyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bundesliga (German) (48K)

static struct BurnRomInfo SpecbundesliRomDesc[] = {
	{ "Bundesliga (19xx)(Chip-Special)(de)[needs tape load].z80", 0x067fa, 0x9c5f3163, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbundesli, Specbundesli, Spectrum)
STD_ROM_FN(Specbundesli)

struct BurnDriver BurnSpecbundesli = {
	"spec_bundesli", NULL, "spec_spectrum", NULL, "19xx",
	"Bundesliga (German) (48K)\0", NULL, "Chip-Special", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbundesliRomInfo, SpecbundesliRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bunker Swamp (48K)

static struct BurnRomInfo SpecbunkswamRomDesc[] = {
	{ "Bunker Swamp (1985)(Green Fish Software Enterprise).z80", 0x0a0b4, 0x21e364c4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbunkswam, Specbunkswam, Spectrum)
STD_ROM_FN(Specbunkswam)

struct BurnDriver BurnSpecbunkswam = {
	"spec_bunkswam", NULL, "spec_spectrum", NULL, "1985",
	"Bunker Swamp (48K)\0", NULL, "Green Fish Software Enterprise", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbunkswamRomInfo, SpecbunkswamRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bunny (48K)

static struct BurnRomInfo SpecbunnyRomDesc[] = {
	{ "Bunny (1983)(Automata UK).z80", 0x01f95, 0x724378df, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbunny, Specbunny, Spectrum)
STD_ROM_FN(Specbunny)

struct BurnDriver BurnSpecbunny = {
	"spec_bunny", NULL, "spec_spectrum", NULL, "1983",
	"Bunny (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbunnyRomInfo, SpecbunnyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Burp-Man (48K)

static struct BurnRomInfo SpecburpmanRomDesc[] = {
	{ "Burp-Man (1996)(CSSCGC).z80", 0x0414c, 0x0ad4b564, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specburpman, Specburpman, Spectrum)
STD_ROM_FN(Specburpman)

struct BurnDriver BurnSpecburpman = {
	"spec_burpman", NULL, "spec_spectrum", NULL, "1996",
	"Burp-Man (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecburpmanRomInfo, SpecburpmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Business Demo (48K)

static struct BurnRomInfo SpecbusidemoRomDesc[] = {
	{ "Business Demo (19xx)(-).z80", 0x04fd6, 0xdbdda4bf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbusidemo, Specbusidemo, Spectrum)
STD_ROM_FN(Specbusidemo)

struct BurnDriver BurnSpecbusidemo = {
	"spec_busidemo", NULL, "spec_spectrum", NULL, "19xx",
	"Business Demo (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbusidemoRomInfo, SpecbusidemoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Busqueda en la Mina Maldita (Spanish) (48K)

static struct BurnRomInfo SpecbusminmaRomDesc[] = {
	{ "Busqueda en la Mina Maldita (1983)(Ventamatic)(es)[aka Raider of the Cursed Mine].z80", 0x05883, 0xc6046f24, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbusminma, Specbusminma, Spectrum)
STD_ROM_FN(Specbusminma)

struct BurnDriver BurnSpecbusminma = {
	"spec_busminma", NULL, "spec_spectrum", NULL, "1983",
	"Busqueda en la Mina Maldita (Spanish) (48K)\0", NULL, "Ventamatic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbusminmaRomInfo, SpecbusminmaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Bustout (48K)

static struct BurnRomInfo SpecbustoutRomDesc[] = {
	{ "Bustout (1986)(Amstrad).z80", 0x0180a, 0x4b4d659f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbustout, Specbustout, Spectrum)
STD_ROM_FN(Specbustout)

struct BurnDriver BurnSpecbustout = {
	"spec_bustout", NULL, "spec_spectrum", NULL, "1986",
	"Bustout (48K)\0", NULL, "Amstrad", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbustoutRomInfo, SpecbustoutRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Butch - Hard Guy (48K)

static struct BurnRomInfo SpecbutharguRomDesc[] = {
	{ "Butch - Hard Guy (1987)(Advance Software).z80", 0x09181, 0xa94af461, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbuthargu, Specbuthargu, Spectrum)
STD_ROM_FN(Specbuthargu)

struct BurnDriver BurnSpecbuthargu = {
	"spec_buthargu", NULL, "spec_spectrum", NULL, "1987",
	"Butch - Hard Guy (48K)\0", NULL, "Advance Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbutharguRomInfo, SpecbutharguRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// By Fair Means or Foul (48K)

static struct BurnRomInfo SpecbyfamefoRomDesc[] = {
	{ "By Fair Means or Foul (1989)(Superior Software).z80", 0x0adfc, 0x8f8c6d0e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbyfamefo, Specbyfamefo, Spectrum)
STD_ROM_FN(Specbyfamefo)

struct BurnDriver BurnSpecbyfamefo = {
	"spec_byfamefo", NULL, "spec_spectrum", NULL, "1989",
	"By Fair Means or Foul (48K)\0", NULL, "Superior Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbyfamefoRomInfo, SpecbyfamefoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Byte Bitten (48K)

static struct BurnRomInfo SpecbytebittRomDesc[] = {
	{ "Byte Bitten (1984)(Firebird Software).z80", 0x099fc, 0x2c6ac6d9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbytebitt, Specbytebitt, Spectrum)
STD_ROM_FN(Specbytebitt)

struct BurnDriver BurnSpecbytebitt = {
	"spec_bytebitt", NULL, "spec_spectrum", NULL, "1984",
	"Byte Bitten (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbytebittRomInfo, SpecbytebittRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Byte, The (48K)

static struct BurnRomInfo SpecbytetheRomDesc[] = {
	{ "Byte, The (1983)(CCS).z80", 0x0848e, 0x711d41be, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specbytethe, Specbytethe, Spectrum)
STD_ROM_FN(Specbytethe)

struct BurnDriver BurnSpecbytethe = {
	"spec_bytethe", NULL, "spec_spectrum", NULL, "1983",
	"Byte, The (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecbytetheRomInfo, SpecbytetheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// C5 Clive (48K)

static struct BurnRomInfo Specc5cliveRomDesc[] = {
	{ "C5 Clive (1985)(Scorpio Gamesworld).z80", 0x08f17, 0xa00408b3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specc5clive, Specc5clive, Spectrum)
STD_ROM_FN(Specc5clive)

struct BurnDriver BurnSpecc5clive = {
	"spec_c5clive", NULL, "spec_spectrum", NULL, "1985",
	"C5 Clive (48K)\0", NULL, "Scorpio Gamesworld", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specc5cliveRomInfo, Specc5cliveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cabal (128K)

static struct BurnRomInfo SpeccabalRomDesc[] = {
	{ "Cabal (1988)(Ocean)[128K].z80", 0x1757e, 0x6174d654, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccabal, Speccabal, Spectrum)
STD_ROM_FN(Speccabal)

struct BurnDriver BurnSpeccabal = {
	"spec_cabal", NULL, "spec_spec128", NULL, "1988",
	"Cabal (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccabalRomInfo, SpeccabalRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Caesar the Cat (48K)

static struct BurnRomInfo SpeccaescatRomDesc[] = {
	{ "Caesar the Cat (1984)(Mirrorsoft).z80", 0x04caa, 0x093e2fd0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccaescat, Speccaescat, Spectrum)
STD_ROM_FN(Speccaescat)

struct BurnDriver BurnSpeccaescat = {
	"spec_caescat", NULL, "spec_spectrum", NULL, "1984",
	"Caesar the Cat (48K)\0", NULL, "Mirrorsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccaescatRomInfo, SpeccaescatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Caesar's Travels (48K)

static struct BurnRomInfo SpeccaestravRomDesc[] = {
	{ "Caesar's Travels (1984)(Mirrorsoft).z80", 0x09592, 0xde99e05e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccaestrav, Speccaestrav, Spectrum)
STD_ROM_FN(Speccaestrav)

struct BurnDriver BurnSpeccaestrav = {
	"spec_caestrav", NULL, "spec_spectrum", NULL, "1984",
	"Caesar's Travels (48K)\0", NULL, "Mirrorsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccaestravRomInfo, SpeccaestravRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cagara (48K)

static struct BurnRomInfo SpeccagaraRomDesc[] = {
	{ "Cagara (1986)(Players Software).z80", 0x0ab4d, 0x0082b37b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccagara, Speccagara, Spectrum)
STD_ROM_FN(Speccagara)

struct BurnDriver BurnSpeccagara = {
	"spec_cagara", NULL, "spec_spectrum", NULL, "1986",
	"Cagara (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccagaraRomInfo, SpeccagaraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Calipse (48K)

static struct BurnRomInfo SpeccalipseRomDesc[] = {
	{ "Calipse (19xx)(-).z80", 0x02246, 0xa49472bf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccalipse, Speccalipse, Spectrum)
STD_ROM_FN(Speccalipse)

struct BurnDriver BurnSpeccalipse = {
	"spec_calipse", NULL, "spec_spectrum", NULL, "19xx",
	"Calipse (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccalipseRomInfo, SpeccalipseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Call Me Psycho (48K)

static struct BurnRomInfo SpeccalmepsyRomDesc[] = {
	{ "Call Me Psycho (1987)(Pirate Software).z80", 0x0944f, 0x5fd0e913, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccalmepsy, Speccalmepsy, Spectrum)
STD_ROM_FN(Speccalmepsy)

struct BurnDriver BurnSpeccalmepsy = {
	"spec_calmepsy", NULL, "spec_spectrum", NULL, "1987",
	"Call Me Psycho (48K)\0", NULL, "Pirate Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccalmepsyRomInfo, SpeccalmepsyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Calling of the Demon, The (48K)

static struct BurnRomInfo Speccaldemth_48RomDesc[] = {
	{ "Calling of the Demon, The (1987)(Visual Dimensions).z80", 0x0960a, 0xc6609047, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccaldemth_48, Speccaldemth_48, Spectrum)
STD_ROM_FN(Speccaldemth_48)

struct BurnDriver BurnSpeccaldemth_48 = {
	"spec_caldemth_48", "spec_caldemth", "spec_spectrum", NULL, "1987",
	"Calling of the Demon, The (48K)\0", NULL, "Visual Dimensions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccaldemth_48RomInfo, Speccaldemth_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Calling of the Demon, The (128K)

static struct BurnRomInfo SpeccaldemthRomDesc[] = {
	{ "Calling of the Demon, The (1987)(Visual Dimensions)[128K].z80", 0x0e4dd, 0xe2a05746, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccaldemth, Speccaldemth, Spectrum)
STD_ROM_FN(Speccaldemth)

struct BurnDriver BurnSpeccaldemth = {
	"spec_caldemth", NULL, "spec_spec128", NULL, "1987",
	"Calling of the Demon, The (128K)\0", NULL, "Visual Dimensions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccaldemthRomInfo, SpeccaldemthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Camelot (48K)

static struct BurnRomInfo SpeccamelotRomDesc[] = {
	{ "Camelot (1983)(CCS).z80", 0x060af, 0x7f2a6d76, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccamelot, Speccamelot, Spectrum)
STD_ROM_FN(Speccamelot)

struct BurnDriver BurnSpeccamelot = {
	"spec_camelot", NULL, "spec_spectrum", NULL, "1983",
	"Camelot (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccamelotRomInfo, SpeccamelotRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Camelot Warriors (48K)

static struct BurnRomInfo SpeccamewarrRomDesc[] = {
	{ "Camelot Warriors (1986)(Ariolasoft UK)[re-release].z80", 0x091c9, 0x701879c1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccamewarr, Speccamewarr, Spectrum)
STD_ROM_FN(Speccamewarr)

struct BurnDriver BurnSpeccamewarr = {
	"spec_camewarr", NULL, "spec_spectrum", NULL, "1986",
	"Camelot Warriors (48K)\0", NULL, "Ariolasoft UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccamewarrRomInfo, SpeccamewarrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Camelot Warriors (Spanish) (48K)

static struct BurnRomInfo SpeccamewarrsRomDesc[] = {
	{ "Camelot Warriors (1986)(Dinamic Software)(es)[cr Roby][t +2].z80", 0x09dae, 0x866f6b14, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccamewarrs, Speccamewarrs, Spectrum)
STD_ROM_FN(Speccamewarrs)

struct BurnDriver BurnSpeccamewarrs = {
	"spec_camewarrs", "spec_camewarr", "spec_spectrum", NULL, "1986",
	"Camelot Warriors (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccamewarrsRomInfo, SpeccamewarrsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Campo de Minas (Spanish) (48K)

static struct BurnRomInfo SpeccampminaRomDesc[] = {
	{ "Campo de Minas (1983)(Investronica)(es)[aka Mined-Out].z80", 0x06aaf, 0xf744f562, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccampmina, Speccampmina, Spectrum)
STD_ROM_FN(Speccampmina)

struct BurnDriver BurnSpeccampmina = {
	"spec_campmina", NULL, "spec_spectrum", NULL, "1983",
	"Campo de Minas (Spanish) (48K)\0", NULL, "Investronica", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccampminaRomInfo, SpeccampminaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Canasto Rebellion, The (48K)

static struct BurnRomInfo SpeccanrebthRomDesc[] = {
	{ "Canasto Rebellion, The (1988)(Trevor Taylor).z80", 0x089d3, 0x8a89003c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccanrebth, Speccanrebth, Spectrum)
STD_ROM_FN(Speccanrebth)

struct BurnDriver BurnSpeccanrebth = {
	"spec_canrebth", NULL, "spec_spectrum", NULL, "1988",
	"Canasto Rebellion, The (48K)\0", NULL, "Trevor Taylor", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccanrebthRomInfo, SpeccanrebthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cannibal Island (48K)

static struct BurnRomInfo SpeccannislaRomDesc[] = {
	{ "Cannibal Island (1986)(LiveWire Software).z80", 0x08fdf, 0x9ff3d667, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccannisla, Speccannisla, Spectrum)
STD_ROM_FN(Speccannisla)

struct BurnDriver BurnSpeccannisla = {
	"spec_cannisla", NULL, "spec_spectrum", NULL, "1986",
	"Cannibal Island (48K)\0", NULL, "LiveWire Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccannislaRomInfo, SpeccannislaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cannibals (48K)

static struct BurnRomInfo SpeccannibalRomDesc[] = {
	{ "Cannibals (1987)(Alternative Software).z80", 0x0a5b0, 0x83a1266c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccannibal, Speccannibal, Spectrum)
STD_ROM_FN(Speccannibal)

struct BurnDriver BurnSpeccannibal = {
	"spec_cannibal", NULL, "spec_spectrum", NULL, "1987",
	"Cannibals (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccannibalRomInfo, SpeccannibalRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cannon Ball (48K)

static struct BurnRomInfo SpeccannballRomDesc[] = {
	{ "Cannon Ball (1983)(Hudson Soft).z80", 0x031ac, 0xb3fdcf0b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccannball, Speccannball, Spectrum)
STD_ROM_FN(Speccannball)

struct BurnDriver BurnSpeccannball = {
	"spec_cannball", NULL, "spec_spectrum", NULL, "1983",
	"Cannon Ball (48K)\0", NULL, "Hudson Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccannballRomInfo, SpeccannballRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cantona Football (48K)

static struct BurnRomInfo SpeccantfootRomDesc[] = {
	{ "Cantona Football (1996)(CSSCGC).z80", 0x07b0f, 0x6782e5dc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccantfoot, Speccantfoot, Spectrum)
STD_ROM_FN(Speccantfoot)

struct BurnDriver BurnSpeccantfoot = {
	"spec_cantfoot", NULL, "spec_spectrum", NULL, "1996",
	"Cantona Football (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccantfootRomInfo, SpeccantfootRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Canyon Warrior (48K)

static struct BurnRomInfo SpeccanywarrRomDesc[] = {
	{ "Canyon Warrior (1989)(Mastertronic Plus).z80", 0x0860a, 0x086df73a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccanywarr, Speccanywarr, Spectrum)
STD_ROM_FN(Speccanywarr)

struct BurnDriver BurnSpeccanywarr = {
	"spec_canywarr", NULL, "spec_spectrum", NULL, "1989",
	"Canyon Warrior (48K)\0", NULL, "Mastertronic Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccanywarrRomInfo, SpeccanywarrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Capa (hu) (128K)

static struct BurnRomInfo SpeccapahuRomDesc[] = {
	{ "Capa (1998)(Laszlo Nyitrai)(hu)[128K].z80", 0x02492, 0x2dd55e41, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccapahu, Speccapahu, Spectrum)
STD_ROM_FN(Speccapahu)

struct BurnDriver BurnSpeccapahu = {
	"spec_capahu", NULL, "spec_spec128", NULL, "1998",
	"Capa (hu) (128K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccapahuRomInfo, SpeccapahuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Capitan Sevilla (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpeccapiseviRomDesc[] = {
	{ "Capitan Sevilla (1988)(Dinamic Software)(es)(Part 1 of 2).z80", 0x0a97b, 0x1e20dd6c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccapisevi, Speccapisevi, Spectrum)
STD_ROM_FN(Speccapisevi)

struct BurnDriver BurnSpeccapisevi = {
	"spec_capisevi", NULL, "spec_spectrum", NULL, "1988",
	"Capitan Sevilla (Spanish) (Part 1 of 2) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccapiseviRomInfo, SpeccapiseviRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Capitan Sevilla (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Speccapisevi2RomDesc[] = {
	{ "Capitan Sevilla (1988)(Dinamic Software)(es)(Part 2 of 2).z80", 0x09330, 0x22dda348, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccapisevi2, Speccapisevi2, Spectrum)
STD_ROM_FN(Speccapisevi2)

struct BurnDriver BurnSpeccapisevi2 = {
	"spec_capisevi2", "spec_capisevi", "spec_spectrum", NULL, "1988",
	"Capitan Sevilla (Spanish) (Part 2 of 2) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccapisevi2RomInfo, Speccapisevi2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Capitan Trueno (Spanish) (48K)

static struct BurnRomInfo SpeccapitrueRomDesc[] = {
	{ "Capitan Trueno (1989)(Dinamic Software)(es)(Part 1 of 2).z80", 0x09871, 0x320337b0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccapitrue, Speccapitrue, Spectrum)
STD_ROM_FN(Speccapitrue)

struct BurnDriver BurnSpeccapitrue = {
	"spec_capitrue", NULL, "spec_spectrum", NULL, "1989",
	"Capitan Trueno (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccapitrueRomInfo, SpeccapitrueRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Captain America - Defies the Doom Tube (48K)

static struct BurnRomInfo SpeccaamdedoRomDesc[] = {
	{ "Captain America - Defies the Doom Tube (1988)(Go!).z80", 0x0b903, 0x6cb2fdb2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccaamdedo, Speccaamdedo, Spectrum)
STD_ROM_FN(Speccaamdedo)

struct BurnDriver BurnSpeccaamdedo = {
	"spec_caamdedo", NULL, "spec_spectrum", NULL, "1988",
	"Captain America - Defies the Doom Tube (48K)\0", NULL, "Go!", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccaamdedoRomInfo, SpeccaamdedoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Captain Blood (128K)

static struct BurnRomInfo SpeccaptblooRomDesc[] = {
	{ "Captain Blood (1988)(Exxos)[128K].z80", 0x16104, 0xb3102b1a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccaptbloo, Speccaptbloo, Spectrum)
STD_ROM_FN(Speccaptbloo)

struct BurnDriver BurnSpeccaptbloo = {
	"spec_captbloo", NULL, "spec_spec128", NULL, "1988",
	"Captain Blood (128K)\0", NULL, "Exxos", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccaptblooRomInfo, SpeccaptblooRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Captain Dynamo (48K)

static struct BurnRomInfo SpeccaptdynaRomDesc[] = {
	{ "Captain Dynamo (1992)(Codemasters).z80", 0x0a309, 0x41805c42, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccaptdyna, Speccaptdyna, Spectrum)
STD_ROM_FN(Speccaptdyna)

struct BurnDriver BurnSpeccaptdyna = {
	"spec_captdyna", NULL, "spec_spectrum", NULL, "1992",
	"Captain Dynamo (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccaptdynaRomInfo, SpeccaptdynaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Captain Kelly (48K)

static struct BurnRomInfo SpeccaptkellRomDesc[] = {
	{ "Captain Kelly (1986)(Quicksilva).z80", 0x09e36, 0x60c2d40f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccaptkell, Speccaptkell, Spectrum)
STD_ROM_FN(Speccaptkell)

struct BurnDriver BurnSpeccaptkell = {
	"spec_captkell", NULL, "spec_spectrum", NULL, "1986",
	"Captain Kelly (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccaptkellRomInfo, SpeccaptkellRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Captain Kook - Part 1 - The Orbit (48K)

static struct BurnRomInfo SpeccakopathRomDesc[] = {
	{ "Captain Kook - Part 1 - The Orbit (1989)(Essential Myth).z80", 0x09272, 0x96ed71a0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccakopath, Speccakopath, Spectrum)
STD_ROM_FN(Speccakopath)

struct BurnDriver BurnSpeccakopath = {
	"spec_cakopath", NULL, "spec_spectrum", NULL, "1989",
	"Captain Kook - Part 1 - The Orbit (48K)\0", NULL, "Essential Myth", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccakopathRomInfo, SpeccakopathRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Captain Kook - Part 2 - The Earthdrop (48K)

static struct BurnRomInfo Speccakopath2RomDesc[] = {
	{ "Captain Kook - Part 2 - The Earthdrop (1989)(Essential Myth).z80", 0x094d8, 0xfd04b623, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccakopath2, Speccakopath2, Spectrum)
STD_ROM_FN(Speccakopath2)

struct BurnDriver BurnSpeccakopath2 = {
	"spec_cakopath2", "spec_cakopath", "spec_spectrum", NULL, "1989",
	"Captain Kook - Part 2 - The Earthdrop (48K)\0", NULL, "Essential Myth", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccakopath2RomInfo, Speccakopath2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Captain Planet (48K)

static struct BurnRomInfo SpeccaptplanRomDesc[] = {
	{ "Captain Planet (1991)(Mindscape International).z80", 0x09995, 0x154dfa69, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccaptplan, Speccaptplan, Spectrum)
STD_ROM_FN(Speccaptplan)

struct BurnDriver BurnSpeccaptplan = {
	"spec_captplan", NULL, "spec_spectrum", NULL, "1991",
	"Captain Planet (48K)\0", NULL, "Mindscape International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccaptplanRomInfo, SpeccaptplanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Captain Slog (48K)

static struct BurnRomInfo SpeccaptslogRomDesc[] = {
	{ "Captain Slog (1986)(Alpha-Omega Software).z80", 0x064dc, 0x1e419a64, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccaptslog, Speccaptslog, Spectrum)
STD_ROM_FN(Speccaptslog)

struct BurnDriver BurnSpeccaptslog = {
	"spec_captslog", NULL, "spec_spectrum", NULL, "1986",
	"Captain Slog (48K)\0", NULL, "Alpha-Omega Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccaptslogRomInfo, SpeccaptslogRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Car Journey (48K)

static struct BurnRomInfo SpeccarjournRomDesc[] = {
	{ "Car Journey (1983)(Heinemann - Hill MacGibbon).z80", 0x07393, 0x7a8cff03, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccarjourn, Speccarjourn, Spectrum)
STD_ROM_FN(Speccarjourn)

struct BurnDriver BurnSpeccarjourn = {
	"spec_carjourn", NULL, "spec_spectrum", NULL, "1983",
	"Car Journey (48K)\0", NULL, "Heinemann - Hill MacGibbon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccarjournRomInfo, SpeccarjournRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cards (48K)

static struct BurnRomInfo SpeccardsRomDesc[] = {
	{ "Cards (19xx)(-).z80", 0x01961, 0x639f238a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccards, Speccards, Spectrum)
STD_ROM_FN(Speccards)

struct BurnDriver BurnSpeccards = {
	"spec_cards", NULL, "spec_spectrum", NULL, "19xx",
	"Cards (48K)\0", NULL, "Unknwon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccardsRomInfo, SpeccardsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Card's Show (128K)

static struct BurnRomInfo SpeccardshowRomDesc[] = {
	{ "Card's Show (1989)(Judesoft)[128K].z80", 0x08d74, 0x568ab94f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccardshow, Speccardshow, Spectrum)
STD_ROM_FN(Speccardshow)

struct BurnDriver BurnSpeccardshow = {
	"spec_cardshow", NULL, "spec_spec128", NULL, "1989",
	"Card's Show (128K)\0", NULL, "Judesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccardshowRomInfo, SpeccardshowRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cargo (48K)

static struct BurnRomInfo SpeccargoRomDesc[] = {
	{ "Cargo (1984)(Macmillan Software - Sinclair Research).z80", 0x06091, 0x2b637f25, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccargo, Speccargo, Spectrum)
STD_ROM_FN(Speccargo)

struct BurnDriver BurnSpeccargo = {
	"spec_cargo", NULL, "spec_spectrum", NULL, "1984",
	"Cargo (48K)\0", NULL, "Macmillan Software - Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccargoRomInfo, SpeccargoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Carnival (48K)

static struct BurnRomInfo SpeccarnivalRomDesc[] = {
	{ "Carnival (1984)(Eclipse Software).z80", 0x05818, 0x19b4897c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccarnival, Speccarnival, Spectrum)
STD_ROM_FN(Speccarnival)

struct BurnDriver BurnSpeccarnival = {
	"spec_carnival", NULL, "spec_spectrum", NULL, "1984",
	"Carnival (48K)\0", NULL, "Eclipse Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccarnivalRomInfo, SpeccarnivalRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Carpet Capers (48K)

static struct BurnRomInfo SpeccarpcapeRomDesc[] = {
	{ "Carpet Capers (1984)(Terminal Software).z80", 0x090ed, 0x453c03e8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccarpcape, Speccarpcape, Spectrum)
STD_ROM_FN(Speccarpcape)

struct BurnDriver BurnSpeccarpcape = {
	"spec_carpcape", NULL, "spec_spectrum", NULL, "1984",
	"Carpet Capers (48K)\0", NULL, "Terminal Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccarpcapeRomInfo, SpeccarpcapeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Carrier Command (128K)

static struct BurnRomInfo SpeccarrcommRomDesc[] = {
	{ "Carrier Command (1989)(Rainbird Software)[128K].z80", 0x1360a, 0xd0eb0cdb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccarrcomm, Speccarrcomm, Spectrum)
STD_ROM_FN(Speccarrcomm)

struct BurnDriver BurnSpeccarrcomm = {
	"spec_carrcomm", NULL, "spec_spec128", NULL, "1989",
	"Carrier Command (128K)\0", NULL, "Rainbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccarrcommRomInfo, SpeccarrcommRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cars Out! (Spanish) (48K)

static struct BurnRomInfo SpeccarsouteRomDesc[] = {
	{ "Cars Out! (2004)(Defun Projects)(es).z80", 0x021f5, 0x99b1dd2b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccarsoute, Speccarsoute, Spectrum)
STD_ROM_FN(Speccarsoute)

struct BurnDriver BurnSpeccarsoute = {
	"spec_carsoute", NULL, "spec_spectrum", NULL, "2004",
	"Cars Out! (Spanish) (48K)\0", NULL, "Defun Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccarsouteRomInfo, SpeccarsouteRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Car-Slide-Race (German) (48K)

static struct BurnRomInfo SpeccarsliraRomDesc[] = {
	{ "Car-Slide-Race (1983)(Prospek Computing Cooperation)(de).z80", 0x01fd8, 0xc399bf16, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccarslira, Speccarslira, Spectrum)
STD_ROM_FN(Speccarslira)

struct BurnDriver BurnSpeccarslira = {
	"spec_carslira", NULL, "spec_spectrum", NULL, "1983",
	"Car-Slide-Race (German) (48K)\0", NULL, "Prospek Computing Cooperation", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccarsliraRomInfo, SpeccarsliraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Casa Encantada, La (+3) (48K)

static struct BurnRomInfo SpeccasenclaRomDesc[] = {
	{ "Casa Encantada, La (1985)(Editorial Plesa)(+3)(es).z80", 0x052da, 0x6267eabe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccasencla, Speccasencla, Spectrum)
STD_ROM_FN(Speccasencla)

struct BurnDriver BurnSpeccasencla = {
	"spec_casencla", NULL, "spec_spectrum", NULL, "1985",
	"Casa Encantada, La (+3) (48K)\0", NULL, "Editorial Plesa", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccasenclaRomInfo, SpeccasenclaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Casanova (Spanish) (48K)

static struct BurnRomInfo SpeccasanovaRomDesc[] = {
	{ "Casanova (1989)(Iber Soft)(es).z80", 0x098a9, 0x64e15f55, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccasanova, Speccasanova, Spectrum)
STD_ROM_FN(Speccasanova)

struct BurnDriver BurnSpeccasanova = {
	"spec_casanova", NULL, "spec_spectrum", NULL, "1989",
	"Casanova (Spanish) (48K)\0", NULL, "Iber Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccasanovaRomInfo, SpeccasanovaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cascade (48K)

static struct BurnRomInfo SpeccascadeRomDesc[] = {
	{ "Cascade (1994)(Paul Howard).z80", 0x02806, 0x596bd790, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccascade, Speccascade, Spectrum)
STD_ROM_FN(Speccascade)

struct BurnDriver BurnSpeccascade = {
	"spec_cascade", NULL, "spec_spectrum", NULL, "1994",
	"Cascade (48K)\0", NULL, "Paul Howard", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccascadeRomInfo, SpeccascadeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Case of the Obscene Mural, The (48K)

static struct BurnRomInfo SpeccaobmuthRomDesc[] = {
	{ "Case of the Obscene Mural, The (1986)(Encief Routines).z80", 0x08aa3, 0xa1b6b33d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccaobmuth, Speccaobmuth, Spectrum)
STD_ROM_FN(Speccaobmuth)

struct BurnDriver BurnSpeccaobmuth = {
	"spec_caobmuth", NULL, "spec_spectrum", NULL, "1986",
	"Case of the Obscene Mural, The (48K)\0", NULL, "Encief Routines", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccaobmuthRomInfo, SpeccaobmuthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Casey Jones (48K)

static struct BurnRomInfo SpeccasejoneRomDesc[] = {
	{ "Casey Jones (1984)(Blaby Computer Games).z80", 0x06ca8, 0x1feb298a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccasejone, Speccasejone, Spectrum)
STD_ROM_FN(Speccasejone)

struct BurnDriver BurnSpeccasejone = {
	"spec_casejone", NULL, "spec_spectrum", NULL, "1984",
	"Casey Jones (48K)\0", NULL, "Blaby Computer Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccasejoneRomInfo, SpeccasejoneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cashcade (48K)

static struct BurnRomInfo SpeccashcadeRomDesc[] = {
	{ "Cashcade (1990)(Fastback).z80", 0x0845d, 0x02d1680b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccashcade, Speccashcade, Spectrum)
STD_ROM_FN(Speccashcade)

struct BurnDriver BurnSpeccashcade = {
	"spec_cashcade", NULL, "spec_spectrum", NULL, "1990",
	"Cashcade (48K)\0", NULL, "Fastback", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccashcadeRomInfo, SpeccashcadeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cashdash (48K)

static struct BurnRomInfo SpeccashdashRomDesc[] = {
	{ "Cashdash (19xx)(Tynesoft).z80", 0x083cf, 0x8d84e2b6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccashdash, Speccashdash, Spectrum)
STD_ROM_FN(Speccashdash)

struct BurnDriver BurnSpeccashdash = {
	"spec_cashdash", NULL, "spec_spectrum", NULL, "19xx",
	"Cashdash (48K)\0", NULL, "Tynesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccashdashRomInfo, SpeccashdashRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Casino Royal - Roulette (48K)

static struct BurnRomInfo SpeccasroyroRomDesc[] = {
	{ "Casino Royal - Roulette (1984)(Oxford Computer Publishing).z80", 0x06615, 0x2876a08d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccasroyro, Speccasroyro, Spectrum)
STD_ROM_FN(Speccasroyro)

struct BurnDriver BurnSpeccasroyro = {
	"spec_casroyro", NULL, "spec_spectrum", NULL, "1984",
	"Casino Royal - Roulette (48K)\0", NULL, "Oxford Computer Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccasroyroRomInfo, SpeccasroyroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Casino Royal (48K)

static struct BurnRomInfo SpeccasiroyaRomDesc[] = {
	{ "Casino Royal (1984)(Oxford Computer Publishing).z80", 0x02583, 0xa88ae0ad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccasiroya, Speccasiroya, Spectrum)
STD_ROM_FN(Speccasiroya)

struct BurnDriver BurnSpeccasiroya = {
	"spec_casiroya", NULL, "spec_spectrum", NULL, "1984",
	"Casino Royal (48K)\0", NULL, "Oxford Computer Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccasiroyaRomInfo, SpeccasiroyaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Castillo Maldito (Spanish) (48K)

static struct BurnRomInfo SpeccastmaldRomDesc[] = {
	{ "Castillo Maldito (2003)(Beyker Soft)(es).z80", 0x0b6cf, 0xa2b18d62, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccastmald, Speccastmald, Spectrum)
STD_ROM_FN(Speccastmald)

struct BurnDriver BurnSpeccastmald = {
	"spec_castmald", NULL, "spec_spectrum", NULL, "2003",
	"Castillo Maldito (Spanish) (48K)\0", NULL, "Beyker Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccastmaldRomInfo, SpeccastmaldRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Castle (GSSCGC) (48K)

static struct BurnRomInfo SpeccastlegRomDesc[] = {
	{ "Castle (1996)(CSSCGC).z80", 0x029ab, 0x2ce82993, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccastleg, Speccastleg, Spectrum)
STD_ROM_FN(Speccastleg)

struct BurnDriver BurnSpeccastleg = {
	"spec_castleg", NULL, "spec_spectrum", NULL, "1996",
	"Castle (GSSCGC) (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccastlegRomInfo, SpeccastlegRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Castle (Unknown) (48K)

static struct BurnRomInfo SpeccastleunRomDesc[] = {
	{ "Castle (19xx)(-).z80", 0x0113f, 0x31ab52d6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccastleun, Speccastleun, Spectrum)
STD_ROM_FN(Speccastleun)

struct BurnDriver BurnSpeccastleun = {
	"spec_castleun", NULL, "spec_spectrum", NULL, "19xx",
	"Castle (Unknown) (48K)\0", NULL, "Unknwon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccastleunRomInfo, SpeccastleunRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Castle Adventure (48K)

static struct BurnRomInfo SpeccastadveRomDesc[] = {
	{ "Castle Adventure (1990)(G.I. Games).z80", 0x08478, 0x27cf32ca, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccastadve, Speccastadve, Spectrum)
STD_ROM_FN(Speccastadve)

struct BurnDriver BurnSpeccastadve = {
	"spec_castadve", NULL, "spec_spectrum", NULL, "1990",
	"Castle Adventure (48K)\0", NULL, "G.I. Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccastadveRomInfo, SpeccastadveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Castle Blackstar (48K)

static struct BurnRomInfo SpeccastblacRomDesc[] = {
	{ "Castle Blackstar (1984)(CDS Microsystems)[re-release].z80", 0x09437, 0x3869f6d6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccastblac, Speccastblac, Spectrum)
STD_ROM_FN(Speccastblac)

struct BurnDriver BurnSpeccastblac = {
	"spec_castblac", NULL, "spec_spectrum", NULL, "1984",
	"Castle Blackstar (48K)\0", NULL, "CDS Microsystems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccastblacRomInfo, SpeccastblacRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Castle Colditz (48K)

static struct BurnRomInfo SpeccastcoldRomDesc[] = {
	{ "Castle Colditz (1984)(K-Tel Productions).z80", 0x0793e, 0xe7db4e75, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccastcold, Speccastcold, Spectrum)
STD_ROM_FN(Speccastcold)

struct BurnDriver BurnSpeccastcold = {
	"spec_castcold", NULL, "spec_spectrum", NULL, "1984",
	"Castle Colditz (48K)\0", NULL, "K-Tel Productions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccastcoldRomInfo, SpeccastcoldRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Castle Eerie (48K)

static struct BurnRomInfo SpeccasteeriRomDesc[] = {
	{ "Castle Eerie (1987)(Tartan Software).z80", 0x0afd5, 0x6aa715e7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccasteeri, Speccasteeri, Spectrum)
STD_ROM_FN(Speccasteeri)

struct BurnDriver BurnSpeccasteeri = {
	"spec_casteeri", NULL, "spec_spectrum", NULL, "1987",
	"Castle Eerie (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccasteeriRomInfo, SpeccasteeriRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Castle Master (48K)

static struct BurnRomInfo SpeccastmastRomDesc[] = {
	{ "Castle Master (1990)(Incentive Software).z80", 0x0a4ff, 0x7768c169, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccastmast, Speccastmast, Spectrum)
STD_ROM_FN(Speccastmast)

struct BurnDriver BurnSpeccastmast = {
	"spec_castmast", NULL, "spec_spectrum", NULL, "1990",
	"Castle Master (48K)\0", NULL, "Incentive Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccastmastRomInfo, SpeccastmastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Castle Master II - The Crypt (48K)

static struct BurnRomInfo Speccastmst2RomDesc[] = {
	{ "Castle Master II - The Crypt (1990)(Incentive Software).z80", 0x0a012, 0x18a23030, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccastmst2, Speccastmst2, Spectrum)
STD_ROM_FN(Speccastmst2)

struct BurnDriver BurnSpeccastmst2 = {
	"spec_castmst2", NULL, "spec_spectrum", NULL, "1990",
	"Castle Master II - The Crypt (48K)\0", NULL, "Incentive Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccastmst2RomInfo, Speccastmst2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Castle of the Skull Lord (48K)

static struct BurnRomInfo SpeccasskuloRomDesc[] = {
	{ "Castle of the Skull Lord (1987)(Samurai Software).z80", 0x076ee, 0x6435a87c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccasskulo, Speccasskulo, Spectrum)
STD_ROM_FN(Speccasskulo)

struct BurnDriver BurnSpeccasskulo = {
	"spec_casskulo", NULL, "spec_spectrum", NULL, "1987",
	"Castle of the Skull Lord (48K)\0", NULL, "Samurai Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccasskuloRomInfo, SpeccasskuloRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Castle Quest (48K)

static struct BurnRomInfo SpeccastquesRomDesc[] = {
	{ "Castle Quest (1984)(Scorpio Gamesworld).z80", 0x08da9, 0x0c48eeee, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccastques, Speccastques, Spectrum)
STD_ROM_FN(Speccastques)

struct BurnDriver BurnSpeccastques = {
	"spec_castques", NULL, "spec_spectrum", NULL, "1984",
	"Castle Quest (48K)\0", NULL, "Scorpio Gamesworld", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccastquesRomInfo, SpeccastquesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Castle Warlock (48K)

static struct BurnRomInfo SpeccastwarlRomDesc[] = {
	{ "Castle Warlock (19xx)(Adventure Probe Software).z80", 0x086cf, 0x7d0e97c4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccastwarl, Speccastwarl, Spectrum)
STD_ROM_FN(Speccastwarl)

struct BurnDriver BurnSpeccastwarl = {
	"spec_castwarl", NULL, "spec_spectrum", NULL, "19xx",
	"Castle Warlock (48K)\0", NULL, "Adventure Probe Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccastwarlRomInfo, SpeccastwarlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Castle, The (48K)

static struct BurnRomInfo SpeccasttheRomDesc[] = {
	{ "Castle, The (19xx)(Dan B. Nielsen).z80", 0x0778c, 0x2ddbc88f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccastthe, Speccastthe, Spectrum)
STD_ROM_FN(Speccastthe)

struct BurnDriver BurnSpeccastthe = {
	"spec_castthe", NULL, "spec_spectrum", NULL, "19xx",
	"Castle, The (48K)\0", NULL, "Dan B. Nielsen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccasttheRomInfo, SpeccasttheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cat + Mouse (48K)

static struct BurnRomInfo SpeccatmouseRomDesc[] = {
	{ "Cat + Mouse (1996)(CCSCGC).z80", 0x01e8c, 0xe99d83a8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccatmouse, Speccatmouse, Spectrum)
STD_ROM_FN(Speccatmouse)

struct BurnDriver BurnSpeccatmouse = {
	"spec_catmouse", NULL, "spec_spectrum", NULL, "1996",
	"Cat + Mouse (48K)\0", NULL, "CCSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccatmouseRomInfo, SpeccatmouseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cat 'n Mouse v2.0 (48K)

static struct BurnRomInfo SpeccatnmousRomDesc[] = {
	{ "Cat 'n Mouse v2.0 (1984)(Video Productions).z80", 0x03e49, 0xea147f7c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccatnmous, Speccatnmous, Spectrum)
STD_ROM_FN(Speccatnmous)

struct BurnDriver BurnSpeccatnmous = {
	"spec_catnmous", NULL, "spec_spectrum", NULL, "1984",
	"Cat 'n Mouse v2.0 (48K)\0", NULL, "Video Productions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccatnmousRomInfo, SpeccatnmousRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Catch 23 (48K)

static struct BurnRomInfo Speccatch23_48RomDesc[] = {
	{ "Catch 23 (1987)(Martech Games).z80", 0x0aa14, 0x765f3048, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccatch23_48, Speccatch23_48, Spectrum)
STD_ROM_FN(Speccatch23_48)

struct BurnDriver BurnSpeccatch23_48 = {
	"spec_catch23_48", "spec_catch23", "spec_spectrum", NULL, "1987",
	"Catch 23 (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccatch23_48RomInfo, Speccatch23_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Catch 23 (128K)

static struct BurnRomInfo Speccatch23RomDesc[] = {
	{ "Catch 23 (1987)(Martech Games)[128K].z80", 0x0931e, 0x32f07672, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccatch23, Speccatch23, Spectrum)
STD_ROM_FN(Speccatch23)

struct BurnDriver BurnSpeccatch23 = {
	"spec_catch23", NULL, "spec_spec128", NULL, "1987",
	"Catch 23 (128K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccatch23RomInfo, Speccatch23RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Catchy (48K)

static struct BurnRomInfo SpeccatchyRomDesc[] = {
	{ "Catchy (1984)(Eric Verlind).z80", 0x019fe, 0x6b241d76, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccatchy, Speccatchy, Spectrum)
STD_ROM_FN(Speccatchy)

struct BurnDriver BurnSpeccatchy = {
	"spec_catchy", NULL, "spec_spectrum", NULL, "1984",
	"Catchy (48K)\0", NULL, "Eric Verlind", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccatchyRomInfo, SpeccatchyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Catwalk (48K)

static struct BurnRomInfo SpeccatwalkRomDesc[] = {
	{ "Catwalk (1984)(Power Software).z80", 0x0918e, 0x15f02899, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccatwalk, Speccatwalk, Spectrum)
STD_ROM_FN(Speccatwalk)

struct BurnDriver BurnSpeccatwalk = {
	"spec_catwalk", NULL, "spec_spectrum", NULL, "1984",
	"Catwalk (48K)\0", NULL, "Power Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccatwalkRomInfo, SpeccatwalkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cauldron (48K)

static struct BurnRomInfo SpeccauldronRomDesc[] = {
	{ "Cauldron (1985)(Palace Software).z80", 0x09f7b, 0xadea0ad1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccauldron, Speccauldron, Spectrum)
STD_ROM_FN(Speccauldron)

struct BurnDriver BurnSpeccauldron = {
	"spec_cauldron", NULL, "spec_spectrum", NULL, "1985",
	"Cauldron (48K)\0", NULL, "Palace Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccauldronRomInfo, SpeccauldronRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cauldron II - The Pumpkin Strikes Back (48K)

static struct BurnRomInfo Speccauldrn2RomDesc[] = {
	{ "Cauldron II - The Pumpkin Strikes Back (1986)(Palace Software).z80", 0x09349, 0xc73307f0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccauldrn2, Speccauldrn2, Spectrum)
STD_ROM_FN(Speccauldrn2)

struct BurnDriver BurnSpeccauldrn2 = {
	"spec_cauldrn2", NULL, "spec_spectrum", NULL, "1986",
	"Cauldron II - The Pumpkin Strikes Back (48K)\0", NULL, "Palace Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccauldrn2RomInfo, Speccauldrn2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cave Flyer (German) (48K)

static struct BurnRomInfo SpeccaveflyeRomDesc[] = {
	{ "Cave Flyer (19xx)(-)(de).z80", 0x0637a, 0xa616c0ba, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccaveflye, Speccaveflye, Spectrum)
STD_ROM_FN(Speccaveflye)

struct BurnDriver BurnSpeccaveflye = {
	"spec_caveflye", NULL, "spec_spectrum", NULL, "19xx",
	"Cave Flyer (German) (48K)\0", NULL, "Unknwon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccaveflyeRomInfo, SpeccaveflyeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cavelon (48K)

static struct BurnRomInfo SpeccavelonRomDesc[] = {
	{ "Cavelon (1984)(Ocean).z80", 0x05b09, 0xd579aaf2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccavelon, Speccavelon, Spectrum)
STD_ROM_FN(Speccavelon)

struct BurnDriver BurnSpeccavelon = {
	"spec_cavelon", NULL, "spec_spectrum", NULL, "1984",
	"Cavelon (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccavelonRomInfo, SpeccavelonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Caveman (48K)

static struct BurnRomInfo SpeccavemanRomDesc[] = {
	{ "Caveman (1983)(CRL Group).z80", 0x023e0, 0xc4d6a162, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccaveman, Speccaveman, Spectrum)
STD_ROM_FN(Speccaveman)

struct BurnDriver BurnSpeccaveman = {
	"spec_caveman", NULL, "spec_spectrum", NULL, "1983",
	"Caveman (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccavemanRomInfo, SpeccavemanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cavemania (48K)

static struct BurnRomInfo SpeccavemaniRomDesc[] = {
	{ "Cavemania (1990)(Atlantis Software).z80", 0x09ae0, 0x9a359244, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccavemani, Speccavemani, Spectrum)
STD_ROM_FN(Speccavemani)

struct BurnDriver BurnSpeccavemani = {
	"spec_cavemani", NULL, "spec_spectrum", NULL, "1990",
	"Cavemania (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccavemaniRomInfo, SpeccavemaniRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cavern Chaos (48K)

static struct BurnRomInfo SpeccavechaoRomDesc[] = {
	{ "Cavern Chaos (1985)(5D Software).z80", 0x0a0f6, 0xd6925d95, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccavechao, Speccavechao, Spectrum)
STD_ROM_FN(Speccavechao)

struct BurnDriver BurnSpeccavechao = {
	"spec_cavechao", NULL, "spec_spectrum", NULL, "1985",
	"Cavern Chaos (48K)\0", NULL, "5D Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccavechaoRomInfo, SpeccavechaoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cavern Fighter (48K)

static struct BurnRomInfo SpeccavefighRomDesc[] = {
	{ "Cavern Fighter (1983)(Bug-Byte Software).z80", 0x0c01e, 0xac033a66, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccavefigh, Speccavefigh, Spectrum)
STD_ROM_FN(Speccavefigh)

struct BurnDriver BurnSpeccavefigh = {
	"spec_cavefigh", NULL, "spec_spectrum", NULL, "1983",
	"Cavern Fighter (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccavefighRomInfo, SpeccavefighRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Caverna del Dragon de Bronce, La (Spanish) (48K)

static struct BurnRomInfo SpeccadrbrlaRomDesc[] = {
	{ "Caverna del Dragon de Bronce, La (19xx)(Danisoft)(es).z80", 0x0c01e, 0xfe9049d7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccadrbrla, Speccadrbrla, Spectrum)
STD_ROM_FN(Speccadrbrla)

struct BurnDriver BurnSpeccadrbrla = {
	"spec_cadrbrla", NULL, "spec_spectrum", NULL, "19xx",
	"Caverna del Dragon de Bronce, La (Spanish) (48K)\0", NULL, "Danisoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccadrbrlaRomInfo, SpeccadrbrlaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Caverna Infernal, La (Spanish) (48K)

static struct BurnRomInfo SpeccavinflaRomDesc[] = {
	{ "Caverna Infernal, La (1988)(Digital Launch)(es).z80", 0x02fba, 0xe1cee543, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccavinfla, Speccavinfla, Spectrum)
STD_ROM_FN(Speccavinfla)

struct BurnDriver BurnSpeccavinfla = {
	"spec_cavinfla", NULL, "spec_spectrum", NULL, "1988",
	"Caverna Infernal, La (Spanish) (48K)\0", NULL, "Digital Launch", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccavinflaRomInfo, SpeccavinflaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cavernas (Spanish) (48K)

static struct BurnRomInfo SpeccavernasRomDesc[] = {
	{ "Cavernas (1985)(Jorge Perez Barreiro)(es).z80", 0x029ce, 0xab0849b2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccavernas, Speccavernas, Spectrum)
STD_ROM_FN(Speccavernas)

struct BurnDriver BurnSpeccavernas = {
	"spec_cavernas", NULL, "spec_spectrum", NULL, "1985",
	"Cavernas (Spanish) (48K)\0", NULL, "Jorge Perez Barreiro", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccavernasRomInfo, SpeccavernasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Caverns of Kontonia (48K)

static struct BurnRomInfo SpeccavekontRomDesc[] = {
	{ "Caverns of Kontonia (1986)(Atlantis Software).z80", 0x07b1b, 0x83a69fb1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccavekont, Speccavekont, Spectrum)
STD_ROM_FN(Speccavekont)

struct BurnDriver BurnSpeccavekont = {
	"spec_cavekont", NULL, "spec_spectrum", NULL, "1986",
	"Caverns of Kontonia (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccavekontRomInfo, SpeccavekontRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Caves of Doom, The (48K)

static struct BurnRomInfo SpeccavdoothRomDesc[] = {
	{ "Caves of Doom, The (1985)(Mastertronic).z80", 0x0801b, 0xfa1b1250, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccavdooth, Speccavdooth, Spectrum)
STD_ROM_FN(Speccavdooth)

struct BurnDriver BurnSpeccavdooth = {
	"spec_cavdooth", NULL, "spec_spectrum", NULL, "1985",
	"Caves of Doom, The (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccavdoothRomInfo, SpeccavdoothRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Caves of Mondonia (48K)

static struct BurnRomInfo SpeccavemondRomDesc[] = {
	{ "Caves of Mondonia (1988)(CSSCGC).z80", 0x042f8, 0x4b2a9b08, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccavemond, Speccavemond, Spectrum)
STD_ROM_FN(Speccavemond)

struct BurnDriver BurnSpeccavemond = {
	"spec_cavemond", NULL, "spec_spectrum", NULL, "1988",
	"Caves of Mondonia (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccavemondRomInfo, SpeccavemondRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cederick (nl) (48K)

static struct BurnRomInfo SpeccederickRomDesc[] = {
	{ "Cederick (1985)(Data-Skip Software)(nl).z80", 0x0852e, 0x24e31ea1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccederick, Speccederick, Spectrum)
STD_ROM_FN(Speccederick)

struct BurnDriver BurnSpeccederick = {
	"spec_cederick", NULL, "spec_spectrum", NULL, "1985",
	"Cederick (nl) (48K)\0", NULL, "Data-Skip Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccederickRomInfo, SpeccederickRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Celtic Carnage (48K)

static struct BurnRomInfo SpecceltcarnRomDesc[] = {
	{ "Celtic Carnage (1993)(Zenobi Software).z80", 0x09810, 0xdc4ca3fe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specceltcarn, Specceltcarn, Spectrum)
STD_ROM_FN(Specceltcarn)

struct BurnDriver BurnSpecceltcarn = {
	"spec_celtcarn", NULL, "spec_spectrum", NULL, "1993",
	"Celtic Carnage (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecceltcarnRomInfo, SpecceltcarnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Centipede (48K)

static struct BurnRomInfo Speccentiped_48RomDesc[] = {
	{ "Centipede (1982)(DK'Tronics).z80", 0x02629, 0x8c90f40d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccentiped_48, Speccentiped_48, Spectrum)
STD_ROM_FN(Speccentiped_48)

struct BurnDriver BurnSpeccentiped_48 = {
	"spec_centiped_48", "spec_centiped", "spec_spectrum", NULL, "1982",
	"Centipede (48K)\0", NULL, "DK'Tronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccentiped_48RomInfo, Speccentiped_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Centipedes (48K)

static struct BurnRomInfo SpeccentipedRomDesc[] = {
	{ "Centipedes (1983)(EMM Software).z80", 0x03ff4, 0x86bd289a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccentiped, Speccentiped, Spectrum)
STD_ROM_FN(Speccentiped)

struct BurnDriver BurnSpeccentiped = {
	"spec_centiped", NULL, "spec_spectrum", NULL, "1983",
	"Centipedes (48K)\0", NULL, "EMM Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccentipedRomInfo, SpeccentipedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Centipod (48K)

static struct BurnRomInfo SpeccentipodRomDesc[] = {
	{ "Centipod (1990)(Challenge Software).z80", 0x08f37, 0x662233ad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccentipod, Speccentipod, Spectrum)
STD_ROM_FN(Speccentipod)

struct BurnDriver BurnSpeccentipod = {
	"spec_centipod", NULL, "spec_spectrum", NULL, "1990",
	"Centipod (48K)\0", NULL, "Challenge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccentipodRomInfo, SpeccentipodRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Centurions (48K)

static struct BurnRomInfo Speccenturn_48RomDesc[] = {
	{ "Centurions (1987)(Reaktor).z80", 0x09403, 0x6cb97e10, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccenturn_48, Speccenturn_48, Spectrum)
STD_ROM_FN(Speccenturn_48)

struct BurnDriver BurnSpeccenturn_48 = {
	"spec_centurn_48", "spec_centurn", "spec_spectrum", NULL, "1987",
	"Centurions (48K)\0", NULL, "Reaktor", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccenturn_48RomInfo, Speccenturn_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Centurions (128K)

static struct BurnRomInfo SpeccenturnRomDesc[] = {
	{ "Centurions (1987)(Reaktor)[128K].z80", 0x0967e, 0xdd4c1e4c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccenturn, Speccenturn, Spectrum)
STD_ROM_FN(Speccenturn)

struct BurnDriver BurnSpeccenturn = {
	"spec_centurn", NULL, "spec_spec128", NULL, "1987",
	"Centurions (128K)\0", NULL, "Reaktor", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccenturnRomInfo, SpeccenturnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cerius (48K)

static struct BurnRomInfo Speccerius_48RomDesc[] = {
	{ "Cerius (1988)(Atlantis Software).z80", 0x09f01, 0x982e53f6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccerius_48, Speccerius_48, Spectrum)
STD_ROM_FN(Speccerius_48)

struct BurnDriver BurnSpeccerius_48 = {
	"spec_cerius_48", "spec_cerius", "spec_spectrum", NULL, "1988",
	"Cerius (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccerius_48RomInfo, Speccerius_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cerius (128K)

static struct BurnRomInfo SpecceriusRomDesc[] = {
	{ "Cerius (1988)(Atlantis Software)[128K].z80", 0x09bd3, 0xa612d442, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccerius, Speccerius, Spectrum)
STD_ROM_FN(Speccerius)

struct BurnDriver BurnSpeccerius = {
	"spec_cerius", NULL, "spec_spec128", NULL, "1988",
	"Cerius (128K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecceriusRomInfo, SpecceriusRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cerius II - Interalia (48K)

static struct BurnRomInfo Speccerius2RomDesc[] = {
	{ "Cerius II - Interalia (1991)(Atlantis Software).z80", 0x09905, 0x77da84f9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccerius2, Speccerius2, Spectrum)
STD_ROM_FN(Speccerius2)

struct BurnDriver BurnSpeccerius2 = {
	"spec_cerius2", NULL, "spec_spectrum", NULL, "1991",
	"Cerius II - Interalia (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccerius2RomInfo, Speccerius2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cesta Bojovnika (sk) (48K)

static struct BurnRomInfo SpeccestbojoRomDesc[] = {
	{ "Cesta Bojovnika (1989)(Ultrasoft)(sk).z80", 0x09ccd, 0x9b1fb4a3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccestbojo, Speccestbojo, Spectrum)
STD_ROM_FN(Speccestbojo)

struct BurnDriver BurnSpeccestbojo = {
	"spec_cestbojo", NULL, "spec_spectrum", NULL, "1989",
	"Cesta Bojovnika (sk) (48K)\0", NULL, "Ultrasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccestbojoRomInfo, SpeccestbojoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chain Reaction (48K)

static struct BurnRomInfo Specchainrec_48RomDesc[] = {
	{ "Chain Reaction (1987)(Durell Software).z80", 0x09ef5, 0x59b92267, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchainrec_48, Specchainrec_48, Spectrum)
STD_ROM_FN(Specchainrec_48)

struct BurnDriver BurnSpecchainrec_48 = {
	"spec_chainrec_48", "spec_chainrec", "spec_spectrum", NULL, "1987",
	"Chain Reaction (48K)\0", NULL, "Durell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specchainrec_48RomInfo, Specchainrec_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chain Reaction (128K)

static struct BurnRomInfo SpecchainrecRomDesc[] = {
	{ "Chain Reaction (1987)(Durell Software)[128K].z80", 0x0aa1c, 0x52e4774d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchainrec, Specchainrec, Spectrum)
STD_ROM_FN(Specchainrec)

struct BurnDriver BurnSpecchainrec = {
	"spec_chainrec", NULL, "spec_spec128", NULL, "1987",
	"Chain Reaction (128K)\0", NULL, "Durell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchainrecRomInfo, SpecchainrecRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Challenge of the Gobots (48K)

static struct BurnRomInfo Specgobots_48RomDesc[] = {
	{ "Challenge of the Gobots (1987)(Reaktor).z80", 0x097ef, 0xc1334c27, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgobots_48, Specgobots_48, Spectrum)
STD_ROM_FN(Specgobots_48)

struct BurnDriver BurnSpecgobots_48 = {
	"spec_gobots_48", "spec_gobots", "spec_spectrum", NULL, "1987",
	"Challenge of the Gobots (48K)\0", NULL, "Reaktor", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgobots_48RomInfo, Specgobots_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Challenge of the Gobots (128K)

static struct BurnRomInfo SpecgobotsRomDesc[] = {
	{ "Challenge of the Gobots (1987)(Reaktor)[128K].z80", 0x0c112, 0x82fc5bad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgobots, Specgobots, Spectrum)
STD_ROM_FN(Specgobots)

struct BurnDriver BurnSpecgobots = {
	"spec_gobots", NULL, "spec_spec128", NULL, "1987",
	"Challenge of the Gobots (128K)\0", NULL, "Reaktor", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgobotsRomInfo, SpecgobotsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Challenge, The (River Software) (48K)

static struct BurnRomInfo SpecchallngeRomDesc[] = {
	{ "Challenge, The (1987)(River Software).z80", 0x09541, 0xe5623d27, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchallnge, Specchallnge, Spectrum)
STD_ROM_FN(Specchallnge)

struct BurnDriver BurnSpecchallnge = {
	"spec_challnge", NULL, "spec_spectrum", NULL, "1987",
	"Challenge, The (River Software) (48K)\0", NULL, "River Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchallngeRomInfo, SpecchallngeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Challenge, The (Zenobi Software) (48K)

static struct BurnRomInfo SpecchallngezRomDesc[] = {
	{ "Challenge, The (1991)(Zenobi Software)[re-release].z80", 0x09569, 0x7f4f5275, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchallngez, Specchallngez, Spectrum)
STD_ROM_FN(Specchallngez)

struct BurnDriver BurnSpecchallngez = {
	"spec_challngez", "spec_challnge", "spec_spectrum", NULL, "1991",
	"Challenge, The (Zenobi Software) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchallngezRomInfo, SpecchallngezRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chambers of Death (48K)

static struct BurnRomInfo SpecchamdeatRomDesc[] = {
	{ "Chambers of Death (1984)(Automata UK).z80", 0x07773, 0xf2563ffa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchamdeat, Specchamdeat, Spectrum)
STD_ROM_FN(Specchamdeat)

struct BurnDriver BurnSpecchamdeat = {
	"spec_chamdeat", NULL, "spec_spectrum", NULL, "1984",
	"Chambers of Death (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchamdeatRomInfo, SpecchamdeatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chambers of Horrors (48K)

static struct BurnRomInfo SpecchamhorrRomDesc[] = {
	{ "Chambers of Horrors (1984)(Omega Software).z80", 0x078ce, 0x73d0e215, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchamhorr, Specchamhorr, Spectrum)
STD_ROM_FN(Specchamhorr)

struct BurnDriver BurnSpecchamhorr = {
	"spec_chamhorr", NULL, "spec_spectrum", NULL, "1984",
	"Chambers of Horrors (48K)\0", NULL, "Omega Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchamhorrRomInfo, SpecchamhorrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Champ, The (48K)

static struct BurnRomInfo SpecchamtheRomDesc[] = {
	{ "Champ, The (1991)(Linel Software).z80", 0x08d9b, 0x9dd427bc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchamthe, Specchamthe, Spectrum)
STD_ROM_FN(Specchamthe)

struct BurnDriver BurnSpecchamthe = {
	"spec_chamthe", NULL, "spec_spectrum", NULL, "1991",
	"Champ, The (48K)\0", NULL, "Linel Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchamtheRomInfo, SpecchamtheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Championship Baseball (48K)

static struct BurnRomInfo SpecchambaseRomDesc[] = {
	{ "Championship Baseball (1987)(Gamestar).z80", 0x07f66, 0x079ce1d8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchambase, Specchambase, Spectrum)
STD_ROM_FN(Specchambase)

struct BurnDriver BurnSpecchambase = {
	"spec_chambase", NULL, "spec_spectrum", NULL, "1987",
	"Championship Baseball (48K)\0", NULL, "Gamestar", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchambaseRomInfo, SpecchambaseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Championship Darts (48K)

static struct BurnRomInfo SpecchamdartRomDesc[] = {
	{ "Championship Darts (1983)(Shadow Software).z80", 0x033d1, 0x80b5065c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchamdart, Specchamdart, Spectrum)
STD_ROM_FN(Specchamdart)

struct BurnDriver BurnSpecchamdart = {
	"spec_chamdart", NULL, "spec_spectrum", NULL, "1983",
	"Championship Darts (48K)\0", NULL, "Shadow Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchamdartRomInfo, SpecchamdartRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Championship Jet Ski Simulator - Easy (48K)

static struct BurnRomInfo SpecchjesksiRomDesc[] = {
	{ "Championship Jet Ski Simulator - Easy (1989)(Codemasters).z80", 0x08e58, 0xff247fe4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchjesksi, Specchjesksi, Spectrum)
STD_ROM_FN(Specchjesksi)

struct BurnDriver BurnSpecchjesksi = {
	"spec_chjesksi", NULL, "spec_spectrum", NULL, "1989",
	"Championship Jet Ski Simulator - Easy (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchjesksiRomInfo, SpecchjesksiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Championship Jet Ski Simulator - Hard (48K)

static struct BurnRomInfo SpecchjesksihRomDesc[] = {
	{ "Championship Jet Ski Simulator - Hard (1989)(Codemasters).z80", 0x08f27, 0xe54f4b7a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchjesksih, Specchjesksih, Spectrum)
STD_ROM_FN(Specchjesksih)

struct BurnDriver BurnSpecchjesksih = {
	"spec_chjesksih", "spec_chjesksi", "spec_spectrum", NULL, "1989",
	"Championship Jet Ski Simulator - Hard (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchjesksihRomInfo, SpecchjesksihRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Championship Run (48K)

static struct BurnRomInfo Specchamrun_48RomDesc[] = {
	{ "Championship Run (1991)(Impulze).z80", 0x08592, 0x69c24fbc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchamrun_48, Specchamrun_48, Spectrum)
STD_ROM_FN(Specchamrun_48)

struct BurnDriver BurnSpecchamrun_48 = {
	"spec_chamrun_48", "spec_chamrun", "spec_spectrum", NULL, "1991",
	"Championship Run (48K)\0", NULL, "Impulze", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specchamrun_48RomInfo, Specchamrun_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Championship Run (128K)

static struct BurnRomInfo SpecchamrunRomDesc[] = {
	{ "Championship Run (1991)(Impulze)[128K].z80", 0x08a4e, 0x7d3d1276, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchamrun, Specchamrun, Spectrum)
STD_ROM_FN(Specchamrun)

struct BurnDriver BurnSpecchamrun = {
	"spec_chamrun", NULL, "spec_spec128", NULL, "1991",
	"Championship Run (128K)\0", NULL, "Impulze", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchamrunRomInfo, SpecchamrunRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Championship Sprint - Track Editor (48K)

static struct BurnRomInfo SpecchsptredRomDesc[] = {
	{ "Championship Sprint - Track Editor (1988)(Electric Dreams Software).z80", 0x071eb, 0xcc2d3f6a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchsptred, Specchsptred, Spectrum)
STD_ROM_FN(Specchsptred)

struct BurnDriver BurnSpecchsptred = {
	"spec_chsptred", NULL, "spec_spectrum", NULL, "1988",
	"Championship Sprint - Track Editor (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchsptredRomInfo, SpecchsptredRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Championship Sprint (48K)

static struct BurnRomInfo SpecchamspriRomDesc[] = {
	{ "Championship Sprint (1988)(Electric Dreams Software).z80", 0x07073, 0xf557d7f7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchamspri, Specchamspri, Spectrum)
STD_ROM_FN(Specchamspri)

struct BurnDriver BurnSpecchamspri = {
	"spec_chamspri", NULL, "spec_spectrum", NULL, "1988",
	"Championship Sprint (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchamspriRomInfo, SpecchamspriRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chaos - The Battle of the Wizards - Editor (48K)

static struct BurnRomInfo SpecchthbawieRomDesc[] = {
	{ "Chaos - The Battle of the Wizards - Editor (1985)(Emulate).z80", 0x09951, 0xe38a58c4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchthbawie, Specchthbawie, Spectrum)
STD_ROM_FN(Specchthbawie)

struct BurnDriver BurnSpecchthbawie = {
	"spec_chthbawie", "spec_chthbawi", "spec_spectrum", NULL, "1985",
	"Chaos - The Battle of the Wizards - Editor (48K)\0", NULL, "Emulate", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchthbawieRomInfo, SpecchthbawieRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chaos - The Battle of the Wizards (48K)

static struct BurnRomInfo SpecchthbawiRomDesc[] = {
	{ "Chaos - The Battle of the Wizards (1985)(Games Workshop).z80", 0x081fc, 0x603c624b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchthbawi, Specchthbawi, Spectrum)
STD_ROM_FN(Specchthbawi)

struct BurnDriver BurnSpecchthbawi = {
	"spec_chthbawi", NULL, "spec_spectrum", NULL, "1985",
	"Chaos - The Battle of the Wizards (48K)\0", NULL, "Games Workshop", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchthbawiRomInfo, SpecchthbawiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chaos 2 - Battle in the Future (48K)

static struct BurnRomInfo SpecchabatfuRomDesc[] = {
	{ "Chaos 2 - Battle in the Future (19xx)(Blindmouse).z80", 0x094fe, 0xac49545b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchabatfu, Specchabatfu, Spectrum)
STD_ROM_FN(Specchabatfu)

struct BurnDriver BurnSpecchabatfu = {
	"spec_chabatfu", NULL, "spec_spectrum", NULL, "19xx",
	"Chaos 2 - Battle in the Future (48K)\0", NULL, "Blindmouse", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchabatfuRomInfo, SpecchabatfuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Charlie and the Chocolate Factory (Part 1 of 2) (48K)

static struct BurnRomInfo SpecchocfactRomDesc[] = {
	{ "Charlie and the Chocolate Factory (1985)(Hill MacGibbon)(Part 1 of 2).z80", 0x072d6, 0xa10f05d8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchocfact, Specchocfact, Spectrum)
STD_ROM_FN(Specchocfact)

struct BurnDriver BurnSpecchocfact = {
	"spec_chocfact", NULL, "spec_spectrum", NULL, "1985",
	"Charlie and the Chocolate Factory (Part 1 of 2) (48K)\0", NULL, "Hill MacGibbon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchocfactRomInfo, SpecchocfactRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Charlie and the Chocolate Factory (Part 2 of 2) (48K)

static struct BurnRomInfo Specchocfact2RomDesc[] = {
	{ "Charlie and the Chocolate Factory (1985)(Hill MacGibbon)(Part 2 of 2).z80", 0x08e08, 0x3048718f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchocfact2, Specchocfact2, Spectrum)
STD_ROM_FN(Specchocfact2)

struct BurnDriver BurnSpecchocfact2 = {
	"spec_chocfact2", "spec_chocfact", "spec_spectrum", NULL, "1985",
	"Charlie and the Chocolate Factory (Part 2 of 2) (48K)\0", NULL, "Hill MacGibbon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specchocfact2RomInfo, Specchocfact2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chart Topper (48K)

static struct BurnRomInfo SpecchartoppRomDesc[] = {
	{ "Chart Topper (19xx)(-).z80", 0x05f65, 0x4aebc0af, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchartopp, Specchartopp, Spectrum)
STD_ROM_FN(Specchartopp)

struct BurnDriver BurnSpecchartopp = {
	"spec_chartopp", NULL, "spec_spectrum", NULL, "19xx",
	"Chart Topper (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchartoppRomInfo, SpecchartoppRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chase H.Q. (48K)

static struct BurnRomInfo Specchasehq_48RomDesc[] = {
	{ "Chase H.Q. (1989)(Ocean).z80", 0x0a6f7, 0x5e684c1f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchasehq_48, Specchasehq_48, Spectrum)
STD_ROM_FN(Specchasehq_48)

struct BurnDriver BurnSpecchasehq_48 = {
	"spec_chasehq_48", "spec_chasehq", "spec_spectrum", NULL, "1989",
	"Chase H.Q. (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specchasehq_48RomInfo, Specchasehq_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chase H.Q. (128K)

static struct BurnRomInfo SpecchasehqRomDesc[] = {
	{ "Chase H.Q. (1989)(Ocean)[128K].z80", 0x1c04f, 0xbb5ae933, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchasehq, Specchasehq, Spectrum)
STD_ROM_FN(Specchasehq)

struct BurnDriver BurnSpecchasehq = {
	"spec_chasehq", NULL, "spec_spec128", NULL, "1989",
	"Chase H.Q. (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchasehqRomInfo, SpecchasehqRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chase H.Q. II - Special Criminal Investigations (128K)

static struct BurnRomInfo Specchasehq2RomDesc[] = {
	{ "Chase H.Q. II - Special Criminal Investigations (1990)(Ocean)[128K].z80", 0x19035, 0x83ac9fea, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchasehq2, Specchasehq2, Spectrum)
STD_ROM_FN(Specchasehq2)

struct BurnDriver BurnSpecchasehq2 = {
	"spec_chasehq2", NULL, "spec_spec128", NULL, "1990",
	"Chase H.Q. II - Special Criminal Investigations (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specchasehq2RomInfo, Specchasehq2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cheese Magnate (128K)

static struct BurnRomInfo SpeccheemagnRomDesc[] = {
	{ "Cheese Magnate (1998)(CSSCGC)[128K].z80", 0x021bc, 0x4273dcdc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccheemagn, Speccheemagn, Spectrum)
STD_ROM_FN(Speccheemagn)

struct BurnDriver BurnSpeccheemagn = {
	"spec_cheemagn", NULL, "spec_spec128", NULL, "1998",
	"Cheese Magnate (128K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccheemagnRomInfo, SpeccheemagnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chef, Lo (it) (48K)

static struct BurnRomInfo SpecchefloitRomDesc[] = {
	{ "Chef, Lo (1985)(Xor Soft)(it)[aka Cookie].z80", 0x02a18, 0xbdbf5cf7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchefloit, Specchefloit, Spectrum)
STD_ROM_FN(Specchefloit)

struct BurnDriver BurnSpecchefloit = {
	"spec_chefloit", NULL, "spec_spectrum", NULL, "1985",
	"Chef, Lo (it) (48K)\0", NULL, "Xor Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchefloitRomInfo, SpecchefloitRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chefs Mate II (48K)

static struct BurnRomInfo SpecchmaiiRomDesc[] = {
	{ "Chefs Mate II (1991)(Dominic Morris).z80", 0x08c65, 0x52c49d19, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchmaii, Specchmaii, Spectrum)
STD_ROM_FN(Specchmaii)

struct BurnDriver BurnSpecchmaii = {
	"spec_chmaii", NULL, "spec_spectrum", NULL, "1991",
	"Chefs Mate II (48K)\0", NULL, "Dominic Morris", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchmaiiRomInfo, SpecchmaiiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chemie - Das Periodensystem der Elemente (German) (48K)

static struct BurnRomInfo SpecchdapeelRomDesc[] = {
	{ "Chemie - Das Periodensystem der Elemente (1983)(Gerd Konig)(de).z80", 0x04374, 0xdcae6068, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchdapeel, Specchdapeel, Spectrum)
STD_ROM_FN(Specchdapeel)

struct BurnDriver BurnSpecchdapeel = {
	"spec_chdapeel", NULL, "spec_spectrum", NULL, "1983",
	"Chemie - Das Periodensystem der Elemente (German) (48K)\0", NULL, "Gerd Konig", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchdapeelRomInfo, SpecchdapeelRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chequered Flag (48K)

static struct BurnRomInfo SpeccheqflagRomDesc[] = {
	{ "Chequered Flag (1982)(Sinclair Research).z80", 0x08e6f, 0xbe6e657f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccheqflag, Speccheqflag, Spectrum)
STD_ROM_FN(Speccheqflag)

struct BurnDriver BurnSpeccheqflag = {
	"spec_cheqflag", NULL, "spec_spectrum", NULL, "1982",
	"Chequered Flag (48K)\0", NULL, "Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccheqflagRomInfo, SpeccheqflagRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chess - The Turk v1.3 (48K)

static struct BurnRomInfo SpecchethetuRomDesc[] = {
	{ "Chess - The Turk v1.3 (1982)(Oxford Computer Publishing).z80", 0x09443, 0xb9deb61c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchethetu, Specchethetu, Spectrum)
STD_ROM_FN(Specchethetu)

struct BurnDriver BurnSpecchethetu = {
	"spec_chethetu", NULL, "spec_spectrum", NULL, "1982",
	"Chess - The Turk v1.3 (48K)\0", NULL, "Oxford Computer Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchethetuRomInfo, SpecchethetuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chess (Sinclair Research) (48K)

static struct BurnRomInfo SpecchessRomDesc[] = {
	{ "Chess (1982)(Sinclair Research).z80", 0x03300, 0x45932e17, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchess, Specchess, Spectrum)
STD_ROM_FN(Specchess)

struct BurnDriver BurnSpecchess = {
	"spec_chess", NULL, "spec_spectrum", NULL, "1982",
	"Chess (Sinclair Research) (48K)\0", NULL, "Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchessRomInfo, SpecchessRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chess (CSSCGC) (48K)

static struct BurnRomInfo SpecchesscssRomDesc[] = {
	{ "Chess (1996)(CSSCGC).z80", 0x01368, 0xf140012c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchesscss, Specchesscss, Spectrum)
STD_ROM_FN(Specchesscss)

struct BurnDriver BurnSpecchesscss = {
	"spec_chesscss", NULL, "spec_spectrum", NULL, "1996",
	"Chess (CSSCGC) (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchesscssRomInfo, SpecchesscssRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chess Player, The (48K)

static struct BurnRomInfo SpecchesplayRomDesc[] = {
	{ "Chess Player, The (1982)(Quicksilva).z80", 0x054c2, 0xfcfb8950, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchesplay, Specchesplay, Spectrum)
STD_ROM_FN(Specchesplay)

struct BurnDriver BurnSpecchesplay = {
	"spec_chesplay", NULL, "spec_spectrum", NULL, "1982",
	"Chess Player, The (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchesplayRomInfo, SpecchesplayRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chessmaster 2000, The (Spanish) (48K)

static struct BurnRomInfo Specchsm2000RomDesc[] = {
	{ "Chessmaster 2000, The (1990)(Dro Soft)(es).z80", 0x071be, 0x681516fb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchsm2000, Specchsm2000, Spectrum)
STD_ROM_FN(Specchsm2000)

struct BurnDriver BurnSpecchsm2000 = {
	"spec_chsm2000", NULL, "spec_spectrum", NULL, "1990",
	"Chessmaster 2000, The (Spanish) (48K)\0", NULL, "Dro Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specchsm2000RomInfo, Specchsm2000RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chevy Chase (128K)

static struct BurnRomInfo SpecchevchasRomDesc[] = {
	{ "Chevy Chase (1991)(Hi-Tec Software)[128K].z80", 0x14d9b, 0x6d88b22c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchevchas, Specchevchas, Spectrum)
STD_ROM_FN(Specchevchas)

struct BurnDriver BurnSpecchevchas = {
	"spec_chevchas", NULL, "spec_spec128", NULL, "1991",
	"Chevy Chase (128K)\0", NULL, "Hi-Tec Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchevchasRomInfo, SpecchevchasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chicago (German) (48K)

static struct BurnRomInfo SpecchicagodRomDesc[] = {
	{ "Chicago (19xx)(-)(de).z80", 0x02d1c, 0xf03ae35a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchicagod, Specchicagod, Spectrum)
STD_ROM_FN(Specchicagod)

struct BurnDriver BurnSpecchicagod = {
	"spec_chicagod", NULL, "spec_spectrum", NULL, "19xx",
	"Chicago (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchicagodRomInfo, SpecchicagodRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chicago 30's (Spanish) (48K)

static struct BurnRomInfo Specchicago3RomDesc[] = {
	{ "Chicago 30's (1988)(Topo Soft)(es).z80", 0x0ab16, 0x2d744feb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchicago3, Specchicago3, Spectrum)
STD_ROM_FN(Specchicago3)

struct BurnDriver BurnSpecchicago3 = {
	"spec_chicago3", NULL, "spec_spectrum", NULL, "1988",
	"Chicago 30's (Spanish) (48K)\0", NULL, "Topo Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specchicago3RomInfo, Specchicago3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chickin Chase (48K)

static struct BurnRomInfo SpecchicchasRomDesc[] = {
	{ "Chickin Chase (1985)(Firebird Software).z80", 0x09a58, 0xbf5ace62, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchicchas, Specchicchas, Spectrum)
STD_ROM_FN(Specchicchas)

struct BurnDriver BurnSpecchicchas = {
	"spec_chicchas", NULL, "spec_spectrum", NULL, "1985",
	"Chickin Chase (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchicchasRomInfo, SpecchicchasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chiller (48K)

static struct BurnRomInfo SpecchillerRomDesc[] = {
	{ "Chiller (1985)(Mastertronic).z80", 0x04535, 0x430251de, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchiller, Specchiller, Spectrum)
STD_ROM_FN(Specchiller)

struct BurnDriver BurnSpecchiller = {
	"spec_chiller", NULL, "spec_spectrum", NULL, "1985",
	"Chiller (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchillerRomInfo, SpecchillerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chimera (48K)

static struct BurnRomInfo SpecchimeraRomDesc[] = {
	{ "Chimera (1985)(Firebird Software).z80", 0x09452, 0x84cce88f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchimera, Specchimera, Spectrum)
STD_ROM_FN(Specchimera)

struct BurnDriver BurnSpecchimera = {
	"spec_chimera", NULL, "spec_spectrum", NULL, "1985",
	"Chimera (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchimeraRomInfo, SpecchimeraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chinese Juggler, The (48K)

static struct BurnRomInfo SpecchijugthRomDesc[] = {
	{ "Chinese Juggler, The (1984)(Ocean).z80", 0x07eb4, 0x18f1638f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchijugth, Specchijugth, Spectrum)
STD_ROM_FN(Specchijugth)

struct BurnDriver BurnSpecchijugth = {
	"spec_chijugth", NULL, "spec_spectrum", NULL, "1984",
	"Chinese Juggler, The (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchijugthRomInfo, SpecchijugthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chinese Patience (48K)

static struct BurnRomInfo SpecchinpatiRomDesc[] = {
	{ "Chinese Patience (1985)(Atlantis Software).z80", 0x09e5e, 0x56438d17, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchinpati, Specchinpati, Spectrum)
STD_ROM_FN(Specchinpati)

struct BurnDriver BurnSpecchinpati = {
	"spec_chinpati", NULL, "spec_spectrum", NULL, "1985",
	"Chinese Patience (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchinpatiRomInfo, SpecchinpatiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chockman (48K)

static struct BurnRomInfo SpecchockmanRomDesc[] = {
	{ "Chockman (1983)(Hyperion Software).z80", 0x04810, 0x47124674, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchockman, Specchockman, Spectrum)
STD_ROM_FN(Specchockman)

struct BurnDriver BurnSpecchockman = {
	"spec_chockman", NULL, "spec_spectrum", NULL, "1983",
	"Chockman (48K)\0", NULL, "Hyperion Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchockmanRomInfo, SpecchockmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cholo (48K)

static struct BurnRomInfo SpeccholoRomDesc[] = {
	{ "Cholo (1987)(Firebird Software).z80", 0x091dd, 0x06edb78e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccholo, Speccholo, Spectrum)
STD_ROM_FN(Speccholo)

struct BurnDriver BurnSpeccholo = {
	"spec_cholo", NULL, "spec_spectrum", NULL, "1987",
	"Cholo (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccholoRomInfo, SpeccholoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chop Lifter (48K)

static struct BurnRomInfo SpecchopliftRomDesc[] = {
	{ "Chop Lifter (19xx)(-).z80", 0x082b6, 0xeef137aa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchoplift, Specchoplift, Spectrum)
STD_ROM_FN(Specchoplift)

struct BurnDriver BurnSpecchoplift = {
	"spec_choplift", NULL, "spec_spectrum", NULL, "19xx",
	"Chop Lifter (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchopliftRomInfo, SpecchopliftRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chopper Duel (128K)

static struct BurnRomInfo SpecchopduelRomDesc[] = {
	{ "Chopper Duel (1997)(Star Group of Prestige)[128K].z80", 0x09e1c, 0x31289713, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchopduel, Specchopduel, Spectrum)
STD_ROM_FN(Specchopduel)

struct BurnDriver BurnSpecchopduel = {
	"spec_chopduel", NULL, "spec_spec128", NULL, "1997",
	"Chopper Duel (128K)\0", NULL, "Star Group of Prestige", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchopduelRomInfo, SpecchopduelRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chopper Rescue (48K)

static struct BurnRomInfo SpecchoprescRomDesc[] = {
	{ "Chopper Rescue (1983)(Blaby Computer Games).z80", 0x00c62, 0xef41fc2f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchopresc, Specchopresc, Spectrum)
STD_ROM_FN(Specchopresc)

struct BurnDriver BurnSpecchopresc = {
	"spec_chopresc", NULL, "spec_spectrum", NULL, "1983",
	"Chopper Rescue (48K)\0", NULL, "Blaby Computer Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchoprescRomInfo, SpecchoprescRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chopper X-1 (48K)

static struct BurnRomInfo Specchopx1RomDesc[] = {
	{ "Chopper X-1 (1983)(R&R Software).z80", 0x02402, 0x5c60e992, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchopx1, Specchopx1, Spectrum)
STD_ROM_FN(Specchopx1)

struct BurnDriver BurnSpecchopx1 = {
	"spec_chopx1", NULL, "spec_spectrum", NULL, "1983",
	"Chopper X-1 (48K)\0", NULL, "R&R Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specchopx1RomInfo, Specchopx1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Choy-Lee-Fut Kung-Fu Warrior (Spanish) (48K)

static struct BurnRomInfo SpecclfkfwRomDesc[] = {
	{ "Choy-Lee-Fut Kung-Fu Warrior (1990)(Positive)(es).z80", 0x0a1a7, 0x7d83104d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specclfkfw, Specclfkfw, Spectrum)
STD_ROM_FN(Specclfkfw)

struct BurnDriver BurnSpecclfkfw = {
	"spec_clfkfw", NULL, "spec_spectrum", NULL, "1990",
	"Choy-Lee-Fut Kung-Fu Warrior (Spanish) (48K)\0", NULL, "Positive", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecclfkfwRomInfo, SpecclfkfwRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chrobak Truhlik (sk) (48K)

static struct BurnRomInfo SpecchrotruhRomDesc[] = {
	{ "Chrobak Truhlik (1991)(Ultrasoft)(sk).z80", 0x0667a, 0xf74934ee, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchrotruh, Specchrotruh, Spectrum)
STD_ROM_FN(Specchrotruh)

struct BurnDriver BurnSpecchrotruh = {
	"spec_chrotruh", NULL, "spec_spectrum", NULL, "1991",
	"Chrobak Truhlik (sk) (48K)\0", NULL, "Ultrasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchrotruhRomInfo, SpecchrotruhRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chronos - A Tapestry of Time (48K)

static struct BurnRomInfo Specchronos_48RomDesc[] = {
	{ "Chronos - A Tapestry of Time (1987)(Mastertronic).z80", 0x0a480, 0x9a40d9c4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchronos_48, Specchronos_48, Spectrum)
STD_ROM_FN(Specchronos_48)

struct BurnDriver BurnSpecchronos_48 = {
	"spec_chronos_48", "spec_chronos", "spec_spectrum", NULL, "1987",
	"Chronos - A Tapestry of Time (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specchronos_48RomInfo, Specchronos_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chronos - A Tapestry of Time (128K)

static struct BurnRomInfo SpecchronosRomDesc[] = {
	{ "Chronos - A Tapestry of Time (1987)(Mastertronic)[128K].z80", 0x131db, 0x0e409d9e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchronos, Specchronos, Spectrum)
STD_ROM_FN(Specchronos)

struct BurnDriver BurnSpecchronos = {
	"spec_chronos", NULL, "spec_spec128", NULL, "1987",
	"Chronos - A Tapestry of Time (128K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchronosRomInfo, SpecchronosRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chubby Gristle (48K)

static struct BurnRomInfo Specchubgris_48RomDesc[] = {
	{ "Chubby Gristle (1988)(Grandslam Entertainments).z80", 0x07c3c, 0x84a22522, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchubgris_48, Specchubgris_48, Spectrum)
STD_ROM_FN(Specchubgris_48)

struct BurnDriver BurnSpecchubgris_48 = {
	"spec_chubgris_48", "spec_chubgris", "spec_spectrum", NULL, "1988",
	"Chubby Gristle (48K)\0", NULL, "Grandslam Entertainments", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specchubgris_48RomInfo, Specchubgris_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chubby Gristle (128K)

static struct BurnRomInfo SpecchubgrisRomDesc[] = {
	{ "Chubby Gristle (1988)(Grandslam Entertainments)[128K].z80", 0x09f7b, 0xc8446b62, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchubgris, Specchubgris, Spectrum)
STD_ROM_FN(Specchubgris)

struct BurnDriver BurnSpecchubgris = {
	"spec_chubgris", NULL, "spec_spec128", NULL, "1988",
	"Chubby Gristle (128K)\0", NULL, "Grandslam Entertainments", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchubgrisRomInfo, SpecchubgrisRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chuck Yeager's Advanced Flight Trainer (128K)

static struct BurnRomInfo SpecchyeadflRomDesc[] = {
	{ "Chuck Yeager's Advanced Flight Trainer (1989)(Electronic Arts)[128K].z80", 0x1360e, 0x39988c95, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchyeadfl, Specchyeadfl, Spectrum)
STD_ROM_FN(Specchyeadfl)

struct BurnDriver BurnSpecchyeadfl = {
	"spec_chyeadfl", NULL, "spec_spec128", NULL, "1989",
	"Chuck Yeager's Advanced Flight Trainer (128K)\0", NULL, "Electronic Arts", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchyeadflRomInfo, SpecchyeadflRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chuckie Egg - Designer (48K)

static struct BurnRomInfo SpecchueggdeRomDesc[] = {
	{ "Chuckie Egg - Designer (1984)(P&M Software).z80", 0x05933, 0x42e5a09b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchueggde, Specchueggde, Spectrum)
STD_ROM_FN(Specchueggde)

struct BurnDriver BurnSpecchueggde = {
	"spec_chueggde", NULL, "spec_spectrum", NULL, "1984",
	"Chuckie Egg - Designer (48K)\0", NULL, "P&M Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchueggdeRomInfo, SpecchueggdeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chuckie Egg (48K)

static struct BurnRomInfo SpecchuckeggRomDesc[] = {
	{ "Chuckie Egg (1983)(A & F Software).z80", 0x04c8b, 0xf274304f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchuckegg, Specchuckegg, Spectrum)
STD_ROM_FN(Specchuckegg)

struct BurnDriver BurnSpecchuckegg = {
	"spec_chuckegg", NULL, "spec_spectrum", NULL, "1983",
	"Chuckie Egg (48K)\0", NULL, "A & F Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchuckeggRomInfo, SpecchuckeggRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chuckie Egg 2 (48K)

static struct BurnRomInfo Specchuckeg2RomDesc[] = {
	{ "Chuckie Egg 2 (1985)(A & F Software).z80", 0x0a5d9, 0xd5aa2184, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchuckeg2, Specchuckeg2, Spectrum)
STD_ROM_FN(Specchuckeg2)

struct BurnDriver BurnSpecchuckeg2 = {
	"spec_chuckeg2", NULL, "spec_spectrum", NULL, "1985",
	"Chuckie Egg 2 (48K)\0", NULL, "A & F Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specchuckeg2RomInfo, Specchuckeg2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Chuckman (48K)

static struct BurnRomInfo SpecchuckmanRomDesc[] = {
	{ "Chuckman (1983)(Mastertronic)[re-release].z80", 0x04a61, 0xaf3ea960, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specchuckman, Specchuckman, Spectrum)
STD_ROM_FN(Specchuckman)

struct BurnDriver BurnSpecchuckman = {
	"spec_chuckman", NULL, "spec_spectrum", NULL, "1983",
	"Chuckman (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecchuckmanRomInfo, SpecchuckmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cid, El (Spanish) (48K)

static struct BurnRomInfo SpeccidelsRomDesc[] = {
	{ "Cid, El (1987)(Dro Soft)(es).z80", 0x0c01e, 0x2ce42556, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccidels, Speccidels, Spectrum)
STD_ROM_FN(Speccidels)

struct BurnDriver BurnSpeccidels = {
	"spec_cidels", "spec_cidel", "spec_spectrum", NULL, "1987",
	"Cid, El (Spanish) (48K)\0", NULL, "Dro Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccidelsRomInfo, SpeccidelsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cid, El (48K)

static struct BurnRomInfo SpeccidelRomDesc[] = {
	{ "Cid, El (1988)(Mastertronic)[re-release].z80", 0x079b3, 0xebba99e1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccidel, Speccidel, Spectrum)
STD_ROM_FN(Speccidel)

struct BurnDriver BurnSpeccidel = {
	"spec_cidel", NULL, "spec_spectrum", NULL, "1988",
	"Cid, El (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccidelRomInfo, SpeccidelRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cimmerjan (Spanish) (48K)

static struct BurnRomInfo SpeccimmerjaRomDesc[] = {
	{ "Cimmerjan (1993)(Sindicato del Software)(es).z80", 0x08fad, 0xd14d8a49, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccimmerja, Speccimmerja, Spectrum)
STD_ROM_FN(Speccimmerja)

struct BurnDriver BurnSpeccimmerja = {
	"spec_cimmerja", NULL, "spec_spectrum", NULL, "1993",
	"Cimmerjan (Spanish) (48K)\0", NULL, "Sindicato del Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccimmerjaRomInfo, SpeccimmerjaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Circus (nl) (48K)

static struct BurnRomInfo SpeccircusnlRomDesc[] = {
	{ "Circus (19xx)(P. Toland)(nl).z80", 0x01f41, 0x28660d0c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccircusnl, Speccircusnl, Spectrum)
STD_ROM_FN(Speccircusnl)

struct BurnDriver BurnSpeccircusnl = {
	"spec_circusnl", NULL, "spec_spectrum", NULL, "19xx",
	"Circus (nl) (48K)\0", NULL, "P. Toland", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccircusnlRomInfo, SpeccircusnlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cisco Heat (128K)

static struct BurnRomInfo SpeccischeatRomDesc[] = {
	{ "Cisco Heat (1991)(Image Works)[128K].z80", 0x0eafb, 0x19e5d441, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccischeat, Speccischeat, Spectrum)
STD_ROM_FN(Speccischeat)

struct BurnDriver BurnSpeccischeat = {
	"spec_cischeat", NULL, "spec_spec128", NULL, "1991",
	"Cisco Heat (128K)\0", NULL, "Image Works", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccischeatRomInfo, SpeccischeatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Citadel, The (48K)

static struct BurnRomInfo SpeccitatheRomDesc[] = {
	{ "Citadel, The (1997)(Zenobi Software).z80", 0x09aff, 0xfae856e9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccitathe, Speccitathe, Spectrum)
STD_ROM_FN(Speccitathe)

struct BurnDriver BurnSpeccitathe = {
	"spec_citathe", NULL, "spec_spectrum", NULL, "1997",
	"Citadel, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccitatheRomInfo, SpeccitatheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// City (48K)

static struct BurnRomInfo SpeccityRomDesc[] = {
	{ "City (1983)(Terminal Software).z80", 0x06254, 0xc7041610, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccity, Speccity, Spectrum)
STD_ROM_FN(Speccity)

struct BurnDriver BurnSpeccity = {
	"spec_city", NULL, "spec_spectrum", NULL, "1983",
	"City (48K)\0", NULL, "Terminal Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccityRomInfo, SpeccityRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// City Bomber (48K)

static struct BurnRomInfo SpeccitybombRomDesc[] = {
	{ "City Bomber (1997)(CSSCGC).z80", 0x023f9, 0xd4c484c4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccitybomb, Speccitybomb, Spectrum)
STD_ROM_FN(Speccitybomb)

struct BurnDriver BurnSpeccitybomb = {
	"spec_citybomb", NULL, "spec_spectrum", NULL, "1997",
	"City Bomber (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccitybombRomInfo, SpeccitybombRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// City Connection (48K)

static struct BurnRomInfo SpeccityconnRomDesc[] = {
	{ "City Connection (19xx)(Manuel Lemos).z80", 0x0a253, 0xcbd6d656, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccityconn, Speccityconn, Spectrum)
STD_ROM_FN(Speccityconn)

struct BurnDriver BurnSpeccityconn = {
	"spec_cityconn", NULL, "spec_spectrum", NULL, "19xx",
	"City Connection (48K)\0", NULL, "Manuel Lemos", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccityconnRomInfo, SpeccityconnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// City of Death (48K)

static struct BurnRomInfo SpeccitydeatRomDesc[] = {
	{ "City of Death (1985)(Red Shift).z80", 0x09282, 0x241ccd99, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccitydeat, Speccitydeat, Spectrum)
STD_ROM_FN(Speccitydeat)

struct BurnDriver BurnSpeccitydeat = {
	"spec_citydeat", NULL, "spec_spectrum", NULL, "1985",
	"City of Death (48K)\0", NULL, "Red Shift", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccitydeatRomInfo, SpeccitydeatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// City of Ehdollah, The (48K)

static struct BurnRomInfo SpeccitehdthRomDesc[] = {
	{ "City of Ehdollah, The (1984)(Dorling Kindersley Software).z80", 0x04219, 0x95109588, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccitehdth, Speccitehdth, Spectrum)
STD_ROM_FN(Speccitehdth)

struct BurnDriver BurnSpeccitehdth = {
	"spec_citehdth", NULL, "spec_spectrum", NULL, "1984",
	"City of Ehdollah, The (48K)\0", NULL, "Dorling Kindersley Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccitehdthRomInfo, SpeccitehdthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// City Slicker (48K)

static struct BurnRomInfo SpeccityslicRomDesc[] = {
	{ "City Slicker (1986)(Hewson Consultants).z80", 0x0ade2, 0x8e6832b1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccityslic, Speccityslic, Spectrum)
STD_ROM_FN(Speccityslic)

struct BurnDriver BurnSpeccityslic = {
	"spec_cityslic", NULL, "spec_spectrum", NULL, "1986",
	"City Slicker (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccityslicRomInfo, SpeccityslicRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ci-U-Than Trilogy I - La Diosa de Cozumel (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpeccuttildcRomDesc[] = {
	{ "Ci-U-Than Trilogy I - La Diosa de Cozumel (1990)(Aventuras AD)(es)(Part 1 of 2).z80", 0x0b2f9, 0x196b5893, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccuttildc, Speccuttildc, Spectrum)
STD_ROM_FN(Speccuttildc)

struct BurnDriver BurnSpeccuttildc = {
	"spec_cuttildc", NULL, "spec_spectrum", NULL, "1990",
	"Ci-U-Than Trilogy I - La Diosa de Cozumel (Spanish) (Part 1 of 2) (48K)\0", NULL, "Aventuras AD", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccuttildcRomInfo, SpeccuttildcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ci-U-Than Trilogy I - La Diosa de Cozumel (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Speccuttildc2RomDesc[] = {
	{ "Ci-U-Than Trilogy I - La Diosa de Cozumel (1990)(Aventuras AD)(es)(Part 2 of 2).z80", 0x0b046, 0xb8d88eed, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccuttildc2, Speccuttildc2, Spectrum)
STD_ROM_FN(Speccuttildc2)

struct BurnDriver BurnSpeccuttildc2 = {
	"spec_cuttildc2", "spec_cuttildc", "spec_spectrum", NULL, "1990",
	"Ci-U-Than Trilogy I - La Diosa de Cozumel (Spanish) (Part 2 of 2) (48K)\0", NULL, "Aventuras AD", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccuttildc2RomInfo, Speccuttildc2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ci-U-Than Trilogy II - Los Templos Sagrados (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpeccuttiiltRomDesc[] = {
	{ "Ci-U-Than Trilogy II - Los Templos Sagrados (1991)(Aventuras AD)(es)(Part 1 of 2).z80", 0x09cf2, 0x0d594c0d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccuttiilt, Speccuttiilt, Spectrum)
STD_ROM_FN(Speccuttiilt)

struct BurnDriver BurnSpeccuttiilt = {
	"spec_cuttiilt", NULL, "spec_spectrum", NULL, "1991",
	"Ci-U-Than Trilogy II - Los Templos Sagrados (Spanish) (Part 1 of 2) (48K)\0", NULL, "Aventuras AD", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccuttiiltRomInfo, SpeccuttiiltRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ci-U-Than Trilogy II - Los Templos Sagrados (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Speccuttiilt2RomDesc[] = {
	{ "Ci-U-Than Trilogy II - Los Templos Sagrados (1991)(Aventuras AD)(es)(Part 2 of 2).z80", 0x09cec, 0xb7591f14, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccuttiilt2, Speccuttiilt2, Spectrum)
STD_ROM_FN(Speccuttiilt2)

struct BurnDriver BurnSpeccuttiilt2 = {
	"spec_cuttiilt2", "spec_cuttiilt", "spec_spectrum", NULL, "1991",
	"Ci-U-Than Trilogy II - Los Templos Sagrados (Spanish) (Part 2 of 2) (48K)\0", NULL, "Aventuras AD", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccuttiilt2RomInfo, Speccuttiilt2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Civil Service (48K)

static struct BurnRomInfo SpecciviservRomDesc[] = {
	{ "Civil Service (1994)(Zenobi Software).z80", 0x09753, 0xdd5fea29, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specciviserv, Specciviserv, Spectrum)
STD_ROM_FN(Specciviserv)

struct BurnDriver BurnSpecciviserv = {
	"spec_civiserv", NULL, "spec_spectrum", NULL, "1994",
	"Civil Service (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecciviservRomInfo, SpecciviservRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Civil Service II (48K)

static struct BurnRomInfo Speccivisrv2RomDesc[] = {
	{ "Civil Service II (1995)(Zenobi Software).z80", 0x09914, 0x3445578a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccivisrv2, Speccivisrv2, Spectrum)
STD_ROM_FN(Speccivisrv2)

struct BurnDriver BurnSpeccivisrv2 = {
	"spec_civisrv2", NULL, "spec_spectrum", NULL, "1995",
	"Civil Service II (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccivisrv2RomInfo, Speccivisrv2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// CJ's Elephant Antics (48K)

static struct BurnRomInfo SpeccjselephRomDesc[] = {
	{ "CJ's Elephant Antics (1991)(Codemasters).z80", 0x0a82e, 0x28f702f3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccjseleph, Speccjseleph, Spectrum)
STD_ROM_FN(Speccjseleph)

struct BurnDriver BurnSpeccjseleph = {
	"spec_cjseleph", NULL, "spec_spectrum", NULL, "1991",
	"CJ's Elephant Antics (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccjselephRomInfo, SpeccjselephRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// CJ's II - In the USA (48K)

static struct BurnRomInfo Speccjiiiusa_48RomDesc[] = {
	{ "CJ's II - In the USA (1991)(Codemasters)[t].z80", 0x0a5c8, 0xf988c4ed, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccjiiiusa_48, Speccjiiiusa_48, Spectrum)
STD_ROM_FN(Speccjiiiusa_48)

struct BurnDriver BurnSpeccjiiiusa_48 = {
	"spec_cjiiiusa_48", "spec_cjiiiusa", "spec_spectrum", NULL, "1991",
	"CJ's II - In the USA (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccjiiiusa_48RomInfo, Speccjiiiusa_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// CJ's II - In the USA (128K)

static struct BurnRomInfo SpeccjiiiusaRomDesc[] = {
	{ "CJ's II - In the USA (1991)(Codemasters)[t][128K].z80", 0x0d966, 0xc8e7d99e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccjiiiusa, Speccjiiiusa, Spectrum)
STD_ROM_FN(Speccjiiiusa)

struct BurnDriver BurnSpeccjiiiusa = {
	"spec_cjiiiusa", NULL, "spec_spec128", NULL, "1991",
	"CJ's II - In the USA (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccjiiiusaRomInfo, SpeccjiiiusaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Classic Adventure (48K)

static struct BurnRomInfo SpecclasadveRomDesc[] = {
	{ "Classic Adventure (1983)(Melbourne House)[aka Adventure 1].z80", 0x08a6d, 0xd287ae39, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specclasadve, Specclasadve, Spectrum)
STD_ROM_FN(Specclasadve)

struct BurnDriver BurnSpecclasadve = {
	"spec_clasadve", NULL, "spec_spectrum", NULL, "1983",
	"Classic Adventure (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecclasadveRomInfo, SpecclasadveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Classic Axiens (48K)

static struct BurnRomInfo SpecclasaxieRomDesc[] = {
	{ "Classic Axiens (1988)(Bubblebus Software).z80", 0x06e4e, 0x0c90e58a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specclasaxie, Specclasaxie, Spectrum)
STD_ROM_FN(Specclasaxie)

struct BurnDriver BurnSpecclasaxie = {
	"spec_clasaxie", NULL, "spec_spectrum", NULL, "1988",
	"Classic Axiens (48K)\0", NULL, "Bubblebus Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecclasaxieRomInfo, SpecclasaxieRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Classic Muncher (48K)

static struct BurnRomInfo SpecclasmuncRomDesc[] = {
	{ "Classic Muncher (1987)(Bubblebus Software).z80", 0x077a2, 0x81f92ce9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specclasmunc, Specclasmunc, Spectrum)
STD_ROM_FN(Specclasmunc)

struct BurnDriver BurnSpecclasmunc = {
	"spec_clasmunc", NULL, "spec_spectrum", NULL, "1987",
	"Classic Muncher (48K)\0", NULL, "Bubblebus Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecclasmuncRomInfo, SpecclasmuncRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Classic Punter (48K)

static struct BurnRomInfo Specclaspunt_48RomDesc[] = {
	{ "Classic Punter (1989)(GTI Software).z80", 0x072c8, 0xe3aaaefc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specclaspunt_48, Specclaspunt_48, Spectrum)
STD_ROM_FN(Specclaspunt_48)

struct BurnDriver BurnSpecclaspunt_48 = {
	"spec_claspunt_48", "spec_claspunt", "spec_spectrum", NULL, "1989",
	"Classic Punter (48K)\0", NULL, "GTI Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specclaspunt_48RomInfo, Specclaspunt_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Classic Punter (128K)

static struct BurnRomInfo SpecclaspuntRomDesc[] = {
	{ "Classic Punter (1989)(GTI Software)[128K].z80", 0x0791f, 0xe2b8accd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specclaspunt, Specclaspunt, Spectrum)
STD_ROM_FN(Specclaspunt)

struct BurnDriver BurnSpecclaspunt = {
	"spec_claspunt", NULL, "spec_spec128", NULL, "1989",
	"Classic Punter (128K)\0", NULL, "GTI Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecclaspuntRomInfo, SpecclaspuntRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Classic Trainer (48K)

static struct BurnRomInfo SpecclasstrnRomDesc[] = {
	{ "Classic Trainer (1989)(GTI Software).z80", 0x0943e, 0xbd1ea315, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specclasstrn, Specclasstrn, Spectrum)
STD_ROM_FN(Specclasstrn)

struct BurnDriver BurnSpecclasstrn = {
	"spec_classtrn", NULL, "spec_spectrum", NULL, "1989",
	"Classic Trainer (48K)\0", NULL, "GTI Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecclasstrnRomInfo, SpecclasstrnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Classic Trainer II (48K)

static struct BurnRomInfo Specclasstrn2RomDesc[] = {
	{ "Classic Trainer II (1990)(GTI Software).z80", 0x08ffc, 0xda6aaf26, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specclasstrn2, Specclasstrn2, Spectrum)
STD_ROM_FN(Specclasstrn2)

struct BurnDriver BurnSpecclasstrn2 = {
	"spec_classtrn2", NULL, "spec_spectrum", NULL, "1990",
	"Classic Trainer II (48K)\0", NULL, "GTI Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specclasstrn2RomInfo, Specclasstrn2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Claws of Despair, The (48K)

static struct BurnRomInfo SpeccladesthRomDesc[] = {
	{ "Claws of Despair, The (1986)(Players Software).z80", 0x0ac32, 0x5a372848, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccladesth, Speccladesth, Spectrum)
STD_ROM_FN(Speccladesth)

struct BurnDriver BurnSpeccladesth = {
	"spec_cladesth", NULL, "spec_spectrum", NULL, "1986",
	"Claws of Despair, The (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccladesthRomInfo, SpeccladesthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Clerky (48K)

static struct BurnRomInfo SpecclerkyRomDesc[] = {
	{ "Clerky (1984)(Unique).z80", 0x079de, 0xb85b576d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specclerky, Specclerky, Spectrum)
STD_ROM_FN(Specclerky)

struct BurnDriver BurnSpecclerky = {
	"spec_clerky", NULL, "spec_spectrum", NULL, "1984",
	"Clerky (48K)\0", NULL, "Unique", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecclerkyRomInfo, SpecclerkyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Clever & Smart (48K)

static struct BurnRomInfo SpecclevsmarRomDesc[] = {
	{ "Clever & Smart (1987)(Magic Bytes).z80", 0x0a818, 0x54e8be99, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specclevsmar, Specclevsmar, Spectrum)
STD_ROM_FN(Specclevsmar)

struct BurnDriver BurnSpecclevsmar = {
	"spec_clevsmar", NULL, "spec_spectrum", NULL, "1987",
	"Clever & Smart (48K)\0", NULL, "Magic Bytes", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecclevsmarRomInfo, SpecclevsmarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cliff Hanger (48K)

static struct BurnRomInfo SpecclifhangRomDesc[] = {
	{ "Cliff Hanger (1986)(New Generation Software).z80", 0x0a187, 0xe68411b0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specclifhang, Specclifhang, Spectrum)
STD_ROM_FN(Specclifhang)

struct BurnDriver BurnSpecclifhang = {
	"spec_clifhang", NULL, "spec_spectrum", NULL, "1986",
	"Cliff Hanger (48K)\0", NULL, "New Generation Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecclifhangRomInfo, SpecclifhangRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Clifftop View (48K)

static struct BurnRomInfo SpecclifviewRomDesc[] = {
	{ "Clifftop View (1999)(CSSCGC).z80", 0x02bb2, 0x775d3faa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specclifview, Specclifview, Spectrum)
STD_ROM_FN(Specclifview)

struct BurnDriver BurnSpecclifview = {
	"spec_clifview", NULL, "spec_spectrum", NULL, "1999",
	"Clifftop View (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecclifviewRomInfo, SpecclifviewRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Clock Chess '89 (48K)

static struct BurnRomInfo SpecclocchesRomDesc[] = {
	{ "Clock Chess '89 (1989)(CP Software).z80", 0x08b12, 0x7a123dfc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specclocches, Specclocches, Spectrum)
STD_ROM_FN(Specclocches)

struct BurnDriver BurnSpecclocches = {
	"spec_clocches", NULL, "spec_spectrum", NULL, "1989",
	"Clock Chess '89 (48K)\0", NULL, "CP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecclocchesRomInfo, SpecclocchesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cloud 99 (48K)

static struct BurnRomInfo Speccloud99_48RomDesc[] = {
	{ "Cloud 99 (1988)(Marlin Games).z80", 0x09151, 0x8c97d72c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccloud99_48, Speccloud99_48, Spectrum)
STD_ROM_FN(Speccloud99_48)

struct BurnDriver BurnSpeccloud99_48 = {
	"spec_cloud99_48", NULL, "spec_spectrum", NULL, "1988",
	"Cloud 99 (48K)\0", NULL, "Marlin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccloud99_48RomInfo, Speccloud99_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cloud 99 (128K)

static struct BurnRomInfo Speccloud99RomDesc[] = {
	{ "Cloud 99 (1988)(Marlin Games)[128K].z80", 0x111ac, 0xee64b5fa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccloud99, Speccloud99, Spectrum)
STD_ROM_FN(Speccloud99)

struct BurnDriver BurnSpeccloud99 = {
	"spec_cloud99", NULL, "spec_spec128", NULL, "1988",
	"Cloud 99 (128K)\0", NULL, "Marlin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccloud99RomInfo, Speccloud99RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cluedo (48K)

static struct BurnRomInfo SpeccluedoRomDesc[] = {
	{ "Cluedo (1985)(Leisure Genius).z80", 0x09983, 0x53c506ab, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccluedo, Speccluedo, Spectrum)
STD_ROM_FN(Speccluedo)

struct BurnDriver BurnSpeccluedo = {
	"spec_cluedo", NULL, "spec_spectrum", NULL, "1985",
	"Cluedo (48K)\0", NULL, "Leisure Genius", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccluedoRomInfo, SpeccluedoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cobra (48K)

static struct BurnRomInfo SpeccobraRomDesc[] = {
	{ "Cobra (1986)(Ocean).z80", 0x0a4ea, 0x28a20fe7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccobra, Speccobra, Spectrum)
STD_ROM_FN(Speccobra)

struct BurnDriver BurnSpeccobra = {
	"spec_cobra", NULL, "spec_spectrum", NULL, "1986",
	"Cobra (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccobraRomInfo, SpeccobraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cobra Force (48K)

static struct BurnRomInfo SpeccobrforcRomDesc[] = {
	{ "Cobra Force (1989)(Players Premier Software).z80", 0x090eb, 0x1a5c525b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccobrforc, Speccobrforc, Spectrum)
STD_ROM_FN(Speccobrforc)

struct BurnDriver BurnSpeccobrforc = {
	"spec_cobrforc", NULL, "spec_spectrum", NULL, "1989",
	"Cobra Force (48K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccobrforcRomInfo, SpeccobrforcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cobra's Arc (Spanish) (48K)

static struct BurnRomInfo SpeccobrarceRomDesc[] = {
	{ "Cobra's Arc (1986)(Dinamic Software)(es).z80", 0x0c01e, 0x06dee8f6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccobrarce, Speccobrarce, Spectrum)
STD_ROM_FN(Speccobrarce)

struct BurnDriver BurnSpeccobrarce = {
	"spec_cobrarce", NULL, "spec_spectrum", NULL, "1986",
	"Cobra's Arc (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccobrarceRomInfo, SpeccobrarceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cock Attack (48K)

static struct BurnRomInfo SpeccockattaRomDesc[] = {
	{ "Cock Attack (1985)(Rikta Software).z80", 0x05540, 0x51e361b1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccockatta, Speccockatta, Spectrum)
STD_ROM_FN(Speccockatta)

struct BurnDriver BurnSpeccockatta = {
	"spec_cockatta", NULL, "spec_spectrum", NULL, "1985",
	"Cock Attack (48K)\0", NULL, "Rikta Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccockattaRomInfo, SpeccockattaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Code Book Caper, The (48K)

static struct BurnRomInfo SpeccobocathRomDesc[] = {
	{ "Code Book Caper, The (1984)(Scorpio Software).z80", 0x079dc, 0xb2c2a2e9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccobocath, Speccobocath, Spectrum)
STD_ROM_FN(Speccobocath)

struct BurnDriver BurnSpeccobocath = {
	"spec_cobocath", NULL, "spec_spectrum", NULL, "1984",
	"Code Book Caper, The (48K)\0", NULL, "Scorpio Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccobocathRomInfo, SpeccobocathRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Code, The (48K)

static struct BurnRomInfo SpeccodetheRomDesc[] = {
	{ "Code, The (1984)(Soft Concern).z80", 0x08417, 0x1d277afe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccodethe, Speccodethe, Spectrum)
STD_ROM_FN(Speccodethe)

struct BurnDriver BurnSpeccodethe = {
	"spec_codethe", NULL, "spec_spectrum", NULL, "1984",
	"Code, The (48K)\0", NULL, "Soft Concern", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccodetheRomInfo, SpeccodetheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Codename Mat (48K)

static struct BurnRomInfo SpeccodematRomDesc[] = {
	{ "Codename Mat (1984)(Micromega).z80", 0x0a35b, 0xb4ff6fef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccodemat, Speccodemat, Spectrum)
STD_ROM_FN(Speccodemat)

struct BurnDriver BurnSpeccodemat = {
	"spec_codemat", NULL, "spec_spectrum", NULL, "1984",
	"Codename Mat (48K)\0", NULL, "Micromega", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccodematRomInfo, SpeccodematRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Codename Mat II (48K)

static struct BurnRomInfo Speccodemat2RomDesc[] = {
	{ "Codename Mat II (1984)(Domark).z80", 0x08ff0, 0x2f3fbc3f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccodemat2, Speccodemat2, Spectrum)
STD_ROM_FN(Speccodemat2)

struct BurnDriver BurnSpeccodemat2 = {
	"spec_codemat2", NULL, "spec_spectrum", NULL, "1984",
	"Codename Mat II (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccodemat2RomInfo, Speccodemat2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Code-Woord (nl) (48K)

static struct BurnRomInfo SpeccodewoorRomDesc[] = {
	{ "Code-Woord (1984)(Wolters Software)(nl)[aka Master Word].z80", 0x01090, 0x442d4168, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccodewoor, Speccodewoor, Spectrum)
STD_ROM_FN(Speccodewoor)

struct BurnDriver BurnSpeccodewoor = {
	"spec_codewoor", NULL, "spec_spectrum", NULL, "1984",
	"Code-Woord (nl) (48K)\0", NULL, "Wolters Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccodewoorRomInfo, SpeccodewoorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Colditz Castle - Intro (48K)

static struct BurnRomInfo SpeccolditzRomDesc[] = {
	{ "Colditz Castle - Intro (1983)(Phipps Associates).z80", 0x01ffc, 0x162ee291, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccolditz, Speccolditz, Spectrum)
STD_ROM_FN(Speccolditz)

struct BurnDriver BurnSpeccolditz = {
	"spec_colditz", NULL, "spec_spectrum", NULL, "1983",
	"Colditz Castle - Intro (48K)\0", NULL, "Phipps Associates", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccolditzRomInfo, SpeccolditzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Colditz Castle (48K)

static struct BurnRomInfo SpeccolditzgRomDesc[] = {
	{ "Colditz Castle (1983)(Phipps Associates).z80", 0x08d3f, 0x10a485a9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccolditzg, Speccolditzg, Spectrum)
STD_ROM_FN(Speccolditzg)

struct BurnDriver BurnSpeccolditzg = {
	"spec_colditzg", "spec_colditz", "spec_spectrum", NULL, "1983",
	"Colditz Castle (48K)\0", NULL, "Phipps Associates", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccolditzgRomInfo, SpeccolditzgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Colditz Story, The (48K)

static struct BurnRomInfo SpeccolstothRomDesc[] = {
	{ "Colditz Story, The (1987)(Atlantis Software).z80", 0x09ade, 0xa3728463, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccolstoth, Speccolstoth, Spectrum)
STD_ROM_FN(Speccolstoth)

struct BurnDriver BurnSpeccolstoth = {
	"spec_colstoth", NULL, "spec_spectrum", NULL, "1987",
	"Colditz Story, The (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccolstothRomInfo, SpeccolstothRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Colin the Cleaner (48K)

static struct BurnRomInfo Speccolincln_48RomDesc[] = {
	{ "Colin the Cleaner (1987)(Tynesoft).z80", 0x065be, 0xe127185a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccolincln_48, Speccolincln_48, Spectrum)
STD_ROM_FN(Speccolincln_48)

struct BurnDriver BurnSpeccolincln_48 = {
	"spec_colincln_48", "spec_colincln", "spec_spectrum", NULL, "1987",
	"Colin the Cleaner (48K)\0", NULL, "Tynesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccolincln_48RomInfo, Speccolincln_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Colin the Cleaner (128K)

static struct BurnRomInfo SpeccolinclnRomDesc[] = {
	{ "Colin the Cleaner (1987)(Tynesoft)[128K].z80", 0x06b48, 0xc0eaf660, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccolincln, Speccolincln, Spectrum)
STD_ROM_FN(Speccolincln)

struct BurnDriver BurnSpeccolincln = {
	"spec_colincln", NULL, "spec_spec128", NULL, "1987",
	"Colin the Cleaner (128K)\0", NULL, "Tynesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccolinclnRomInfo, SpeccolinclnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Collywobbles (48K)

static struct BurnRomInfo SpeccollywobRomDesc[] = {
	{ "Collywobbles (1987)(Pirate Software).z80", 0x047e7, 0x9b7d98ff, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccollywob, Speccollywob, Spectrum)
STD_ROM_FN(Speccollywob)

struct BurnDriver BurnSpeccollywob = {
	"spec_collywob", NULL, "spec_spectrum", NULL, "1987",
	"Collywobbles (48K)\0", NULL, "Pirate Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccollywobRomInfo, SpeccollywobRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Colony (48K)

static struct BurnRomInfo SpeccolonyRomDesc[] = {
	{ "Colony (1987)(Bulldog).z80", 0x08a11, 0x8193c100, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccolony, Speccolony, Spectrum)
STD_ROM_FN(Speccolony)

struct BurnDriver BurnSpeccolony = {
	"spec_colony", NULL, "spec_spectrum", NULL, "1987",
	"Colony (48K)\0", NULL, "Bulldog", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccolonyRomInfo, SpeccolonyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Color Lines (Russian) (48K)

static struct BurnRomInfo SpeccololineRomDesc[] = {
	{ "Color Lines (1994)(Surdakar Group)(ru).z80", 0x079de, 0xd677a86e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccololine, Speccololine, Spectrum)
STD_ROM_FN(Speccololine)

struct BurnDriver BurnSpeccololine = {
	"spec_cololine", NULL, "spec_spectrum", NULL, "1994",
	"Color Lines (Russian) (48K)\0", NULL, "Surdakar Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccololineRomInfo, SpeccololineRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Coloris (48K)

static struct BurnRomInfo SpeccolorisRomDesc[] = {
	{ "Coloris (1990)(WoMo Team).z80", 0x05006, 0x841b7da4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccoloris, Speccoloris, Spectrum)
STD_ROM_FN(Speccoloris)

struct BurnDriver BurnSpeccoloris = {
	"spec_coloris", NULL, "spec_spectrum", NULL, "1990",
	"Coloris (48K)\0", NULL, "WoMo Team", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccolorisRomInfo, SpeccolorisRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Colossal Cave Adventure (48K)

static struct BurnRomInfo SpeccolcavadRomDesc[] = {
	{ "Colossal Cave Adventure (1985)(Anubis Software).z80", 0x0a890, 0x6ba0137a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccolcavad, Speccolcavad, Spectrum)
STD_ROM_FN(Speccolcavad)

struct BurnDriver BurnSpeccolcavad = {
	"spec_colcavad", NULL, "spec_spectrum", NULL, "1985",
	"Colossal Cave Adventure (48K)\0", NULL, "Anubis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccolcavadRomInfo, SpeccolcavadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Colossal Cave Adventure v2 (48K)

static struct BurnRomInfo Speccolcavad2RomDesc[] = {
	{ "Colossal Cave Adventure v2 (1985)(Anubis Software).z80", 0x08e36, 0x40ea8c2e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccolcavad2, Speccolcavad2, Spectrum)
STD_ROM_FN(Speccolcavad2)

struct BurnDriver BurnSpeccolcavad2 = {
	"spec_colcavad2", NULL, "spec_spectrum", NULL, "1985",
	"Colossal Cave Adventure v2 (48K)\0", NULL, "Anubis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccolcavad2RomInfo, Speccolcavad2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Colossal Caves (48K)

static struct BurnRomInfo SpeccolocaveRomDesc[] = {
	{ "Colossal Caves (1982)(CP Software)[aka Adventure 1].z80", 0x089f9, 0x15f558eb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccolocave, Speccolocave, Spectrum)
STD_ROM_FN(Speccolocave)

struct BurnDriver BurnSpeccolocave = {
	"spec_colocave", NULL, "spec_spectrum", NULL, "1982",
	"Colossal Caves (48K)\0", NULL, "CP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccolocaveRomInfo, SpeccolocaveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Colosseum (48K)

static struct BurnRomInfo SpeccolosseuRomDesc[] = {
	{ "Colosseum (1988)(Kixx)[aka Coliseum].z80", 0x0ab23, 0x056c4b05, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccolosseu, Speccolosseu, Spectrum)
STD_ROM_FN(Speccolosseu)

struct BurnDriver BurnSpeccolosseu = {
	"spec_colosseu", NULL, "spec_spectrum", NULL, "1988",
	"Colosseum (48K)\0", NULL, "Kixx", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccolosseuRomInfo, SpeccolosseuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Colossus 4 Bridge (48K)

static struct BurnRomInfo SpeccolobridRomDesc[] = {
	{ "Colossus 4 Bridge (1986)(CDS Microsystems).z80", 0x08e1d, 0x3884d98c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccolobrid, Speccolobrid, Spectrum)
STD_ROM_FN(Speccolobrid)

struct BurnDriver BurnSpeccolobrid = {
	"spec_colobrid", NULL, "spec_spectrum", NULL, "1986",
	"Colossus 4 Bridge (48K)\0", NULL, "CDS Microsystems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccolobridRomInfo, SpeccolobridRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Colossus 4 Chess (48K)

static struct BurnRomInfo SpeccolochesRomDesc[] = {
	{ "Colossus 4 Chess (1986)(CDS Microsystems).z80", 0x0a0d1, 0xdc00bcae, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccoloches, Speccoloches, Spectrum)
STD_ROM_FN(Speccoloches)

struct BurnDriver BurnSpeccoloches = {
	"spec_coloches", NULL, "spec_spectrum", NULL, "1986",
	"Colossus 4 Chess (48K)\0", NULL, "CDS Microsystems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccolochesRomInfo, SpeccolochesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Colour Clash (48K)

static struct BurnRomInfo SpeccoloclasRomDesc[] = {
	{ "Colour Clash (1983)(Romik Software).z80", 0x0c01e, 0xc2428060, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccoloclas, Speccoloclas, Spectrum)
STD_ROM_FN(Speccoloclas)

struct BurnDriver BurnSpeccoloclas = {
	"spec_coloclas", NULL, "spec_spectrum", NULL, "1983",
	"Colour Clash (48K)\0", NULL, "Romik Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccoloclasRomInfo, SpeccoloclasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Colour of Magic, The (Part 1 of 4) (48K)

static struct BurnRomInfo SpeccolormgcRomDesc[] = {
	{ "Colour of Magic, The (1986)(Piranha)(Part 1 of 4).z80", 0x0aae5, 0xaaa4bd28, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccolormgc, Speccolormgc, Spectrum)
STD_ROM_FN(Speccolormgc)

struct BurnDriver BurnSpeccolormgc = {
	"spec_colormgc", NULL, "spec_spectrum", NULL, "1986",
	"Colour of Magic, The (Part 1 of 4) (48K)\0", NULL, "Piranha", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccolormgcRomInfo, SpeccolormgcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Colour of Magic, The (Part 2 of 4) (48K)

static struct BurnRomInfo Speccolormgc2RomDesc[] = {
	{ "Colour of Magic, The (1986)(Piranha)(Part 2 of 4).z80", 0x09c52, 0x3ea60ed6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccolormgc2, Speccolormgc2, Spectrum)
STD_ROM_FN(Speccolormgc2)

struct BurnDriver BurnSpeccolormgc2 = {
	"spec_colormgc2", "spec_colormgc", "spec_spectrum", NULL, "1986",
	"Colour of Magic, The (Part 2 of 4) (48K)\0", NULL, "Piranha", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccolormgc2RomInfo, Speccolormgc2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Colour of Magic, The (Part 3 of 4) (48K)

static struct BurnRomInfo Speccolormgc3RomDesc[] = {
	{ "Colour of Magic, The (1986)(Piranha)(Part 3 of 4).z80", 0x09a82, 0x4b22a15a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccolormgc3, Speccolormgc3, Spectrum)
STD_ROM_FN(Speccolormgc3)

struct BurnDriver BurnSpeccolormgc3 = {
	"spec_colormgc3", "spec_colormgc", "spec_spectrum", NULL, "1986",
	"Colour of Magic, The (Part 3 of 4) (48K)\0", NULL, "Piranha", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccolormgc3RomInfo, Speccolormgc3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Colour of Magic, The (Part 4 of 4) (48K)

static struct BurnRomInfo Speccolormgc4RomDesc[] = {
	{ "Colour of Magic, The (1986)(Piranha)(Part 4 of 4).z80", 0x09514, 0xaff31422, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccolormgc4, Speccolormgc4, Spectrum)
STD_ROM_FN(Speccolormgc4)

struct BurnDriver BurnSpeccolormgc4 = {
	"spec_colormgc4", "spec_colormgc", "spec_spectrum", NULL, "1986",
	"Colour of Magic, The (Part 4 of 4) (48K)\0", NULL, "Piranha", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccolormgc4RomInfo, Speccolormgc4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Colourbind (48K)

static struct BurnRomInfo SpeccolourbiRomDesc[] = {
	{ "Colourbind (1989)(Daton Software).z80", 0x06996, 0xa456bb02, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccolourbi, Speccolourbi, Spectrum)
STD_ROM_FN(Speccolourbi)

struct BurnDriver BurnSpeccolourbi = {
	"spec_colourbi", NULL, "spec_spectrum", NULL, "1989",
	"Colourbind (48K)\0", NULL, "Daton Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccolourbiRomInfo, SpeccolourbiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Comando Quatro (Spanish) (48K)

static struct BurnRomInfo SpeccomaquatRomDesc[] = {
	{ "Comando Quatro (1989)(Zigurat Software)(es).z80", 0x0b757, 0x031f7d9c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccomaquat, Speccomaquat, Spectrum)
STD_ROM_FN(Speccomaquat)

struct BurnDriver BurnSpeccomaquat = {
	"spec_comaquat", NULL, "spec_spectrum", NULL, "1989",
	"Comando Quatro (Spanish) (48K)\0", NULL, "Zigurat Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccomaquatRomInfo, SpeccomaquatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Comando Tracer (Spanish) (48K)

static struct BurnRomInfo SpeccomatracRomDesc[] = {
	{ "Comando Tracer (1989)(Dinamic Software)(es).z80", 0x0c01e, 0x0a967c4d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccomatrac, Speccomatrac, Spectrum)
STD_ROM_FN(Speccomatrac)

struct BurnDriver BurnSpeccomatrac = {
	"spec_comatrac", NULL, "spec_spectrum", NULL, "1989",
	"Comando Tracer (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccomatracRomInfo, SpeccomatracRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Combat Lynx (48K)

static struct BurnRomInfo SpeccomblynxRomDesc[] = {
	{ "Combat Lynx (1984)(Durell Software).z80", 0x0a54e, 0x43a25029, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccomblynx, Speccomblynx, Spectrum)
STD_ROM_FN(Speccomblynx)

struct BurnDriver BurnSpeccomblynx = {
	"spec_comblynx", NULL, "spec_spectrum", NULL, "1984",
	"Combat Lynx (48K)\0", NULL, "Durell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccomblynxRomInfo, SpeccomblynxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Combat School (48K)

static struct BurnRomInfo Speccschool_48RomDesc[] = {
	{ "Combat School (1987)(Ocean).z80", 0x0a7c9, 0x5b7421a6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccschool_48, Speccschool_48, Spectrum)
STD_ROM_FN(Speccschool_48)

struct BurnDriver BurnSpeccschool_48 = {
	"spec_cschool_48", "spec_cschool", "spec_spectrum", NULL, "1987",
	"Combat School (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccschool_48RomInfo, Speccschool_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Combat School (128K)

static struct BurnRomInfo SpeccschoolRomDesc[] = {
	{ "Combat School (1987)(Ocean)[128K].z80", 0x19dd1, 0xe66e39b5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccschool, Speccschool, Spectrum)
STD_ROM_FN(Speccschool)

struct BurnDriver BurnSpeccschool = {
	"spec_cschool", NULL, "spec_spec128", NULL, "1987",
	"Combat School (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccschoolRomInfo, SpeccschoolRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Come Come Come Come (Spanish) (48K)

static struct BurnRomInfo SpeccocococoRomDesc[] = {
	{ "Come Come Come Come (1983)(Monser)(es)[aka Munch Man].z80", 0x0c01e, 0x42f47846, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccocococo, Speccocococo, Spectrum)
STD_ROM_FN(Speccocococo)

struct BurnDriver BurnSpeccocococo = {
	"spec_cocococo", NULL, "spec_spectrum", NULL, "1983",
	"Come Come Come Come (Spanish) (48K)\0", NULL, "Monser", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccocococoRomInfo, SpeccocococoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Comet Game, The (48K)

static struct BurnRomInfo SpeccomgamthRomDesc[] = {
	{ "Comet Game, The (1986)(Firebird Software).z80", 0x08544, 0xc95588b1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccomgamth, Speccomgamth, Spectrum)
STD_ROM_FN(Speccomgamth)

struct BurnDriver BurnSpeccomgamth = {
	"spec_comgamth", NULL, "spec_spectrum", NULL, "1986",
	"Comet Game, The (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccomgamthRomInfo, SpeccomgamthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Comipini (Spanish) (48K)

static struct BurnRomInfo SpeccomipiniRomDesc[] = {
	{ "Comipini (19xx)(-)(es).z80", 0x025e1, 0x3ea2337a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccomipini, Speccomipini, Spectrum)
STD_ROM_FN(Speccomipini)

struct BurnDriver BurnSpeccomipini = {
	"spec_comipini", NULL, "spec_spectrum", NULL, "19xx",
	"Comipini (Spanish) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccomipiniRomInfo, SpeccomipiniRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Commando (fr) (48K)

static struct BurnRomInfo SpeccommandofRomDesc[] = {
	{ "Commando (1984)(Loriciels)(fr).z80", 0x0a352, 0xc2b0cbfe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccommandof, Speccommandof, Spectrum)
STD_ROM_FN(Speccommandof)

struct BurnDriver BurnSpeccommandof = {
	"spec_commandof", "spec_commando", "spec_spectrum", NULL, "1984",
	"Commando (fr) (48K)\0", NULL, "Loriciels", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccommandofRomInfo, SpeccommandofRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Commando (Pocket Money Software) (48K)

static struct BurnRomInfo SpeccommandopRomDesc[] = {
	{ "Commando (1984)(Pocket Money Software).z80", 0x04924, 0xeaac033a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccommandop, Speccommandop, Spectrum)
STD_ROM_FN(Speccommandop)

struct BurnDriver BurnSpeccommandop = {
	"spec_commandop", "spec_commando", "spec_spectrum", NULL, "1984",
	"Commando (Pocket Money Software) (48K)\0", NULL, "Pocket Money Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccommandopRomInfo, SpeccommandopRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Commando (Elite Systems) (48K)

static struct BurnRomInfo SpeccommandoRomDesc[] = {
	{ "Commando (1985)(Elite Systems).z80", 0x0a0dc, 0x6cabf85d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccommando, Speccommando, Spectrum)
STD_ROM_FN(Speccommando)

struct BurnDriver BurnSpeccommando = {
	"spec_commando", NULL, "spec_spectrum", NULL, "1985",
	"Commando (Elite Systems) (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccommandoRomInfo, SpeccommandoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Como la Vida Misma - O Parecido (Spanish) (48K)

static struct BurnRomInfo SpeccovimiopRomDesc[] = {
	{ "Como la Vida Misma - O Parecido (1990)(Burga's Adventure)(es).z80", 0x092ea, 0x2f497ba9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccovimiop, Speccovimiop, Spectrum)
STD_ROM_FN(Speccovimiop)

struct BurnDriver BurnSpeccovimiop = {
	"spec_covimiop", NULL, "spec_spectrum", NULL, "1990",
	"Como la Vida Misma - O Parecido (Spanish) (48K)\0", NULL, "Burga's Adventure", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccovimiopRomInfo, SpeccovimiopRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Computer (cs) (48K)

static struct BurnRomInfo SpeccomputerRomDesc[] = {
	{ "Computer (1987)(Dolphin Software)(cs).z80", 0x068c0, 0xebb61ae5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccomputer, Speccomputer, Spectrum)
STD_ROM_FN(Speccomputer)

struct BurnDriver BurnSpeccomputer = {
	"spec_computer", NULL, "spec_spectrum", NULL, "1987",
	"Computer (cs) (48K)\0", NULL, "Dolphin Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccomputerRomInfo, SpeccomputerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Computer Brag (48K)

static struct BurnRomInfo SpeccompbragRomDesc[] = {
	{ "Computer Brag (1983)(Turtle Software).z80", 0x095fb, 0xde013863, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccompbrag, Speccompbrag, Spectrum)
STD_ROM_FN(Speccompbrag)

struct BurnDriver BurnSpeccompbrag = {
	"spec_compbrag", NULL, "spec_spectrum", NULL, "1983",
	"Computer Brag (48K)\0", NULL, "Turtle Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccompbragRomInfo, SpeccompbragRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Computer Scrabble (48K)

static struct BurnRomInfo SpeccompscraRomDesc[] = {
	{ "Computer Scrabble (1983)(Sinclair Research).z80", 0x0a042, 0x6be2a18b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccompscra, Speccompscra, Spectrum)
STD_ROM_FN(Speccompscra)

struct BurnDriver BurnSpeccompscra = {
	"spec_compscra", NULL, "spec_spectrum", NULL, "1983",
	"Computer Scrabble (48K)\0", NULL, "Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccompscraRomInfo, SpeccompscraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Conan I (sk) (48K)

static struct BurnRomInfo SpecconaiskRomDesc[] = {
	{ "Conan I (1991)(UV Software)(sk).z80", 0x0712d, 0x70781dd3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specconaisk, Specconaisk, Spectrum)
STD_ROM_FN(Specconaisk)

struct BurnDriver BurnSpecconaisk = {
	"spec_conaisk", NULL, "spec_spectrum", NULL, "1991",
	"Conan I (sk) (48K)\0", NULL, "UV Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecconaiskRomInfo, SpecconaiskRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Conflict (48K)

static struct BurnRomInfo SpecconflictRomDesc[] = {
	{ "Conflict (1982)(Martech Games).z80", 0x04641, 0x2e242f8b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specconflict, Specconflict, Spectrum)
STD_ROM_FN(Specconflict)

struct BurnDriver BurnSpecconflict = {
	"spec_conflict", NULL, "spec_spectrum", NULL, "1982",
	"Conflict (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecconflictRomInfo, SpecconflictRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Confrontation - Afhganistan (48K)

static struct BurnRomInfo SpecconfafhgRomDesc[] = {
	{ "Confrontation - Afhganistan (1983)(MC Lothlorien).z80", 0x08963, 0xc5301aab, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specconfafhg, Specconfafhg, Spectrum)
STD_ROM_FN(Specconfafhg)

struct BurnDriver BurnSpecconfafhg = {
	"spec_confafhg", NULL, "spec_spectrum", NULL, "1983",
	"Confrontation - Afhganistan (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecconfafhgRomInfo, SpecconfafhgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Confrontation - Angola (48K)

static struct BurnRomInfo SpecconfangoRomDesc[] = {
	{ "Confrontation - Angola (1983)(MC Lothlorien).z80", 0x08933, 0x52425be3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specconfango, Specconfango, Spectrum)
STD_ROM_FN(Specconfango)

struct BurnDriver BurnSpecconfango = {
	"spec_confango", NULL, "spec_spectrum", NULL, "1983",
	"Confrontation - Angola (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecconfangoRomInfo, SpecconfangoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Confrontation - Kent (48K)

static struct BurnRomInfo SpecconfkentRomDesc[] = {
	{ "Confrontation - Kent (1983)(MC Lothlorien).z80", 0x089af, 0xfa15c979, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specconfkent, Specconfkent, Spectrum)
STD_ROM_FN(Specconfkent)

struct BurnDriver BurnSpecconfkent = {
	"spec_confkent", NULL, "spec_spectrum", NULL, "1983",
	"Confrontation - Kent (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecconfkentRomInfo, SpecconfkentRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Confrontation (48K)

static struct BurnRomInfo SpecconfrontRomDesc[] = {
	{ "Confrontation (1983)(MC Lothlorien).z80", 0x08936, 0x6bae1f51, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specconfront, Specconfront, Spectrum)
STD_ROM_FN(Specconfront)

struct BurnDriver BurnSpecconfront = {
	"spec_confront", NULL, "spec_spectrum", NULL, "1983",
	"Confrontation (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecconfrontRomInfo, SpecconfrontRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Confusion (48K)

static struct BurnRomInfo SpecconfusioRomDesc[] = {
	{ "Confusion (1983)(Blaby Computer Games).z80", 0x0312c, 0xa512afed, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specconfusio, Specconfusio, Spectrum)
STD_ROM_FN(Specconfusio)

struct BurnDriver BurnSpecconfusio = {
	"spec_confusio", NULL, "spec_spectrum", NULL, "1983",
	"Confusion (48K)\0", NULL, "Blaby Computer Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecconfusioRomInfo, SpecconfusioRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Confuzion (48K)

static struct BurnRomInfo SpecconfuzioRomDesc[] = {
	{ "Confuzion (1985)(Incentive Software).z80", 0x0a421, 0xe400ce83, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specconfuzio, Specconfuzio, Spectrum)
STD_ROM_FN(Specconfuzio)

struct BurnDriver BurnSpecconfuzio = {
	"spec_confuzio", NULL, "spec_spectrum", NULL, "1985",
	"Confuzion (48K)\0", NULL, "Incentive Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecconfuzioRomInfo, SpecconfuzioRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Conman the Barbaric (48K)

static struct BurnRomInfo SpecconmbarbRomDesc[] = {
	{ "Conman the Barbaric (1991)(Elven Adventurers).z80", 0x094d4, 0x78f751d6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specconmbarb, Specconmbarb, Spectrum)
STD_ROM_FN(Specconmbarb)

struct BurnDriver BurnSpecconmbarb = {
	"spec_conmbarb", NULL, "spec_spectrum", NULL, "1991",
	"Conman the Barbaric (48K)\0", NULL, "Elven Adventurers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecconmbarbRomInfo, SpecconmbarbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Connect 3 (48K)

static struct BurnRomInfo Specconnect3RomDesc[] = {
	{ "Connect 3 (1999)(Andrew Collier).z80", 0x01c7d, 0x0596d186, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specconnect3, Specconnect3, Spectrum)
STD_ROM_FN(Specconnect3)

struct BurnDriver BurnSpecconnect3 = {
	"spec_connect3", NULL, "spec_spectrum", NULL, "1999",
	"Connect 3 (48K)\0", NULL, "Andrew Collier", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specconnect3RomInfo, Specconnect3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Connect 4 (Atlantis Software) (48K)

static struct BurnRomInfo Specconnect4RomDesc[] = {
	{ "Connect 4 (1984)(Atlantis Software).z80", 0x02061, 0x96518e41, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specconnect4, Specconnect4, Spectrum)
STD_ROM_FN(Specconnect4)

struct BurnDriver BurnSpecconnect4 = {
	"spec_connect4", NULL, "spec_spectrum", NULL, "1984",
	"Connect 4 (Atlantis Software) (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specconnect4RomInfo, Specconnect4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Connect 4 (John Westhead) (48K)

static struct BurnRomInfo Specconnect4jRomDesc[] = {
	{ "Connect 4 (1994)(John Westhead).z80", 0x05d9a, 0xac645ad6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specconnect4j, Specconnect4j, Spectrum)
STD_ROM_FN(Specconnect4j)

struct BurnDriver BurnSpecconnect4j = {
	"spec_connect4j", NULL, "spec_spectrum", NULL, "1994",
	"Connect 4 (John Westhead) (48K)\0", NULL, "John Westhead", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specconnect4jRomInfo, Specconnect4jRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Connect 4 (Unknown) (48K)

static struct BurnRomInfo Specconnect4uRomDesc[] = {
	{ "Connect 4 (19xx)(-).z80", 0x02a1c, 0x29d33d8f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specconnect4u, Specconnect4u, Spectrum)
STD_ROM_FN(Specconnect4u)

struct BurnDriver BurnSpecconnect4u = {
	"spec_connect4u", NULL, "spec_spectrum", NULL, "19xx",
	"Connect 4 (Unknown) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specconnect4uRomInfo, Specconnect4uRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Conquest - Intro (48K)

static struct BurnRomInfo SpecconqintrRomDesc[] = {
	{ "Conquest - Intro (1984)(Cheetahsoft).z80", 0x04c10, 0x516ec2f1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specconqintr, Specconqintr, Spectrum)
STD_ROM_FN(Specconqintr)

struct BurnDriver BurnSpecconqintr = {
	"spec_conqintr", NULL, "spec_spectrum", NULL, "1984",
	"Conquest - Intro (48K)\0", NULL, "Cheetahsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecconqintrRomInfo, SpecconqintrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Con-Quest (48K)

static struct BurnRomInfo SpecconquestRomDesc[] = {
	{ "Con-Quest (1986)(Mastertronic Added Dimension).z80", 0x09b67, 0x3e71f02b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specconquest, Specconquest, Spectrum)
STD_ROM_FN(Specconquest)

struct BurnDriver BurnSpecconquest = {
	"spec_conquest", NULL, "spec_spectrum", NULL, "1986",
	"Con-Quest (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecconquestRomInfo, SpecconquestRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Conquestador (48K)

static struct BurnRomInfo SpecconqdorRomDesc[] = {
	{ "Conquestador (1986)(Melbourne House)[aka Tres Luces de Glaurung, Las].z80", 0x0944d, 0x7c54287f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specconqdor, Specconqdor, Spectrum)
STD_ROM_FN(Specconqdor)

struct BurnDriver BurnSpecconqdor = {
	"spec_conqdor", NULL, "spec_spectrum", NULL, "1986",
	"Conquestador (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecconqdorRomInfo, SpecconqdorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Contact Sam Cruise (48K)

static struct BurnRomInfo SpecconsamcrRomDesc[] = {
	{ "Contact Sam Cruise (1986)(Microsphere).z80", 0x0ad9e, 0x3a34b323, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specconsamcr, Specconsamcr, Spectrum)
STD_ROM_FN(Specconsamcr)

struct BurnDriver BurnSpecconsamcr = {
	"spec_consamcr", NULL, "spec_spectrum", NULL, "1986",
	"Contact Sam Cruise (48K)\0", NULL, "Microsphere", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecconsamcrRomInfo, SpecconsamcrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Continental Circus (48K)

static struct BurnRomInfo Speccontcirc_48RomDesc[] = {
	{ "Continental Circus (1989)(Virgin Mastertronic).z80", 0x091a6, 0xecc39d9e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccontcirc_48, Speccontcirc_48, Spectrum)
STD_ROM_FN(Speccontcirc_48)

struct BurnDriver BurnSpeccontcirc_48 = {
	"spec_contcirc_48", "spec_contcirc", "spec_spectrum", NULL, "1989",
	"Continental Circus (48K)\0", NULL, "Virgin Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccontcirc_48RomInfo, Speccontcirc_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Continental Circus (128K)

static struct BurnRomInfo SpeccontcircRomDesc[] = {
	{ "Continental Circus (1989)(Virgin Mastertronic)[128K].z80", 0x0fcb0, 0xf95c5332, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccontcirc, Speccontcirc, Spectrum)
STD_ROM_FN(Speccontcirc)

struct BurnDriver BurnSpeccontcirc = {
	"spec_contcirc", NULL, "spec_spec128", NULL, "1989",
	"Continental Circus (128K)\0", NULL, "Virgin Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccontcircRomInfo, SpeccontcircRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Contract Bridge (48K)

static struct BurnRomInfo SpeccontbridRomDesc[] = {
	{ "Contract Bridge (1984)(Highlight Software).z80", 0x0a05d, 0x7fe8f484, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccontbrid, Speccontbrid, Spectrum)
STD_ROM_FN(Speccontbrid)

struct BurnDriver BurnSpeccontbrid = {
	"spec_contbrid", NULL, "spec_spectrum", NULL, "1984",
	"Contract Bridge (48K)\0", NULL, "Highlight Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccontbridRomInfo, SpeccontbridRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Convoy (48K)

static struct BurnRomInfo SpecconvoyRomDesc[] = {
	{ "Convoy (1985)(Budgie Budget Software).z80", 0x08808, 0x7d723844, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specconvoy, Specconvoy, Spectrum)
STD_ROM_FN(Specconvoy)

struct BurnDriver BurnSpecconvoy = {
	"spec_convoy", NULL, "spec_spectrum", NULL, "1985",
	"Convoy (48K)\0", NULL, "Budgie Budget Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecconvoyRomInfo, SpecconvoyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Convoy Raider (48K)

static struct BurnRomInfo SpecconvraidRomDesc[] = {
	{ "Convoy Raider (1987)(Gremlin Graphics Software).z80", 0x06b69, 0xe9b1fa89, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specconvraid, Specconvraid, Spectrum)
STD_ROM_FN(Specconvraid)

struct BurnDriver BurnSpecconvraid = {
	"spec_convraid", NULL, "spec_spectrum", NULL, "1987",
	"Convoy Raider (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecconvraidRomInfo, SpecconvraidRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cookie (48K)

static struct BurnRomInfo SpeccookieRomDesc[] = {
	{ "Cookie (1983)(Ultimate Play The Game).z80", 0x0c01e, 0x4ca65066, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccookie, Speccookie, Spectrum)
STD_ROM_FN(Speccookie)

struct BurnDriver BurnSpeccookie = {
	"spec_cookie", NULL, "spec_spectrum", NULL, "1983",
	"Cookie (48K)\0", NULL, "Ultimate Play The Game", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccookieRomInfo, SpeccookieRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Copa do Mundo (pt) (48K)

static struct BurnRomInfo SpeccopamundRomDesc[] = {
	{ "Copa do Mundo (1985)(Multisoft Informatica)(pt)[aka World Cup Football].z80", 0x05f7c, 0x4efb3cc1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccopamund, Speccopamund, Spectrum)
STD_ROM_FN(Speccopamund)

struct BurnDriver BurnSpeccopamund = {
	"spec_copamund", NULL, "spec_spectrum", NULL, "1985",
	"Copa do Mundo (pt) (48K)\0", NULL, "Multisoft Informatica", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccopamundRomInfo, SpeccopamundRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Copfm 3 (48K)

static struct BurnRomInfo Speccopfm3RomDesc[] = {
	{ "Copfm 3 (19xx)(-).z80", 0x00ad7, 0x8e7fff0b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccopfm3, Speccopfm3, Spectrum)
STD_ROM_FN(Speccopfm3)

struct BurnDriver BurnSpeccopfm3 = {
	"spec_copfm3", NULL, "spec_spectrum", NULL, "19xx",
	"Copfm 3 (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccopfm3RomInfo, Speccopfm3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cop-Out (48K)

static struct BurnRomInfo SpeccopoutRomDesc[] = {
	{ "Cop-Out (1986)(Mikro-Gen).z80", 0x06ab9, 0x3f3d4ed4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccopout, Speccopout, Spectrum)
STD_ROM_FN(Speccopout)

struct BurnDriver BurnSpeccopout = {
	"spec_copout", NULL, "spec_spectrum", NULL, "1986",
	"Cop-Out (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccopoutRomInfo, SpeccopoutRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Copper (48K)

static struct BurnRomInfo SpeccopperRomDesc[] = {
	{ "Copper (19xx)(Vectis).z80", 0x01e6d, 0xd49098cc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccopper, Speccopper, Spectrum)
STD_ROM_FN(Speccopper)

struct BurnDriver BurnSpeccopper = {
	"spec_copper", NULL, "spec_spectrum", NULL, "19xx",
	"Copper (48K)\0", NULL, "Vectis", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccopperRomInfo, SpeccopperRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Copta (48K)

static struct BurnRomInfo SpeccoptaRomDesc[] = {
	{ "Copta (1984)(Omega Software).z80", 0x062de, 0x1758a266, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccopta, Speccopta, Spectrum)
STD_ROM_FN(Speccopta)

struct BurnDriver BurnSpeccopta = {
	"spec_copta", NULL, "spec_spectrum", NULL, "1984",
	"Copta (48K)\0", NULL, "Omega Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccoptaRomInfo, SpeccoptaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Corazon del Angel, El (Spanish) (48K)

static struct BurnRomInfo SpeccorangelRomDesc[] = {
	{ "Corazon del Angel, El (1990)(Year Zero Software)(es).z80", 0x088c6, 0xd0d8e08d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccorangel, Speccorangel, Spectrum)
STD_ROM_FN(Speccorangel)

struct BurnDriver BurnSpeccorangel = {
	"spec_corangel", NULL, "spec_spectrum", NULL, "1990",
	"Corazon del Angel, El (Spanish) (48K)\0", NULL, "Year Zero Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccorangelRomInfo, SpeccorangelRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// CORE - Cybernetic Organism Recovery Expedition (48K)

static struct BurnRomInfo SpeccorecoreRomDesc[] = {
	{ "CORE - Cybernetic Organism Recovery Expedition (1986)(A & F Software).z80", 0x09cc7, 0xfbe97d60, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccorecore, Speccorecore, Spectrum)
STD_ROM_FN(Speccorecore)

struct BurnDriver BurnSpeccorecore = {
	"spec_corecore", NULL, "spec_spectrum", NULL, "1986",
	"CORE - Cybernetic Organism Recovery Expedition (48K)\0", NULL, "A & F Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccorecoreRomInfo, SpeccorecoreRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Corn Cropper (48K)

static struct BurnRomInfo SpeccorncropRomDesc[] = {
	{ "Corn Cropper (1983)(CCS).z80", 0x08f8d, 0x6b4c8047, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccorncrop, Speccorncrop, Spectrum)
STD_ROM_FN(Speccorncrop)

struct BurnDriver BurnSpeccorncrop = {
	"spec_corncrop", NULL, "spec_spectrum", NULL, "1983",
	"Corn Cropper (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccorncropRomInfo, SpeccorncropRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Corona, La (Spanish) (48K)

static struct BurnRomInfo SpeccorolaesRomDesc[] = {
	{ "Corona, La (1988)(SPE)(es).z80", 0x09ffb, 0xef5aa3f4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccorolaes, Speccorolaes, Spectrum)
STD_ROM_FN(Speccorolaes)

struct BurnDriver BurnSpeccorolaes = {
	"spec_corolaes", NULL, "spec_spectrum", NULL, "1988",
	"Corona, La (Spanish) (48K)\0", NULL, "SPE", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccorolaesRomInfo, SpeccorolaesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Corporal Stone (48K)

static struct BurnRomInfo SpeccorpstonRomDesc[] = {
	{ "Corporal Stone (1992)(Zenobi Software).z80", 0x09534, 0xb5280f14, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccorpston, Speccorpston, Spectrum)
STD_ROM_FN(Speccorpston)

struct BurnDriver BurnSpeccorpston = {
	"spec_corpston", NULL, "spec_spectrum", NULL, "1992",
	"Corporal Stone (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccorpstonRomInfo, SpeccorpstonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Corridors of Genon (48K)

static struct BurnRomInfo SpeccorrgenoRomDesc[] = {
	{ "Corridors of Genon (1983)(New Generation Software).z80", 0x04d15, 0x95ef6c6b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccorrgeno, Speccorrgeno, Spectrum)
STD_ROM_FN(Speccorrgeno)

struct BurnDriver BurnSpeccorrgeno = {
	"spec_corrgeno", NULL, "spec_spectrum", NULL, "1983",
	"Corridors of Genon (48K)\0", NULL, "New Generation Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccorrgenoRomInfo, SpeccorrgenoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Corruption (48K)

static struct BurnRomInfo SpeccorruptiRomDesc[] = {
	{ "Corruption (1984)(Omega Software).z80", 0x02c26, 0x537d6da9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccorrupti, Speccorrupti, Spectrum)
STD_ROM_FN(Speccorrupti)

struct BurnDriver BurnSpeccorrupti = {
	"spec_corrupti", NULL, "spec_spectrum", NULL, "1984",
	"Corruption (48K)\0", NULL, "Omega Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccorruptiRomInfo, SpeccorruptiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Corsarios (Spanish) (Part 1 of 2) (128K)

static struct BurnRomInfo SpeccorsarioRomDesc[] = {
	{ "Corsarios (1989)(Opera Soft)(es)(Part 1 of 2)[128K].z80", 0x09dae, 0xb7d7624e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccorsario, Speccorsario, Spectrum)
STD_ROM_FN(Speccorsario)

struct BurnDriver BurnSpeccorsario = {
	"spec_corsario", NULL, "spec_spec128", NULL, "1989",
	"Corsarios (Spanish) (Part 1 of 2) (128K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccorsarioRomInfo, SpeccorsarioRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Corsarios (Spanish) (Part 2 of 2) (128K)

static struct BurnRomInfo Speccorsario2RomDesc[] = {
	{ "Corsarios (1989)(Opera Soft)(es)(Part 2 of 2)[128K].z80", 0x09fa3, 0xceb25c2a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccorsario2, Speccorsario2, Spectrum)
STD_ROM_FN(Speccorsario2)

struct BurnDriver BurnSpeccorsario2 = {
	"spec_corsario2", "spec_corsario", "spec_spec128", NULL, "1989",
	"Corsarios (Spanish) (Part 2 of 2) (128K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccorsario2RomInfo, Speccorsario2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Corya the Warrior Sage (Part 1 of 2) (48K)

static struct BurnRomInfo SpeccoryawsRomDesc[] = {
	{ "Corya the Warrior Sage (1992)(The Guild)(Part 1 of 2).z80", 0x09265, 0x0f266b05, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccoryaws, Speccoryaws, Spectrum)
STD_ROM_FN(Speccoryaws)

struct BurnDriver BurnSpeccoryaws = {
	"spec_coryaws", NULL, "spec_spectrum", NULL, "1992",
	"Corya the Warrior Sage (Part 1 of 2) (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccoryawsRomInfo, SpeccoryawsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Corya the Warrior Sage (Part 2 of 2) (48K)

static struct BurnRomInfo Speccoryaws2RomDesc[] = {
	{ "Corya the Warrior Sage (1992)(The Guild)(Part 2 of 2).z80", 0x090c1, 0x7f23611c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccoryaws2, Speccoryaws2, Spectrum)
STD_ROM_FN(Speccoryaws2)

struct BurnDriver BurnSpeccoryaws2 = {
	"spec_coryaws2", "spec_coryaws", "spec_spectrum", NULL, "1992",
	"Corya the Warrior Sage (Part 2 of 2) (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccoryaws2RomInfo, Speccoryaws2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cosa Nostra (Spanish) (48K)

static struct BurnRomInfo SpeccosanostRomDesc[] = {
	{ "Cosa Nostra (1986)(Opera Soft)(es).z80", 0x08b6e, 0x00445707, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccosanost, Speccosanost, Spectrum)
STD_ROM_FN(Speccosanost)

struct BurnDriver BurnSpeccosanost = {
	"spec_cosanost", NULL, "spec_spectrum", NULL, "1986",
	"Cosa Nostra (Spanish) (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccosanostRomInfo, SpeccosanostRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cosmic Cruiser (48K)

static struct BurnRomInfo SpeccosmcruiRomDesc[] = {
	{ "Cosmic Cruiser (1984)(Imagine Software).z80", 0x08974, 0x83fd99a3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccosmcrui, Speccosmcrui, Spectrum)
STD_ROM_FN(Speccosmcrui)

struct BurnDriver BurnSpeccosmcrui = {
	"spec_cosmcrui", NULL, "spec_spectrum", NULL, "1984",
	"Cosmic Cruiser (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccosmcruiRomInfo, SpeccosmcruiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cosmic Debris (48K)

static struct BurnRomInfo SpeccosmdebrRomDesc[] = {
	{ "Cosmic Debris (1983)(Artic Computing).z80", 0x03d75, 0x89b18bf4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccosmdebr, Speccosmdebr, Spectrum)
STD_ROM_FN(Speccosmdebr)

struct BurnDriver BurnSpeccosmdebr = {
	"spec_cosmdebr", NULL, "spec_spectrum", NULL, "1983",
	"Cosmic Debris (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccosmdebrRomInfo, SpeccosmdebrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cosmic Pirate (48K)

static struct BurnRomInfo SpeccosmpiraRomDesc[] = {
	{ "Cosmic Pirate (1989)(Byte Back).z80", 0x098a3, 0xf958f361, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccosmpira, Speccosmpira, Spectrum)
STD_ROM_FN(Speccosmpira)

struct BurnDriver BurnSpeccosmpira = {
	"spec_cosmpira", NULL, "spec_spectrum", NULL, "1989",
	"Cosmic Pirate (48K)\0", NULL, "Byte Back", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccosmpiraRomInfo, SpeccosmpiraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cosmic Sheriff (Spanish) (48K)

static struct BurnRomInfo SpeccosmsherRomDesc[] = {
	{ "Cosmic Sheriff (1989)(Dinamic Software)(es).z80", 0x08e69, 0xc43520f2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccosmsher, Speccosmsher, Spectrum)
STD_ROM_FN(Speccosmsher)

struct BurnDriver BurnSpeccosmsher = {
	"spec_cosmsher", NULL, "spec_spectrum", NULL, "1989",
	"Cosmic Sheriff (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccosmsherRomInfo, SpeccosmsherRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cosmic Shock Absorber (48K)

static struct BurnRomInfo SpeccosshoabRomDesc[] = {
	{ "Cosmic Shock Absorber (1986)(Martech Games).z80", 0x073a7, 0xdd16a6c6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccosshoab, Speccosshoab, Spectrum)
STD_ROM_FN(Speccosshoab)

struct BurnDriver BurnSpeccosshoab = {
	"spec_cosshoab", NULL, "spec_spectrum", NULL, "1986",
	"Cosmic Shock Absorber (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccosshoabRomInfo, SpeccosshoabRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cosmic Wartoad (48K)

static struct BurnRomInfo SpeccosmwartRomDesc[] = {
	{ "Cosmic Wartoad (1985)(Ocean).z80", 0x09e39, 0xf618f8f1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccosmwart, Speccosmwart, Spectrum)
STD_ROM_FN(Speccosmwart)

struct BurnDriver BurnSpeccosmwart = {
	"spec_cosmwart", NULL, "spec_spectrum", NULL, "1985",
	"Cosmic Wartoad (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccosmwartRomInfo, SpeccosmwartRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Costa Capers (48K)

static struct BurnRomInfo SpeccostcapeRomDesc[] = {
	{ "Costa Capers (1985)(Firebird Software).z80", 0x0b1dd, 0x69030823, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccostcape, Speccostcape, Spectrum)
STD_ROM_FN(Speccostcape)

struct BurnDriver BurnSpeccostcape = {
	"spec_costcape", NULL, "spec_spectrum", NULL, "1985",
	"Costa Capers (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccostcapeRomInfo, SpeccostcapeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Count Duckula (48K)

static struct BurnRomInfo SpeccountdkRomDesc[] = {
	{ "Count Duckula (1989)(Alternative Software).z80", 0x089be, 0x4cc3d00a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccountdk, Speccountdk, Spectrum)
STD_ROM_FN(Speccountdk)

struct BurnDriver BurnSpeccountdk = {
	"spec_countdk", NULL, "spec_spectrum", NULL, "1989",
	"Count Duckula (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccountdkRomInfo, SpeccountdkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Count Duckula 2 (48K)

static struct BurnRomInfo Speccountdk2RomDesc[] = {
	{ "Count Duckula 2 (1992)(Alternative Software).z80", 0x08095, 0xae1e8f35, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccountdk2, Speccountdk2, Spectrum)
STD_ROM_FN(Speccountdk2)

struct BurnDriver BurnSpeccountdk2 = {
	"spec_countdk2", NULL, "spec_spectrum", NULL, "1992",
	"Count Duckula 2 (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccountdk2RomInfo, Speccountdk2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Count, The (48K)

static struct BurnRomInfo SpeccountheRomDesc[] = {
	{ "Count, The (1985)(Mirrorsoft).z80", 0x08757, 0x9c9e068c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccounthe, Speccounthe, Spectrum)
STD_ROM_FN(Speccounthe)

struct BurnDriver BurnSpeccounthe = {
	"spec_counthe", NULL, "spec_spectrum", NULL, "1985",
	"Count, The (48K)\0", NULL, "Mirrorsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccountheRomInfo, SpeccountheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Countdown (48K)

static struct BurnRomInfo SpeccountdowRomDesc[] = {
	{ "Countdown (1986)(Macsen Software).z80", 0x09024, 0xdf16f710, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccountdow, Speccountdow, Spectrum)
STD_ROM_FN(Speccountdow)

struct BurnDriver BurnSpeccountdow = {
	"spec_countdow", NULL, "spec_spectrum", NULL, "1986",
	"Countdown (48K)\0", NULL, "Macsen Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccountdowRomInfo, SpeccountdowRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// County Cricket (48K)

static struct BurnRomInfo SpeccouncricRomDesc[] = {
	{ "County Cricket (1989)(D&H Games).z80", 0x08671, 0x9939a209, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccouncric, Speccouncric, Spectrum)
STD_ROM_FN(Speccouncric)

struct BurnDriver BurnSpeccouncric = {
	"spec_councric", NULL, "spec_spectrum", NULL, "1989",
	"County Cricket (48K)\0", NULL, "D&H Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccouncricRomInfo, SpeccouncricRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Covenant, The (48K)

static struct BurnRomInfo SpeccovetheRomDesc[] = {
	{ "Covenant, The (1985)(PSS).z80", 0x0af36, 0x85bddca1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccovethe, Speccovethe, Spectrum)
STD_ROM_FN(Speccovethe)

struct BurnDriver BurnSpeccovethe = {
	"spec_covethe", NULL, "spec_spectrum", NULL, "1985",
	"Covenant, The (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccovetheRomInfo, SpeccovetheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cover Up! (48K)

static struct BurnRomInfo SpeccoveupRomDesc[] = {
	{ "Cover Up! (1987)(R'n'H Microtec).z80", 0x053f8, 0xd1691f8c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccoveup, Speccoveup, Spectrum)
STD_ROM_FN(Speccoveup)

struct BurnDriver BurnSpeccoveup = {
	"spec_coveup", NULL, "spec_spectrum", NULL, "1987",
	"Cover Up! (48K)\0", NULL, "R'n'H Microtec", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccoveupRomInfo, SpeccoveupRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cowboy (Spanish) (48K)

static struct BurnRomInfo SpeccowboyesRomDesc[] = {
	{ "Cowboy (1983)(Investronica)(es)[aka High Noon].z80", 0x0c01e, 0x9fcdd980, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccowboyes, Speccowboyes, Spectrum)
STD_ROM_FN(Speccowboyes)

struct BurnDriver BurnSpeccowboyes = {
	"spec_cowboyes", NULL, "spec_spectrum", NULL, "1983",
	"Cowboy (Spanish) (48K)\0", NULL, "Investronica", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccowboyesRomInfo, SpeccowboyesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cowboy Duel (48K)

static struct BurnRomInfo SpeccowbduelRomDesc[] = {
	{ "Cowboy Duel (1990)(D.J. Stepanenko).z80", 0x08139, 0x63a17b46, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccowbduel, Speccowbduel, Spectrum)
STD_ROM_FN(Speccowbduel)

struct BurnDriver BurnSpeccowbduel = {
	"spec_cowbduel", NULL, "spec_spectrum", NULL, "1990",
	"Cowboy Duel (48K)\0", NULL, "D.J. Stepanenko", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccowbduelRomInfo, SpeccowbduelRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cowboy Kidz (48K)

static struct BurnRomInfo SpeccowbkidzRomDesc[] = {
	{ "Cowboy Kidz (1989)(Byte Back).z80", 0x06b5c, 0x9349e045, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccowbkidz, Speccowbkidz, Spectrum)
STD_ROM_FN(Speccowbkidz)

struct BurnDriver BurnSpeccowbkidz = {
	"spec_cowbkidz", NULL, "spec_spectrum", NULL, "1989",
	"Cowboy Kidz (48K)\0", NULL, "Byte Back", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccowbkidzRomInfo, SpeccowbkidzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crabs (48K)

static struct BurnRomInfo SpeccrabsRomDesc[] = {
	{ "Crabs (1982)(JRS Software).z80", 0x0244b, 0x22b7ef69, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrabs, Speccrabs, Spectrum)
STD_ROM_FN(Speccrabs)

struct BurnDriver BurnSpeccrabs = {
	"spec_crabs", NULL, "spec_spectrum", NULL, "1982",
	"Crabs (48K)\0", NULL, "JRS Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrabsRomInfo, SpeccrabsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crack City (48K)

static struct BurnRomInfo SpeccraccityRomDesc[] = {
	{ "Crack City (1989)(Zenobi Software).z80", 0x090b9, 0x621c0059, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccraccity, Speccraccity, Spectrum)
STD_ROM_FN(Speccraccity)

struct BurnDriver BurnSpeccraccity = {
	"spec_craccity", NULL, "spec_spectrum", NULL, "1989",
	"Crack City (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccraccityRomInfo, SpeccraccityRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crack Down (Part 1 of 2) (48K)

static struct BurnRomInfo SpeccrackdwnRomDesc[] = {
	{ "Crack Down (1990)(U.S. Gold)(Part 1 of 2).z80", 0x09a60, 0x261c471c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrackdwn, Speccrackdwn, Spectrum)
STD_ROM_FN(Speccrackdwn)

struct BurnDriver BurnSpeccrackdwn = {
	"spec_crackdwn", NULL, "spec_spectrum", NULL, "1990",
	"Crack Down (Part 1 of 2) (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrackdwnRomInfo, SpeccrackdwnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crack Down (Part 2 of 2) (48K)

static struct BurnRomInfo Speccrackdwn2RomDesc[] = {
	{ "Crack Down (1990)(U.S. Gold)(Part 2 of 2).z80", 0x08097, 0x0b9ffa58, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrackdwn2, Speccrackdwn2, Spectrum)
STD_ROM_FN(Speccrackdwn2)

struct BurnDriver BurnSpeccrackdwn2 = {
	"spec_crackdwn2", "spec_crackdwn", "spec_spectrum", NULL, "1990",
	"Crack Down (Part 2 of 2) (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccrackdwn2RomInfo, Speccrackdwn2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crack-Up (48K)

static struct BurnRomInfo SpeccracupRomDesc[] = {
	{ "Crack-Up (1989)(Atlantis Software).z80", 0x05e04, 0x1d19b63f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccracup, Speccracup, Spectrum)
STD_ROM_FN(Speccracup)

struct BurnDriver BurnSpeccracup = {
	"spec_cracup", NULL, "spec_spectrum", NULL, "1989",
	"Crack-Up (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccracupRomInfo, SpeccracupRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Craps (48K)

static struct BurnRomInfo SpeccrapsRomDesc[] = {
	{ "Craps (1982)(Micromega).z80", 0x020ed, 0x92beede8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccraps, Speccraps, Spectrum)
STD_ROM_FN(Speccraps)

struct BurnDriver BurnSpeccraps = {
	"spec_craps", NULL, "spec_spectrum", NULL, "1982",
	"Craps (48K)\0", NULL, "Micromega", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrapsRomInfo, SpeccrapsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crash (48K)

static struct BurnRomInfo SpeccrashRomDesc[] = {
	{ "Crash (1983)(Mogul Communications).z80", 0x04156, 0xa7341b0b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrash, Speccrash, Spectrum)
STD_ROM_FN(Speccrash)

struct BurnDriver BurnSpeccrash = {
	"spec_crash", NULL, "spec_spectrum", NULL, "1983",
	"Crash (48K)\0", NULL, "Mogul Communications", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrashRomInfo, SpeccrashRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crash Landing (48K)

static struct BurnRomInfo SpeccraslandRomDesc[] = {
	{ "Crash Landing (1986)(The Guild).z80", 0x0617f, 0xfa091653, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrasland, Speccrasland, Spectrum)
STD_ROM_FN(Speccrasland)

struct BurnDriver BurnSpeccrasland = {
	"spec_crasland", NULL, "spec_spectrum", NULL, "1986",
	"Crash Landing (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccraslandRomInfo, SpeccraslandRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crashout (48K)

static struct BurnRomInfo SpeccrashoutRomDesc[] = {
	{ "Crashout (1987)(Digital Image).z80", 0x0331a, 0x2e17c39a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrashout, Speccrashout, Spectrum)
STD_ROM_FN(Speccrashout)

struct BurnDriver BurnSpeccrashout = {
	"spec_crashout", NULL, "spec_spectrum", NULL, "1987",
	"Crashout (48K)\0", NULL, "Digital Image", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrashoutRomInfo, SpeccrashoutRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crawling Horror, The (Spanish) (Part 1 of 3) (48K)

static struct BurnRomInfo SpeccrwlnghrRomDesc[] = {
	{ "Crawling Horror, The (1990)(Year Zero Software)(es)(Part 1 of 3).z80", 0x091d2, 0xfc866caa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrwlnghr, Speccrwlnghr, Spectrum)
STD_ROM_FN(Speccrwlnghr)

struct BurnDriver BurnSpeccrwlnghr = {
	"spec_crwlnghr", NULL, "spec_spectrum", NULL, "1990",
	"Crawling Horror, The (Spanish) (Part 1 of 3) (48K)\0", NULL, "Year Zero Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrwlnghrRomInfo, SpeccrwlnghrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crawling Horror, The (Spanish) (Part 2 of 3) (48K)

static struct BurnRomInfo Speccrwlnghr2RomDesc[] = {
	{ "Crawling Horror, The (1990)(Year Zero Software)(es)(Part 2 of 3).z80", 0x08d9b, 0x7953372a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrwlnghr2, Speccrwlnghr2, Spectrum)
STD_ROM_FN(Speccrwlnghr2)

struct BurnDriver BurnSpeccrwlnghr2 = {
	"spec_crwlnghr2", "spec_crwlnghr", "spec_spectrum", NULL, "1990",
	"Crawling Horror, The (Spanish) (Part 2 of 3) (48K)\0", NULL, "Year Zero Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccrwlnghr2RomInfo, Speccrwlnghr2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crawling Horror, The (Spanish) (Part 3 of 3) (48K)

static struct BurnRomInfo Speccrwlnghr3RomDesc[] = {
	{ "Crawling Horror, The (1990)(Year Zero Software)(es)(Part 3 of 3).z80", 0x08f90, 0xd26c03ab, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrwlnghr3, Speccrwlnghr3, Spectrum)
STD_ROM_FN(Speccrwlnghr3)

struct BurnDriver BurnSpeccrwlnghr3 = {
	"spec_crwlnghr3", "spec_crwlnghr", "spec_spectrum", NULL, "1990",
	"Crawling Horror, The (Spanish) (Part 3 of 3) (48K)\0", NULL, "Year Zero Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccrwlnghr3RomInfo, Speccrwlnghr3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crazy Balloons (48K)

static struct BurnRomInfo SpeccrazballRomDesc[] = {
	{ "Crazy Balloons (1983)(A & F Software).z80", 0x01c00, 0xc9d6a4db, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrazball, Speccrazball, Spectrum)
STD_ROM_FN(Speccrazball)

struct BurnDriver BurnSpeccrazball = {
	"spec_crazball", NULL, "spec_spectrum", NULL, "1983",
	"Crazy Balloons (48K)\0", NULL, "A & F Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrazballRomInfo, SpeccrazballRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crazy Bugs (48K)

static struct BurnRomInfo SpeccrazbugsRomDesc[] = {
	{ "Crazy Bugs (1983)(AWA Software).z80", 0x028ca, 0x3cf593ee, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrazbugs, Speccrazbugs, Spectrum)
STD_ROM_FN(Speccrazbugs)

struct BurnDriver BurnSpeccrazbugs = {
	"spec_crazbugs", NULL, "spec_spectrum", NULL, "1983",
	"Crazy Bugs (48K)\0", NULL, "AWA Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrazbugsRomInfo, SpeccrazbugsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crazy Cars (JB Sofware) (48K)

static struct BurnRomInfo SpeccrzycrsjRomDesc[] = {
	{ "Crazy Cars (1985)(JB Software).z80", 0x06204, 0x19ea3905, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrzycrsj, Speccrzycrsj, Spectrum)
STD_ROM_FN(Speccrzycrsj)

struct BurnDriver BurnSpeccrzycrsj = {
	"spec_crzycrsj", NULL, "spec_spectrum", NULL, "1985",
	"Crazy Cars (JB Sofware) (48K)\0", NULL, "JB Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrzycrsjRomInfo, SpeccrzycrsjRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crazy Cars (Titus) (48K)

static struct BurnRomInfo SpeccrzycarsRomDesc[] = {
	{ "Crazy Cars (1988)(Titus).z80", 0x08cd3, 0x86a94457, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrzycars, Speccrzycars, Spectrum)
STD_ROM_FN(Speccrzycars)

struct BurnDriver BurnSpeccrzycars = {
	"spec_crzycars", NULL, "spec_spectrum", NULL, "1988",
	"Crazy Cars (Titus) (48K)\0", NULL, "Titus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrzycarsRomInfo, SpeccrzycarsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crazy Cars II (48K)

static struct BurnRomInfo Speccrzycrs2RomDesc[] = {
	{ "Crazy Cars II (1988)(Titus).z80", 0x094f0, 0xae41baf3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrzycrs2, Speccrzycrs2, Spectrum)
STD_ROM_FN(Speccrzycrs2)

struct BurnDriver BurnSpeccrzycrs2 = {
	"spec_crzycrs2", NULL, "spec_spectrum", NULL, "1988",
	"Crazy Cars II (48K)\0", NULL, "Titus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccrzycrs2RomInfo, Speccrzycrs2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crazy Castles (48K)

static struct BurnRomInfo SpeccrazcastRomDesc[] = {
	{ "Crazy Castles (1985)(Automata UK).z80", 0x06c41, 0x72ed2d0c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrazcast, Speccrazcast, Spectrum)
STD_ROM_FN(Speccrazcast)

struct BurnDriver BurnSpeccrazcast = {
	"spec_crazcast", NULL, "spec_spectrum", NULL, "1985",
	"Crazy Castles (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrazcastRomInfo, SpeccrazcastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crazy Caverns (48K)

static struct BurnRomInfo SpeccrazcaveRomDesc[] = {
	{ "Crazy Caverns (1984)(Firebird Software).z80", 0x01c25, 0x3cc9d012, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrazcave, Speccrazcave, Spectrum)
STD_ROM_FN(Speccrazcave)

struct BurnDriver BurnSpeccrazcave = {
	"spec_crazcave", NULL, "spec_spectrum", NULL, "1984",
	"Crazy Caverns (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrazcaveRomInfo, SpeccrazcaveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crazy Crane (48K)

static struct BurnRomInfo SpeccrazcranRomDesc[] = {
	{ "Crazy Crane (1984)(Voyager Software).z80", 0x02055, 0xff4e4743, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrazcran, Speccrazcran, Spectrum)
STD_ROM_FN(Speccrazcran)

struct BurnDriver BurnSpeccrazcran = {
	"spec_crazcran", NULL, "spec_spectrum", NULL, "1984",
	"Crazy Crane (48K)\0", NULL, "Voyager Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrazcranRomInfo, SpeccrazcranRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crazy Er-Bert (48K)

static struct BurnRomInfo SpeccraerberRomDesc[] = {
	{ "Crazy Er-Bert (1992)(Alternative Software).z80", 0x03a61, 0xc2e8155a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccraerber, Speccraerber, Spectrum)
STD_ROM_FN(Speccraerber)

struct BurnDriver BurnSpeccraerber = {
	"spec_craerber", NULL, "spec_spectrum", NULL, "1992",
	"Crazy Er-Bert (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccraerberRomInfo, SpeccraerberRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crazy Golf (48K)

static struct BurnRomInfo SpeccrazgolfRomDesc[] = {
	{ "Crazy Golf (1983)(Mr. Micro).z80", 0x0576e, 0xda551d7d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrazgolf, Speccrazgolf, Spectrum)
STD_ROM_FN(Speccrazgolf)

struct BurnDriver BurnSpeccrazgolf = {
	"spec_crazgolf", NULL, "spec_spectrum", NULL, "1983",
	"Crazy Golf (48K)\0", NULL, "Mr. Micro", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrazgolfRomInfo, SpeccrazgolfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crazy Kong (German) (48K)

static struct BurnRomInfo SpeccrkongRomDesc[] = {
	{ "Crazy Kong (1983)(Roland G. Huelsmann)(de).z80", 0x026da, 0xcc321bca, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrkong, Speccrkong, Spectrum)
STD_ROM_FN(Speccrkong)

struct BurnDriver BurnSpeccrkong = {
	"spec_crkong", NULL, "spec_spectrum", NULL, "1983",
	"Crazy Kong (German) (48K)\0", NULL, "Roland G. Huelsmann", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrkongRomInfo, SpeccrkongRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crazy Motorcycle Rally (48K)

static struct BurnRomInfo SpeccramotraRomDesc[] = {
	{ "Crazy Motorcycle Rally (1984)(Kerian UK).z80", 0x06626, 0x973be10a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccramotra, Speccramotra, Spectrum)
STD_ROM_FN(Speccramotra)

struct BurnDriver BurnSpeccramotra = {
	"spec_cramotra", NULL, "spec_spectrum", NULL, "1984",
	"Crazy Motorcycle Rally (48K)\0", NULL, "Kerian UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccramotraRomInfo, SpeccramotraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crazy Pingoin (Spanish) (48K)

static struct BurnRomInfo SpeccrazpingRomDesc[] = {
	{ "Crazy Pingoin (1986)(Magic Team)(es).z80", 0x05158, 0xd3083470, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrazping, Speccrazping, Spectrum)
STD_ROM_FN(Speccrazping)

struct BurnDriver BurnSpeccrazping = {
	"spec_crazping", NULL, "spec_spectrum", NULL, "1986",
	"Crazy Pingoin (Spanish) (48K)\0", NULL, "Magic Team", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrazpingRomInfo, SpeccrazpingRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Creepy Dungeons (48K)

static struct BurnRomInfo SpeccreedungRomDesc[] = {
	{ "Creepy Dungeons (1985)(Automata UK).z80", 0x079b5, 0x9ccca4e8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccreedung, Speccreedung, Spectrum)
STD_ROM_FN(Speccreedung)

struct BurnDriver BurnSpeccreedung = {
	"spec_creedung", NULL, "spec_spectrum", NULL, "1985",
	"Creepy Dungeons (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccreedungRomInfo, SpeccreedungRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crete 1941 (48K)

static struct BurnRomInfo Speccrete194RomDesc[] = {
	{ "Crete 1941 (1991)(CCS).z80", 0x08bb6, 0xb6cea19d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrete194, Speccrete194, Spectrum)
STD_ROM_FN(Speccrete194)

struct BurnDriver BurnSpeccrete194 = {
	"spec_crete194", NULL, "spec_spectrum", NULL, "1991",
	"Crete 1941 (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccrete194RomInfo, Speccrete194RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crevasse (48K)

static struct BurnRomInfo SpeccrevasseRomDesc[] = {
	{ "Crevasse (1982)(Microsphere).z80", 0x00dfd, 0x7fa4df5f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrevasse, Speccrevasse, Spectrum)
STD_ROM_FN(Speccrevasse)

struct BurnDriver BurnSpeccrevasse = {
	"spec_crevasse", NULL, "spec_spectrum", NULL, "1982",
	"Crevasse (48K)\0", NULL, "Microsphere", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrevasseRomInfo, SpeccrevasseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cribbage (48K)

static struct BurnRomInfo SpeccribbageRomDesc[] = {
	{ "Cribbage (1984)(Gamma Software).z80", 0x06bd9, 0x48402990, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccribbage, Speccribbage, Spectrum)
STD_ROM_FN(Speccribbage)

struct BurnDriver BurnSpeccribbage = {
	"spec_cribbage", NULL, "spec_spectrum", NULL, "1984",
	"Cribbage (48K)\0", NULL, "Gamma Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccribbageRomInfo, SpeccribbageRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cricket Captain (Allanson Computing) (48K)

static struct BurnRomInfo SpeccrcktcpaRomDesc[] = {
	{ "Cricket Captain (1984)(Allanson Computing).z80", 0x0ae15, 0x9e0076e4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrcktcpa, Speccrcktcpa, Spectrum)
STD_ROM_FN(Speccrcktcpa)

struct BurnDriver BurnSpeccrcktcpa = {
	"spec_crcktcpa", NULL, "spec_spectrum", NULL, "1984",
	"Cricket Captain (Allanson Computing) (48K)\0", NULL, "Allanson Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrcktcpaRomInfo, SpeccrcktcpaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cricket Captain (D&H Games) (48K)

static struct BurnRomInfo SpeccrcktcapRomDesc[] = {
	{ "Cricket Captain (1988)(D&H Games).z80", 0x0948f, 0x4aa5cafd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrcktcap, Speccrcktcap, Spectrum)
STD_ROM_FN(Speccrcktcap)

struct BurnDriver BurnSpeccrcktcap = {
	"spec_crcktcap", NULL, "spec_spectrum", NULL, "1988",
	"Cricket Captain (D&H Games) (48K)\0", NULL, "D&H Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrcktcapRomInfo, SpeccrcktcapRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cricket Master - Thomas Cup (48K)

static struct BurnRomInfo SpeccrmathcuRomDesc[] = {
	{ "Cricket Master - Thomas Cup (1987)(E&J Software).z80", 0x089fa, 0x9fb8cb46, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrmathcu, Speccrmathcu, Spectrum)
STD_ROM_FN(Speccrmathcu)

struct BurnDriver BurnSpeccrmathcu = {
	"spec_crmathcu", NULL, "spec_spectrum", NULL, "1987",
	"Cricket Master - Thomas Cup (48K)\0", NULL, "E&J Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrmathcuRomInfo, SpeccrmathcuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cricket Master (48K)

static struct BurnRomInfo SpeccricmastRomDesc[] = {
	{ "Cricket Master (1987)(E&J Software).z80", 0x08313, 0x0797eb47, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccricmast, Speccricmast, Spectrum)
STD_ROM_FN(Speccricmast)

struct BurnDriver BurnSpeccricmast = {
	"spec_cricmast", NULL, "spec_spectrum", NULL, "1987",
	"Cricket Master (48K)\0", NULL, "E&J Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccricmastRomInfo, SpeccricmastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cricket-Crazy - Part 1 (48K)

static struct BurnRomInfo SpeccricrapaRomDesc[] = {
	{ "Cricket-Crazy - Part 1 (1988)(The Dreaming Djinn).z80", 0x0a1e4, 0xe3547e63, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccricrapa, Speccricrapa, Spectrum)
STD_ROM_FN(Speccricrapa)

struct BurnDriver BurnSpeccricrapa = {
	"spec_cricrapa", NULL, "spec_spectrum", NULL, "1988",
	"Cricket-Crazy - Part 1 (48K)\0", NULL, "The Dreaming Djinn", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccricrapaRomInfo, SpeccricrapaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cricket-Crazy - Part 2 - The Match (48K)

static struct BurnRomInfo SpeccrcrpathRomDesc[] = {
	{ "Cricket-Crazy - Part 2 - The Match (1988)(The Dreaming Djinn).z80", 0x08013, 0xc99bcad0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrcrpath, Speccrcrpath, Spectrum)
STD_ROM_FN(Speccrcrpath)

struct BurnDriver BurnSpeccrcrpath = {
	"spec_crcrpath", NULL, "spec_spectrum", NULL, "1988",
	"Cricket-Crazy - Part 2 - The Match (48K)\0", NULL, "The Dreaming Djinn", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrcrpathRomInfo, SpeccrcrpathRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crime Busters (Strobe) (48K)

static struct BurnRomInfo SpeccrimbstsRomDesc[] = {
	{ "Crime Busters (1986)(Strobe).z80", 0x0a3df, 0x688b1735, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrimbsts, Speccrimbsts, Spectrum)
STD_ROM_FN(Speccrimbsts)

struct BurnDriver BurnSpeccrimbsts = {
	"spec_crimbsts", NULL, "spec_spectrum", NULL, "1986",
	"Crime Busters (Strobe) (48K)\0", NULL, "Strobe", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrimbstsRomInfo, SpeccrimbstsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crime Busters (Players Software) (48K)

static struct BurnRomInfo Speccrimbust_48RomDesc[] = {
	{ "Crime Busters (1988)(Players Software).z80", 0x0b107, 0x90e86448, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrimbust_48, Speccrimbust_48, Spectrum)
STD_ROM_FN(Speccrimbust_48)

struct BurnDriver BurnSpeccrimbust_48 = {
	"spec_crimbust_48", "spec_crimbust", "spec_spectrum", NULL, "1988",
	"Crime Busters (Players Software) (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccrimbust_48RomInfo, Speccrimbust_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crime Busters (Players Software) (128K)

static struct BurnRomInfo SpeccrimbustRomDesc[] = {
	{ "Crime Busters (1988)(Players Software)[128K].z80", 0x0b6df, 0x3981dafa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrimbust, Speccrimbust, Spectrum)
STD_ROM_FN(Speccrimbust)

struct BurnDriver BurnSpeccrimbust = {
	"spec_crimbust", NULL, "spec_spec128", NULL, "1988",
	"Crime Busters (Players Software) (128K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrimbustRomInfo, SpeccrimbustRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crime Santa Clause (Russian) (128K)

static struct BurnRomInfo SpeccrisanclRomDesc[] = {
	{ "Crime Santa Clause (1996)(ETC Group)(ru)[128K].z80", 0x0b46e, 0x84b17100, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrisancl, Speccrisancl, Spectrum)
STD_ROM_FN(Speccrisancl)

struct BurnDriver BurnSpeccrisancl = {
	"spec_crisancl", NULL, "spec_spec128", NULL, "1996",
	"Crime Santa Clause (Russian) (128K)\0", NULL, "ETC Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrisanclRomInfo, SpeccrisanclRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Critical Mass (48K)

static struct BurnRomInfo SpeccritmassRomDesc[] = {
	{ "Critical Mass (1985)(Durell Software).z80", 0x08a7c, 0x6aa5dc0f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccritmass, Speccritmass, Spectrum)
STD_ROM_FN(Speccritmass)

struct BurnDriver BurnSpeccritmass = {
	"spec_critmass", NULL, "spec_spectrum", NULL, "1985",
	"Critical Mass (48K)\0", NULL, "Durell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccritmassRomInfo, SpeccritmassRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cromwell at War 1642-1645 (48K)

static struct BurnRomInfo Speccromwar1RomDesc[] = {
	{ "Cromwell at War 1642-1645 (1991)(CCS).z80", 0x06f5a, 0x55b7f084, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccromwar1, Speccromwar1, Spectrum)
STD_ROM_FN(Speccromwar1)

struct BurnDriver BurnSpeccromwar1 = {
	"spec_cromwar1", NULL, "spec_spectrum", NULL, "1991",
	"Cromwell at War 1642-1645 (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccromwar1RomInfo, Speccromwar1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crosswize (48K)

static struct BurnRomInfo SpeccrosswizRomDesc[] = {
	{ "Crosswize (1988)(Firebird Software).z80", 0x0a109, 0x8959acfa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrosswiz, Speccrosswiz, Spectrum)
STD_ROM_FN(Speccrosswiz)

struct BurnDriver BurnSpeccrosswiz = {
	"spec_crosswiz", NULL, "spec_spectrum", NULL, "1988",
	"Crosswize (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrosswizRomInfo, SpeccrosswizRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crown Jackpot (German) (48K)

static struct BurnRomInfo SpeccrowjackRomDesc[] = {
	{ "Crown Jackpot (1986)(Multisoft)(de).z80", 0x06d65, 0x3c565739, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrowjack, Speccrowjack, Spectrum)
STD_ROM_FN(Speccrowjack)

struct BurnDriver BurnSpeccrowjack = {
	"spec_crowjack", NULL, "spec_spectrum", NULL, "1986",
	"Crown Jackpot (German) (48K)\0", NULL, "Multisoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrowjackRomInfo, SpeccrowjackRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crown of Ramhotep, The - Intro (48K)

static struct BurnRomInfo SpeccrwnramRomDesc[] = {
	{ "Crown of Ramhotep, The - Intro (1987)(Tartan Software).z80", 0x02264, 0x30eb8ee7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrwnram, Speccrwnram, Spectrum)
STD_ROM_FN(Speccrwnram)

struct BurnDriver BurnSpeccrwnram = {
	"spec_crwnram", NULL, "spec_spectrum", NULL, "1987",
	"Crown of Ramhotep, The - Intro (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrwnramRomInfo, SpeccrwnramRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crown of Ramhotep, The (48K)

static struct BurnRomInfo SpeccrwnramgRomDesc[] = {
	{ "Crown of Ramhotep, The (1987)(Tartan Software).z80", 0x0ac1d, 0xc2c49046, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrwnramg, Speccrwnramg, Spectrum)
STD_ROM_FN(Speccrwnramg)

struct BurnDriver BurnSpeccrwnramg = {
	"spec_crwnramg", "spec_crwnram", "spec_spectrum", NULL, "1987",
	"Crown of Ramhotep, The (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrwnramgRomInfo, SpeccrwnramgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cruising on Broadway (48K)

static struct BurnRomInfo SpeccruibroaRomDesc[] = {
	{ "Cruising on Broadway (1983)(Sunshine Books).z80", 0x01c44, 0x18c22440, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccruibroa, Speccruibroa, Spectrum)
STD_ROM_FN(Speccruibroa)

struct BurnDriver BurnSpeccruibroa = {
	"spec_cruibroa", NULL, "spec_spectrum", NULL, "1983",
	"Cruising on Broadway (48K)\0", NULL, "Sunshine Books", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccruibroaRomInfo, SpeccruibroaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crush Up (German) (48K)

static struct BurnRomInfo SpeccrusupdeRomDesc[] = {
	{ "Crush Up (1984)(ZXS)(de).z80", 0x027fb, 0x7105b3b7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrusupde, Speccrusupde, Spectrum)
STD_ROM_FN(Speccrusupde)

struct BurnDriver BurnSpeccrusupde = {
	"spec_crusupde", NULL, "spec_spectrum", NULL, "1984",
	"Crush Up (German) (48K)\0", NULL, "ZXS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrusupdeRomInfo, SpeccrusupdeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crusoe (48K)

static struct BurnRomInfo SpeccrusoeRomDesc[] = {
	{ "Crusoe (1984)(Automata UK).z80", 0x09f3d, 0xec3e8fd7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrusoe, Speccrusoe, Spectrum)
STD_ROM_FN(Speccrusoe)

struct BurnDriver BurnSpeccrusoe = {
	"spec_crusoe", NULL, "spec_spectrum", NULL, "1984",
	"Crusoe (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrusoeRomInfo, SpeccrusoeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crux 92 (sk) (48K)

static struct BurnRomInfo Speccrux92skRomDesc[] = {
	{ "Crux 92 (1992)(Ultrasoft)(sk).z80", 0x09088, 0x9ed70215, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrux92sk, Speccrux92sk, Spectrum)
STD_ROM_FN(Speccrux92sk)

struct BurnDriver BurnSpeccrux92sk = {
	"spec_crux92sk", NULL, "spec_spectrum", NULL, "1992",
	"Crux 92 (sk) (48K)\0", NULL, "Ultrasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccrux92skRomInfo, Speccrux92skRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cruzado, El (Spanish) (48K)

static struct BurnRomInfo SpeccruzelesRomDesc[] = {
	{ "Cruzado, El (1987)(Nuevo Software Espanol)(es).z80", 0x08d2d, 0xb709017e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccruzeles, Speccruzeles, Spectrum)
STD_ROM_FN(Speccruzeles)

struct BurnDriver BurnSpeccruzeles = {
	"spec_cruzeles", NULL, "spec_spectrum", NULL, "1987",
	"Cruzado, El (Spanish) (48K)\0", NULL, "Nuevo Software Espanol", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccruzelesRomInfo, SpeccruzelesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crypts, The (48K)

static struct BurnRomInfo SpeccryptheRomDesc[] = {
	{ "Crypts, The (1984)(Carnell Software).z80", 0x071c6, 0x139569e0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrypthe, Speccrypthe, Spectrum)
STD_ROM_FN(Speccrypthe)

struct BurnDriver BurnSpeccrypthe = {
	"spec_crypthe", NULL, "spec_spectrum", NULL, "1984",
	"Crypts, The (48K)\0", NULL, "Carnell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccryptheRomInfo, SpeccryptheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crystal Castles (48K)

static struct BurnRomInfo Speccryscast_48RomDesc[] = {
	{ "Crystal Castles (1986)(U.S. Gold).z80", 0x0c01e, 0xff19b90c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccryscast_48, Speccryscast_48, Spectrum)
STD_ROM_FN(Speccryscast_48)

struct BurnDriver BurnSpeccryscast_48 = {
	"spec_cryscast_48", "spec_cryscast", "spec_spectrum", NULL, "1986",
	"Crystal Castles (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccryscast_48RomInfo, Speccryscast_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crystal Castles (128K)

static struct BurnRomInfo SpeccryscastRomDesc[] = {
	{ "Crystal Castles (1986)(U.S. Gold)[128K].z80", 0x0a752, 0xff640ca8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccryscast, Speccryscast, Spectrum)
STD_ROM_FN(Speccryscast)

struct BurnDriver BurnSpeccryscast = {
	"spec_cryscast", NULL, "spec_spec128", NULL, "1986",
	"Crystal Castles (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccryscastRomInfo, SpeccryscastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crystal Frog, The (48K)

static struct BurnRomInfo SpeccryfrothRomDesc[] = {
	{ "Crystal Frog, The (1984)(Kerian UK).z80", 0x07b15, 0x896de47e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccryfroth, Speccryfroth, Spectrum)
STD_ROM_FN(Speccryfroth)

struct BurnDriver BurnSpeccryfroth = {
	"spec_cryfroth", NULL, "spec_spectrum", NULL, "1984",
	"Crystal Frog, The (48K)\0", NULL, "Kerian UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccryfrothRomInfo, SpeccryfrothRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crystal of Chantie, The (48K)

static struct BurnRomInfo SpeccrychathRomDesc[] = {
	{ "Crystal of Chantie, The (1987)(Pelagon Software).z80", 0x0a954, 0x359a68c6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrychath, Speccrychath, Spectrum)
STD_ROM_FN(Speccrychath)

struct BurnDriver BurnSpeccrychath = {
	"spec_crychath", NULL, "spec_spectrum", NULL, "1987",
	"Crystal of Chantie, The (48K)\0", NULL, "Pelagon Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrychathRomInfo, SpeccrychathRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crystal of Power, The (48K)

static struct BurnRomInfo SpeccrypowthRomDesc[] = {
	{ "Crystal of Power, The (1989)(Fantasy).z80", 0x0a9c5, 0xc68735b6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrypowth, Speccrypowth, Spectrum)
STD_ROM_FN(Speccrypowth)

struct BurnDriver BurnSpeccrypowth = {
	"spec_crypowth", NULL, "spec_spectrum", NULL, "1989",
	"Crystal of Power, The (48K)\0", NULL, "Fantasy", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrypowthRomInfo, SpeccrypowthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crystal Orb, The (48K)

static struct BurnRomInfo SpeccryorbthRomDesc[] = {
	{ "Crystal Orb, The (1984)(CRL Group).z80", 0x09323, 0x22d56590, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccryorbth, Speccryorbth, Spectrum)
STD_ROM_FN(Speccryorbth)

struct BurnDriver BurnSpeccryorbth = {
	"spec_cryorbth", NULL, "spec_spectrum", NULL, "1984",
	"Crystal Orb, The (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccryorbthRomInfo, SpeccryorbthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crystal Quest (48K)

static struct BurnRomInfo SpeccrysquesRomDesc[] = {
	{ "Crystal Quest (1985)(Pocket Money Software).z80", 0x0956e, 0xeedc4f8b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrysques, Speccrysques, Spectrum)
STD_ROM_FN(Speccrysques)

struct BurnDriver BurnSpeccrysques = {
	"spec_crysques", NULL, "spec_spectrum", NULL, "1985",
	"Crystal Quest (48K)\0", NULL, "Pocket Money Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrysquesRomInfo, SpeccrysquesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crystals (48K)

static struct BurnRomInfo SpeccrystalsRomDesc[] = {
	{ "Crystals (1984)(Yodasoft).z80", 0x016f0, 0xfbb9bb63, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrystals, Speccrystals, Spectrum)
STD_ROM_FN(Speccrystals)

struct BurnDriver BurnSpeccrystals = {
	"spec_crystals", NULL, "spec_spectrum", NULL, "1984",
	"Crystals (48K)\0", NULL, "Yodasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccrystalsRomInfo, SpeccrystalsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crystals of Kings - Intro (Part 1 of 2) (48K)

static struct BurnRomInfo SpeccryskingRomDesc[] = {
	{ "Crystals of Kings - Intro (1993)(Zenobi Software)(Part 1 of 2).z80", 0x0243c, 0x42e2ab96, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrysking, Speccrysking, Spectrum)
STD_ROM_FN(Speccrysking)

struct BurnDriver BurnSpeccrysking = {
	"spec_crysking", NULL, "spec_spectrum", NULL, "1993",
	"Crystals of Kings - Intro (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccryskingRomInfo, SpeccryskingRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crystals of Kings - Intro (Part 2 of 2) (48K)

static struct BurnRomInfo Speccrysking2RomDesc[] = {
	{ "Crystals of Kings - Intro (1993)(Zenobi Software)(Part 2 of 2).z80", 0x0267f, 0x2265330b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccrysking2, Speccrysking2, Spectrum)
STD_ROM_FN(Speccrysking2)

struct BurnDriver BurnSpeccrysking2 = {
	"spec_crysking2", "spec_crysking", "spec_spectrum", NULL, "1993",
	"Crystals of Kings - Intro (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccrysking2RomInfo, Speccrysking2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crystals of Kings (Part 1 of 2) (48K)

static struct BurnRomInfo SpeccryskinggRomDesc[] = {
	{ "Crystals of Kings (1993)(Zenobi Software)(Part 1 of 2).z80", 0x0a6de, 0xe695062e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccryskingg, Speccryskingg, Spectrum)
STD_ROM_FN(Speccryskingg)

struct BurnDriver BurnSpeccryskingg = {
	"spec_cryskingg", NULL, "spec_spectrum", NULL, "1993",
	"Crystals of Kings (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccryskinggRomInfo, SpeccryskinggRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Crystals of Kings (Part 2 of 2) (48K)

static struct BurnRomInfo Speccryskingg2RomDesc[] = {
	{ "Crystals of Kings (1993)(Zenobi Software)(Part 2 of 2).z80", 0x0a179, 0xe0808b46, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccryskingg2, Speccryskingg2, Spectrum)
STD_ROM_FN(Speccryskingg2)

struct BurnDriver BurnSpeccryskingg2 = {
	"spec_cryskingg2", "spec_crysking", "spec_spectrum", NULL, "1993",
	"Crystals of Kings (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccryskingg2RomInfo, Speccryskingg2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cuban Mission (Spanish) (48K)

static struct BurnRomInfo SpeccubamissRomDesc[] = {
	{ "Cuban Mission (1990)(Bolsoftware Communications)(es).z80", 0x08ebf, 0x518f58ab, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccubamiss, Speccubamiss, Spectrum)
STD_ROM_FN(Speccubamiss)

struct BurnDriver BurnSpeccubamiss = {
	"spec_cubamiss", NULL, "spec_spectrum", NULL, "1990",
	"Cuban Mission (Spanish) (48K)\0", NULL, "Bolsoftware Communications", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccubamissRomInfo, SpeccubamissRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cube (German) (48K)

static struct BurnRomInfo SpeccubedeRomDesc[] = {
	{ "Cube (1984)(A. Pachler)(de).z80", 0x025b0, 0x2fa3cc13, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccubede, Speccubede, Spectrum)
STD_ROM_FN(Speccubede)

struct BurnDriver BurnSpeccubede = {
	"spec_cubede", NULL, "spec_spectrum", NULL, "1984",
	"Cube (German) (48K)\0", NULL, "A. Pachler", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccubedeRomInfo, SpeccubedeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cubey (48K)

static struct BurnRomInfo SpeccubeyRomDesc[] = {
	{ "Cubey (1984)(Chad Software).z80", 0x05c88, 0xbc837158, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccubey, Speccubey, Spectrum)
STD_ROM_FN(Speccubey)

struct BurnDriver BurnSpeccubey = {
	"spec_cubey", NULL, "spec_spectrum", NULL, "1984",
	"Cubey (48K)\0", NULL, "Chad Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccubeyRomInfo, SpeccubeyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cubitoid (48K)

static struct BurnRomInfo SpeccubitoidRomDesc[] = {
	{ "Cubitoid (1987)(Grant Jaquest).z80", 0x08ea5, 0x5c660d81, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccubitoid, Speccubitoid, Spectrum)
STD_ROM_FN(Speccubitoid)

struct BurnDriver BurnSpeccubitoid = {
	"spec_cubitoid", NULL, "spec_spectrum", NULL, "1987",
	"Cubitoid (48K)\0", NULL, "Grant Jaquest", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccubitoidRomInfo, SpeccubitoidRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cuddles (48K)

static struct BurnRomInfo SpeccuddlesRomDesc[] = {
	{ "Cuddles (1984)(8th Day Software).z80", 0x0a17f, 0x8761b30c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccuddles, Speccuddles, Spectrum)
STD_ROM_FN(Speccuddles)

struct BurnDriver BurnSpeccuddles = {
	"spec_cuddles", NULL, "spec_spectrum", NULL, "1984",
	"Cuddles (48K)\0", NULL, "8th Day Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccuddlesRomInfo, SpeccuddlesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cudesni Mac (bs) (48K)

static struct BurnRomInfo SpeccudemacbRomDesc[] = {
	{ "Cudesni Mac (1985)(Colic)(bs).z80", 0x02080, 0x6bcbc04f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccudemacb, Speccudemacb, Spectrum)
STD_ROM_FN(Speccudemacb)

struct BurnDriver BurnSpeccudemacb = {
	"spec_cudemacb", NULL, "spec_spectrum", NULL, "1985",
	"Cudesni Mac (bs) (48K)\0", NULL, "Colic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccudemacbRomInfo, SpeccudemacbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cue Boy (48K)

static struct BurnRomInfo Speccueboy_48RomDesc[] = {
	{ "Cue Boy (1992)(Codemasters).z80", 0x0aff0, 0x7b7a23c4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccueboy_48, Speccueboy_48, Spectrum)
STD_ROM_FN(Speccueboy_48)

struct BurnDriver BurnSpeccueboy_48 = {
	"spec_cueboy_48", "spec_cueboy", "spec_spectrum", NULL, "1992",
	"Cue Boy (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccueboy_48RomInfo, Speccueboy_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cue Boy (128K)

static struct BurnRomInfo SpeccueboyRomDesc[] = {
	{ "Cue Boy (1992)(Codemasters)[128K].z80", 0x0dd9c, 0xb13e4188, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccueboy, Speccueboy, Spectrum)
STD_ROM_FN(Speccueboy)

struct BurnDriver BurnSpeccueboy = {
	"spec_cueboy", NULL, "spec_spec128", NULL, "1992",
	"Cue Boy (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccueboyRomInfo, SpeccueboyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cup Football (128K)

static struct BurnRomInfo SpeccupfootbRomDesc[] = {
	{ "Cup Football (1988)(Cult Games)[128K].z80", 0x0b49b, 0xf727de01, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccupfootb, Speccupfootb, Spectrum)
STD_ROM_FN(Speccupfootb)

struct BurnDriver BurnSpeccupfootb = {
	"spec_cupfootb", NULL, "spec_spec128", NULL, "1988",
	"Cup Football (128K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccupfootbRomInfo, SpeccupfootbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cup, The (48K)

static struct BurnRomInfo SpeccuptheRomDesc[] = {
	{ "Cup, The (1987)(Zenobi Software).z80", 0x09297, 0x4c4fce15, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccupthe, Speccupthe, Spectrum)
STD_ROM_FN(Speccupthe)

struct BurnDriver BurnSpeccupthe = {
	"spec_cupthe", NULL, "spec_spectrum", NULL, "1987",
	"Cup, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccuptheRomInfo, SpeccuptheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Curro Jimenez (Spanish) (48K)

static struct BurnRomInfo SpeccurrjimeRomDesc[] = {
	{ "Curro Jimenez (1989)(Zigurat Software)(es).z80", 0x07e83, 0x0afde433, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccurrjime, Speccurrjime, Spectrum)
STD_ROM_FN(Speccurrjime)

struct BurnDriver BurnSpeccurrjime = {
	"spec_currjime", NULL, "spec_spectrum", NULL, "1989",
	"Curro Jimenez (Spanish) (48K)\0", NULL, "Zigurat Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccurrjimeRomInfo, SpeccurrjimeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Curse of Calutha, The (Part 1 of 2) (48K)

static struct BurnRomInfo SpeccurcalutRomDesc[] = {
	{ "Curse of Calutha, The (1991)(Zenobi Software)(Part 1 of 2).z80", 0x09c3f, 0xc1af65a7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccurcalut, Speccurcalut, Spectrum)
STD_ROM_FN(Speccurcalut)

struct BurnDriver BurnSpeccurcalut = {
	"spec_curcalut", NULL, "spec_spectrum", NULL, "1991",
	"Curse of Calutha, The (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccurcalutRomInfo, SpeccurcalutRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Curse of Calutha, The (Part 2 of 2) (48K)

static struct BurnRomInfo Speccurcalut2RomDesc[] = {
	{ "Curse of Calutha, The (1991)(Zenobi Software)(Part 2 of 2).z80", 0x09bd6, 0x822a2909, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccurcalut2, Speccurcalut2, Spectrum)
STD_ROM_FN(Speccurcalut2)

struct BurnDriver BurnSpeccurcalut2 = {
	"spec_curcalut2", "spec_curcalut", "spec_spectrum", NULL, "1991",
	"Curse of Calutha, The (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccurcalut2RomInfo, Speccurcalut2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Curse of Nimue, The (Part 1 of 2) (48K)

static struct BurnRomInfo Speccurnimue_48RomDesc[] = {
	{ "Curse of Nimue, The (1995)(Zenobi Software)(Part 1 of 2).z80", 0x0927e, 0xc36f45a6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccurnimue_48, Speccurnimue_48, Spectrum)
STD_ROM_FN(Speccurnimue_48)

struct BurnDriver BurnSpeccurnimue_48 = {
	"spec_curnimue_48", "spec_curnimue", "spec_spectrum", NULL, "1995",
	"Curse of Nimue, The (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccurnimue_48RomInfo, Speccurnimue_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Curse of Nimue, The (Part 1 of 2) (128K)

static struct BurnRomInfo SpeccurnimueRomDesc[] = {
	{ "Curse of Nimue, The (1995)(Zenobi Software)(Part 1 of 2)[128K].z80", 0x098b8, 0xeb680422, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccurnimue, Speccurnimue, Spectrum)
STD_ROM_FN(Speccurnimue)

struct BurnDriver BurnSpeccurnimue = {
	"spec_curnimue", NULL, "spec_spec128", NULL, "1995",
	"Curse of Nimue, The (Part 1 of 2) (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccurnimueRomInfo, SpeccurnimueRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Curse of Nimue, The (Part 2 of 2) (48K)

static struct BurnRomInfo Speccurnimue2_48RomDesc[] = {
	{ "Curse of Nimue, The (1995)(Zenobi Software)(Part 2 of 2).z80", 0x091bd, 0x9c2baf5c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccurnimue2_48, Speccurnimue2_48, Spectrum)
STD_ROM_FN(Speccurnimue2_48)

struct BurnDriver BurnSpeccurnimue2_48 = {
	"spec_curnimue2_48", "spec_curnimue", "spec_spectrum", NULL, "1995",
	"Curse of Nimue, The (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccurnimue2_48RomInfo, Speccurnimue2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Curse of Nimue, The (Part 2 of 2) (128K)

static struct BurnRomInfo Speccurnimue2RomDesc[] = {
	{ "Curse of Nimue, The (1995)(Zenobi Software)(Part 2 of 2)[128K].z80", 0x09805, 0x70a1be14, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccurnimue2, Speccurnimue2, Spectrum)
STD_ROM_FN(Speccurnimue2)

struct BurnDriver BurnSpeccurnimue2 = {
	"spec_curnimue2", "spec_curnimue", "spec_spec128", NULL, "1995",
	"Curse of Nimue, The (Part 2 of 2) (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccurnimue2RomInfo, Speccurnimue2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Curse of Sherwood, The (48K)

static struct BurnRomInfo SpeccurshethRomDesc[] = {
	{ "Curse of Sherwood, The (1987)(Mastertronic).z80", 0x099c0, 0x72701ae3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccursheth, Speccursheth, Spectrum)
STD_ROM_FN(Speccursheth)

struct BurnDriver BurnSpeccursheth = {
	"spec_cursheth", NULL, "spec_spectrum", NULL, "1987",
	"Curse of Sherwood, The (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccurshethRomInfo, SpeccurshethRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Curse of the Seven Faces (48K)

static struct BurnRomInfo SpeccursevfaRomDesc[] = {
	{ "Curse of the Seven Faces (1985)(Artic Computing).z80", 0x0a548, 0xf48c6964, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccursevfa, Speccursevfa, Spectrum)
STD_ROM_FN(Speccursevfa)

struct BurnDriver BurnSpeccursevfa = {
	"spec_cursevfa", NULL, "spec_spectrum", NULL, "1985",
	"Curse of the Seven Faces (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccursevfaRomInfo, SpeccursevfaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Curse, The (48K)

static struct BurnRomInfo SpeccurstheRomDesc[] = {
	{ "Curse, The (1983)(Gilsoft International).z80", 0x08900, 0xe0934e4f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccursthe, Speccursthe, Spectrum)
STD_ROM_FN(Speccursthe)

struct BurnDriver BurnSpeccursthe = {
	"spec_cursthe", NULL, "spec_spectrum", NULL, "1983",
	"Curse, The (48K)\0", NULL, "Gilsoft International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccurstheRomInfo, SpeccurstheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cursed be the City (48K)

static struct BurnRomInfo SpeccurscityRomDesc[] = {
	{ "Cursed be the City (1986)(Incantation).z80", 0x0abc2, 0xe320e111, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccurscity, Speccurscity, Spectrum)
STD_ROM_FN(Speccurscity)

struct BurnDriver BurnSpeccurscity = {
	"spec_curscity", NULL, "spec_spectrum", NULL, "1986",
	"Cursed be the City (48K)\0", NULL, "Incantation", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccurscityRomInfo, SpeccurscityRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Custard Kid, The (48K)

static struct BurnRomInfo SpeccuskidthRomDesc[] = {
	{ "Custard Kid, The (1985)(New Generation Software).z80", 0x09a28, 0xae2c7408, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccuskidth, Speccuskidth, Spectrum)
STD_ROM_FN(Speccuskidth)

struct BurnDriver BurnSpeccuskidth = {
	"spec_cuskidth", NULL, "spec_spectrum", NULL, "1985",
	"Custard Kid, The (48K)\0", NULL, "New Generation Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccuskidthRomInfo, SpeccuskidthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Custerd's Quest (48K)

static struct BurnRomInfo Speccustques_48RomDesc[] = {
	{ "Custerd's Quest (1986)(The Power House).z80", 0x09fcd, 0xb75c3eed, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccustques_48, Speccustques_48, Spectrum)
STD_ROM_FN(Speccustques_48)

struct BurnDriver BurnSpeccustques_48 = {
	"spec_custques_48", "spec_custques", "spec_spectrum", NULL, "1986",
	"Custerd's Quest (48K)\0", NULL, "The Power House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccustques_48RomInfo, Speccustques_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Custerd's Quest (128K)

static struct BurnRomInfo SpeccustquesRomDesc[] = {
	{ "Custerd's Quest (1986)(The Power House)[128K].z80", 0x0a5e0, 0xadae365a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccustques, Speccustques, Spectrum)
STD_ROM_FN(Speccustques)

struct BurnDriver BurnSpeccustques = {
	"spec_custques", NULL, "spec_spec128", NULL, "1986",
	"Custerd's Quest (128K)\0", NULL, "The Power House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccustquesRomInfo, SpeccustquesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cyber Rats (48K)

static struct BurnRomInfo SpeccyberatsRomDesc[] = {
	{ "Cyber Rats (1982)(Silversoft).z80", 0x0c01e, 0x2e4a06f0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccyberats, Speccyberats, Spectrum)
STD_ROM_FN(Speccyberats)

struct BurnDriver BurnSpeccyberats = {
	"spec_cyberats", NULL, "spec_spectrum", NULL, "1982",
	"Cyber Rats (48K)\0", NULL, "Silversoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccyberatsRomInfo, SpeccyberatsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cyber Zone (48K)

static struct BurnRomInfo SpeccybezoneRomDesc[] = {
	{ "Cyber Zone (1984)(Crystal Computing).z80", 0x02dcc, 0x4fbed564, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccybezone, Speccybezone, Spectrum)
STD_ROM_FN(Speccybezone)

struct BurnDriver BurnSpeccybezone = {
	"spec_cybezone", NULL, "spec_spectrum", NULL, "1984",
	"Cyber Zone (48K)\0", NULL, "Crystal Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccybezoneRomInfo, SpeccybezoneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cyberball (128K)

static struct BurnRomInfo SpeccyberbalRomDesc[] = {
	{ "Cyberball (1990)(Domark)[128K].z80", 0x183cd, 0x1e0004d8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccyberbal, Speccyberbal, Spectrum)
STD_ROM_FN(Speccyberbal)

struct BurnDriver BurnSpeccyberbal = {
	"spec_cyberbal", NULL, "spec_spec128", NULL, "1990",
	"Cyberball (128K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccyberbalRomInfo, SpeccyberbalRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cybernation (48K)

static struct BurnRomInfo SpeccybernatRomDesc[] = {
	{ "Cybernation (1989)(Players Software).z80", 0x0a4d9, 0x8eda84ad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccybernat, Speccybernat, Spectrum)
STD_ROM_FN(Speccybernat)

struct BurnDriver BurnSpeccybernat = {
	"spec_cybernat", NULL, "spec_spectrum", NULL, "1989",
	"Cybernation (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccybernatRomInfo, SpeccybernatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cybernoid - The Fighting Machine (48K)

static struct BurnRomInfo Speccythfima_48RomDesc[] = {
	{ "Cybernoid - The Fighting Machine (1988)(Hewson Consultants).z80", 0x0a4fb, 0x539a8179, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccythfima_48, Speccythfima_48, Spectrum)
STD_ROM_FN(Speccythfima_48)

struct BurnDriver BurnSpeccythfima_48 = {
	"spec_cythfima_48", "spec_cythfima", "spec_spectrum", NULL, "1988",
	"Cybernoid - The Fighting Machine (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccythfima_48RomInfo, Speccythfima_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cybernoid - The Fighting Machine (128K)

static struct BurnRomInfo SpeccythfimaRomDesc[] = {
	{ "Cybernoid - The Fighting Machine (1988)(Hewson Consultants)[128K].z80", 0x0aac0, 0x4e00cf3d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccythfima, Speccythfima, Spectrum)
STD_ROM_FN(Speccythfima)

struct BurnDriver BurnSpeccythfima = {
	"spec_cythfima", NULL, "spec_spec128", NULL, "1988",
	"Cybernoid - The Fighting Machine (128K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccythfimaRomInfo, SpeccythfimaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cybernoid II - The Revenge (48K)

static struct BurnRomInfo Speccybrnd2_48RomDesc[] = {
	{ "Cybernoid II - The Revenge (1988)(Hewson Consultants).z80", 0x0a67b, 0xb7018e24, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccybrnd2_48, Speccybrnd2_48, Spectrum)
STD_ROM_FN(Speccybrnd2_48)

struct BurnDriver BurnSpeccybrnd2_48 = {
	"spec_cybrnd2_48", "spec_cybrnd2", "spec_spectrum", NULL, "1988",
	"Cybernoid II - The Revenge (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccybrnd2_48RomInfo, Speccybrnd2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cybernoid II - The Revenge (128K)

static struct BurnRomInfo Speccybrnd2RomDesc[] = {
	{ "Cybernoid II - The Revenge (1988)(Hewson Consultants)[128K].z80", 0x0bb35, 0x773b8e31, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccybrnd2, Speccybrnd2, Spectrum)
STD_ROM_FN(Speccybrnd2)

struct BurnDriver BurnSpeccybrnd2 = {
	"spec_cybrnd2", NULL, "spec_spec128", NULL, "1988",
	"Cybernoid II - The Revenge (128K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccybrnd2RomInfo, Speccybrnd2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cybertanks (48K)

static struct BurnRomInfo SpeccybertanRomDesc[] = {
	{ "Cybertanks (1984)(Star Dreams).z80", 0x028e0, 0x793648a4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccybertan, Speccybertan, Spectrum)
STD_ROM_FN(Speccybertan)

struct BurnDriver BurnSpeccybertan = {
	"spec_cybertan", NULL, "spec_spectrum", NULL, "1984",
	"Cybertanks (48K)\0", NULL, "Star Dreams", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccybertanRomInfo, SpeccybertanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cyberun (48K)

static struct BurnRomInfo SpeccyberunRomDesc[] = {
	{ "Cyberun (1985)(Ultimate Play The Game).z80", 0x09b83, 0xe492cc92, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccyberun, Speccyberun, Spectrum)
STD_ROM_FN(Speccyberun)

struct BurnDriver BurnSpeccyberun = {
	"spec_cyberun", NULL, "spec_spectrum", NULL, "1985",
	"Cyberun (48K)\0", NULL, "Ultimate Play The Game", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccyberunRomInfo, SpeccyberunRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cybo Run (48K)

static struct BurnRomInfo SpeccyborunRomDesc[] = {
	{ "Cybo Run (1984)(Calisto).z80", 0x04cab, 0x6fd00592, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccyborun, Speccyborun, Spectrum)
STD_ROM_FN(Speccyborun)

struct BurnDriver BurnSpeccyborun = {
	"spec_cyborun", NULL, "spec_spectrum", NULL, "1984",
	"Cybo Run (48K)\0", NULL, "Calisto", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccyborunRomInfo, SpeccyborunRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cycles, The (48K)

static struct BurnRomInfo Speccycles_48RomDesc[] = {
	{ "Cycles, The (1989)(Accolade).z80", 0x0835b, 0x358df863, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccycles_48, Speccycles_48, Spectrum)
STD_ROM_FN(Speccycles_48)

struct BurnDriver BurnSpeccycles_48 = {
	"spec_cycles_48", "spec_cycles", "spec_spectrum", NULL, "1989",
	"Cycles, The (48K)\0", NULL, "Accolade", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccycles_48RomInfo, Speccycles_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cycles, The (128K)

static struct BurnRomInfo SpeccyclesRomDesc[] = {
	{ "Cycles, The (1989)(Accolade)[128K].z80", 0x08728, 0xdf6dfc03, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccycles, Speccycles, Spectrum)
STD_ROM_FN(Speccycles)

struct BurnDriver BurnSpeccycles = {
	"spec_cycles", NULL, "spec_spec128", NULL, "1989",
	"Cycles, The (128K)\0", NULL, "Accolade", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccyclesRomInfo, SpeccyclesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cyclone (48K)

static struct BurnRomInfo SpeccycloneRomDesc[] = {
	{ "Cyclone (1985)(Vortex Software).z80", 0x06fef, 0x5d436d49, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccyclone, Speccyclone, Spectrum)
STD_ROM_FN(Speccyclone)

struct BurnDriver BurnSpeccyclone = {
	"spec_cyclone", NULL, "spec_spectrum", NULL, "1985",
	"Cyclone (48K)\0", NULL, "Vortex Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccycloneRomInfo, SpeccycloneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cylu (48K)

static struct BurnRomInfo SpeccyluRomDesc[] = {
	{ "Cylu (1985)(Firebird Software).z80", 0x081b5, 0x22154dd4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccylu, Speccylu, Spectrum)
STD_ROM_FN(Speccylu)

struct BurnDriver BurnSpeccylu = {
	"spec_cylu", NULL, "spec_spectrum", NULL, "1985",
	"Cylu (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccyluRomInfo, SpeccyluRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cypher (48K)

static struct BurnRomInfo SpeccypherRomDesc[] = {
	{ "Cypher (1983)(Cascade Games).z80", 0x06205, 0x5e8e4e02, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccypher, Speccypher, Spectrum)
STD_ROM_FN(Speccypher)

struct BurnDriver BurnSpeccypher = {
	"spec_cypher", NULL, "spec_spectrum", NULL, "1983",
	"Cypher (48K)\0", NULL, "Cascade Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccypherRomInfo, SpeccypherRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cyrox (48K)

static struct BurnRomInfo SpeccyroxRomDesc[] = {
	{ "Cyrox (1986)(The Power House).z80", 0x085e1, 0x20a4b51e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccyrox, Speccyrox, Spectrum)
STD_ROM_FN(Speccyrox)

struct BurnDriver BurnSpeccyrox = {
	"spec_cyrox", NULL, "spec_spectrum", NULL, "1986",
	"Cyrox (48K)\0", NULL, "The Power House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccyroxRomInfo, SpeccyroxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cyrus II (128K)

static struct BurnRomInfo Speccyrus2RomDesc[] = {
	{ "Cyrus II (1986)(Alligata Software)[128K].z80", 0x0983c, 0xbd597f2c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccyrus2, Speccyrus2, Spectrum)
STD_ROM_FN(Speccyrus2)

struct BurnDriver BurnSpeccyrus2 = {
	"spec_cyrus2", NULL, "spec_spec128", NULL, "1986",
	"Cyrus II (128K)\0", NULL, "Alligata Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speccyrus2RomInfo, Speccyrus2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cyrus IS Chess (48K)

static struct BurnRomInfo SpeccyischesRomDesc[] = {
	{ "Cyrus IS Chess (1983)(Sinclair Research).z80", 0x044fe, 0x7b069211, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccyisches, Speccyisches, Spectrum)
STD_ROM_FN(Speccyisches)

struct BurnDriver BurnSpeccyisches = {
	"spec_cyisches", NULL, "spec_spectrum", NULL, "1983",
	"Cyrus IS Chess (48K)\0", NULL, "Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccyischesRomInfo, SpeccyischesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Cytologie (German) (48K)

static struct BurnRomInfo SpeccytologiRomDesc[] = {
	{ "Cytologie (1985)(Future Design)(de).z80", 0x07d97, 0xbfc973ae, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speccytologi, Speccytologi, Spectrum)
STD_ROM_FN(Speccytologi)

struct BurnDriver BurnSpeccytologi = {
	"spec_cytologi", NULL, "spec_spectrum", NULL, "1985",
	"Cytologie (German) (48K)\0", NULL, "Future Design", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeccytologiRomInfo, SpeccytologiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// D.N.A. Warrior (48K)

static struct BurnRomInfo SpecdnawarriRomDesc[] = {
	{ "D.N.A. Warrior (1989)(Cascade Games).z80", 0x09130, 0x701bc81a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdnawarri, Specdnawarri, Spectrum)
STD_ROM_FN(Specdnawarri)

struct BurnDriver BurnSpecdnawarri = {
	"spec_dnawarri", NULL, "spec_spectrum", NULL, "1989",
	"D.N.A. Warrior (48K)\0", NULL, "Cascade Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdnawarriRomInfo, SpecdnawarriRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// D-37 (Spanish) (48K)

static struct BurnRomInfo Specd37RomDesc[] = {
	{ "D-37 (19xx)(Beja Soft)(es).z80", 0x08a97, 0x1a451163, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specd37, Specd37, Spectrum)
STD_ROM_FN(Specd37)

struct BurnDriver BurnSpecd37 = {
	"spec_d37", NULL, "spec_spectrum", NULL, "19xx",
	"D-37 (Spanish) (48K)\0", NULL, "Beja Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specd37RomInfo, Specd37RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Daleks (48K)

static struct BurnRomInfo SpecdaleksRomDesc[] = {
	{ "Daleks (1997)(CSSCGC).z80", 0x01763, 0x946fc357, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdaleks, Specdaleks, Spectrum)
STD_ROM_FN(Specdaleks)

struct BurnDriver BurnSpecdaleks = {
	"spec_daleks", NULL, "spec_spectrum", NULL, "1997",
	"Daleks (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdaleksRomInfo, SpecdaleksRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Daley Thompson's Decathlon - Day 1 (48K)

static struct BurnRomInfo SpecdtdecthnRomDesc[] = {
	{ "Daley Thompson's Decathlon - Day 1 (1984)(Ocean).z80", 0x08bbe, 0xf31094d1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdtdecthn, Specdtdecthn, Spectrum)
STD_ROM_FN(Specdtdecthn)

struct BurnDriver BurnSpecdtdecthn = {
	"spec_dtdecthn", NULL, "spec_spectrum", NULL, "1984",
	"Daley Thompson's Decathlon - Day 1 (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdtdecthnRomInfo, SpecdtdecthnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Daley Thompson's Decathlon - Day 2 (48K)

static struct BurnRomInfo Specdtdecthn2RomDesc[] = {
	{ "Daley Thompson's Decathlon - Day 2 (1984)(Ocean).z80", 0x08a49, 0x500ca1a5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdtdecthn2, Specdtdecthn2, Spectrum)
STD_ROM_FN(Specdtdecthn2)

struct BurnDriver BurnSpecdtdecthn2 = {
	"spec_dtdecthn2", "spec_dtdecthn", "spec_spectrum", NULL, "1984",
	"Daley Thompson's Decathlon - Day 2 (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdtdecthn2RomInfo, Specdtdecthn2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Daley Thompson's Olympic Challenge (128K)

static struct BurnRomInfo SpecdatholchRomDesc[] = {
	{ "Daley Thompson's Olympic Challenge (1988)(Ocean)[128K].z80", 0x1d5dc, 0xfc2d513f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdatholch, Specdatholch, Spectrum)
STD_ROM_FN(Specdatholch)

struct BurnDriver BurnSpecdatholch = {
	"spec_datholch", NULL, "spec_spec128", NULL, "1988",
	"Daley Thompson's Olympic Challenge (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdatholchRomInfo, SpecdatholchRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Daley Thompson's Supertest - Day 1 (48K)

static struct BurnRomInfo Specdtsprtst_48RomDesc[] = {
	{ "Daley Thompson's Supertest - Day 1 (1985)(Ocean).z80", 0x09808, 0xe68ca3de, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdtsprtst_48, Specdtsprtst_48, Spectrum)
STD_ROM_FN(Specdtsprtst_48)

struct BurnDriver BurnSpecdtsprtst_48 = {
	"spec_dtsprtst_48", "spec_dtsprtst", "spec_spectrum", NULL, "1985",
	"Daley Thompson's Supertest - Day 1 (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdtsprtst_48RomInfo, Specdtsprtst_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Daley Thompson's Supertest - Day 2 (48K)

static struct BurnRomInfo Specdtsprtst2_48RomDesc[] = {
	{ "Daley Thompson's Supertest - Day 2 (1985)(Ocean).z80", 0x0a230, 0xba051953, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdtsprtst2_48, Specdtsprtst2_48, Spectrum)
STD_ROM_FN(Specdtsprtst2_48)

struct BurnDriver BurnSpecdtsprtst2_48 = {
	"spec_dtsprtst2_48", "spec_dtsprtst", "spec_spectrum", NULL, "1985",
	"Daley Thompson's Supertest - Day 2 (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdtsprtst2_48RomInfo, Specdtsprtst2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Daley Thompson's Supertest (128K)

static struct BurnRomInfo SpecdtsprtstRomDesc[] = {
	{ "Daley Thompson's Supertest (1985)(Ocean)[128K].z80", 0x190ba, 0xc6bbb38c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdtsprtst, Specdtsprtst, Spectrum)
STD_ROM_FN(Specdtsprtst)

struct BurnDriver BurnSpecdtsprtst = {
	"spec_dtsprtst", NULL, "spec_spec128", NULL, "1985",
	"Daley Thompson's Supertest (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdtsprtstRomInfo, SpecdtsprtstRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dallas (48K)

static struct BurnRomInfo SpecdallasRomDesc[] = {
	{ "Dallas (1982)(CCS).z80", 0x03e00, 0xda8db74c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdallas, Specdallas, Spectrum)
STD_ROM_FN(Specdallas)

struct BurnDriver BurnSpecdallas = {
	"spec_dallas", NULL, "spec_spectrum", NULL, "1982",
	"Dallas (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdallasRomInfo, SpecdallasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dam Busters, The (48K)

static struct BurnRomInfo SpecdambustRomDesc[] = {
	{ "Dam Busters, The (1985)(U.S. Gold).z80", 0x0ab76, 0xa933424b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdambust, Specdambust, Spectrum)
STD_ROM_FN(Specdambust)

struct BurnDriver BurnSpecdambust = {
	"spec_dambust", NULL, "spec_spectrum", NULL, "1985",
	"Dam Busters, The (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdambustRomInfo, SpecdambustRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dama (Russian) (48K)

static struct BurnRomInfo SpecdamaRomDesc[] = {
	{ "Dama (19xx)(-)(ru).z80", 0x02f6d, 0xae6c000b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdama, Specdama, Spectrum)
STD_ROM_FN(Specdama)

struct BurnDriver BurnSpecdama = {
	"spec_dama", NULL, "spec_spectrum", NULL, "19xx",
	"Dama (Russian) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdamaRomInfo, SpecdamaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dame de Monsoreau, La (cs) (48K)

static struct BurnRomInfo SpecdammonlaRomDesc[] = {
	{ "Dame de Monsoreau, La (1987)(IKO & RGSoft)(cs).z80", 0x06f21, 0x1e8af009, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdammonla, Specdammonla, Spectrum)
STD_ROM_FN(Specdammonla)

struct BurnDriver BurnSpecdammonla = {
	"spec_dammonla", NULL, "spec_spectrum", NULL, "1987",
	"Dame de Monsoreau, La (cs) (48K)\0", NULL, "IKO & RGSoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdammonlaRomInfo, SpecdammonlaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Damned Forest, The (48K)

static struct BurnRomInfo SpecdamforthRomDesc[] = {
	{ "Damned Forest, The (1988)(Cult Games).z80", 0x0b058, 0x5f9cacfb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdamforth, Specdamforth, Spectrum)
STD_ROM_FN(Specdamforth)

struct BurnDriver BurnSpecdamforth = {
	"spec_damforth", NULL, "spec_spectrum", NULL, "1988",
	"Damned Forest, The (48K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdamforthRomInfo, SpecdamforthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dan Dare - Pilot of the Future (48K)

static struct BurnRomInfo SpecdandareRomDesc[] = {
	{ "Dan Dare - Pilot of the Future (1986)(Virgin Games).z80", 0x0a5ac, 0x9378e2c3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdandare, Specdandare, Spectrum)
STD_ROM_FN(Specdandare)

struct BurnDriver BurnSpecdandare = {
	"spec_dandare", NULL, "spec_spectrum", NULL, "1986",
	"Dan Dare - Pilot of the Future (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdandareRomInfo, SpecdandareRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dan Dare II - Mekon's Revenge (48K)

static struct BurnRomInfo Specdandare2RomDesc[] = {
	{ "Dan Dare II - Mekon's Revenge (1988)(Virgin Games).z80", 0x09f88, 0xcbd5a032, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdandare2, Specdandare2, Spectrum)
STD_ROM_FN(Specdandare2)

struct BurnDriver BurnSpecdandare2 = {
	"spec_dandare2", NULL, "spec_spectrum", NULL, "1988",
	"Dan Dare II - Mekon's Revenge (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdandare2RomInfo, Specdandare2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dan Dare III - The Escape (48K)

static struct BurnRomInfo Specdandare3RomDesc[] = {
	{ "Dan Dare III - The Escape (1990)(Virgin Games).z80", 0x0a6a4, 0xad0767cb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdandare3, Specdandare3, Spectrum)
STD_ROM_FN(Specdandare3)

struct BurnDriver BurnSpecdandare3 = {
	"spec_dandare3", NULL, "spec_spectrum", NULL, "1990",
	"Dan Dare III - The Escape (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdandare3RomInfo, Specdandare3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dandy (128K)

static struct BurnRomInfo SpecdandyRomDesc[] = {
	{ "Dandy (1986)(Electric Dreams Software)[128K].z80", 0x118fb, 0xdfb16b6d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdandy, Specdandy, Spectrum)
STD_ROM_FN(Specdandy)

struct BurnDriver BurnSpecdandy = {
	"spec_dandy", NULL, "spec_spec128", NULL, "1986",
	"Dandy (128K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdandyRomInfo, SpecdandyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Danger (Spanish) (48K)

static struct BurnRomInfo SpecdangeresRomDesc[] = {
	{ "Danger (1987)(Jorge Perez Barreiro)(es).z80", 0x08e9f, 0x23f99ebb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdangeres, Specdangeres, Spectrum)
STD_ROM_FN(Specdangeres)

struct BurnDriver BurnSpecdangeres = {
	"spec_dangeres", NULL, "spec_spectrum", NULL, "1987",
	"Danger (Spanish) (48K)\0", NULL, "Jorge Perez Barreiro", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdangeresRomInfo, SpecdangeresRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Danger Mouse in Double Trouble - Review (48K)

static struct BurnRomInfo SpecdamodotrrRomDesc[] = {
	{ "Danger Mouse in Double Trouble - Review (1984)(Creative Sparks).z80", 0x0251a, 0x9b70f109, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdamodotrr, Specdamodotrr, Spectrum)
STD_ROM_FN(Specdamodotrr)

struct BurnDriver BurnSpecdamodotrr = {
	"spec_damodotrr", "spec_damodotr", "spec_spectrum", NULL, "1984",
	"Danger Mouse in Double Trouble - Review (48K)\0", NULL, "Creative Sparks", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdamodotrrRomInfo, SpecdamodotrrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Danger Mouse in Double Trouble (48K)

static struct BurnRomInfo SpecdamodotrRomDesc[] = {
	{ "Danger Mouse in Double Trouble (1984)(Creative Sparks).z80", 0x0adde, 0x691c3c67, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdamodotr, Specdamodotr, Spectrum)
STD_ROM_FN(Specdamodotr)

struct BurnDriver BurnSpecdamodotr = {
	"spec_damodotr", NULL, "spec_spectrum", NULL, "1984",
	"Danger Mouse in Double Trouble (48K)\0", NULL, "Creative Sparks", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdamodotrRomInfo, SpecdamodotrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Danger Mouse in Making Whoopee! (48K)

static struct BurnRomInfo SpecdamomawhRomDesc[] = {
	{ "Danger Mouse in Making Whoopee! (1985)(Creative Sparks).z80", 0x08b54, 0xe64c8552, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdamomawh, Specdamomawh, Spectrum)
STD_ROM_FN(Specdamomawh)

struct BurnDriver BurnSpecdamomawh = {
	"spec_damomawh", NULL, "spec_spectrum", NULL, "1985",
	"Danger Mouse in Making Whoopee! (48K)\0", NULL, "Creative Sparks", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdamomawhRomInfo, SpecdamomawhRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Danger Mouse in The Black Forest Chateau - Excerpt (48K)

static struct BurnRomInfo SpecdmtbfcpeRomDesc[] = {
	{ "Danger Mouse in The Black Forest Chateau - Excerpt (1984)(Creative Sparks).z80", 0x04600, 0x25108cdb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdmtbfcpe, Specdmtbfcpe, Spectrum)
STD_ROM_FN(Specdmtbfcpe)

struct BurnDriver BurnSpecdmtbfcpe = {
	"spec_dmtbfcpe", "spec_dmtbfcp", "spec_spectrum", NULL, "1984",
	"Danger Mouse in The Black Forest Chateau - Excerpt (48K)\0", NULL, "Creative Sparks", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdmtbfcpeRomInfo, SpecdmtbfcpeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Danger Mouse in The Black Forest Chateau (Part 1 of 2) (48K)

static struct BurnRomInfo SpecdmtbfcpRomDesc[] = {
	{ "Danger Mouse in The Black Forest Chateau (1984)(Creative Sparks)(Part 1 of 2).z80", 0x0739e, 0x44e90212, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdmtbfcp, Specdmtbfcp, Spectrum)
STD_ROM_FN(Specdmtbfcp)

struct BurnDriver BurnSpecdmtbfcp = {
	"spec_dmtbfcp", NULL, "spec_spectrum", NULL, "1984",
	"Danger Mouse in The Black Forest Chateau (Part 1 of 2) (48K)\0", NULL, "Creative Sparks", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdmtbfcpRomInfo, SpecdmtbfcpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Danger Mouse in The Black Forest Chateau (Part 2 of 2) (48K)

static struct BurnRomInfo Specdmtbfcp2RomDesc[] = {
	{ "Danger Mouse in The Black Forest Chateau (1984)(Creative Sparks)(Part 2 of 2).z80", 0x086db, 0x01e3632c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdmtbfcp2, Specdmtbfcp2, Spectrum)
STD_ROM_FN(Specdmtbfcp2)

struct BurnDriver BurnSpecdmtbfcp2 = {
	"spec_dmtbfcp2", "spec_dmtbfcp", "spec_spectrum", NULL, "1984",
	"Danger Mouse in The Black Forest Chateau (Part 2 of 2) (48K)\0", NULL, "Creative Sparks", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdmtbfcp2RomInfo, Specdmtbfcp2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Danger Street (cs) (48K)

static struct BurnRomInfo SpecdangstrtRomDesc[] = {
	{ "Danger Street (1990)(Manuel Soft)(cs).z80", 0x088b4, 0x8b36b276, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdangstrt, Specdangstrt, Spectrum)
STD_ROM_FN(Specdangstrt)

struct BurnDriver BurnSpecdangstrt = {
	"spec_dangstrt", NULL, "spec_spectrum", NULL, "1990",
	"Danger Street (cs) (48K)\0", NULL, "Manuel Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdangstrtRomInfo, SpecdangstrtRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Danger! Adventurer at Work! (48K)

static struct BurnRomInfo SpecdanadvwoRomDesc[] = {
	{ "Danger! Adventurer at Work! (1991)(The Guild).z80", 0x08ab3, 0xbcf92ead, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdanadvwo, Specdanadvwo, Spectrum)
STD_ROM_FN(Specdanadvwo)

struct BurnDriver BurnSpecdanadvwo = {
	"spec_danadvwo", NULL, "spec_spectrum", NULL, "1991",
	"Danger! Adventurer at Work! (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdanadvwoRomInfo, SpecdanadvwoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Darius (48K)

static struct BurnRomInfo SpecdariusRomDesc[] = {
	{ "Darius (1990)(The Edge Software)[t].z80", 0x0777d, 0x9f6c19d6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdarius, Specdarius, Spectrum)
STD_ROM_FN(Specdarius)

struct BurnDriver BurnSpecdarius = {
	"spec_darius", NULL, "spec_spectrum", NULL, "1990",
	"Darius (48K)\0", NULL, "The Edge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdariusRomInfo, SpecdariusRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dark Empire (48K)

static struct BurnRomInfo SpecdarkempiRomDesc[] = {
	{ "Dark Empire (1987)(MC Lothlorien).z80", 0x06827, 0xf9d0e176, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdarkempi, Specdarkempi, Spectrum)
STD_ROM_FN(Specdarkempi)

struct BurnDriver BurnSpecdarkempi = {
	"spec_darkempi", NULL, "spec_spectrum", NULL, "1987",
	"Dark Empire (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdarkempiRomInfo, SpecdarkempiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dark Fusion (48K)

static struct BurnRomInfo SpecdarkfusnRomDesc[] = {
	{ "Dark Fusion (1988)(Gremlin Graphics Software).z80", 0x0a255, 0xdad4d1b7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdarkfusn, Specdarkfusn, Spectrum)
STD_ROM_FN(Specdarkfusn)

struct BurnDriver BurnSpecdarkfusn = {
	"spec_darkfusn", NULL, "spec_spectrum", NULL, "1988",
	"Dark Fusion (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdarkfusnRomInfo, SpecdarkfusnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dark Gladiator, The (128K)

static struct BurnRomInfo SpecdarkgltrRomDesc[] = {
	{ "Dark Gladiator, The (1993)(FSF Adventures)[128K].z80", 0x10c76, 0xc87efe0b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdarkgltr, Specdarkgltr, Spectrum)
STD_ROM_FN(Specdarkgltr)

struct BurnDriver BurnSpecdarkgltr = {
	"spec_darkgltr", NULL, "spec_spec128", NULL, "1993",
	"Dark Gladiator, The (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdarkgltrRomInfo, SpecdarkgltrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dark Room Simulator (48K)

static struct BurnRomInfo SpecdrkrsimRomDesc[] = {
	{ "Dark Room Simulator (1996)(CSSCGC).z80", 0x01408, 0xedf9d78b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdrkrsim, Specdrkrsim, Spectrum)
STD_ROM_FN(Specdrkrsim)

struct BurnDriver BurnSpecdrkrsim = {
	"spec_drkrsim", NULL, "spec_spectrum", NULL, "1996",
	"Dark Room Simulator (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdrkrsimRomInfo, SpecdrkrsimRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dark Sceptre (48K)

static struct BurnRomInfo SpecdarkscepRomDesc[] = {
	{ "Dark Sceptre (1987)(Firebird Software).z80", 0x0a79b, 0xb12f9fc4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdarkscep, Specdarkscep, Spectrum)
STD_ROM_FN(Specdarkscep)

struct BurnDriver BurnSpecdarkscep = {
	"spec_darkscep", NULL, "spec_spectrum", NULL, "1987",
	"Dark Sceptre (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdarkscepRomInfo, SpecdarkscepRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dark Side (48K)

static struct BurnRomInfo SpecdarksideRomDesc[] = {
	{ "Dark Side (1988)(Incentive Software).z80", 0x096ea, 0xcea41256, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdarkside, Specdarkside, Spectrum)
STD_ROM_FN(Specdarkside)

struct BurnDriver BurnSpecdarkside = {
	"spec_darkside", NULL, "spec_spectrum", NULL, "1988",
	"Dark Side (48K)\0", NULL, "Incentive Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdarksideRomInfo, SpecdarksideRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dark Staff (48K)

static struct BurnRomInfo SpecdarkstafRomDesc[] = {
	{ "Dark Staff (1991)(F. Oliver).z80", 0x0abd9, 0x01cb32b9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdarkstaf, Specdarkstaf, Spectrum)
STD_ROM_FN(Specdarkstaf)

struct BurnDriver BurnSpecdarkstaf = {
	"spec_darkstaf", NULL, "spec_spectrum", NULL, "1991",
	"Dark Staff (48K)\0", NULL, "F. Oliver", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdarkstafRomInfo, SpecdarkstafRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dark Star (48K)

static struct BurnRomInfo SpecdarkstarRomDesc[] = {
	{ "Dark Star (1985)(Design Design Software).z80", 0x09c0a, 0x84fa9a76, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdarkstar, Specdarkstar, Spectrum)
STD_ROM_FN(Specdarkstar)

struct BurnDriver BurnSpecdarkstar = {
	"spec_darkstar", NULL, "spec_spectrum", NULL, "1985",
	"Dark Star (48K)\0", NULL, "Design Design Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdarkstarRomInfo, SpecdarkstarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dark Strengths - Intro (cs) (48K)

static struct BurnRomInfo SpecdarkstrgRomDesc[] = {
	{ "Dark Strengths - Intro (1990)(Omikron Software)(cs).z80", 0x0541b, 0xeb38d6dd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdarkstrg, Specdarkstrg, Spectrum)
STD_ROM_FN(Specdarkstrg)

struct BurnDriver BurnSpecdarkstrg = {
	"spec_darkstrg", NULL, "spec_spectrum", NULL, "1990",
	"Dark Strengths - Intro (cs) (48K)\0", NULL, "Omikron Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdarkstrgRomInfo, SpecdarkstrgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dark Strengths (cs) (48K)

static struct BurnRomInfo SpecdarkstrggRomDesc[] = {
	{ "Dark Strengths (1990)(Omikron Software)(cs).z80", 0x087b2, 0x44d43ae7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdarkstrgg, Specdarkstrgg, Spectrum)
STD_ROM_FN(Specdarkstrgg)

struct BurnDriver BurnSpecdarkstrgg = {
	"spec_darkstrgg", "spec_darkstrg", "spec_spectrum", NULL, "1990",
	"Dark Strengths (cs) (48K)\0", NULL, "Omikron Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdarkstrggRomInfo, SpecdarkstrggRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dark Tower, The (48K)

static struct BurnRomInfo SpecdarktwrRomDesc[] = {
	{ "Dark Tower, The (1992)(River Software).z80", 0x0941e, 0x6a058549, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdarktwr, Specdarktwr, Spectrum)
STD_ROM_FN(Specdarktwr)

struct BurnDriver BurnSpecdarktwr = {
	"spec_darktwr", NULL, "spec_spectrum", NULL, "1992",
	"Dark Tower, The (48K)\0", NULL, "River Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdarktwrRomInfo, SpecdarktwrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dark, The (48K)

static struct BurnRomInfo SpecdarkRomDesc[] = {
	{ "Dark, The (1994)(Hazis Sergey).z80", 0x0aaad, 0x37c74713, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdark, Specdark, Spectrum)
STD_ROM_FN(Specdark)

struct BurnDriver BurnSpecdark = {
	"spec_dark", NULL, "spec_spectrum", NULL, "1994",
	"Dark, The (48K)\0", NULL, "Hazis Sergey", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdarkRomInfo, SpecdarkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Darkest Road (48K)

static struct BurnRomInfo SpecdarkroadRomDesc[] = {
	{ "Darkest Road (1991)(Zenobi Software).z80", 0x09522, 0xd8c656e3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdarkroad, Specdarkroad, Spectrum)
STD_ROM_FN(Specdarkroad)

struct BurnDriver BurnSpecdarkroad = {
	"spec_darkroad", NULL, "spec_spectrum", NULL, "1991",
	"Darkest Road (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdarkroadRomInfo, SpecdarkroadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Darkest Road II - 'Twas a Time of Dread (48K)

static struct BurnRomInfo Specdrkroad2RomDesc[] = {
	{ "Darkest Road II - 'Twas a Time of Dread (1991)(Zenobi Software).z80", 0x0904c, 0x9d27afca, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdrkroad2, Specdrkroad2, Spectrum)
STD_ROM_FN(Specdrkroad2)

struct BurnDriver BurnSpecdrkroad2 = {
	"spec_drkroad2", NULL, "spec_spectrum", NULL, "1991",
	"Darkest Road II - 'Twas a Time of Dread (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdrkroad2RomInfo, Specdrkroad2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Darkest Road III - The Unborn One (48K)

static struct BurnRomInfo Specdrkroad3RomDesc[] = {
	{ "Darkest Road III - The Unborn One (1991)(Zenobi Software).z80", 0x0927f, 0x8bb12c61, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdrkroad3, Specdrkroad3, Spectrum)
STD_ROM_FN(Specdrkroad3)

struct BurnDriver BurnSpecdrkroad3 = {
	"spec_drkroad3", NULL, "spec_spectrum", NULL, "1991",
	"Darkest Road III - The Unborn One (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdrkroad3RomInfo, Specdrkroad3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Darkman (128K)

static struct BurnRomInfo SpecdarkmanRomDesc[] = {
	{ "Darkman (1991)(Ocean)[128K].z80", 0x141b0, 0xfeb493e1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdarkman, Specdarkman, Spectrum)
STD_ROM_FN(Specdarkman)

struct BurnDriver BurnSpecdarkman = {
	"spec_darkman", NULL, "spec_spec128", NULL, "1991",
	"Darkman (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdarkmanRomInfo, SpecdarkmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dartz (48K)

static struct BurnRomInfo SpecdartzRomDesc[] = {
	{ "Dartz (1984)(Automata UK).z80", 0x0865d, 0x91b32737, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdartz, Specdartz, Spectrum)
STD_ROM_FN(Specdartz)

struct BurnDriver BurnSpecdartz = {
	"spec_dartz", NULL, "spec_spectrum", NULL, "1984",
	"Dartz (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdartzRomInfo, SpecdartzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Datador (da) (48K)

static struct BurnRomInfo SpecdatadorRomDesc[] = {
	{ "Datador (1983)(ZX Data)(da)[aka Automonopoli].z80", 0x08efb, 0x0928ae5b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdatador, Specdatador, Spectrum)
STD_ROM_FN(Specdatador)

struct BurnDriver BurnSpecdatador = {
	"spec_datador", NULL, "spec_spectrum", NULL, "1983",
	"Datador (da) (48K)\0", NULL, "ZX Data", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdatadorRomInfo, SpecdatadorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Davy Jones Locker (48K)

static struct BurnRomInfo SpecdavjonloRomDesc[] = {
	{ "Davy Jones Locker (1987)(River Software).z80", 0x096d3, 0x533fc9dd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdavjonlo, Specdavjonlo, Spectrum)
STD_ROM_FN(Specdavjonlo)

struct BurnDriver BurnSpecdavjonlo = {
	"spec_davjonlo", NULL, "spec_spectrum", NULL, "1987",
	"Davy Jones Locker (48K)\0", NULL, "River Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdavjonloRomInfo, SpecdavjonloRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dawnssley (48K)

static struct BurnRomInfo SpecdawnssleRomDesc[] = {
	{ "Dawnssley (1987)(Top Ten Software).z80", 0x04c4e, 0xa0fef3d4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdawnssle, Specdawnssle, Spectrum)
STD_ROM_FN(Specdawnssle)

struct BurnDriver BurnSpecdawnssle = {
	"spec_dawnssle", NULL, "spec_spectrum", NULL, "1987",
	"Dawnssley (48K)\0", NULL, "Top Ten Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdawnssleRomInfo, SpecdawnssleRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Daylight Robbery (48K)

static struct BurnRomInfo SpecdaylrobbRomDesc[] = {
	{ "Daylight Robbery (2002)(Naffsoft).z80", 0x022f1, 0x2217bc60, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdaylrobb, Specdaylrobb, Spectrum)
STD_ROM_FN(Specdaylrobb)

struct BurnDriver BurnSpecdaylrobb = {
	"spec_daylrobb", NULL, "spec_spectrum", NULL, "2002",
	"Daylight Robbery (48K)\0", NULL, "Naffsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdaylrobbRomInfo, SpecdaylrobbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Days of Thunder (128K)

static struct BurnRomInfo SpecdaysthunRomDesc[] = {
	{ "Days of Thunder (1990)(Mindscape International)[128K].z80", 0x13306, 0x383e0717, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdaysthun, Specdaysthun, Spectrum)
STD_ROM_FN(Specdaysthun)

struct BurnDriver BurnSpecdaysthun = {
	"spec_daysthun", NULL, "spec_spec128", NULL, "1990",
	"Days of Thunder (128K)\0", NULL, "Mindscape International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdaysthunRomInfo, SpecdaysthunRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// D-Day (Part 1 of 4) (48K)

static struct BurnRomInfo SpecddaypartRomDesc[] = {
	{ "D-Day (1984)(Games Workshop)(Part 1 of 4).z80", 0x0576a, 0x84d7fedc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specddaypart, Specddaypart, Spectrum)
STD_ROM_FN(Specddaypart)

struct BurnDriver BurnSpecddaypart = {
	"spec_ddaypart", NULL, "spec_spectrum", NULL, "1984",
	"D-Day (Part 1 of 4) (48K)\0", NULL, "Games Workshop", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecddaypartRomInfo, SpecddaypartRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// D-Day (Part 2 of 4) (48K)

static struct BurnRomInfo Specddaypart2RomDesc[] = {
	{ "D-Day (1984)(Games Workshop)(Part 2 of 4).z80", 0x057bc, 0x69b28e0d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specddaypart2, Specddaypart2, Spectrum)
STD_ROM_FN(Specddaypart2)

struct BurnDriver BurnSpecddaypart2 = {
	"spec_ddaypart2", "spec_ddaypart", "spec_spectrum", NULL, "1984",
	"D-Day (Part 2 of 4) (48K)\0", NULL, "Games Workshop", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specddaypart2RomInfo, Specddaypart2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// D-Day (Part 3 of 4) (48K)

static struct BurnRomInfo Specddaypart3RomDesc[] = {
	{ "D-Day (1984)(Games Workshop)(Part 3 of 4).z80", 0x05795, 0x0108ace1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specddaypart3, Specddaypart3, Spectrum)
STD_ROM_FN(Specddaypart3)

struct BurnDriver BurnSpecddaypart3 = {
	"spec_ddaypart3", "spec_ddaypart", "spec_spectrum", NULL, "1984",
	"D-Day (Part 3 of 4) (48K)\0", NULL, "Games Workshop", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specddaypart3RomInfo, Specddaypart3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// D-Day (Part 4 of 4) (48K)

static struct BurnRomInfo Specddaypart4RomDesc[] = {
	{ "D-Day (1984)(Games Workshop)(Part 4 of 4).z80", 0x057b9, 0x501a22fd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specddaypart4, Specddaypart4, Spectrum)
STD_ROM_FN(Specddaypart4)

struct BurnDriver BurnSpecddaypart4 = {
	"spec_ddaypart4", "spec_ddaypart", "spec_spectrum", NULL, "1984",
	"D-Day (Part 4 of 4) (48K)\0", NULL, "Games Workshop", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specddaypart4RomInfo, Specddaypart4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dea Tenebrarum (Spanish) (48K)

static struct BurnRomInfo SpecdeatenebRomDesc[] = {
	{ "Dea Tenebrarum (1988)(System 4)(es).z80", 0x08df4, 0xfd3962f5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeateneb, Specdeateneb, Spectrum)
STD_ROM_FN(Specdeateneb)

struct BurnDriver BurnSpecdeateneb = {
	"spec_deateneb", NULL, "spec_spectrum", NULL, "1988",
	"Dea Tenebrarum (Spanish) (48K)\0", NULL, "System 4", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeatenebRomInfo, SpecdeatenebRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Deactivators (48K)

static struct BurnRomInfo Specdeactiva_48RomDesc[] = {
	{ "Deactivators (1986)(Reaktor).z80", 0x08edd, 0xb57a5e10, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeactiva_48, Specdeactiva_48, Spectrum)
STD_ROM_FN(Specdeactiva_48)

struct BurnDriver BurnSpecdeactiva_48 = {
	"spec_deactiva_48", "spec_deactiva", "spec_spectrum", NULL, "1986",
	"Deactivators (48K)\0", NULL, "Reaktor", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdeactiva_48RomInfo, Specdeactiva_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Deactivators (128K)

static struct BurnRomInfo SpecdeactivaRomDesc[] = {
	{ "Deactivators (1986)(Reaktor)[128K].z80", 0x0c10d, 0x045dedee, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeactiva, Specdeactiva, Spectrum)
STD_ROM_FN(Specdeactiva)

struct BurnDriver BurnSpecdeactiva = {
	"spec_deactiva", NULL, "spec_spec128", NULL, "1986",
	"Deactivators (128K)\0", NULL, "Reaktor", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeactivaRomInfo, SpecdeactivaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dead or Alive (48K)

static struct BurnRomInfo SpecdeadalivRomDesc[] = {
	{ "Dead or Alive (1987)(Alternative Software).z80", 0x08201, 0xa9d30e5e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeadaliv, Specdeadaliv, Spectrum)
STD_ROM_FN(Specdeadaliv)

struct BurnDriver BurnSpecdeadaliv = {
	"spec_deadaliv", NULL, "spec_spectrum", NULL, "1987",
	"Dead or Alive (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeadalivRomInfo, SpecdeadalivRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dead Ringer (48K)

static struct BurnRomInfo SpecdeadringRomDesc[] = {
	{ "Dead Ringer (1987)(Reaktor).z80", 0x0675a, 0x72ab33eb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeadring, Specdeadring, Spectrum)
STD_ROM_FN(Specdeadring)

struct BurnDriver BurnSpecdeadring = {
	"spec_deadring", NULL, "spec_spectrum", NULL, "1987",
	"Dead Ringer (48K)\0", NULL, "Reaktor", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeadringRomInfo, SpecdeadringRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Deadenders (48K)

static struct BurnRomInfo SpecdeadendeRomDesc[] = {
	{ "Deadenders (1989)(Top Ten Software).z80", 0x09cc6, 0xeeb07b78, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeadende, Specdeadende, Spectrum)
STD_ROM_FN(Specdeadende)

struct BurnDriver BurnSpecdeadende = {
	"spec_deadende", NULL, "spec_spectrum", NULL, "1989",
	"Deadenders (48K)\0", NULL, "Top Ten Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeadendeRomInfo, SpecdeadendeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Deadly Evil (48K)

static struct BurnRomInfo SpecdeadevilRomDesc[] = {
	{ "Deadly Evil (1990)(Players Premier Software).z80", 0x085f3, 0x10a119f2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeadevil, Specdeadevil, Spectrum)
STD_ROM_FN(Specdeadevil)

struct BurnDriver BurnSpecdeadevil = {
	"spec_deadevil", NULL, "spec_spectrum", NULL, "1990",
	"Deadly Evil (48K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeadevilRomInfo, SpecdeadevilRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Death Before Dishonour (48K)

static struct BurnRomInfo SpecdeabefdiRomDesc[] = {
	{ "Death Before Dishonour (1987)(Alternative Software).z80", 0x05369, 0x588f8e3b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeabefdi, Specdeabefdi, Spectrum)
STD_ROM_FN(Specdeabefdi)

struct BurnDriver BurnSpecdeabefdi = {
	"spec_deabefdi", NULL, "spec_spectrum", NULL, "1987",
	"Death Before Dishonour (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeabefdiRomInfo, SpecdeabefdiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Death Chess 5000 (48K)

static struct BurnRomInfo SpecdeatchesRomDesc[] = {
	{ "Death Chess 5000 (1984)(Artic Computing).z80", 0x07e0c, 0x78e18735, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeatches, Specdeatches, Spectrum)
STD_ROM_FN(Specdeatches)

struct BurnDriver BurnSpecdeatches = {
	"spec_deatches", NULL, "spec_spectrum", NULL, "1984",
	"Death Chess 5000 (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeatchesRomInfo, SpecdeatchesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Death Cruiser (48K)

static struct BurnRomInfo SpecdeatcruiRomDesc[] = {
	{ "Death Cruiser (1983)(Noble House Software).z80", 0x067ad, 0xb04e4e13, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeatcrui, Specdeatcrui, Spectrum)
STD_ROM_FN(Specdeatcrui)

struct BurnDriver BurnSpecdeatcrui = {
	"spec_deatcrui", NULL, "spec_spectrum", NULL, "1983",
	"Death Cruiser (48K)\0", NULL, "Noble House Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeatcruiRomInfo, SpecdeatcruiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Death in Russia 1941 (48K)

static struct BurnRomInfo SpecdeatrussRomDesc[] = {
	{ "Death in Russia 1941 (1986)(MC Lothlorien).z80", 0x06ad3, 0x2121d47d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeatruss, Specdeatruss, Spectrum)
STD_ROM_FN(Specdeatruss)

struct BurnDriver BurnSpecdeatruss = {
	"spec_deatruss", NULL, "spec_spectrum", NULL, "1986",
	"Death in Russia 1941 (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeatrussRomInfo, SpecdeatrussRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Death in the Snow 1812 (48K)

static struct BurnRomInfo SpecdeatsnowRomDesc[] = {
	{ "Death in the Snow 1812 (1986)(MC Lothlorien).z80", 0x08a14, 0x31eb76df, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeatsnow, Specdeatsnow, Spectrum)
STD_ROM_FN(Specdeatsnow)

struct BurnDriver BurnSpecdeatsnow = {
	"spec_deatsnow", NULL, "spec_spectrum", NULL, "1986",
	"Death in the Snow 1812 (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeatsnowRomInfo, SpecdeatsnowRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Death or Glory (48K)

static struct BurnRomInfo SpecdeatglorRomDesc[] = {
	{ "Death or Glory (1987)(CRL Group).z80", 0x08c6a, 0x52430147, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeatglor, Specdeatglor, Spectrum)
STD_ROM_FN(Specdeatglor)

struct BurnDriver BurnSpecdeatglor = {
	"spec_deatglor", NULL, "spec_spectrum", NULL, "1987",
	"Death or Glory (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeatglorRomInfo, SpecdeatglorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Death Stalker (48K)

static struct BurnRomInfo Specdthstlk_48RomDesc[] = {
	{ "Death Stalker (1988)(Codemasters).z80", 0x094a8, 0x39b45931, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdthstlk_48, Specdthstlk_48, Spectrum)
STD_ROM_FN(Specdthstlk_48)

struct BurnDriver BurnSpecdthstlk_48 = {
	"spec_dthstlk_48", "spec_dthstlk", "spec_spectrum", NULL, "1988",
	"Death Stalker (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdthstlk_48RomInfo, Specdthstlk_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Death Stalker (128K)

static struct BurnRomInfo SpecdthstlkRomDesc[] = {
	{ "Death Stalker (1988)(Codemasters)[128K].z80", 0x0b7cf, 0x5dc6129e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdthstlk, Specdthstlk, Spectrum)
STD_ROM_FN(Specdthstlk)

struct BurnDriver BurnSpecdthstlk = {
	"spec_dthstlk", NULL, "spec_spec128", NULL, "1988",
	"Death Stalker (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdthstlkRomInfo, SpecdthstlkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Death Star (48K)

static struct BurnRomInfo SpecdeatstarRomDesc[] = {
	{ "Death Star (1984)(Rabbit Software).z80", 0x032f3, 0xa687ad90, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeatstar, Specdeatstar, Spectrum)
STD_ROM_FN(Specdeatstar)

struct BurnDriver BurnSpecdeatstar = {
	"spec_deatstar", NULL, "spec_spectrum", NULL, "1984",
	"Death Star (48K)\0", NULL, "Rabbit Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeatstarRomInfo, SpecdeatstarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Death Star Interceptor (48K)

static struct BurnRomInfo SpecdeastainRomDesc[] = {
	{ "Death Star Interceptor (1985)(System 3 Software).z80", 0x0a1e3, 0xc3bbc161, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeastain, Specdeastain, Spectrum)
STD_ROM_FN(Specdeastain)

struct BurnDriver BurnSpecdeastain = {
	"spec_deastain", NULL, "spec_spectrum", NULL, "1985",
	"Death Star Interceptor (48K)\0", NULL, "System 3 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeastainRomInfo, SpecdeastainRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Death Trap (48K)

static struct BurnRomInfo SpecdeattrapRomDesc[] = {
	{ "Death Trap (1984)(Video Showcase).z80", 0x009bb, 0x3a98bbe6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeattrap, Specdeattrap, Spectrum)
STD_ROM_FN(Specdeattrap)

struct BurnDriver BurnSpecdeattrap = {
	"spec_deattrap", NULL, "spec_spectrum", NULL, "1984",
	"Death Trap (48K)\0", NULL, "Video Showcase", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeattrapRomInfo, SpecdeattrapRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Death Wake (48K)

static struct BurnRomInfo SpecdeatwakeRomDesc[] = {
	{ "Death Wake (1985)(Quicksilva).z80", 0x08fe0, 0x0926b536, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeatwake, Specdeatwake, Spectrum)
STD_ROM_FN(Specdeatwake)

struct BurnDriver BurnSpecdeatwake = {
	"spec_deatwake", NULL, "spec_spectrum", NULL, "1985",
	"Death Wake (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeatwakeRomInfo, SpecdeatwakeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Death Wish 3 (48K)

static struct BurnRomInfo Specdthwsh3_48RomDesc[] = {
	{ "Death Wish 3 (1987)(Gremlin Graphics Software).z80", 0x09738, 0xe797754c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdthwsh3_48, Specdthwsh3_48, Spectrum)
STD_ROM_FN(Specdthwsh3_48)

struct BurnDriver BurnSpecdthwsh3_48 = {
	"spec_dthwsh3_48", "spec_dthwsh3", "spec_spectrum", NULL, "1987",
	"Death Wish 3 (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdthwsh3_48RomInfo, Specdthwsh3_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Death Wish 3 (128K)

static struct BurnRomInfo Specdthwsh3RomDesc[] = {
	{ "Death Wish 3 (1987)(Gremlin Graphics Software)[128K].z80", 0x0b142, 0x322a1197, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdthwsh3, Specdthwsh3, Spectrum)
STD_ROM_FN(Specdthwsh3)

struct BurnDriver BurnSpecdthwsh3 = {
	"spec_dthwsh3", NULL, "spec_spec128", NULL, "1987",
	"Death Wish 3 (128K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdthwsh3RomInfo, Specdthwsh3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Deathball 2000 (48K)

static struct BurnRomInfo Specdbal2000RomDesc[] = {
	{ "Deathball 2000 (1986)(Alpha-Omega Software).z80", 0x09be2, 0xd04bf602, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdbal2000, Specdbal2000, Spectrum)
STD_ROM_FN(Specdbal2000)

struct BurnDriver BurnSpecdbal2000 = {
	"spec_dbal2000", NULL, "spec_spectrum", NULL, "1986",
	"Deathball 2000 (48K)\0", NULL, "Alpha-Omega Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdbal2000RomInfo, Specdbal2000RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Deathchase (48K)

static struct BurnRomInfo SpecdeathchaRomDesc[] = {
	{ "Deathchase (1983)(Micromega).z80", 0x03f09, 0x808a9765, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeathcha, Specdeathcha, Spectrum)
STD_ROM_FN(Specdeathcha)

struct BurnDriver BurnSpecdeathcha = {
	"spec_deathcha", NULL, "spec_spectrum", NULL, "1983",
	"Deathchase (48K)\0", NULL, "Micromega", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeathchaRomInfo, SpecdeathchaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Death's Head Hole (48K)

static struct BurnRomInfo SpecdeaheahoRomDesc[] = {
	{ "Death's Head Hole (1983)(Peaksoft).z80", 0x07b3a, 0x10a1d977, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeaheaho, Specdeaheaho, Spectrum)
STD_ROM_FN(Specdeaheaho)

struct BurnDriver BurnSpecdeaheaho = {
	"spec_deaheaho", NULL, "spec_spectrum", NULL, "1983",
	"Death's Head Hole (48K)\0", NULL, "Peaksoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeaheahoRomInfo, SpecdeaheahoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Deathscape (48K)

static struct BurnRomInfo SpecdeathscaRomDesc[] = {
	{ "Deathscape (1987)(Starlight Software).z80", 0x098d3, 0x029d68dc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeathsca, Specdeathsca, Spectrum)
STD_ROM_FN(Specdeathsca)

struct BurnDriver BurnSpecdeathsca = {
	"spec_deathsca", NULL, "spec_spectrum", NULL, "1987",
	"Deathscape (48K)\0", NULL, "Starlight Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeathscaRomInfo, SpecdeathscaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Decor Wreckers (48K)

static struct BurnRomInfo SpecdecowrecRomDesc[] = {
	{ "Decor Wreckers (1984)(Scorpio Software).z80", 0x042ea, 0x7f2d727f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdecowrec, Specdecowrec, Spectrum)
STD_ROM_FN(Specdecowrec)

struct BurnDriver BurnSpecdecowrec = {
	"spec_decowrec", NULL, "spec_spectrum", NULL, "1984",
	"Decor Wreckers (48K)\0", NULL, "Scorpio Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdecowrecRomInfo, SpecdecowrecRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Deek's Deeds (48K)

static struct BurnRomInfo SpecdeekdeedRomDesc[] = {
	{ "Deek's Deeds (1990)(Bass-On).z80", 0x08dd8, 0x28ff55e6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeekdeed, Specdeekdeed, Spectrum)
STD_ROM_FN(Specdeekdeed)

struct BurnDriver BurnSpecdeekdeed = {
	"spec_deekdeed", NULL, "spec_spectrum", NULL, "1990",
	"Deek's Deeds (48K)\0", NULL, "Bass-On", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeekdeedRomInfo, SpecdeekdeedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Deep Strike (48K)

static struct BurnRomInfo SpecdeepstriRomDesc[] = {
	{ "Deep Strike (1986)(Durell Software).z80", 0x08c6f, 0x348ea0c0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeepstri, Specdeepstri, Spectrum)
STD_ROM_FN(Specdeepstri)

struct BurnDriver BurnSpecdeepstri = {
	"spec_deepstri", NULL, "spec_spectrum", NULL, "1986",
	"Deep Strike (48K)\0", NULL, "Durell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeepstriRomInfo, SpecdeepstriRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Deep, The (48K)

static struct BurnRomInfo SpecdeeptheRomDesc[] = {
	{ "Deep, The (1988)(U.S. Gold).z80", 0x07dac, 0x62582e57, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeepthe, Specdeepthe, Spectrum)
STD_ROM_FN(Specdeepthe)

struct BurnDriver BurnSpecdeepthe = {
	"spec_deepthe", NULL, "spec_spectrum", NULL, "1988",
	"Deep, The (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeeptheRomInfo, SpecdeeptheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Defcom (48K)

static struct BurnRomInfo SpecdefcomRomDesc[] = {
	{ "Defcom (1986)(Quicksilva).z80", 0x096ab, 0x2c725cd1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdefcom, Specdefcom, Spectrum)
STD_ROM_FN(Specdefcom)

struct BurnDriver BurnSpecdefcom = {
	"spec_defcom", NULL, "spec_spectrum", NULL, "1986",
	"Defcom (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdefcomRomInfo, SpecdefcomRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Defenda (48K)

static struct BurnRomInfo SpecdefendaRomDesc[] = {
	{ "Defenda (1984)(Interstella Software).z80", 0x03e56, 0x111ee5ce, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdefenda, Specdefenda, Spectrum)
STD_ROM_FN(Specdefenda)

struct BurnDriver BurnSpecdefenda = {
	"spec_defenda", NULL, "spec_spectrum", NULL, "1984",
	"Defenda (48K)\0", NULL, "Interstella Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdefendaRomInfo, SpecdefendaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Defendar (48K)

static struct BurnRomInfo SpecdefendarRomDesc[] = {
	{ "Defendar (1984)(Mikro-Gen).z80", 0x03147, 0x230b5dea, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdefendar, Specdefendar, Spectrum)
STD_ROM_FN(Specdefendar)

struct BurnDriver BurnSpecdefendar = {
	"spec_defendar", NULL, "spec_spectrum", NULL, "1984",
	"Defendar (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdefendarRomInfo, SpecdefendarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Defender (48K)

static struct BurnRomInfo SpecdefenderRomDesc[] = {
	{ "Defender (1982)(Blaby Computer Games).z80", 0x02f73, 0xff71c4ac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdefender, Specdefender, Spectrum)
STD_ROM_FN(Specdefender)

struct BurnDriver BurnSpecdefender = {
	"spec_defender", NULL, "spec_spectrum", NULL, "1982",
	"Defender (48K)\0", NULL, "Blaby Computer Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdefenderRomInfo, SpecdefenderRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Defender of the Crown (48K)

static struct BurnRomInfo Specdefecrow_48RomDesc[] = {
	{ "Defender of the Crown (1989)(The Cat).z80", 0x0b9fe, 0xde6dfefa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdefecrow_48, Specdefecrow_48, Spectrum)
STD_ROM_FN(Specdefecrow_48)

struct BurnDriver BurnSpecdefecrow_48 = {
	"spec_defecrow_48", "spec_defecrow", "spec_spectrum", NULL, "1989",
	"Defender of the Crown (48K)\0", NULL, "The Cat", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdefecrow_48RomInfo, Specdefecrow_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Defender of the Crown (128K)

static struct BurnRomInfo SpecdefecrowRomDesc[] = {
	{ "Defender of the Crown (1989)(The Cat)[128K].z80", 0x09efd, 0x7ef70ee3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdefecrow, Specdefecrow, Spectrum)
STD_ROM_FN(Specdefecrow)

struct BurnDriver BurnSpecdefecrow = {
	"spec_defecrow", NULL, "spec_spec128", NULL, "1989",
	"Defender of the Crown (128K)\0", NULL, "The Cat", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdefecrowRomInfo, SpecdefecrowRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Defenders of the Earth (48K)

static struct BurnRomInfo Specdefearth_48RomDesc[] = {
	{ "Defenders of the Earth (1990)(Enigma Variations).z80", 0x09c8a, 0x10445d23, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdefearth_48, Specdefearth_48, Spectrum)
STD_ROM_FN(Specdefearth_48)

struct BurnDriver BurnSpecdefearth_48 = {
	"spec_defearth_48", "spec_defearth", "spec_spectrum", NULL, "1990",
	"Defenders of the Earth (48K)\0", NULL, "Enigma Variations", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdefearth_48RomInfo, Specdefearth_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Defenders of the Earth (128K)

static struct BurnRomInfo SpecdefearthRomDesc[] = {
	{ "Defenders of the Earth (1990)(Enigma Variations)[128K].z80", 0x169c8, 0xd0283da9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdefearth, Specdefearth, Spectrum)
STD_ROM_FN(Specdefearth)

struct BurnDriver BurnSpecdefearth = {
	"spec_defearth", NULL, "spec_spec128", NULL, "1990",
	"Defenders of the Earth (128K)\0", NULL, "Enigma Variations", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdefearthRomInfo, SpecdefearthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Deflektor (48K)

static struct BurnRomInfo SpecdeflektoRomDesc[] = {
	{ "Deflektor (1987)(Gremlin Graphics Software).z80", 0x09282, 0xa5a4fd2f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeflekto, Specdeflekto, Spectrum)
STD_ROM_FN(Specdeflekto)

struct BurnDriver BurnSpecdeflekto = {
	"spec_deflekto", NULL, "spec_spectrum", NULL, "1987",
	"Deflektor (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeflektoRomInfo, SpecdeflektoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Defusion (K-Tel Productions) (48K)

static struct BurnRomInfo SpecdefusnkRomDesc[] = {
	{ "Defusion (1984)(K-Tel Productions).z80", 0x05927, 0x5f93dffc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdefusnk, Specdefusnk, Spectrum)
STD_ROM_FN(Specdefusnk)

struct BurnDriver BurnSpecdefusnk = {
	"spec_defusnk", NULL, "spec_spectrum", NULL, "1984",
	"Defusion (K-Tel Productions) (48K)\0", NULL, "K-Tel Productions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdefusnkRomInfo, SpecdefusnkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Defusion (Wrench) (48K)

static struct BurnRomInfo SpecdefusnwRomDesc[] = {
	{ "Defusion (1986)(Wrench).z80", 0x0292c, 0x1a5bd912, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdefusnw, Specdefusnw, Spectrum)
STD_ROM_FN(Specdefusnw)

struct BurnDriver BurnSpecdefusnw = {
	"spec_defusnw", NULL, "spec_spectrum", NULL, "1986",
	"Defusion (Wrench) (48K)\0", NULL, "Wrench", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdefusnwRomInfo, SpecdefusnwRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Delaila (sv) (48K)

static struct BurnRomInfo SpecdelailasRomDesc[] = {
	{ "Delaila (1985)(Software of Sweden)(sv).z80", 0x099a0, 0x366913c0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdelailas, Specdelailas, Spectrum)
STD_ROM_FN(Specdelailas)

struct BurnDriver BurnSpecdelailas = {
	"spec_delailas", NULL, "spec_spectrum", NULL, "1985",
	"Delaila (sv) (48K)\0", NULL, "Software of Sweden", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdelailasRomInfo, SpecdelailasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Delfox (Spanish) (48K)

static struct BurnRomInfo SpecdelfoxesRomDesc[] = {
	{ "Delfox (1988)(Dinamic Software)(es).z80", 0x0a230, 0xc8b8fa9f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdelfoxes, Specdelfoxes, Spectrum)
STD_ROM_FN(Specdelfoxes)

struct BurnDriver BurnSpecdelfoxes = {
	"spec_delfoxes", NULL, "spec_spectrum", NULL, "1988",
	"Delfox (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdelfoxesRomInfo, SpecdelfoxesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Deliverer 2 - Escape to Eskelos (48K)

static struct BurnRomInfo SpecdelescesRomDesc[] = {
	{ "Deliverer 2 - Escape to Eskelos (1987)(Brian Parks).z80", 0x098b8, 0x9630b2b9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdelesces, Specdelesces, Spectrum)
STD_ROM_FN(Specdelesces)

struct BurnDriver BurnSpecdelesces = {
	"spec_delesces", NULL, "spec_spectrum", NULL, "1987",
	"Deliverer 2 - Escape to Eskelos (48K)\0", NULL, "Brian Parks", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdelescesRomInfo, SpecdelescesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Delta Charge (48K)

static struct BurnRomInfo Specdeltchar_48RomDesc[] = {
	{ "Delta Charge (1990)(Thalamus).z80", 0x09173, 0xc2f74b50, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeltchar_48, Specdeltchar_48, Spectrum)
STD_ROM_FN(Specdeltchar_48)

struct BurnDriver BurnSpecdeltchar_48 = {
	"spec_deltchar_48", "spec_deltchar", "spec_spectrum", NULL, "1990",
	"Delta Charge (48K)\0", NULL, "Thalamus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdeltchar_48RomInfo, Specdeltchar_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Delta Charge (128K)

static struct BurnRomInfo SpecdeltcharRomDesc[] = {
	{ "Delta Charge (1990)(Thalamus)[128K].z80", 0x0d4a3, 0x8cd6d47a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeltchar, Specdeltchar, Spectrum)
STD_ROM_FN(Specdeltchar)

struct BurnDriver BurnSpecdeltchar = {
	"spec_deltchar", NULL, "spec_spec128", NULL, "1990",
	"Delta Charge (128K)\0", NULL, "Thalamus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeltcharRomInfo, SpecdeltcharRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Delta Wing (48K)

static struct BurnRomInfo SpecdeltwingRomDesc[] = {
	{ "Delta Wing (1984)(Creative Sparks).z80", 0x0a538, 0x8cdf1223, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeltwing, Specdeltwing, Spectrum)
STD_ROM_FN(Specdeltwing)

struct BurnDriver BurnSpecdeltwing = {
	"spec_deltwing", NULL, "spec_spectrum", NULL, "1984",
	"Delta Wing (48K)\0", NULL, "Creative Sparks", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeltwingRomInfo, SpecdeltwingRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Demi-God (48K)

static struct BurnRomInfo SpecdemigodRomDesc[] = {
	{ "Demi-God (1989)(Softel Software).z80", 0x0a6d9, 0x3f20f894, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdemigod, Specdemigod, Spectrum)
STD_ROM_FN(Specdemigod)

struct BurnDriver BurnSpecdemigod = {
	"spec_demigod", NULL, "spec_spectrum", NULL, "1989",
	"Demi-God (48K)\0", NULL, "Softel Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdemigodRomInfo, SpecdemigodRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Demolition (German) (48K)

static struct BurnRomInfo SpecdemolitiRomDesc[] = {
	{ "Demolition (1984)(Dorling Kindersley Software)(de).z80", 0x03611, 0x1b1c6cc0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdemoliti, Specdemoliti, Spectrum)
STD_ROM_FN(Specdemoliti)

struct BurnDriver BurnSpecdemoliti = {
	"spec_demoliti", NULL, "spec_spectrum", NULL, "1984",
	"Demolition (German) (48K)\0", NULL, "Dorling Kindersley Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdemolitiRomInfo, SpecdemolitiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Demon from the Darkside (48K)

static struct BurnRomInfo SpecdemodarkRomDesc[] = {
	{ "Demon from the Darkside (1986)(Compass Software).z80", 0x0b81a, 0x33ebb490, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdemodark, Specdemodark, Spectrum)
STD_ROM_FN(Specdemodark)

struct BurnDriver BurnSpecdemodark = {
	"spec_demodark", NULL, "spec_spectrum", NULL, "1986",
	"Demon from the Darkside (48K)\0", NULL, "Compass Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdemodarkRomInfo, SpecdemodarkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Demon from the Darkside II - The Golden Mask (48K)

static struct BurnRomInfo Specdemodrk2RomDesc[] = {
	{ "Demon from the Darkside II - The Golden Mask (1987)(Compass Software).z80", 0x0a9aa, 0x2a32a234, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdemodrk2, Specdemodrk2, Spectrum)
STD_ROM_FN(Specdemodrk2)

struct BurnDriver BurnSpecdemodrk2 = {
	"spec_demodrk2", NULL, "spec_spectrum", NULL, "1987",
	"Demon from the Darkside II - The Golden Mask (48K)\0", NULL, "Compass Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdemodrk2RomInfo, Specdemodrk2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Demon from the Darkside III - The Devils Hand (48K)

static struct BurnRomInfo Specdemodrk3RomDesc[] = {
	{ "Demon from the Darkside III - The Devils Hand (1988)(Compass Software).z80", 0x09d0f, 0xf86ed943, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdemodrk3, Specdemodrk3, Spectrum)
STD_ROM_FN(Specdemodrk3)

struct BurnDriver BurnSpecdemodrk3 = {
	"spec_demodrk3", NULL, "spec_spectrum", NULL, "1988",
	"Demon from the Darkside III - The Devils Hand (48K)\0", NULL, "Compass Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdemodrk3RomInfo, Specdemodrk3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Demon from the Darkside IV - Shadows of the Past (48K)

static struct BurnRomInfo Specdemodrk4RomDesc[] = {
	{ "Demon from the Darkside IV - Shadows of the Past (1988)(Compass Software).z80", 0x094cb, 0xc9964b71, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdemodrk4, Specdemodrk4, Spectrum)
STD_ROM_FN(Specdemodrk4)

struct BurnDriver BurnSpecdemodrk4 = {
	"spec_demodrk4", NULL, "spec_spectrum", NULL, "1988",
	"Demon from the Darkside IV - Shadows of the Past (48K)\0", NULL, "Compass Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdemodrk4RomInfo, Specdemodrk4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Demon Knight (48K)

static struct BurnRomInfo SpecdemoknigRomDesc[] = {
	{ "Demon Knight (1983)(ASP Software).z80", 0x06fed, 0x26cc60e6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdemoknig, Specdemoknig, Spectrum)
STD_ROM_FN(Specdemoknig)

struct BurnDriver BurnSpecdemoknig = {
	"spec_demoknig", NULL, "spec_spectrum", NULL, "1983",
	"Demon Knight (48K)\0", NULL, "ASP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdemoknigRomInfo, SpecdemoknigRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Demon Lord - Part 1 - Fortress of Fear (48K)

static struct BurnRomInfo SpecdmnlordRomDesc[] = {
	{ "Demon Lord - Part 1 - Fortress of Fear (1984)(Mansfield Computers & Electronics).z80", 0x0ae3b, 0x809440b3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdmnlord, Specdmnlord, Spectrum)
STD_ROM_FN(Specdmnlord)

struct BurnDriver BurnSpecdmnlord = {
	"spec_dmnlord", NULL, "spec_spectrum", NULL, "1984",
	"Demon Lord - Part 1 - Fortress of Fear (48K)\0", NULL, "Mansfield Computers & Electronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdmnlordRomInfo, SpecdmnlordRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Demon Lord - Part 2 - Forbidden Forest (48K)

static struct BurnRomInfo Specdmnlord2RomDesc[] = {
	{ "Demon Lord - Part 2 - Forbidden Forest (1984)(Mansfield Computers & Electronics).z80", 0x0b0b0, 0x67269f64, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdmnlord2, Specdmnlord2, Spectrum)
STD_ROM_FN(Specdmnlord2)

struct BurnDriver BurnSpecdmnlord2 = {
	"spec_dmnlord2", "spec_dmnlord", "spec_spectrum", NULL, "1984",
	"Demon Lord - Part 2 - Forbidden Forest (48K)\0", NULL, "Mansfield Computers & Electronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdmnlord2RomInfo, Specdmnlord2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Demon-Driver (German) (48K)

static struct BurnRomInfo SpecdemodrivRomDesc[] = {
	{ "Demon-Driver (1983)(Swap)(de).z80", 0x022f2, 0x49095232, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdemodriv, Specdemodriv, Spectrum)
STD_ROM_FN(Specdemodriv)

struct BurnDriver BurnSpecdemodriv = {
	"spec_demodriv", NULL, "spec_spectrum", NULL, "1983",
	"Demon-Driver (German) (48K)\0", NULL, "Swap", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdemodrivRomInfo, SpecdemodrivRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Demon's Revenge (48K)

static struct BurnRomInfo SpecdemoreveRomDesc[] = {
	{ "Demon's Revenge (1988)(Firebird Software).z80", 0x06b16, 0x0c62cb3f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdemoreve, Specdemoreve, Spectrum)
STD_ROM_FN(Specdemoreve)

struct BurnDriver BurnSpecdemoreve = {
	"spec_demoreve", NULL, "spec_spectrum", NULL, "1988",
	"Demon's Revenge (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdemoreveRomInfo, SpecdemoreveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Denis through the Drinking Glass (48K)

static struct BurnRomInfo SpecdendriglRomDesc[] = {
	{ "Denis through the Drinking Glass (1983)(Applications Software Specialities).z80", 0x093f1, 0x4c0cff96, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdendrigl, Specdendrigl, Spectrum)
STD_ROM_FN(Specdendrigl)

struct BurnDriver BurnSpecdendrigl = {
	"spec_dendrigl", NULL, "spec_spectrum", NULL, "1983",
	"Denis through the Drinking Glass (48K)\0", NULL, "Applications Software Specialities", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdendriglRomInfo, SpecdendriglRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Denizen (128K)

static struct BurnRomInfo SpecdenizenRomDesc[] = {
	{ "Denizen (1988)(Players Software)[128K].z80", 0x185c0, 0xcbf47a74, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdenizen, Specdenizen, Spectrum)
STD_ROM_FN(Specdenizen)

struct BurnDriver BurnSpecdenizen = {
	"spec_denizen", NULL, "spec_spec128", NULL, "1988",
	"Denizen (128K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdenizenRomInfo, SpecdenizenRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Depart (48K)

static struct BurnRomInfo SpecdepartRomDesc[] = {
	{ "Depart (1987)(Jiri Vondracek).z80", 0x03dee, 0x12a37df5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdepart, Specdepart, Spectrum)
STD_ROM_FN(Specdepart)

struct BurnDriver BurnSpecdepart = {
	"spec_depart", NULL, "spec_spectrum", NULL, "1987",
	"Depart (48K)\0", NULL, "Jiri Vondracek", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdepartRomInfo, SpecdepartRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Depth Charge (48K)

static struct BurnRomInfo SpecdeptcharRomDesc[] = {
	{ "Depth Charge (19xx)(Paul Jobson).z80", 0x02169, 0x9eaa1103, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeptchar, Specdeptchar, Spectrum)
STD_ROM_FN(Specdeptchar)

struct BurnDriver BurnSpecdeptchar = {
	"spec_deptchar", NULL, "spec_spectrum", NULL, "19xx",
	"Depth Charge (48K)\0", NULL, "Paul Jobson", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeptcharRomInfo, SpecdeptcharRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Derby Day (48K)

static struct BurnRomInfo SpecderbdayRomDesc[] = {
	{ "Derby Day (1982)(CRL Group).z80", 0x08b26, 0x104c3515, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specderbday, Specderbday, Spectrum)
STD_ROM_FN(Specderbday)

struct BurnDriver BurnSpecderbday = {
	"spec_derbday", NULL, "spec_spectrum", NULL, "1982",
	"Derby Day (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecderbdayRomInfo, SpecderbdayRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dervish (48K)

static struct BurnRomInfo SpecdervishRomDesc[] = {
	{ "Dervish (1988)(The Power House).z80", 0x06516, 0x18b045f6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdervish, Specdervish, Spectrum)
STD_ROM_FN(Specdervish)

struct BurnDriver BurnSpecdervish = {
	"spec_dervish", NULL, "spec_spectrum", NULL, "1988",
	"Dervish (48K)\0", NULL, "The Power House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdervishRomInfo, SpecdervishRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Descent (48K)

static struct BurnRomInfo SpecdescentRomDesc[] = {
	{ "Descent (1995)(7 Gods).z80", 0x01ffe, 0x5dd2b197, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdescent, Specdescent, Spectrum)
STD_ROM_FN(Specdescent)

struct BurnDriver BurnSpecdescent = {
	"spec_descent", NULL, "spec_spectrum", NULL, "1995",
	"Descent (48K)\0", NULL, "7 Gods", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdescentRomInfo, SpecdescentRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Desert Burner (48K)

static struct BurnRomInfo SpecdeseburnRomDesc[] = {
	{ "Desert Burner (1985)(Sparklers).z80", 0x06baf, 0x6ffdb5b0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeseburn, Specdeseburn, Spectrum)
STD_ROM_FN(Specdeseburn)

struct BurnDriver BurnSpecdeseburn = {
	"spec_deseburn", NULL, "spec_spectrum", NULL, "1985",
	"Desert Burner (48K)\0", NULL, "Sparklers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeseburnRomInfo, SpecdeseburnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Desert Hawk (48K)

static struct BurnRomInfo SpecdesehawkRomDesc[] = {
	{ "Desert Hawk (1986)(Players Software).z80", 0x0857d, 0xa606544a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdesehawk, Specdesehawk, Spectrum)
STD_ROM_FN(Specdesehawk)

struct BurnDriver BurnSpecdesehawk = {
	"spec_desehawk", NULL, "spec_spectrum", NULL, "1986",
	"Desert Hawk (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdesehawkRomInfo, SpecdesehawkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Desert Island (48K)

static struct BurnRomInfo SpecdeseislaRomDesc[] = {
	{ "Desert Island (1991)(G.I. Games).z80", 0x07618, 0x6f719006, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeseisla, Specdeseisla, Spectrum)
STD_ROM_FN(Specdeseisla)

struct BurnDriver BurnSpecdeseisla = {
	"spec_deseisla", NULL, "spec_spectrum", NULL, "1991",
	"Desert Island (48K)\0", NULL, "G.I. Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeseislaRomInfo, SpecdeseislaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Desert Patrol (48K)

static struct BurnRomInfo SpecdesepatrRomDesc[] = {
	{ "Desert Patrol (1982)(CRL Group).z80", 0x01d12, 0xa08b26a7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdesepatr, Specdesepatr, Spectrum)
STD_ROM_FN(Specdesepatr)

struct BurnDriver BurnSpecdesepatr = {
	"spec_desepatr", NULL, "spec_spectrum", NULL, "1982",
	"Desert Patrol (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdesepatrRomInfo, SpecdesepatrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Desert Rats (48K)

static struct BurnRomInfo Specdsrtrats_48RomDesc[] = {
	{ "Desert Rats (1985)(CCS).z80", 0x07f7a, 0x263f5050, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdsrtrats_48, Specdsrtrats_48, Spectrum)
STD_ROM_FN(Specdsrtrats_48)

struct BurnDriver BurnSpecdsrtrats_48 = {
	"spec_dsrtrats_48", "spec_dsrtrats", "spec_spectrum", NULL, "1985",
	"Desert Rats (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdsrtrats_48RomInfo, Specdsrtrats_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Desert Rats (128K)

static struct BurnRomInfo SpecdsrtratsRomDesc[] = {
	{ "Desert Rats (1985)(CCS)[128K].z80", 0x0b74c, 0xca9bf10a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdsrtrats, Specdsrtrats, Spectrum)
STD_ROM_FN(Specdsrtrats)

struct BurnDriver BurnSpecdsrtrats = {
	"spec_dsrtrats", NULL, "spec_spec128", NULL, "1985",
	"Desert Rats (128K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdsrtratsRomInfo, SpecdsrtratsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Designer's Pencil, The (48K)

static struct BurnRomInfo SpecdespenthRomDesc[] = {
	{ "Designer's Pencil, The (1984)(Activision).z80", 0x05306, 0x81058cec, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdespenth, Specdespenth, Spectrum)
STD_ROM_FN(Specdespenth)

struct BurnDriver BurnSpecdespenth = {
	"spec_despenth", NULL, "spec_spectrum", NULL, "1984",
	"Designer's Pencil, The (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdespenthRomInfo, SpecdespenthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Desmond and Gertrude (48K)

static struct BurnRomInfo SpecdesmgertRomDesc[] = {
	{ "Desmond and Gertrude (1991)(Delbert the Hamster Software).z80", 0x092bd, 0xabc9342c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdesmgert, Specdesmgert, Spectrum)
STD_ROM_FN(Specdesmgert)

struct BurnDriver BurnSpecdesmgert = {
	"spec_desmgert", NULL, "spec_spectrum", NULL, "1991",
	"Desmond and Gertrude (48K)\0", NULL, "Delbert the Hamster Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdesmgertRomInfo, SpecdesmgertRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Desolator (128K)

static struct BurnRomInfo SpecdesolatoRomDesc[] = {
	{ "Desolator (1988)(U.S. Gold)[128K].z80", 0x163ae, 0x9b8bc5ac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdesolato, Specdesolato, Spectrum)
STD_ROM_FN(Specdesolato)

struct BurnDriver BurnSpecdesolato = {
	"spec_desolato", NULL, "spec_spec128", NULL, "1988",
	"Desolator (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdesolatoRomInfo, SpecdesolatoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Desperado (48K)

static struct BurnRomInfo SpecdesperadRomDesc[] = {
	{ "Desperado (1986)(Central Solutions).z80", 0x05d0c, 0x014e3c04, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdesperad, Specdesperad, Spectrum)
STD_ROM_FN(Specdesperad)

struct BurnDriver BurnSpecdesperad = {
	"spec_desperad", NULL, "spec_spectrum", NULL, "1986",
	"Desperado (48K)\0", NULL, "Central Solutions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdesperadRomInfo, SpecdesperadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Desperado 2 (Spanish) (48K)

static struct BurnRomInfo Specdesperd2RomDesc[] = {
	{ "Desperado 2 (1991)(Topo Soft)(es).z80", 0x0a70f, 0x7a7f18cf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdesperd2, Specdesperd2, Spectrum)
STD_ROM_FN(Specdesperd2)

struct BurnDriver BurnSpecdesperd2 = {
	"spec_desperd2", NULL, "spec_spectrum", NULL, "1991",
	"Desperado 2 (Spanish) (48K)\0", NULL, "Topo Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdesperd2RomInfo, Specdesperd2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Destiny Mission (48K)

static struct BurnRomInfo Specdestmiss_48RomDesc[] = {
	{ "Destiny Mission (1990)(Williams Technology).z80", 0x075e9, 0x4cd8c675, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdestmiss_48, Specdestmiss_48, Spectrum)
STD_ROM_FN(Specdestmiss_48)

struct BurnDriver BurnSpecdestmiss_48 = {
	"spec_destmiss_48", "spec_destmiss", "spec_spectrum", NULL, "1990",
	"Destiny Mission (48K)\0", NULL, "Williams Technology", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdestmiss_48RomInfo, Specdestmiss_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Destiny Mission (128K)

static struct BurnRomInfo SpecdestmissRomDesc[] = {
	{ "Destiny Mission (1990)(Williams Technology)[128K].z80", 0x0895f, 0x9b30bba7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdestmiss, Specdestmiss, Spectrum)
STD_ROM_FN(Specdestmiss)

struct BurnDriver BurnSpecdestmiss = {
	"spec_destmiss", NULL, "spec_spec128", NULL, "1990",
	"Destiny Mission (128K)\0", NULL, "Williams Technology", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdestmissRomInfo, SpecdestmissRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Destroyer (48K)

static struct BurnRomInfo SpecdestroyeRomDesc[] = {
	{ "Destroyer (1983)(Impact Software).z80", 0x018dd, 0x3cbcb1c4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdestroye, Specdestroye, Spectrum)
STD_ROM_FN(Specdestroye)

struct BurnDriver BurnSpecdestroye = {
	"spec_destroye", NULL, "spec_spectrum", NULL, "1983",
	"Destroyer (48K)\0", NULL, "Impact Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdestroyeRomInfo, SpecdestroyeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Destruccion de America, La - Part 1 - El Comienzo (Spanish) (48K)

static struct BurnRomInfo SpecdalpecRomDesc[] = {
	{ "Destruccion de America, La - Part 1 - El Comienzo (1989)(Conrado Badenas)(es).z80", 0x09183, 0xd7273cac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdalpec, Specdalpec, Spectrum)
STD_ROM_FN(Specdalpec)

struct BurnDriver BurnSpecdalpec = {
	"spec_dalpec", NULL, "spec_spectrum", NULL, "1989",
	"Destruccion de America, La - Part 1 - El Comienzo (Spanish) (48K)\0", NULL, "Conrado Badenas", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdalpecRomInfo, SpecdalpecRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Destruction of the Galactic Empire, The (48K)

static struct BurnRomInfo SpecdegaemthRomDesc[] = {
	{ "Destruction of the Galactic Empire, The (1984)(David Ashton - Grant Wilson).z80", 0x05ba6, 0xcf4bb951, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdegaemth, Specdegaemth, Spectrum)
STD_ROM_FN(Specdegaemth)

struct BurnDriver BurnSpecdegaemth = {
	"spec_degaemth", NULL, "spec_spectrum", NULL, "1984",
	"Destruction of the Galactic Empire, The (48K)\0", NULL, "David Ashton - Grant Wilson", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdegaemthRomInfo, SpecdegaemthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Detective (48K)

static struct BurnRomInfo SpecdetectivRomDesc[] = {
	{ "Detective (1983)(ASP Software).z80", 0x01b52, 0x09b1e96a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdetectiv, Specdetectiv, Spectrum)
STD_ROM_FN(Specdetectiv)

struct BurnDriver BurnSpecdetectiv = {
	"spec_detectiv", NULL, "spec_spectrum", NULL, "1983",
	"Detective (48K)\0", NULL, "ASP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdetectivRomInfo, SpecdetectivRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Detective, El (Spanish) (48K)

static struct BurnRomInfo SpecdeteelesRomDesc[] = {
	{ "Detective, El (1983)(Ventamatic)(es)[aka Detective, The].z80", 0x05744, 0x2ed5d521, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeteeles, Specdeteeles, Spectrum)
STD_ROM_FN(Specdeteeles)

struct BurnDriver BurnSpecdeteeles = {
	"spec_deteeles", NULL, "spec_spectrum", NULL, "1983",
	"Detective, El (Spanish) (48K)\0", NULL, "Ventamatic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeteelesRomInfo, SpecdeteelesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Detective, The (48K)

static struct BurnRomInfo SpecdetectveRomDesc[] = {
	{ "Detective, The (1983)(Arcade Software).z80", 0x058a3, 0x7d70b815, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdetectve, Specdetectve, Spectrum)
STD_ROM_FN(Specdetectve)

struct BurnDriver BurnSpecdetectve = {
	"spec_detectve", NULL, "spec_spectrum", NULL, "1983",
	"Detective, The (48K)\0", NULL, "Arcade Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdetectveRomInfo, SpecdetectveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Detector (cs) (128K)

static struct BurnRomInfo SpecdetectorRomDesc[] = {
	{ "Detector (19xx)(Petr Novak)(cs)[128K].z80", 0x09431, 0x89bb78e3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdetector, Specdetector, Spectrum)
STD_ROM_FN(Specdetector)

struct BurnDriver BurnSpecdetector = {
	"spec_detector", NULL, "spec_spec128", NULL, "19xx",
	"Detector (cs) (128K)\0", NULL, "Petr Novak", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdetectorRomInfo, SpecdetectorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Detornator (48K)

static struct BurnRomInfo SpecdetornatRomDesc[] = {
	{ "Detornator (1988)(Impact Software).z80", 0x07301, 0x51479842, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdetornat, Specdetornat, Spectrum)
STD_ROM_FN(Specdetornat)

struct BurnDriver BurnSpecdetornat = {
	"spec_detornat", NULL, "spec_spectrum", NULL, "1988",
	"Detornator (48K)\0", NULL, "Impact Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdetornatRomInfo, SpecdetornatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Devastating Blow - 1 Player (48K)

static struct BurnRomInfo SpecdevblowRomDesc[] = {
	{ "Devastating Blow - 1 Player (1991)(Beyond Belief).z80", 0x09eac, 0x65bef1cd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdevblow, Specdevblow, Spectrum)
STD_ROM_FN(Specdevblow)

struct BurnDriver BurnSpecdevblow = {
	"spec_devblow", NULL, "spec_spectrum", NULL, "1991",
	"Devastating Blow - 1 Player (48K)\0", NULL, "Beyond Belief", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdevblowRomInfo, SpecdevblowRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Devastating Blow - 2 Players (48K)

static struct BurnRomInfo Specdevblow2RomDesc[] = {
	{ "Devastating Blow - 2 Players (1991)(Beyond Belief).z80", 0x09d8b, 0xc5ca01b5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdevblow2, Specdevblow2, Spectrum)
STD_ROM_FN(Specdevblow2)

struct BurnDriver BurnSpecdevblow2 = {
	"spec_devblow2", "spec_devblow", "spec_spectrum", NULL, "1991",
	"Devastating Blow - 2 Players (48K)\0", NULL, "Beyond Belief", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdevblow2RomInfo, Specdevblow2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Deviants (48K)

static struct BurnRomInfo Specdeviants_48RomDesc[] = {
	{ "Deviants (1987)(Players Software).z80", 0x09639, 0xfa2ed946, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeviants_48, Specdeviants_48, Spectrum)
STD_ROM_FN(Specdeviants_48)

struct BurnDriver BurnSpecdeviants_48 = {
	"spec_deviants_48", "spec_deviants", "spec_spectrum", NULL, "1987",
	"Deviants (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdeviants_48RomInfo, Specdeviants_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Deviants (128K)

static struct BurnRomInfo SpecdeviantsRomDesc[] = {
	{ "Deviants (1987)(Players Software)[128K].z80", 0x0a70d, 0x2d05732e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeviants, Specdeviants, Spectrum)
STD_ROM_FN(Specdeviants)

struct BurnDriver BurnSpecdeviants = {
	"spec_deviants", NULL, "spec_spec128", NULL, "1987",
	"Deviants (128K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeviantsRomInfo, SpecdeviantsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Devil Birds (48K)

static struct BurnRomInfo SpecdevibirdRomDesc[] = {
	{ "Devil Birds (1983)(Macronics Systems).z80", 0x0224f, 0x676bd3e9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdevibird, Specdevibird, Spectrum)
STD_ROM_FN(Specdevibird)

struct BurnDriver BurnSpecdevibird = {
	"spec_devibird", NULL, "spec_spectrum", NULL, "1983",
	"Devil Birds (48K)\0", NULL, "Macronics Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdevibirdRomInfo, SpecdevibirdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Devil Diver (48K)

static struct BurnRomInfo SpecdevidiveRomDesc[] = {
	{ "Devil Diver (1984)(DK'Tronics).z80", 0x03e74, 0x76419ca1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdevidive, Specdevidive, Spectrum)
STD_ROM_FN(Specdevidive)

struct BurnDriver BurnSpecdevidive = {
	"spec_devidive", NULL, "spec_spectrum", NULL, "1984",
	"Devil Diver (48K)\0", NULL, "DK'Tronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdevidiveRomInfo, SpecdevidiveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Devil Rides In, The (48K)

static struct BurnRomInfo SpecderiinthRomDesc[] = {
	{ "Devil Rides In, The (1983)(Carnell Software).z80", 0x0226f, 0x29faf4c2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specderiinth, Specderiinth, Spectrum)
STD_ROM_FN(Specderiinth)

struct BurnDriver BurnSpecderiinth = {
	"spec_deriinth", NULL, "spec_spectrum", NULL, "1983",
	"Devil Rides In, The (48K)\0", NULL, "Carnell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecderiinthRomInfo, SpecderiinthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Devil's Crown, The (48K)

static struct BurnRomInfo SpecdevcrothRomDesc[] = {
	{ "Devil's Crown, The (1985)(Mastertronic).z80", 0x08f47, 0xcff49a7e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdevcroth, Specdevcroth, Spectrum)
STD_ROM_FN(Specdevcroth)

struct BurnDriver BurnSpecdevcroth = {
	"spec_devcroth", NULL, "spec_spectrum", NULL, "1985",
	"Devil's Crown, The (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdevcrothRomInfo, SpecdevcrothRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Devil's Descent, The (48K)

static struct BurnRomInfo SpecdevdesthRomDesc[] = {
	{ "Devil's Descent, The (1985)(Pocket Money Software).z80", 0x08c8d, 0x57199d90, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdevdesth, Specdevdesth, Spectrum)
STD_ROM_FN(Specdevdesth)

struct BurnDriver BurnSpecdevdesth = {
	"spec_devdesth", NULL, "spec_spectrum", NULL, "1985",
	"Devil's Descent, The (48K)\0", NULL, "Pocket Money Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdevdesthRomInfo, SpecdevdesthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Devil's Island (48K)

static struct BurnRomInfo SpecdeviislaRomDesc[] = {
	{ "Devil's Island (1983)(Gilsoft International).z80", 0x072e6, 0x119c1d81, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdeviisla, Specdeviisla, Spectrum)
STD_ROM_FN(Specdeviisla)

struct BurnDriver BurnSpecdeviisla = {
	"spec_deviisla", NULL, "spec_spectrum", NULL, "1983",
	"Devil's Island (48K)\0", NULL, "Gilsoft International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdeviislaRomInfo, SpecdeviislaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Devils of the Deep (48K)

static struct BurnRomInfo SpecdevideepRomDesc[] = {
	{ "Devils of the Deep (1983)(Richard Shepherd Software).z80", 0x09078, 0xdff5b6d2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdevideep, Specdevideep, Spectrum)
STD_ROM_FN(Specdevideep)

struct BurnDriver BurnSpecdevideep = {
	"spec_devideep", NULL, "spec_spectrum", NULL, "1983",
	"Devils of the Deep (48K)\0", NULL, "Richard Shepherd Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdevideepRomInfo, SpecdevideepRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dia Despues, El (Spanish) (48K)

static struct BurnRomInfo SpecdiadeselRomDesc[] = {
	{ "Dia Despues, El (1989)(Bolsoftware Communications)(es).z80", 0x08e3b, 0xdacf05e8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdiadesel, Specdiadesel, Spectrum)
STD_ROM_FN(Specdiadesel)

struct BurnDriver BurnSpecdiadesel = {
	"spec_diadesel", NULL, "spec_spectrum", NULL, "1989",
	"Dia Despues, El (Spanish) (48K)\0", NULL, "Bolsoftware Communications", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdiadeselRomInfo, SpecdiadeselRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Diablo! (Part 1 of 3) (48K)

static struct BurnRomInfo Specdiablo_48RomDesc[] = {
	{ "Diablo! (1988)(Nebula Design Software)(Part 1 of 3).z80", 0x0a31a, 0x21503462, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdiablo_48, Specdiablo_48, Spectrum)
STD_ROM_FN(Specdiablo_48)

struct BurnDriver BurnSpecdiablo_48 = {
	"spec_diablo_48", "spec_diablo", "spec_spectrum", NULL, "1988",
	"Diablo! (Part 1 of 3) (48K)\0", NULL, "Nebula Design Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdiablo_48RomInfo, Specdiablo_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Diablo! (Part 1 of 3) (128K)

static struct BurnRomInfo SpecdiabloRomDesc[] = {
	{ "Diablo! (1988)(Nebula Design Software)(Part 1 of 3)[128K].z80", 0x19688, 0xa6453575, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdiablo, Specdiablo, Spectrum)
STD_ROM_FN(Specdiablo)

struct BurnDriver BurnSpecdiablo = {
	"spec_diablo", NULL, "spec_spec128", NULL, "1988",
	"Diablo! (Part 1 of 3) (128K)\0", NULL, "Nebula Design Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdiabloRomInfo, SpecdiabloRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Diablo! (Part 2 of 3) (48K)

static struct BurnRomInfo Specdiablo2_48RomDesc[] = {
	{ "Diablo! (1988)(Nebula Design Software)(Part 2 of 3).z80", 0x0a34c, 0x5ff2f88d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdiablo2_48, Specdiablo2_48, Spectrum)
STD_ROM_FN(Specdiablo2_48)

struct BurnDriver BurnSpecdiablo2_48 = {
	"spec_diablo2_48", "spec_diablo", "spec_spectrum", NULL, "1988",
	"Diablo! (Part 2 of 3) (48K)\0", NULL, "Nebula Design Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdiablo2_48RomInfo, Specdiablo2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Diablo! (Part 2 of 3) (128K)

static struct BurnRomInfo Specdiablo2RomDesc[] = {
	{ "Diablo! (1988)(Nebula Design Software)(Part 2 of 3)[128K].z80", 0x17032, 0x45b8222f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdiablo2, Specdiablo2, Spectrum)
STD_ROM_FN(Specdiablo2)

struct BurnDriver BurnSpecdiablo2 = {
	"spec_diablo2", "spec_diablo", "spec_spec128", NULL, "1988",
	"Diablo! (Part 2 of 3) (128K)\0", NULL, "Nebula Design Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdiablo2RomInfo, Specdiablo2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Diablo! (Part 3 of 3) (48K)

static struct BurnRomInfo Specdiablo3_48RomDesc[] = {
	{ "Diablo! (1988)(Nebula Design Software)(Part 3 of 3).z80", 0x0a35f, 0x01337c03, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdiablo3_48, Specdiablo3_48, Spectrum)
STD_ROM_FN(Specdiablo3_48)

struct BurnDriver BurnSpecdiablo3_48 = {
	"spec_diablo3_48", "spec_diablo", "spec_spectrum", NULL, "1988",
	"Diablo! (Part 3 of 3) (48K)\0", NULL, "Nebula Design Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdiablo3_48RomInfo, Specdiablo3_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Diablo! (Part 3 of 3) (128K)

static struct BurnRomInfo Specdiablo3RomDesc[] = {
	{ "Diablo! (1988)(Nebula Design Software)(Part 3 of 3)[128K].z80", 0x170fb, 0x439d3abc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdiablo3, Specdiablo3, Spectrum)
STD_ROM_FN(Specdiablo3)

struct BurnDriver BurnSpecdiablo3 = {
	"spec_diablo3", "spec_diablo", "spec_spec128", NULL, "1988",
	"Diablo! (Part 3 of 3) (128K)\0", NULL, "Nebula Design Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdiablo3RomInfo, Specdiablo3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Diamond (48K)

static struct BurnRomInfo SpecdiamondRomDesc[] = {
	{ "Diamond (1988)(Destiny Software).z80", 0x06fe2, 0x17765d35, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdiamond, Specdiamond, Spectrum)
STD_ROM_FN(Specdiamond)

struct BurnDriver BurnSpecdiamond = {
	"spec_diamond", NULL, "spec_spectrum", NULL, "1988",
	"Diamond (48K)\0", NULL, "Destiny Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdiamondRomInfo, SpecdiamondRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Diamond Trail (48K)

static struct BurnRomInfo SpecdiamtraiRomDesc[] = {
	{ "Diamond Trail (1983)(Gilsoft International).z80", 0x04573, 0xa8657193, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdiamtrai, Specdiamtrai, Spectrum)
STD_ROM_FN(Specdiamtrai)

struct BurnDriver BurnSpecdiamtrai = {
	"spec_diamtrai", NULL, "spec_spectrum", NULL, "1983",
	"Diamond Trail (48K)\0", NULL, "Gilsoft International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdiamtraiRomInfo, SpecdiamtraiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Diamonds, The (48K)

static struct BurnRomInfo SpecdiamtheRomDesc[] = {
	{ "Diamonds, The (1986)(Steve Brown).z80", 0x02308, 0x2baf0739, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdiamthe, Specdiamthe, Spectrum)
STD_ROM_FN(Specdiamthe)

struct BurnDriver BurnSpecdiamthe = {
	"spec_diamthe", NULL, "spec_spectrum", NULL, "1986",
	"Diamonds, The (48K)\0", NULL, "Steve Brown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdiamtheRomInfo, SpecdiamtheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Diarmid (Part 1 of 2) (48K)

static struct BurnRomInfo SpecdiarmidRomDesc[] = {
	{ "Diarmid (1993)(Zenobi Software)(Part 1 of 2).z80", 0x091a2, 0x50a50b50, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdiarmid, Specdiarmid, Spectrum)
STD_ROM_FN(Specdiarmid)

struct BurnDriver BurnSpecdiarmid = {
	"spec_diarmid", NULL, "spec_spectrum", NULL, "1993",
	"Diarmid (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdiarmidRomInfo, SpecdiarmidRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Diarmid (Part 2 of 2) (48K)

static struct BurnRomInfo Specdiarmid2RomDesc[] = {
	{ "Diarmid (1993)(Zenobi Software)(Part 2 of 2).z80", 0x09184, 0x48a85f0c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdiarmid2, Specdiarmid2, Spectrum)
STD_ROM_FN(Specdiarmid2)

struct BurnDriver BurnSpecdiarmid2 = {
	"spec_diarmid2", "spec_diarmid", "spec_spectrum", NULL, "1993",
	"Diarmid (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdiarmid2RomInfo, Specdiarmid2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Diatmar (Spanish) (128K)

static struct BurnRomInfo SpecdiatmareRomDesc[] = {
	{ "Diatmar (1989)(Santiago Marquez)(es)[128K].z80", 0x0e0c1, 0x2272992c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdiatmare, Specdiatmare, Spectrum)
STD_ROM_FN(Specdiatmare)

struct BurnDriver BurnSpecdiatmare = {
	"spec_diatmare", NULL, "spec_spec128", NULL, "1989",
	"Diatmar (Spanish) (128K)\0", NULL, "Santiago Marquez", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdiatmareRomInfo, SpecdiatmareRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dice (German) (48K)

static struct BurnRomInfo SpecdicedeRomDesc[] = {
	{ "Dice (1983)(EMM Software)(de).z80", 0x03f3e, 0x2ebe5637, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdicede, Specdicede, Spectrum)
STD_ROM_FN(Specdicede)

struct BurnDriver BurnSpecdicede = {
	"spec_dicede", NULL, "spec_spectrum", NULL, "1983",
	"Dice (German) (48K)\0", NULL, "EMM Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdicedeRomInfo, SpecdicedeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dice (48K)

static struct BurnRomInfo SpecdiceRomDesc[] = {
	{ "Dice (2002)(Naffsoft).z80", 0x018dc, 0xc8b3b5e1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdice, Specdice, Spectrum)
STD_ROM_FN(Specdice)

struct BurnDriver BurnSpecdice = {
	"spec_dice", NULL, "spec_spectrum", NULL, "2002",
	"Dice (48K)\0", NULL, "Naffsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdiceRomInfo, SpecdiceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dice Throw (48K)

static struct BurnRomInfo SpecdicethrwRomDesc[] = {
	{ "Dice Throw (1995)(Vaxalon).z80", 0x0091e, 0x7e2fe5fc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdicethrw, Specdicethrw, Spectrum)
STD_ROM_FN(Specdicethrw)

struct BurnDriver BurnSpecdicethrw = {
	"spec_dicethrw", NULL, "spec_spectrum", NULL, "1995",
	"Dice Throw (48K)\0", NULL, "Vaxalon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdicethrwRomInfo, SpecdicethrwRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dictator (48K)

static struct BurnRomInfo SpecdictatorRomDesc[] = {
	{ "Dictator (1983)(DK'Tronics).z80", 0x06c2e, 0x632fffd5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdictator, Specdictator, Spectrum)
STD_ROM_FN(Specdictator)

struct BurnDriver BurnSpecdictator = {
	"spec_dictator", NULL, "spec_spectrum", NULL, "1983",
	"Dictator (48K)\0", NULL, "DK'Tronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdictatorRomInfo, SpecdictatorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Die Alien Slime (48K)

static struct BurnRomInfo SpecdiealislRomDesc[] = {
	{ "Die Alien Slime (1989)(Mastertronic Plus).z80", 0x0620b, 0x2e3cccb1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdiealisl, Specdiealisl, Spectrum)
STD_ROM_FN(Specdiealisl)

struct BurnDriver BurnSpecdiealisl = {
	"spec_diealisl", NULL, "spec_spectrum", NULL, "1989",
	"Die Alien Slime (48K)\0", NULL, "Mastertronic Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdiealislRomInfo, SpecdiealislRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Die Feuerfaust - The Fist of Fire (Part 1 of 4) (registered) (128K)

static struct BurnRomInfo SpecdftffRomDesc[] = {
	{ "Die Feuerfaust - The Fist of Fire (1995)(FSF Adventures)(Part 1 of 4)[128K][registered].z80", 0x0ae1d, 0xbd352457, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdftff, Specdftff, Spectrum)
STD_ROM_FN(Specdftff)

struct BurnDriver BurnSpecdftff = {
	"spec_dftff", NULL, "spec_spec128", NULL, "1995",
	"Die Feuerfaust - The Fist of Fire (Part 1 of 4) (registered) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdftffRomInfo, SpecdftffRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Die Feuerfaust - The Fist of Fire (Part 1 of 4) (shareware) (128K)

static struct BurnRomInfo SpecdftffsRomDesc[] = {
	{ "Die Feuerfaust - The Fist of Fire (1995)(FSF Adventures)(Part 1 of 4)[128K][shareware].z80", 0x0aff4, 0xaeda6aa1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdftffs, Specdftffs, Spectrum)
STD_ROM_FN(Specdftffs)

struct BurnDriver BurnSpecdftffs = {
	"spec_dftffs", "spec_dftff", "spec_spec128", NULL, "1995",
	"Die Feuerfaust - The Fist of Fire (Part 1 of 4) (shareware) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdftffsRomInfo, SpecdftffsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Die Feuerfaust - The Fist of Fire (Part 2 of 4) (registered) (128K)

static struct BurnRomInfo Specdftff2RomDesc[] = {
	{ "Die Feuerfaust - The Fist of Fire (1995)(FSF Adventures)(Part 2 of 4)[128K][registered].z80", 0x09ac6, 0x7adb7e30, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdftff2, Specdftff2, Spectrum)
STD_ROM_FN(Specdftff2)

struct BurnDriver BurnSpecdftff2 = {
	"spec_dftff2", "spec_dftff", "spec_spec128", NULL, "1995",
	"Die Feuerfaust - The Fist of Fire (Part 2 of 4) (registered) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdftff2RomInfo, Specdftff2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Die Feuerfaust - The Fist of Fire (Part 2 of 4) (shareware) (128K)

static struct BurnRomInfo Specdftffs2RomDesc[] = {
	{ "Die Feuerfaust - The Fist of Fire (1995)(FSF Adventures)(Part 2 of 4)[128K][shareware].z80", 0x0988b, 0x3a83ad34, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdftffs2, Specdftffs2, Spectrum)
STD_ROM_FN(Specdftffs2)

struct BurnDriver BurnSpecdftffs2 = {
	"spec_dftffs2", "spec_dftff", "spec_spec128", NULL, "1995",
	"Die Feuerfaust - The Fist of Fire (Part 2 of 4) (shareware) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdftffs2RomInfo, Specdftffs2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Die Feuerfaust - The Fist of Fire (Part 3 of 4) (registered) (128K)

static struct BurnRomInfo Specdftff3RomDesc[] = {
	{ "Die Feuerfaust - The Fist of Fire (1995)(FSF Adventures)(Part 3 of 4)[128K][registered].z80", 0x09a1c, 0x9e4ba4af, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdftff3, Specdftff3, Spectrum)
STD_ROM_FN(Specdftff3)

struct BurnDriver BurnSpecdftff3 = {
	"spec_dftff3", "spec_dftff", "spec_spec128", NULL, "1995",
	"Die Feuerfaust - The Fist of Fire (Part 3 of 4) (registered) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdftff3RomInfo, Specdftff3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Die Feuerfaust - The Fist of Fire (Part 3 of 4) (shareware) (128K)

static struct BurnRomInfo Specdftffs3RomDesc[] = {
	{ "Die Feuerfaust - The Fist of Fire (1995)(FSF Adventures)(Part 3 of 4)[128K][shareware].z80", 0x09a1f, 0x845b874f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdftffs3, Specdftffs3, Spectrum)
STD_ROM_FN(Specdftffs3)

struct BurnDriver BurnSpecdftffs3 = {
	"spec_dftffs3", "spec_dftff", "spec_spec128", NULL, "1995",
	"Die Feuerfaust - The Fist of Fire (Part 3 of 4) (shareware) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdftffs3RomInfo, Specdftffs3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Die Feuerfaust - The Fist of Fire (Part 4 of 4) (registered) (128K)

static struct BurnRomInfo Specdftff4RomDesc[] = {
	{ "Die Feuerfaust - The Fist of Fire (1995)(FSF Adventures)(Part 4 of 4)[128K][registered].z80", 0x09d41, 0xb3593d04, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdftff4, Specdftff4, Spectrum)
STD_ROM_FN(Specdftff4)

struct BurnDriver BurnSpecdftff4 = {
	"spec_dftff4", "spec_dftff", "spec_spec128", NULL, "1995",
	"Die Feuerfaust - The Fist of Fire (Part 4 of 4) (registered) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdftff4RomInfo, Specdftff4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Die Feuerfaust - The Fist of Fire (Part 4 of 4) (shareware) (128K)

static struct BurnRomInfo Specdftffs4RomDesc[] = {
	{ "Die Feuerfaust - The Fist of Fire (1995)(FSF Adventures)(Part 4 of 4)[128K][shareware].z80", 0x09b23, 0xd189647a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdftffs4, Specdftffs4, Spectrum)
STD_ROM_FN(Specdftffs4)

struct BurnDriver BurnSpecdftffs4 = {
	"spec_dftffs4", "spec_dftff", "spec_spec128", NULL, "1995",
	"Die Feuerfaust - The Fist of Fire (Part 4 of 4) (shareware) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdftffs4RomInfo, Specdftffs4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Digger Dan (48K)

static struct BurnRomInfo SpecdiggdanRomDesc[] = {
	{ "Digger Dan (1983)(Ocean).z80", 0x02851, 0x31923a53, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdiggdan, Specdiggdan, Spectrum)
STD_ROM_FN(Specdiggdan)

struct BurnDriver BurnSpecdiggdan = {
	"spec_diggdan", NULL, "spec_spectrum", NULL, "1983",
	"Digger Dan (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdiggdanRomInfo, SpecdiggdanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dimension Destructors (48K)

static struct BurnRomInfo SpecdimedestRomDesc[] = {
	{ "Dimension Destructors (1983)(Artic Computing).z80", 0x0462f, 0xefbe660b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdimedest, Specdimedest, Spectrum)
STD_ROM_FN(Specdimedest)

struct BurnDriver BurnSpecdimedest = {
	"spec_dimedest", NULL, "spec_spectrum", NULL, "1983",
	"Dimension Destructors (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdimedestRomInfo, SpecdimedestRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dimension Omega (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecdimeomegRomDesc[] = {
	{ "Dimension Omega (1989)(Positive)(es)(Part 1 of 2)[t +2].z80", 0x09167, 0x336ba97a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdimeomeg, Specdimeomeg, Spectrum)
STD_ROM_FN(Specdimeomeg)

struct BurnDriver BurnSpecdimeomeg = {
	"spec_dimeomeg", NULL, "spec_spectrum", NULL, "1989",
	"Dimension Omega (Spanish) (Part 1 of 2) (48K)\0", NULL, "Positive", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdimeomegRomInfo, SpecdimeomegRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dimension Omega (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specdimeomeg2RomDesc[] = {
	{ "Dimension Omega (1989)(Positive)(es)(Part 2 of 2)[t +2].z80", 0x09737, 0xe3f641e1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdimeomeg2, Specdimeomeg2, Spectrum)
STD_ROM_FN(Specdimeomeg2)

struct BurnDriver BurnSpecdimeomeg2 = {
	"spec_dimeomeg2", "spec_dimeomeg", "spec_spectrum", NULL, "1989",
	"Dimension Omega (Spanish) (Part 2 of 2) (48K)\0", NULL, "Positive", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdimeomeg2RomInfo, Specdimeomeg2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dina Blaster (128K)

static struct BurnRomInfo SpecdinablasRomDesc[] = {
	{ "Dina Blaster (1995)(Prestige)[128K].z80", 0x08946, 0x3a4c3d05, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdinablas, Specdinablas, Spectrum)
STD_ROM_FN(Specdinablas)

struct BurnDriver BurnSpecdinablas = {
	"spec_dinablas", NULL, "spec_spec128", NULL, "1995",
	"Dina Blaster (128K)\0", NULL, "Prestige", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdinablasRomInfo, SpecdinablasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dining (48K)

static struct BurnRomInfo SpecdiningRomDesc[] = {
	{ "Dining (19xx)(-).z80", 0x027f9, 0x8a93d0c4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdining, Specdining, Spectrum)
STD_ROM_FN(Specdining)

struct BurnDriver BurnSpecdining = {
	"spec_dining", NULL, "spec_spectrum", NULL, "19xx",
	"Dining (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdiningRomInfo, SpecdiningRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dinky Digger (48K)

static struct BurnRomInfo SpecdinkdiggRomDesc[] = {
	{ "Dinky Digger (1983)(Postern).z80", 0x0850c, 0x80e3a744, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdinkdigg, Specdinkdigg, Spectrum)
STD_ROM_FN(Specdinkdigg)

struct BurnDriver BurnSpecdinkdigg = {
	"spec_dinkdigg", NULL, "spec_spectrum", NULL, "1983",
	"Dinky Digger (48K)\0", NULL, "Postern", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdinkdiggRomInfo, SpecdinkdiggRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Diox (Spanish) (48K)

static struct BurnRomInfo SpecdioxesRomDesc[] = {
	{ "Diox (19xx)(EP Software)(es).z80", 0x03849, 0x65f9c475, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdioxes, Specdioxes, Spectrum)
STD_ROM_FN(Specdioxes)

struct BurnDriver BurnSpecdioxes = {
	"spec_dioxes", NULL, "spec_spectrum", NULL, "19xx",
	"Diox (Spanish) (48K)\0", NULL, "EP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdioxesRomInfo, SpecdioxesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dirt Track Racer (48K)

static struct BurnRomInfo SpecdirtraraRomDesc[] = {
	{ "Dirt Track Racer (1991)(Zeppelin Games).z80", 0x092b2, 0xbeca89a3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdirtrara, Specdirtrara, Spectrum)
STD_ROM_FN(Specdirtrara)

struct BurnDriver BurnSpecdirtrara = {
	"spec_dirtrara", NULL, "spec_spectrum", NULL, "1991",
	"Dirt Track Racer (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdirtraraRomInfo, SpecdirtraraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Disappearance! (Spanish) (48K)

static struct BurnRomInfo SpecdisappeaRomDesc[] = {
	{ "Disappearance! (1992)(Sindicato del Software)(es).z80", 0x09230, 0x751df150, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdisappea, Specdisappea, Spectrum)
STD_ROM_FN(Specdisappea)

struct BurnDriver BurnSpecdisappea = {
	"spec_disappea", NULL, "spec_spectrum", NULL, "1992",
	"Disappearance! (Spanish) (48K)\0", NULL, "Sindicato del Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdisappeaRomInfo, SpecdisappeaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Disco Dan (48K)

static struct BurnRomInfo SpecdiscdanRomDesc[] = {
	{ "Disco Dan (1986)(Sinclair Research)[re-release].z80", 0x05061, 0xbdf03c31, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdiscdan, Specdiscdan, Spectrum)
STD_ROM_FN(Specdiscdan)

struct BurnDriver BurnSpecdiscdan = {
	"spec_discdan", NULL, "spec_spectrum", NULL, "1986",
	"Disco Dan (48K)\0", NULL, "Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdiscdanRomInfo, SpecdiscdanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Discs of Death (48K)

static struct BurnRomInfo SpecdiscdeatRomDesc[] = {
	{ "Discs of Death (1985)(Artic Computing).z80", 0x05018, 0xe85fccc7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdiscdeat, Specdiscdeat, Spectrum)
STD_ROM_FN(Specdiscdeat)

struct BurnDriver BurnSpecdiscdeat = {
	"spec_discdeat", NULL, "spec_spectrum", NULL, "1985",
	"Discs of Death (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdiscdeatRomInfo, SpecdiscdeatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dix Mille (48K)

static struct BurnRomInfo SpecdixmilleRomDesc[] = {
	{ "Dix Mille (1984)(CCS).z80", 0x05711, 0xf6138acf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdixmille, Specdixmille, Spectrum)
STD_ROM_FN(Specdixmille)

struct BurnDriver BurnSpecdixmille = {
	"spec_dixmille", NULL, "spec_spectrum", NULL, "1984",
	"Dix Mille (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdixmilleRomInfo, SpecdixmilleRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy - Down the Rapids (48K)

static struct BurnRomInfo Specdizdowra_48RomDesc[] = {
	{ "Dizzy - Down the Rapids (1991)(Codemasters).z80", 0x08372, 0xfc6302d6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizdowra_48, Specdizdowra_48, Spectrum)
STD_ROM_FN(Specdizdowra_48)

struct BurnDriver BurnSpecdizdowra_48 = {
	"spec_dizdowra_48", "spec_dizdowra", "spec_spectrum", NULL, "1991",
	"Dizzy - Down the Rapids (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdizdowra_48RomInfo, Specdizdowra_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy - Down the Rapids (128K)

static struct BurnRomInfo SpecdizdowraRomDesc[] = {
	{ "Dizzy - Down the Rapids (1991)(Codemasters)[128K].z80", 0x0a17e, 0x426abaa3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizdowra, Specdizdowra, Spectrum)
STD_ROM_FN(Specdizdowra)

struct BurnDriver BurnSpecdizdowra = {
	"spec_dizdowra", NULL, "spec_spec128", NULL, "1991",
	"Dizzy - Down the Rapids (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdizdowraRomInfo, SpecdizdowraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy - The Ultimate Cartoon Adventure (Russian) (128K)

static struct BurnRomInfo SpecdizzyrRomDesc[] = {
	{ "Dizzy - The Ultimate Cartoon Adventure (1987)(Codemasters)(ru)[128K].z80", 0x0c83c, 0x27b9e86c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizzyr, Specdizzyr, Spectrum)
STD_ROM_FN(Specdizzyr)

struct BurnDriver BurnSpecdizzyr = {
	"spec_dizzyr", "spec_dizzy", "spec_spec128", NULL, "1987",
	"Dizzy - The Ultimate Cartoon Adventure (Russian) (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdizzyrRomInfo, SpecdizzyrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy - The Ultimate Cartoon Adventure (48K)

static struct BurnRomInfo Specdizzy_48RomDesc[] = {
	{ "Dizzy - The Ultimate Cartoon Adventure (1987)(Codemasters).z80", 0x0b21b, 0xfe79e93a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizzy_48, Specdizzy_48, Spectrum)
STD_ROM_FN(Specdizzy_48)

struct BurnDriver BurnSpecdizzy_48 = {
	"spec_dizzy_48", "spec_dizzy", "spec_spectrum", NULL, "1987",
	"Dizzy - The Ultimate Cartoon Adventure (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdizzy_48RomInfo, Specdizzy_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy - The Ultimate Cartoon Adventure (128K)

static struct BurnRomInfo SpecdizzyRomDesc[] = {
	{ "Dizzy - The Ultimate Cartoon Adventure (1987)(Codemasters)[128K].z80", 0x0b82d, 0x30bb57e1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizzy, Specdizzy, Spectrum)
STD_ROM_FN(Specdizzy)

struct BurnDriver BurnSpecdizzy = {
	"spec_dizzy", NULL, "spec_spec128", NULL, "1987",
	"Dizzy - The Ultimate Cartoon Adventure (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdizzyRomInfo, SpecdizzyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy Dice (48K)

static struct BurnRomInfo SpecdizzdiceRomDesc[] = {
	{ "Dizzy Dice (1986)(Players Software).z80", 0x09436, 0xecf002fd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizzdice, Specdizzdice, Spectrum)
STD_ROM_FN(Specdizzdice)

struct BurnDriver BurnSpecdizzdice = {
	"spec_dizzdice", NULL, "spec_spectrum", NULL, "1986",
	"Dizzy Dice (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdizzdiceRomInfo, SpecdizzdiceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy II - Treasure Island Dizzy (Russian) (128K)

static struct BurnRomInfo Specdizzy2rRomDesc[] = {
	{ "Dizzy II - Treasure Island Dizzy (1988)(Codemasters)(ru)[128K].z80", 0x0e0a4, 0xccc7f01b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizzy2r, Specdizzy2r, Spectrum)
STD_ROM_FN(Specdizzy2r)

struct BurnDriver BurnSpecdizzy2r = {
	"spec_dizzy2r", NULL, "spec_spec128", NULL, "1988",
	"Dizzy II - Treasure Island Dizzy (Russian) (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdizzy2rRomInfo, Specdizzy2rRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy II - Treasure Island Dizzy (48K)

static struct BurnRomInfo Specdizzy2_48RomDesc[] = {
	{ "Dizzy II - Treasure Island Dizzy (1988)(Codemasters).z80", 0x0b571, 0x63c7c2a9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizzy2_48, Specdizzy2_48, Spectrum)
STD_ROM_FN(Specdizzy2_48)

struct BurnDriver BurnSpecdizzy2_48 = {
	"spec_dizzy2_48", "spec_dizzy2", "spec_spectrum", NULL, "1988",
	"Dizzy II - Treasure Island Dizzy (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdizzy2_48RomInfo, Specdizzy2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy II - Treasure Island Dizzy (128K)

static struct BurnRomInfo Specdizzy2RomDesc[] = {
	{ "Dizzy II - Treasure Island Dizzy (1988)(Codemasters)[128K].z80", 0x0da56, 0x3d2e194d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizzy2, Specdizzy2, Spectrum)
STD_ROM_FN(Specdizzy2)

struct BurnDriver BurnSpecdizzy2 = {
	"spec_dizzy2", NULL, "spec_spec128", NULL, "1988",
	"Dizzy II - Treasure Island Dizzy (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdizzy2RomInfo, Specdizzy2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy III - Fantasy World Dizzy (Russian) (128K)

static struct BurnRomInfo Specdizzy3rRomDesc[] = {
	{ "Dizzy III - Fantasy World Dizzy (1989)(Codemasters)(ru)[128K].z80", 0x0f2bd, 0x1ae2c460, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizzy3r, Specdizzy3r, Spectrum)
STD_ROM_FN(Specdizzy3r)

struct BurnDriver BurnSpecdizzy3r = {
	"spec_dizzy3r", "spec_dizzy3", "spec_spec128", NULL, "1989",
	"Dizzy III - Fantasy World Dizzy (Russian) (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdizzy3rRomInfo, Specdizzy3rRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy III - Fantasy World Dizzy (48K)

static struct BurnRomInfo Specdizzy3_48RomDesc[] = {
	{ "Dizzy III - Fantasy World Dizzy (1989)(Codemasters).z80", 0x0b391, 0xb4c2f20b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizzy3_48, Specdizzy3_48, Spectrum)
STD_ROM_FN(Specdizzy3_48)

struct BurnDriver BurnSpecdizzy3_48 = {
	"spec_dizzy3_48", "spec_dizzy3", "spec_spectrum", NULL, "1989",
	"Dizzy III - Fantasy World Dizzy (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdizzy3_48RomInfo, Specdizzy3_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy III - Fantasy World Dizzy (128K)

static struct BurnRomInfo Specdizzy3RomDesc[] = {
	{ "Dizzy III - Fantasy World Dizzy (1989)(Codemasters)[128K].z80", 0x0f172, 0xef716059, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizzy3, Specdizzy3, Spectrum)
STD_ROM_FN(Specdizzy3)

struct BurnDriver BurnSpecdizzy3 = {
	"spec_dizzy3", NULL, "spec_spec128", NULL, "1989",
	"Dizzy III - Fantasy World Dizzy (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdizzy3RomInfo, Specdizzy3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy IV - Magicland Dizzy (48K)

static struct BurnRomInfo Specdizzy4_48RomDesc[] = {
	{ "Dizzy IV - Magicland Dizzy (1989)(Codemasters).z80", 0x0b54a, 0x19009d03, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizzy4_48, Specdizzy4_48, Spectrum)
STD_ROM_FN(Specdizzy4_48)

struct BurnDriver BurnSpecdizzy4_48 = {
	"spec_dizzy4_48", "spec_dizzy4", "spec_spectrum", NULL, "1989",
	"Dizzy IV - Magicland Dizzy (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdizzy4_48RomInfo, Specdizzy4_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy IV - Magicland Dizzy (128K)

static struct BurnRomInfo Specdizzy4RomDesc[] = {
	{ "Dizzy IV - Magicland Dizzy (1989)(Codemasters)[128K].z80", 0x0e107, 0x94e8903f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizzy4, Specdizzy4, Spectrum)
STD_ROM_FN(Specdizzy4)

struct BurnDriver BurnSpecdizzy4 = {
	"spec_dizzy4", NULL, "spec_spec128", NULL, "1989",
	"Dizzy IV - Magicland Dizzy (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdizzy4RomInfo, Specdizzy4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy V - Spellbound Dizzy (48K)

static struct BurnRomInfo Specdizzy5_48RomDesc[] = {
	{ "Dizzy V - Spellbound Dizzy (1991)(Codemasters).z80", 0x0b9c1, 0xdf6849fe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizzy5_48, Specdizzy5_48, Spectrum)
STD_ROM_FN(Specdizzy5_48)

struct BurnDriver BurnSpecdizzy5_48 = {
	"spec_dizzy5_48", "spec_dizzy5", "spec_spectrum", NULL, "1991",
	"Dizzy V - Spellbound Dizzy (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdizzy5_48RomInfo, Specdizzy5_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy V - Spellbound Dizzy (128K)

static struct BurnRomInfo Specdizzy5RomDesc[] = {
	{ "Dizzy V - Spellbound Dizzy (1991)(Codemasters)[128K].z80", 0x15e6f, 0x6769bc2e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizzy5, Specdizzy5, Spectrum)
STD_ROM_FN(Specdizzy5)

struct BurnDriver BurnSpecdizzy5 = {
	"spec_dizzy5", NULL, "spec_spec128", NULL, "1991",
	"Dizzy V - Spellbound Dizzy (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdizzy5RomInfo, Specdizzy5RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy VI - Prince of the Yolkfolk (48K)

static struct BurnRomInfo Specdizzy6_48RomDesc[] = {
	{ "Dizzy VI - Prince of the Yolkfolk (1991)(Codemasters).z80", 0x0a17a, 0xd3791a7a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizzy6_48, Specdizzy6_48, Spectrum)
STD_ROM_FN(Specdizzy6_48)

struct BurnDriver BurnSpecdizzy6_48 = {
	"spec_dizzy6_48", "spec_dizzy6", "spec_spectrum", NULL, "1991",
	"Dizzy VI - Prince of the Yolkfolk (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdizzy6_48RomInfo, Specdizzy6_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy VI - Prince of the Yolkfolk (128K)

static struct BurnRomInfo Specdizzy6RomDesc[] = {
	{ "Dizzy VI - Prince of the Yolkfolk (1991)(Codemasters)[128K].z80", 0x0b6d2, 0x84574abf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizzy6, Specdizzy6, Spectrum)
STD_ROM_FN(Specdizzy6)

struct BurnDriver BurnSpecdizzy6 = {
	"spec_dizzy6", NULL, "spec_spec128", NULL, "1991",
	"Dizzy VI - Prince of the Yolkfolk (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdizzy6RomInfo, Specdizzy6RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy VII - Crystal Kingdom Dizzy (48K)

static struct BurnRomInfo Specdizzy7_48RomDesc[] = {
	{ "Dizzy VII - Crystal Kingdom Dizzy (1992)(Codemasters).z80", 0x0a58f, 0x9ca9af5e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizzy7_48, Specdizzy7_48, Spectrum)
STD_ROM_FN(Specdizzy7_48)

struct BurnDriver BurnSpecdizzy7_48 = {
	"spec_dizzy7_48", "spec_dizzy7", "spec_spectrum", NULL, "1992",
	"Dizzy VII - Crystal Kingdom Dizzy (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdizzy7_48RomInfo, Specdizzy7_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy VII - Crystal Kingdom Dizzy (128K)

static struct BurnRomInfo Specdizzy7RomDesc[] = {
	{ "Dizzy VII - Crystal Kingdom Dizzy (1992)(Codemasters)[128K].z80", 0x0b91d, 0x16fb82f0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizzy7, Specdizzy7, Spectrum)
STD_ROM_FN(Specdizzy7)

struct BurnDriver BurnSpecdizzy7 = {
	"spec_dizzy7", NULL, "spec_spec128", NULL, "1992",
	"Dizzy VII - Crystal Kingdom Dizzy (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdizzy7RomInfo, Specdizzy7RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy VII - Crystal Kingdom Dizzy (Russian) (128K)

static struct BurnRomInfo Specdizzy7rRomDesc[] = {
	{ "Dizzy VII - Crystal Kingdom Dizzy (1993)(Codemasters)(ru)[128K].z80", 0x0f132, 0xd6b0801d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizzy7r, Specdizzy7r, Spectrum)
STD_ROM_FN(Specdizzy7r)

struct BurnDriver BurnSpecdizzy7r = {
	"spec_dizzy7r", "spec_dizzy7", "spec_spec128", NULL, "1993",
	"Dizzy VII - Crystal Kingdom Dizzy (Russian) (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdizzy7rRomInfo, Specdizzy7rRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy VIII - Little Joke (128K)

static struct BurnRomInfo Specdizzy8ljRomDesc[] = {
	{ "Dizzy VIII - Little Joke (1996)(Timur Company)[128K].z80", 0x07f8d, 0x2a6d21af, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizzy8lj, Specdizzy8lj, Spectrum)
STD_ROM_FN(Specdizzy8lj)

struct BurnDriver BurnSpecdizzy8lj = {
	"spec_dizzy8lj", NULL, "spec_spec128", NULL, "1996",
	"Dizzy VIII - Little Joke (128K)\0", NULL, "Timur Company", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdizzy8ljRomInfo, Specdizzy8ljRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy Warehouse (128K)

static struct BurnRomInfo SpecdizzwareRomDesc[] = {
	{ "Dizzy Warehouse (1996)(Yury Schapov)[128K].z80", 0x074b3, 0x5c089c33, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizzware, Specdizzware, Spectrum)
STD_ROM_FN(Specdizzware)

struct BurnDriver BurnSpecdizzware = {
	"spec_dizzware", NULL, "spec_spec128", NULL, "1996",
	"Dizzy Warehouse (128K)\0", NULL, "Yury Schapov", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdizzwareRomInfo, SpecdizzwareRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy X - Part 1 - Journey to Russia (Russian) (128K)

static struct BurnRomInfo Specdizzy10RomDesc[] = {
	{ "Dizzy X - Part 1 - Journey to Russia (1995)(Speed Code)(ru)[128K].z80", 0x1003a, 0x3169cd00, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizzy10, Specdizzy10, Spectrum)
STD_ROM_FN(Specdizzy10)

struct BurnDriver BurnSpecdizzy10 = {
	"spec_dizzy10", NULL, "spec_spec128", NULL, "1995",
	"Dizzy X - Part 1 - Journey to Russia (Russian) (128K)\0", NULL, "Speed Code", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdizzy10RomInfo, Specdizzy10RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dizzy X - Part 2 - Return to Russia (Russian) (128K)

static struct BurnRomInfo Specdizzy102RomDesc[] = {
	{ "Dizzy X - Part 2 - Return to Russia (1995)(Speed Code)(ru)[128K].z80", 0x118ca, 0x38b17b7b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdizzy102, Specdizzy102, Spectrum)
STD_ROM_FN(Specdizzy102)

struct BurnDriver BurnSpecdizzy102 = {
	"spec_dizzy102", "spec_dizzy10", "spec_spec128", NULL, "1995",
	"Dizzy X - Part 2 - Return to Russia (Russian) (128K)\0", NULL, "Speed Code", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdizzy102RomInfo, Specdizzy102RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Djevojka sa Zapada - The Western Girl (sr) (48K)

static struct BurnRomInfo SpecdjzathweRomDesc[] = {
	{ "Djevojka sa Zapada - The Western Girl (1988)(Suzy Soft)(sr).z80", 0x0921a, 0xbf69e1fe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdjzathwe, Specdjzathwe, Spectrum)
STD_ROM_FN(Specdjzathwe)

struct BurnDriver BurnSpecdjzathwe = {
	"spec_djzathwe", NULL, "spec_spectrum", NULL, "1988",
	"Djevojka sa Zapada - The Western Girl (sr) (48K)\0", NULL, "Suzy Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdjzathweRomInfo, SpecdjzathweRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Do Not Pass Go (48K)

static struct BurnRomInfo SpecdonopagoRomDesc[] = {
	{ "Do Not Pass Go (1982)(Work Force).z80", 0x07fd1, 0xd101a2a0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdonopago, Specdonopago, Spectrum)
STD_ROM_FN(Specdonopago)

struct BurnDriver BurnSpecdonopago = {
	"spec_donopago", NULL, "spec_spectrum", NULL, "1982",
	"Do Not Pass Go (48K)\0", NULL, "Work Force", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdonopagoRomInfo, SpecdonopagoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dobyvani Hradu (cs) (48K)

static struct BurnRomInfo SpecdobyhradRomDesc[] = {
	{ "Dobyvani Hradu (1986)(Antic)(cs).z80", 0x0875b, 0xc7dea151, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdobyhrad, Specdobyhrad, Spectrum)
STD_ROM_FN(Specdobyhrad)

struct BurnDriver BurnSpecdobyhrad = {
	"spec_dobyhrad", NULL, "spec_spectrum", NULL, "1986",
	"Dobyvani Hradu (cs) (48K)\0", NULL, "Antic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdobyhradRomInfo, SpecdobyhradRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Doc the Destroyer (48K)

static struct BurnRomInfo SpecdoctdestRomDesc[] = {
	{ "Doc the Destroyer (1987)(Melbourne House).z80", 0x0a2c0, 0xb83bfac0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdoctdest, Specdoctdest, Spectrum)
STD_ROM_FN(Specdoctdest)

struct BurnDriver BurnSpecdoctdest = {
	"spec_doctdest", NULL, "spec_spectrum", NULL, "1987",
	"Doc the Destroyer (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdoctdestRomInfo, SpecdoctdestRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Doce Trabajos de Heracles, Los (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecdocetdhRomDesc[] = {
	{ "Doce Trabajos de Heracles, Los (1990)(Aventuras Mitologicas)(es)(Part 1 of 2).z80", 0x07a18, 0x6567e89a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdocetdh, Specdocetdh, Spectrum)
STD_ROM_FN(Specdocetdh)

struct BurnDriver BurnSpecdocetdh = {
	"spec_docetdh", NULL, "spec_spectrum", NULL, "1990",
	"Doce Trabajos de Heracles, Los (Spanish) (Part 1 of 2) (48K)\0", NULL, "Aventuras Mitologicas", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdocetdhRomInfo, SpecdocetdhRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Doce Trabajos de Heracles, Los (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specdocetdh2RomDesc[] = {
	{ "Doce Trabajos de Heracles, Los (1990)(Aventuras Mitologicas)(es)(Part 2 of 2).z80", 0x077ab, 0xe4e5a0b7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdocetdh2, Specdocetdh2, Spectrum)
STD_ROM_FN(Specdocetdh2)

struct BurnDriver BurnSpecdocetdh2 = {
	"spec_docetdh2", "spec_docetdh", "spec_spectrum", NULL, "1990",
	"Doce Trabajos de Heracles, Los (Spanish) (Part 2 of 2) (48K)\0", NULL, "Aventuras Mitologicas", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdocetdh2RomInfo, Specdocetdh2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Doctor What! (48K)

static struct BurnRomInfo SpecdoctwhatRomDesc[] = {
	{ "Doctor What! (1986)(CRL Group).z80", 0x08545, 0x07e350b7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdoctwhat, Specdoctwhat, Spectrum)
STD_ROM_FN(Specdoctwhat)

struct BurnDriver BurnSpecdoctwhat = {
	"spec_doctwhat", NULL, "spec_spectrum", NULL, "1986",
	"Doctor What! (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdoctwhatRomInfo, SpecdoctwhatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dodgy Geezers (Part 1 of 2) (48K)

static struct BurnRomInfo SpecdodgeezRomDesc[] = {
	{ "Dodgy Geezers (1986)(Melbourne House)(Part 1 of 2).z80", 0x0a2fd, 0xf73c094a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdodgeez, Specdodgeez, Spectrum)
STD_ROM_FN(Specdodgeez)

struct BurnDriver BurnSpecdodgeez = {
	"spec_dodgeez", NULL, "spec_spectrum", NULL, "1986",
	"Dodgy Geezers (Part 1 of 2) (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdodgeezRomInfo, SpecdodgeezRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dodgy Geezers (Part 2 of 2) (48K)

static struct BurnRomInfo Specdodgeez2RomDesc[] = {
	{ "Dodgy Geezers (1986)(Melbourne House)(Part 2 of 2).z80", 0x08cd2, 0x649f1d7c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdodgeez2, Specdodgeez2, Spectrum)
STD_ROM_FN(Specdodgeez2)

struct BurnDriver BurnSpecdodgeez2 = {
	"spec_dodgeez2", "spec_dodgeez", "spec_spectrum", NULL, "1986",
	"Dodgy Geezers (Part 2 of 2) (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdodgeez2RomInfo, Specdodgeez2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Do-Do & the Sno-Bees (48K)

static struct BurnRomInfo SpecdodosnbeRomDesc[] = {
	{ "Do-Do & the Sno-Bees (1983)(Blaby Computer Games).z80", 0x0670d, 0x1f78f022, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdodosnbe, Specdodosnbe, Spectrum)
STD_ROM_FN(Specdodosnbe)

struct BurnDriver BurnSpecdodosnbe = {
	"spec_dodosnbe", NULL, "spec_spectrum", NULL, "1983",
	"Do-Do & the Sno-Bees (48K)\0", NULL, "Blaby Computer Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdodosnbeRomInfo, SpecdodosnbeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dog Fight (48K)

static struct BurnRomInfo SpecdogfightRomDesc[] = {
	{ "Dog Fight (19xx)(-).z80", 0x04018, 0xf8bd9e80, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdogfight, Specdogfight, Spectrum)
STD_ROM_FN(Specdogfight)

struct BurnDriver BurnSpecdogfight = {
	"spec_dogfight", NULL, "spec_spectrum", NULL, "19xx",
	"Dog Fight (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdogfightRomInfo, SpecdogfightRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dog Weazle - The Megaventure (48K)

static struct BurnRomInfo SpecdowethmeRomDesc[] = {
	{ "Dog Weazle - The Megaventure (1986)(Alphasoft).z80", 0x0954a, 0x678bb011, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdowethme, Specdowethme, Spectrum)
STD_ROM_FN(Specdowethme)

struct BurnDriver BurnSpecdowethme = {
	"spec_dowethme", NULL, "spec_spectrum", NULL, "1986",
	"Dog Weazle - The Megaventure (48K)\0", NULL, "Alphasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdowethmeRomInfo, SpecdowethmeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dogboy, The (Part 1 of 2) (48K)

static struct BurnRomInfo SpecdogboyRomDesc[] = {
	{ "Dogboy, The (1985)(St. Bride's School)(Part 1 of 2).z80", 0x08f1d, 0x964399d4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdogboy, Specdogboy, Spectrum)
STD_ROM_FN(Specdogboy)

struct BurnDriver BurnSpecdogboy = {
	"spec_dogboy", NULL, "spec_spectrum", NULL, "1985",
	"Dogboy, The (Part 1 of 2) (48K)\0", NULL, "St. Bride's School", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdogboyRomInfo, SpecdogboyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dogboy, The (Part 2 of 2) (48K)

static struct BurnRomInfo Specdogboy2RomDesc[] = {
	{ "Dogboy, The (1985)(St. Bride's School)(Part 2 of 2).z80", 0x08d8b, 0xe0a27d11, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdogboy2, Specdogboy2, Spectrum)
STD_ROM_FN(Specdogboy2)

struct BurnDriver BurnSpecdogboy2 = {
	"spec_dogboy2", "spec_dogboy", "spec_spectrum", NULL, "1985",
	"Dogboy, The (Part 2 of 2) (48K)\0", NULL, "St. Bride's School", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdogboy2RomInfo, Specdogboy2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dogfight 2187 (128K)

static struct BurnRomInfo Specdogf2187RomDesc[] = {
	{ "Dogfight 2187 (1987)(Starlight Software)[128K].z80", 0x08cbc, 0x12056cd4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdogf2187, Specdogf2187, Spectrum)
STD_ROM_FN(Specdogf2187)

struct BurnDriver BurnSpecdogf2187 = {
	"spec_dogf2187", NULL, "spec_spec128", NULL, "1987",
	"Dogfight 2187 (128K)\0", NULL, "Starlight Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdogf2187RomInfo, Specdogf2187RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dogsbody to the Rescue (48K)

static struct BurnRomInfo SpecdogsrescRomDesc[] = {
	{ "Dogsbody to the Rescue (1985)(Bug-Byte Software).z80", 0x033a9, 0x07a7df52, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdogsresc, Specdogsresc, Spectrum)
STD_ROM_FN(Specdogsresc)

struct BurnDriver BurnSpecdogsresc = {
	"spec_dogsresc", NULL, "spec_spectrum", NULL, "1985",
	"Dogsbody to the Rescue (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdogsrescRomInfo, SpecdogsrescRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dokonala Vrazda (sk) (48K)

static struct BurnRomInfo SpecdokovrazRomDesc[] = {
	{ "Dokonala Vrazda (1987)(Ultrasoft)(sk).z80", 0x06148, 0x2c15a590, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdokovraz, Specdokovraz, Spectrum)
STD_ROM_FN(Specdokovraz)

struct BurnDriver BurnSpecdokovraz = {
	"spec_dokovraz", NULL, "spec_spectrum", NULL, "1987",
	"Dokonala Vrazda (sk) (48K)\0", NULL, "Ultrasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdokovrazRomInfo, SpecdokovrazRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dokonala Vrazda II - Bukapao (sk) (48K)

static struct BurnRomInfo Specdokovrz2RomDesc[] = {
	{ "Dokonala Vrazda II - Bukapao (1991)(Ultrasoft)(sk).z80", 0x09318, 0x06539a9e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdokovrz2, Specdokovrz2, Spectrum)
STD_ROM_FN(Specdokovrz2)

struct BurnDriver BurnSpecdokovrz2 = {
	"spec_dokovrz2", NULL, "spec_spectrum", NULL, "1991",
	"Dokonala Vrazda II - Bukapao (sk) (48K)\0", NULL, "Ultrasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdokovrz2RomInfo, Specdokovrz2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dollars in the Dust (48K)

static struct BurnRomInfo SpecdolldustRomDesc[] = {
	{ "Dollars in the Dust (1985)(Pelagon Software).z80", 0x09f1b, 0xc33b26b7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdolldust, Specdolldust, Spectrum)
STD_ROM_FN(Specdolldust)

struct BurnDriver BurnSpecdolldust = {
	"spec_dolldust", NULL, "spec_spectrum", NULL, "1985",
	"Dollars in the Dust (48K)\0", NULL, "Pelagon Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdolldustRomInfo, SpecdolldustRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dome Trooper (48K)

static struct BurnRomInfo SpecdometrooRomDesc[] = {
	{ "Dome Trooper (1988)(Matand Software).z80", 0x0ab6d, 0x004ef851, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdometroo, Specdometroo, Spectrum)
STD_ROM_FN(Specdometroo)

struct BurnDriver BurnSpecdometroo = {
	"spec_dometroo", NULL, "spec_spectrum", NULL, "1988",
	"Dome Trooper (48K)\0", NULL, "Matand Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdometrooRomInfo, SpecdometrooRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Domes of Sha, The (48K)

static struct BurnRomInfo SpecdomshathRomDesc[] = {
	{ "Domes of Sha, The (1988)(River Software).z80", 0x097bc, 0xe263c5d3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdomshath, Specdomshath, Spectrum)
STD_ROM_FN(Specdomshath)

struct BurnDriver BurnSpecdomshath = {
	"spec_domshath", NULL, "spec_spectrum", NULL, "1988",
	"Domes of Sha, The (48K)\0", NULL, "River Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdomshathRomInfo, SpecdomshathRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Domination (48K)

static struct BurnRomInfo SpecdominatiRomDesc[] = {
	{ "Domination (1992)(Secundus).z80", 0x07613, 0xae3a230d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdominati, Specdominati, Spectrum)
STD_ROM_FN(Specdominati)

struct BurnDriver BurnSpecdominati = {
	"spec_dominati", NULL, "spec_spectrum", NULL, "1992",
	"Domination (48K)\0", NULL, "Secundus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdominatiRomInfo, SpecdominatiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dominator (48K)

static struct BurnRomInfo SpecdominatoRomDesc[] = {
	{ "Dominator (1989)(Electric Dreams Software).z80", 0x0830e, 0x036dacd7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdominato, Specdominato, Spectrum)
STD_ROM_FN(Specdominato)

struct BurnDriver BurnSpecdominato = {
	"spec_dominato", NULL, "spec_spectrum", NULL, "1989",
	"Dominator (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdominatoRomInfo, SpecdominatoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Domine (hr) (48K)

static struct BurnRomInfo SpecdominehrRomDesc[] = {
	{ "Domine (19xx)(Moj Mikro)(hr).z80", 0x050e6, 0xad22025e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdominehr, Specdominehr, Spectrum)
STD_ROM_FN(Specdominehr)

struct BurnDriver BurnSpecdominehr = {
	"spec_dominehr", NULL, "spec_spectrum", NULL, "19xx",
	"Domine (hr) (48K)\0", NULL, "Moj Mikro", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdominehrRomInfo, SpecdominehrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dominoes (48K)

static struct BurnRomInfo SpecdominoesRomDesc[] = {
	{ "Dominoes (1988)(CDS Microsystems).z80", 0x04da6, 0x3772607b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdominoes, Specdominoes, Spectrum)
STD_ROM_FN(Specdominoes)

struct BurnDriver BurnSpecdominoes = {
	"spec_dominoes", NULL, "spec_spectrum", NULL, "1988",
	"Dominoes (48K)\0", NULL, "CDS Microsystems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdominoesRomInfo, SpecdominoesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Domino's (48K)

static struct BurnRomInfo SpecdominosRomDesc[] = {
	{ "Domino's (1985)(C.W. May).z80", 0x05d46, 0x24955b3c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdominos, Specdominos, Spectrum)
STD_ROM_FN(Specdominos)

struct BurnDriver BurnSpecdominos = {
	"spec_dominos", NULL, "spec_spectrum", NULL, "1985",
	"Domino's (48K)\0", NULL, "C.W. May", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdominosRomInfo, SpecdominosRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Don Juan Tenorio (Spanish) (48K)

static struct BurnRomInfo SpecdonjuateRomDesc[] = {
	{ "Don Juan Tenorio (1989)(Francisco Javier Rodriguez Para)(es).z80", 0x095dd, 0x95de0aeb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdonjuate, Specdonjuate, Spectrum)
STD_ROM_FN(Specdonjuate)

struct BurnDriver BurnSpecdonjuate = {
	"spec_donjuate", NULL, "spec_spectrum", NULL, "1989",
	"Don Juan Tenorio (Spanish) (48K)\0", NULL, "Francisco Javier Rodriguez Para", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdonjuateRomInfo, SpecdonjuateRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Don Quijote (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecdonquijoRomDesc[] = {
	{ "Don Quijote (1987)(Dinamic Software)(es)(Part 1 of 2).z80", 0x0ac68, 0xaca21125, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdonquijo, Specdonquijo, Spectrum)
STD_ROM_FN(Specdonquijo)

struct BurnDriver BurnSpecdonquijo = {
	"spec_donquijo", NULL, "spec_spectrum", NULL, "1987",
	"Don Quijote (Spanish) (Part 1 of 2) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdonquijoRomInfo, SpecdonquijoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Don Quijote (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specdonquijo2RomDesc[] = {
	{ "Don Quijote (1987)(Dinamic Software)(es)(Part 2 of 2).z80", 0x0a400, 0x4cca6b4b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdonquijo2, Specdonquijo2, Spectrum)
STD_ROM_FN(Specdonquijo2)

struct BurnDriver BurnSpecdonquijo2 = {
	"spec_donquijo2", "spec_donquijo", "spec_spectrum", NULL, "1987",
	"Don Quijote (Spanish) (Part 2 of 2) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdonquijo2RomInfo, Specdonquijo2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Don Quijote de la Mancha (Spanish) (48K)

static struct BurnRomInfo SpecdonquimaRomDesc[] = {
	{ "Don Quijote de la Mancha (1989)(Aventuras Level 10)(es).z80", 0x076ac, 0xbbf43b67, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdonquima, Specdonquima, Spectrum)
STD_ROM_FN(Specdonquima)

struct BurnDriver BurnSpecdonquima = {
	"spec_donquima", NULL, "spec_spectrum", NULL, "1989",
	"Don Quijote de la Mancha (Spanish) (48K)\0", NULL, "Aventuras Level 10", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdonquimaRomInfo, SpecdonquimaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Donkey Kong (48K)

static struct BurnRomInfo SpecdkongRomDesc[] = {
	{ "Donkey Kong (1986)(Ocean).z80", 0x09871, 0x4840171d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdkong, Specdkong, Spectrum)
STD_ROM_FN(Specdkong)

struct BurnDriver BurnSpecdkong = {
	"spec_dkong", NULL, "spec_spectrum", NULL, "1986",
	"Donkey Kong (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdkongRomInfo, SpecdkongRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Donkey Kong Jr. (48K)

static struct BurnRomInfo SpecdkongjrRomDesc[] = {
	{ "Donkey Kong Jr. (19xx)(Sir Clive and Mr ZX).z80", 0x02a1d, 0x91569bef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdkongjr, Specdkongjr, Spectrum)
STD_ROM_FN(Specdkongjr)

struct BurnDriver BurnSpecdkongjr = {
	"spec_dkongjr", NULL, "spec_spectrum", NULL, "19xx",
	"Donkey Kong Jr. (48K)\0", NULL, "Sir Clive and Mr ZX", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdkongjrRomInfo, SpecdkongjrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Don't Panic (48K)

static struct BurnRomInfo SpecdontpancRomDesc[] = {
	{ "Don't Panic (1985)(Firebird Software).z80", 0x03bbd, 0x75879d60, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdontpanc, Specdontpanc, Spectrum)
STD_ROM_FN(Specdontpanc)

struct BurnDriver BurnSpecdontpanc = {
	"spec_dontpanc", NULL, "spec_spectrum", NULL, "1985",
	"Don't Panic (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdontpancRomInfo, SpecdontpancRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Don't Say It, Spray It (48K)

static struct BurnRomInfo SpecdosaitspRomDesc[] = {
	{ "Don't Say It, Spray It (1988)(Pirate Software).z80", 0x0576d, 0x514451b1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdosaitsp, Specdosaitsp, Spectrum)
STD_ROM_FN(Specdosaitsp)

struct BurnDriver BurnSpecdosaitsp = {
	"spec_dosaitsp", NULL, "spec_spectrum", NULL, "1988",
	"Don't Say It, Spray It (48K)\0", NULL, "Pirate Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdosaitspRomInfo, SpecdosaitspRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Doolhof (nl) (48K)

static struct BurnRomInfo SpecdoolhofnRomDesc[] = {
	{ "Doolhof (1984)(Book)(nl).z80", 0x02ecc, 0xa90bc357, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdoolhofn, Specdoolhofn, Spectrum)
STD_ROM_FN(Specdoolhofn)

struct BurnDriver BurnSpecdoolhofn = {
	"spec_doolhofn", NULL, "spec_spectrum", NULL, "1984",
	"Doolhof (nl) (48K)\0", NULL, "Book", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdoolhofnRomInfo, SpecdoolhofnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Doom (demo) (128K)

static struct BurnRomInfo SpecdoomdemoRomDesc[] = {
	{ "Doom (demo) (1996)(Digital Reality)[128K].z80", 0x11d9a, 0xb310b6f1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdoomdemo, Specdoomdemo, Spectrum)
STD_ROM_FN(Specdoomdemo)

struct BurnDriver BurnSpecdoomdemo = {
	"spec_doomdemo", NULL, "spec_spec128", NULL, "1996",
	"Doom (demo) (128K)\0", NULL, "Digital Reality", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdoomdemoRomInfo, SpecdoomdemoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Doombase (48K)

static struct BurnRomInfo SpecdoombaseRomDesc[] = {
	{ "Doombase (1986)(Sparklers).z80", 0x08ac3, 0x1694b1a9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdoombase, Specdoombase, Spectrum)
STD_ROM_FN(Specdoombase)

struct BurnDriver BurnSpecdoombase = {
	"spec_doombase", NULL, "spec_spectrum", NULL, "1986",
	"Doombase (48K)\0", NULL, "Sparklers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdoombaseRomInfo, SpecdoombaseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Doomdark's Revenge (48K)

static struct BurnRomInfo SpecdoomreveRomDesc[] = {
	{ "Doomdark's Revenge (1985)(Beyond Software).z80", 0x0a617, 0x7dddd1d5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdoomreve, Specdoomreve, Spectrum)
STD_ROM_FN(Specdoomreve)

struct BurnDriver BurnSpecdoomreve = {
	"spec_doomreve", NULL, "spec_spectrum", NULL, "1985",
	"Doomdark's Revenge (48K)\0", NULL, "Beyond Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdoomreveRomInfo, SpecdoomreveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Doomsday Castle (48K)

static struct BurnRomInfo SpecdoomcastRomDesc[] = {
	{ "Doomsday Castle (1983)(Fantasy Software).z80", 0x091ef, 0x1a393a0d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdoomcast, Specdoomcast, Spectrum)
STD_ROM_FN(Specdoomcast)

struct BurnDriver BurnSpecdoomcast = {
	"spec_doomcast", NULL, "spec_spectrum", NULL, "1983",
	"Doomsday Castle (48K)\0", NULL, "Fantasy Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdoomcastRomInfo, SpecdoomcastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Doomsday Papers, The (48K)

static struct BurnRomInfo SpecdoopapthRomDesc[] = {
	{ "Doomsday Papers, The (1986)(Matand Software).z80", 0x0acf6, 0xf3bf545b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdoopapth, Specdoopapth, Spectrum)
STD_ROM_FN(Specdoopapth)

struct BurnDriver BurnSpecdoopapth = {
	"spec_doopapth", NULL, "spec_spectrum", NULL, "1986",
	"Doomsday Papers, The (48K)\0", NULL, "Matand Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdoopapthRomInfo, SpecdoopapthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dotty (48K)

static struct BurnRomInfo SpecdottyRomDesc[] = {
	{ "Dotty (1984)(Dollarsoft).z80", 0x0507d, 0xb6f04e80, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdotty, Specdotty, Spectrum)
STD_ROM_FN(Specdotty)

struct BurnDriver BurnSpecdotty = {
	"spec_dotty", NULL, "spec_spectrum", NULL, "1984",
	"Dotty (48K)\0", NULL, "Dollarsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdottyRomInfo, SpecdottyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Double Agent - Intro (48K)

static struct BurnRomInfo SpecdoubagntRomDesc[] = {
	{ "Double Agent - Intro (1987)(Tartan Software).z80", 0x02160, 0xfd6f02fa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdoubagnt, Specdoubagnt, Spectrum)
STD_ROM_FN(Specdoubagnt)

struct BurnDriver BurnSpecdoubagnt = {
	"spec_doubagnt", NULL, "spec_spectrum", NULL, "1987",
	"Double Agent - Intro (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdoubagntRomInfo, SpecdoubagntRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Double Agent (48K)

static struct BurnRomInfo SpecdoubagntgRomDesc[] = {
	{ "Double Agent (1987)(Tartan Software).z80", 0x0b6de, 0x6e9b6774, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdoubagntg, Specdoubagntg, Spectrum)
STD_ROM_FN(Specdoubagntg)

struct BurnDriver BurnSpecdoubagntg = {
	"spec_doubagntg", "spec_doubagnt", "spec_spectrum", NULL, "1987",
	"Double Agent (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdoubagntgRomInfo, SpecdoubagntgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Double Dash (48K)

static struct BurnRomInfo SpecdoubdashRomDesc[] = {
	{ "Double Dash (1990)(Proxima Software).z80", 0x08712, 0x50b6ca8a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdoubdash, Specdoubdash, Spectrum)
STD_ROM_FN(Specdoubdash)

struct BurnDriver BurnSpecdoubdash = {
	"spec_doubdash", NULL, "spec_spectrum", NULL, "1990",
	"Double Dash (48K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdoubdashRomInfo, SpecdoubdashRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Double Dragon III - The Rosetta Stone (128K)

static struct BurnRomInfo Specddragon3RomDesc[] = {
	{ "Double Dragon III - The Rosetta Stone (1991)(Storm Software)[128K].z80", 0x1366a, 0x63257333, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specddragon3, Specddragon3, Spectrum)
STD_ROM_FN(Specddragon3)

struct BurnDriver BurnSpecddragon3 = {
	"spec_ddragon3", NULL, "spec_spec128", NULL, "1991",
	"Double Dragon III - The Rosetta Stone (128K)\0", NULL, "Storm Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specddragon3RomInfo, Specddragon3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Double Take (48K)

static struct BurnRomInfo SpecdoubtakeRomDesc[] = {
	{ "Double Take (1986)(Ocean).z80", 0x09368, 0x2a28ab8e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdoubtake, Specdoubtake, Spectrum)
STD_ROM_FN(Specdoubtake)

struct BurnDriver BurnSpecdoubtake = {
	"spec_doubtake", NULL, "spec_spectrum", NULL, "1986",
	"Double Take (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdoubtakeRomInfo, SpecdoubtakeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Double Tennis (Spanish) (48K)

static struct BurnRomInfo SpecdoubtennRomDesc[] = {
	{ "Double Tennis (1990)(VM Soft)(es).z80", 0x0a4de, 0x37c3986f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdoubtenn, Specdoubtenn, Spectrum)
STD_ROM_FN(Specdoubtenn)

struct BurnDriver BurnSpecdoubtenn = {
	"spec_doubtenn", NULL, "spec_spectrum", NULL, "1990",
	"Double Tennis (Spanish) (48K)\0", NULL, "VM Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdoubtennRomInfo, SpecdoubtennRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Double, The (48K)

static struct BurnRomInfo SpecdoubleRomDesc[] = {
	{ "Double, The (1987)(Scanatron).z80", 0x0a705, 0xde523a18, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdouble, Specdouble, Spectrum)
STD_ROM_FN(Specdouble)

struct BurnDriver BurnSpecdouble = {
	"spec_double", NULL, "spec_spectrum", NULL, "1987",
	"Double, The (48K)\0", NULL, "Scanatron", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdoubleRomInfo, SpecdoubleRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Down to Earth (48K)

static struct BurnRomInfo SpecdowneartRomDesc[] = {
	{ "Down to Earth (1987)(Firebird Software).z80", 0x08ce2, 0xce8d968d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdowneart, Specdowneart, Spectrum)
STD_ROM_FN(Specdowneart)

struct BurnDriver BurnSpecdowneart = {
	"spec_downeart", NULL, "spec_spectrum", NULL, "1987",
	"Down to Earth (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdowneartRomInfo, SpecdowneartRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Down Under (German) (48K)

static struct BurnRomInfo SpecdownundrRomDesc[] = {
	{ "Down Under (1984)(Hansesoft)(de).z80", 0x0a090, 0x41d84ce8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdownundr, Specdownundr, Spectrum)
STD_ROM_FN(Specdownundr)

struct BurnDriver BurnSpecdownundr = {
	"spec_downundr", NULL, "spec_spectrum", NULL, "1984",
	"Down Under (German) (48K)\0", NULL, "Hansesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdownundrRomInfo, SpecdownundrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Downtown (48K)

static struct BurnRomInfo SpecdowntownRomDesc[] = {
	{ "Downtown (1991)(Atlantis Software).z80", 0x09b83, 0x01332e5b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdowntown, Specdowntown, Spectrum)
STD_ROM_FN(Specdowntown)

struct BurnDriver BurnSpecdowntown = {
	"spec_downtown", NULL, "spec_spectrum", NULL, "1991",
	"Downtown (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdowntownRomInfo, SpecdowntownRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dr. Franky and the Monster (48K)

static struct BurnRomInfo SpecdrfrankyRomDesc[] = {
	{ "Dr. Franky and the Monster (1984)(Virgin Games).z80", 0x0615a, 0xe441adae, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdrfranky, Specdrfranky, Spectrum)
STD_ROM_FN(Specdrfranky)

struct BurnDriver BurnSpecdrfranky = {
	"spec_drfranky", NULL, "spec_spectrum", NULL, "1984",
	"Dr. Franky and the Monster (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdrfrankyRomInfo, SpecdrfrankyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dr. Genius (fr) (48K)

static struct BurnRomInfo SpecdrgeniusRomDesc[] = {
	{ "Dr. Genius (1984)(Loriciels)(fr).z80", 0x09e15, 0x1f2f5a97, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdrgenius, Specdrgenius, Spectrum)
STD_ROM_FN(Specdrgenius)

struct BurnDriver BurnSpecdrgenius = {
	"spec_drgenius", NULL, "spec_spectrum", NULL, "1984",
	"Dr. Genius (fr) (48K)\0", NULL, "Loriciels", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdrgeniusRomInfo, SpecdrgeniusRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dr. Jackle and Mr. Wide (48K)

static struct BurnRomInfo SpecdrjamrwiRomDesc[] = {
	{ "Dr. Jackle and Mr. Wide (1987)(Bulldog).z80", 0x084a4, 0x21785d00, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdrjamrwi, Specdrjamrwi, Spectrum)
STD_ROM_FN(Specdrjamrwi)

struct BurnDriver BurnSpecdrjamrwi = {
	"spec_drjamrwi", NULL, "spec_spectrum", NULL, "1987",
	"Dr. Jackle and Mr. Wide (48K)\0", NULL, "Bulldog", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdrjamrwiRomInfo, SpecdrjamrwiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dr. Jekyl und die Geheimformel (German) (48K)

static struct BurnRomInfo SpecdrjekyluRomDesc[] = {
	{ "Dr. Jekyl und die Geheimformel (1985)(Potz Blitz)(de).z80", 0x09878, 0xd1d53727, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdrjekylu, Specdrjekylu, Spectrum)
STD_ROM_FN(Specdrjekylu)

struct BurnDriver BurnSpecdrjekylu = {
	"spec_drjekylu", NULL, "spec_spectrum", NULL, "1985",
	"Dr. Jekyl und die Geheimformel (German) (48K)\0", NULL, "Potz Blitz", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdrjekyluRomInfo, SpecdrjekyluRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dr. Jekyll and Mr. Hyde - Part 1 - Dichotomies (48K)

static struct BurnRomInfo Specdjmhpd_48RomDesc[] = {
	{ "Dr. Jekyll and Mr. Hyde - Part 1 - Dichotomies (1988)(Essential Myth).z80", 0x09df7, 0x76503c64, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdjmhpd_48, Specdjmhpd_48, Spectrum)
STD_ROM_FN(Specdjmhpd_48)

struct BurnDriver BurnSpecdjmhpd_48 = {
	"spec_djmhpd_48", "spec_djmhpd", "spec_spectrum", NULL, "1988",
	"Dr. Jekyll and Mr. Hyde - Part 1 - Dichotomies (48K)\0", NULL, "Essential Myth", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdjmhpd_48RomInfo, Specdjmhpd_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dr. Jekyll and Mr. Hyde - Part 1 - Dichotomies (128K)

static struct BurnRomInfo SpecdjmhpdRomDesc[] = {
	{ "Dr. Jekyll and Mr. Hyde - Part 1 - Dichotomies (1988)(Essential Myth)[128K].z80", 0x0e61d, 0xbb4cbd62, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdjmhpd, Specdjmhpd, Spectrum)
STD_ROM_FN(Specdjmhpd)

struct BurnDriver BurnSpecdjmhpd = {
	"spec_djmhpd", NULL, "spec_spec128", NULL, "1988",
	"Dr. Jekyll and Mr. Hyde - Part 1 - Dichotomies (128K)\0", NULL, "Essential Myth", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdjmhpdRomInfo, SpecdjmhpdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dr. Jekyll and Mr. Hyde - Part 2 - Duplicity (48K)

static struct BurnRomInfo Specdjmhpd2_48RomDesc[] = {
	{ "Dr. Jekyll and Mr. Hyde - Part 2 - Duplicity (1988)(Essential Myth).z80", 0x097d3, 0xf008e200, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdjmhpd2_48, Specdjmhpd2_48, Spectrum)
STD_ROM_FN(Specdjmhpd2_48)

struct BurnDriver BurnSpecdjmhpd2_48 = {
	"spec_djmhpd2_48", "spec_djmhpd", "spec_spectrum", NULL, "1988",
	"Dr. Jekyll and Mr. Hyde - Part 2 - Duplicity (48K)\0", NULL, "Essential Myth", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdjmhpd2_48RomInfo, Specdjmhpd2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dr. Jekyll and Mr. Hyde - Part 2 - Duplicity (128K)

static struct BurnRomInfo Specdjmhpd2RomDesc[] = {
	{ "Dr. Jekyll and Mr. Hyde - Part 2 - Duplicity (1988)(Essential Myth)[128K].z80", 0x0bebd, 0x591c8c7e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdjmhpd2, Specdjmhpd2, Spectrum)
STD_ROM_FN(Specdjmhpd2)

struct BurnDriver BurnSpecdjmhpd2 = {
	"spec_djmhpd2", "spec_djmhpd", "spec_spec128", NULL, "1988",
	"Dr. Jekyll and Mr. Hyde - Part 2 - Duplicity (128K)\0", NULL, "Essential Myth", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdjmhpd2RomInfo, Specdjmhpd2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dr. Jekyll and Mr. Hyde - Part 3 - Denouement (48K)

static struct BurnRomInfo Specdjmhpd3_48RomDesc[] = {
	{ "Dr. Jekyll and Mr. Hyde - Part 3 - Denouement (1988)(Essential Myth).z80", 0x0892c, 0xd739db94, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdjmhpd3_48, Specdjmhpd3_48, Spectrum)
STD_ROM_FN(Specdjmhpd3_48)

struct BurnDriver BurnSpecdjmhpd3_48 = {
	"spec_djmhpd3_48", "spec_djmhpd", "spec_spectrum", NULL, "1988",
	"Dr. Jekyll and Mr. Hyde - Part 3 - Denouement (48K)\0", NULL, "Essential Myth", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdjmhpd3_48RomInfo, Specdjmhpd3_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dr. Jekyll and Mr. Hyde - Part 3 - Denouement (128K)

static struct BurnRomInfo Specdjmhpd3RomDesc[] = {
	{ "Dr. Jekyll and Mr. Hyde - Part 3 - Denouement (1988)(Essential Myth)[128K].z80", 0x09020, 0x854e7cfc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdjmhpd3, Specdjmhpd3, Spectrum)
STD_ROM_FN(Specdjmhpd3)

struct BurnDriver BurnSpecdjmhpd3 = {
	"spec_djmhpd3", "spec_djmhpd", "spec_spec128", NULL, "1988",
	"Dr. Jekyll and Mr. Hyde - Part 3 - Denouement (128K)\0", NULL, "Essential Myth", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdjmhpd3RomInfo, Specdjmhpd3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dr. Jekyll vs Mr Hyde (Spanish) (48K)

static struct BurnRomInfo SpecdrjemrhyRomDesc[] = {
	{ "Dr. Jekyll vs Mr Hyde (1989)(Morbosoft)(es).z80", 0x09ce6, 0x22be1637, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdrjemrhy, Specdrjemrhy, Spectrum)
STD_ROM_FN(Specdrjemrhy)

struct BurnDriver BurnSpecdrjemrhy = {
	"spec_drjemrhy", NULL, "spec_spectrum", NULL, "1989",
	"Dr. Jekyll vs Mr Hyde (Spanish) (48K)\0", NULL, "Morbosoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdrjemrhyRomInfo, SpecdrjemrhyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dr. Maddo (48K)

static struct BurnRomInfo SpecdrmaddoRomDesc[] = {
	{ "Dr. Maddo (1986)(U.S. Gold).z80", 0x0a4bc, 0x25b906c8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdrmaddo, Specdrmaddo, Spectrum)
STD_ROM_FN(Specdrmaddo)

struct BurnDriver BurnSpecdrmaddo = {
	"spec_drmaddo", NULL, "spec_spectrum", NULL, "1986",
	"Dr. Maddo (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdrmaddoRomInfo, SpecdrmaddoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Draconus (48K)

static struct BurnRomInfo SpecdraconusRomDesc[] = {
	{ "Draconus (1988)(Zeppelin Games).z80", 0x09751, 0x4364bff8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdraconus, Specdraconus, Spectrum)
STD_ROM_FN(Specdraconus)

struct BurnDriver BurnSpecdraconus = {
	"spec_draconus", NULL, "spec_spectrum", NULL, "1988",
	"Draconus (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdraconusRomInfo, SpecdraconusRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dracula - Part 1 - The First Night (48K)

static struct BurnRomInfo SpecdraculaRomDesc[] = {
	{ "Dracula - Part 1 - The First Night (1986)(CRL Group).z80", 0x0a063, 0x99870c65, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdracula, Specdracula, Spectrum)
STD_ROM_FN(Specdracula)

struct BurnDriver BurnSpecdracula = {
	"spec_dracula", NULL, "spec_spectrum", NULL, "1986",
	"Dracula - Part 1 - The First Night (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdraculaRomInfo, SpecdraculaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dracula - Part 2 - The Arrival (48K)

static struct BurnRomInfo Specdracula2RomDesc[] = {
	{ "Dracula - Part 2 - The Arrival (1986)(CRL Group).z80", 0x0a3c2, 0x296f5cc0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdracula2, Specdracula2, Spectrum)
STD_ROM_FN(Specdracula2)

struct BurnDriver BurnSpecdracula2 = {
	"spec_dracula2", "spec_dracula", "spec_spectrum", NULL, "1986",
	"Dracula - Part 2 - The Arrival (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdracula2RomInfo, Specdracula2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dracula - Part 3 - The Hunt (48K)

static struct BurnRomInfo Specdracula3RomDesc[] = {
	{ "Dracula - Part 3 - The Hunt (1986)(CRL Group).z80", 0x09ddb, 0xf3cade45, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdracula3, Specdracula3, Spectrum)
STD_ROM_FN(Specdracula3)

struct BurnDriver BurnSpecdracula3 = {
	"spec_dracula3", "spec_dracula", "spec_spectrum", NULL, "1986",
	"Dracula - Part 3 - The Hunt (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdracula3RomInfo, Specdracula3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dragon Breed (48K)

static struct BurnRomInfo SpecdrgbreedRomDesc[] = {
	{ "Dragon Breed (1989)(Activision).z80", 0x0894c, 0x9cfece69, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdrgbreed, Specdrgbreed, Spectrum)
STD_ROM_FN(Specdrgbreed)

struct BurnDriver BurnSpecdrgbreed = {
	"spec_drgbreed", NULL, "spec_spectrum", NULL, "1989",
	"Dragon Breed (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdrgbreedRomInfo, SpecdrgbreedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dragon Ninja (128K)

static struct BurnRomInfo SpecdninjaRomDesc[] = {
	{ "Dragon Ninja (1988)(Imagine Software)[128K].z80", 0x186ff, 0xf7171c64, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdninja, Specdninja, Spectrum)
STD_ROM_FN(Specdninja)

struct BurnDriver BurnSpecdninja = {
	"spec_dninja", NULL, "spec_spec128", NULL, "1988",
	"Dragon Ninja (128K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdninjaRomInfo, SpecdninjaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dragon Quest (48K)

static struct BurnRomInfo SpecdragquesRomDesc[] = {
	{ "Dragon Quest (1994)(Zenobi Software).z80", 0x08efb, 0xa4b4fbea, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdragques, Specdragques, Spectrum)
STD_ROM_FN(Specdragques)

struct BurnDriver BurnSpecdragques = {
	"spec_dragques", NULL, "spec_spectrum", NULL, "1994",
	"Dragon Quest (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdragquesRomInfo, SpecdragquesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dragon Slayer (48K)

static struct BurnRomInfo SpecdragslayRomDesc[] = {
	{ "Dragon Slayer (1984)(Double Play Adventures).z80", 0x08115, 0x1387dbc9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdragslay, Specdragslay, Spectrum)
STD_ROM_FN(Specdragslay)

struct BurnDriver BurnSpecdragslay = {
	"spec_dragslay", NULL, "spec_spectrum", NULL, "1984",
	"Dragon Slayer (48K)\0", NULL, "Double Play Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdragslayRomInfo, SpecdragslayRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dragon Star Trilogy, The (Part 1 of 3) (48K)

static struct BurnRomInfo SpecdstartriRomDesc[] = {
	{ "Dragon Star Trilogy, The (19xx)(Delta 4 Software)(Part 1 of 3).z80", 0x084c0, 0x816869e4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdstartri, Specdstartri, Spectrum)
STD_ROM_FN(Specdstartri)

struct BurnDriver BurnSpecdstartri = {
	"spec_dstartri", NULL, "spec_spectrum", NULL, "19xx",
	"Dragon Star Trilogy, The (Part 1 of 3) (48K)\0", NULL, "Delta 4 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdstartriRomInfo, SpecdstartriRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dragon Star Trilogy, The (Part 2 of 2) (48K)

static struct BurnRomInfo Specdstartri2RomDesc[] = {
	{ "Dragon Star Trilogy, The (19xx)(Delta 4 Software)(Part 2 of 2).z80", 0x04768, 0x5df99962, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdstartri2, Specdstartri2, Spectrum)
STD_ROM_FN(Specdstartri2)

struct BurnDriver BurnSpecdstartri2 = {
	"spec_dstartri2", "spec_dstartri", "spec_spectrum", NULL, "19xx",
	"Dragon Star Trilogy, The (Part 2 of 2) (48K)\0", NULL, "Delta 4 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdstartri2RomInfo, Specdstartri2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dragon Star Trilogy, The (Part 3 of 3) (48K)

static struct BurnRomInfo Specdstartri3RomDesc[] = {
	{ "Dragon Star Trilogy, The (19xx)(Delta 4 Software)(Part 3 of 3).z80", 0x0a3b6, 0x607016eb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdstartri3, Specdstartri3, Spectrum)
STD_ROM_FN(Specdstartri3)

struct BurnDriver BurnSpecdstartri3 = {
	"spec_dstartri3", "spec_dstartri", "spec_spectrum", NULL, "19xx",
	"Dragon Star Trilogy, The (Part 3 of 3) (48K)\0", NULL, "Delta 4 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdstartri3RomInfo, Specdstartri3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dragonfire (48K)

static struct BurnRomInfo SpecdrgnfireRomDesc[] = {
	{ "Dragonfire (1984)(Cheetahsoft).z80", 0x02e34, 0x5478cd07, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdrgnfire, Specdrgnfire, Spectrum)
STD_ROM_FN(Specdrgnfire)

struct BurnDriver BurnSpecdrgnfire = {
	"spec_drgnfire", NULL, "spec_spectrum", NULL, "1984",
	"Dragonfire (48K)\0", NULL, "Cheetahsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdrgnfireRomInfo, SpecdrgnfireRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dragon's Lair II - Escape from Singe's Castle (128K)

static struct BurnRomInfo Specdlair2RomDesc[] = {
	{ "Dragon's Lair II - Escape from Singe's Castle (1987)(Software Projects)[128K].z80", 0x0cf18, 0x38dde70e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdlair2, Specdlair2, Spectrum)
STD_ROM_FN(Specdlair2)

struct BurnDriver BurnSpecdlair2 = {
	"spec_dlair2", NULL, "spec_spec128", NULL, "1987",
	"Dragon's Lair II - Escape from Singe's Castle (128K)\0", NULL, "Software Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdlair2RomInfo, Specdlair2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dragons of Flame (48K)

static struct BurnRomInfo SpecdragflamRomDesc[] = {
	{ "Dragons of Flame (1990)(U.S. Gold).z80", 0x07d50, 0x41a5778c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdragflam, Specdragflam, Spectrum)
STD_ROM_FN(Specdragflam)

struct BurnDriver BurnSpecdragflam = {
	"spec_dragflam", NULL, "spec_spectrum", NULL, "1990",
	"Dragons of Flame (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdragflamRomInfo, SpecdragflamRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dragonsbane (48K)

static struct BurnRomInfo SpecdragonsbRomDesc[] = {
	{ "Dragonsbane (1983)(Quicksilva).z80", 0x095a6, 0x3b2935b7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdragonsb, Specdragonsb, Spectrum)
STD_ROM_FN(Specdragonsb)

struct BurnDriver BurnSpecdragonsb = {
	"spec_dragonsb", NULL, "spec_spectrum", NULL, "1983",
	"Dragonsbane (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdragonsbRomInfo, SpecdragonsbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dragontorc (48K)

static struct BurnRomInfo SpecdragontoRomDesc[] = {
	{ "Dragontorc (1985)(Hewson Consultants).z80", 0x09b52, 0xa79b18db, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdragonto, Specdragonto, Spectrum)
STD_ROM_FN(Specdragonto)

struct BurnDriver BurnSpecdragonto = {
	"spec_dragonto", NULL, "spec_spectrum", NULL, "1985",
	"Dragontorc (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdragontoRomInfo, SpecdragontoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Drakkar (Spanish) (48K)

static struct BurnRomInfo SpecdrakkareRomDesc[] = {
	{ "Drakkar (1989)(Delta Software)(es).z80", 0x08fd0, 0x6c8eb62d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdrakkare, Specdrakkare, Spectrum)
STD_ROM_FN(Specdrakkare)

struct BurnDriver BurnSpecdrakkare = {
	"spec_drakkare", NULL, "spec_spectrum", NULL, "1989",
	"Drakkar (Spanish) (48K)\0", NULL, "Delta Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdrakkareRomInfo, SpecdrakkareRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Draughts (P. Macey) (48K)

static struct BurnRomInfo SpecdrghtspmRomDesc[] = {
	{ "Draughts (1983)(P. Macey).z80", 0x078f5, 0x5d949937, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdrghtspm, Specdrghtspm, Spectrum)
STD_ROM_FN(Specdrghtspm)

struct BurnDriver BurnSpecdrghtspm = {
	"spec_drghtspm", NULL, "spec_spectrum", NULL, "1983",
	"Draughts (P. Macey) (48K)\0", NULL, "P. Macey", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdrghtspmRomInfo, SpecdrghtspmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Draughts (Book) (48K)

static struct BurnRomInfo SpecdrghtsbkRomDesc[] = {
	{ "Draughts (1984)(Book).z80", 0x0217d, 0x185ff9e0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdrghtsbk, Specdrghtsbk, Spectrum)
STD_ROM_FN(Specdrghtsbk)

struct BurnDriver BurnSpecdrghtsbk = {
	"spec_drghtsbk", NULL, "spec_spectrum", NULL, "1984",
	"Draughts (Book) (48K)\0", NULL, "Book", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdrghtsbkRomInfo, SpecdrghtsbkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Draughts (Oasis Software) (48K)

static struct BurnRomInfo SpecdrghtsosRomDesc[] = {
	{ "Draughts (1984)(Oasis Software).z80", 0x02a4b, 0x02899981, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdrghtsos, Specdrghtsos, Spectrum)
STD_ROM_FN(Specdrghtsos)

struct BurnDriver BurnSpecdrghtsos = {
	"spec_drghtsos", NULL, "spec_spectrum", NULL, "1984",
	"Draughts (Oasis Software) (48K)\0", NULL, "Oasis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdrghtsosRomInfo, SpecdrghtsosRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Draughts Genius (48K)

static struct BurnRomInfo SpecdraugeniRomDesc[] = {
	{ "Draughts Genius (1987)(Rack-It).z80", 0x0a43d, 0x3fd7f3f9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdraugeni, Specdraugeni, Spectrum)
STD_ROM_FN(Specdraugeni)

struct BurnDriver BurnSpecdraugeni = {
	"spec_draugeni", NULL, "spec_spectrum", NULL, "1987",
	"Draughts Genius (48K)\0", NULL, "Rack-It", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdraugeniRomInfo, SpecdraugeniRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Draughts Master (48K)

static struct BurnRomInfo SpecdraumastRomDesc[] = {
	{ "Draughts Master (1982)(CP Software).z80", 0x02572, 0x42e69b6f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdraumast, Specdraumast, Spectrum)
STD_ROM_FN(Specdraumast)

struct BurnDriver BurnSpecdraumast = {
	"spec_draumast", NULL, "spec_spectrum", NULL, "1982",
	"Draughts Master (48K)\0", NULL, "CP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdraumastRomInfo, SpecdraumastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Drazen Petrovic Basket (Spanish) (48K)

static struct BurnRomInfo Specdrapetba_48RomDesc[] = {
	{ "Drazen Petrovic Basket (1989)(Topo Soft)(es).z80", 0x04198, 0x53901c78, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdrapetba_48, Specdrapetba_48, Spectrum)
STD_ROM_FN(Specdrapetba_48)

struct BurnDriver BurnSpecdrapetba_48 = {
	"spec_drapetba_48", "spec_drapetba", "spec_spectrum", NULL, "1989",
	"Drazen Petrovic Basket (Spanish) (48K)\0", NULL, "Topo Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdrapetba_48RomInfo, Specdrapetba_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Drazen Petrovic Basket (Spanish) (128K)

static struct BurnRomInfo SpecdrapetbaRomDesc[] = {
	{ "Drazen Petrovic Basket (1989)(Topo Soft)(es)[128K].z80", 0x0d538, 0x61f629dc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdrapetba, Specdrapetba, Spectrum)
STD_ROM_FN(Specdrapetba)

struct BurnDriver BurnSpecdrapetba = {
	"spec_drapetba", NULL, "spec_spec128", NULL, "1989",
	"Drazen Petrovic Basket (Spanish) (128K)\0", NULL, "Topo Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdrapetbaRomInfo, SpecdrapetbaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dreadnoughts (48K)

static struct BurnRomInfo SpecdreadnouRomDesc[] = {
	{ "Dreadnoughts (1983)(MC Lothlorien).z80", 0x09674, 0x47a9bc61, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdreadnou, Specdreadnou, Spectrum)
STD_ROM_FN(Specdreadnou)

struct BurnDriver BurnSpecdreadnou = {
	"spec_dreadnou", NULL, "spec_spectrum", NULL, "1983",
	"Dreadnoughts (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdreadnouRomInfo, SpecdreadnouRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dream Warrior (48K)

static struct BurnRomInfo Specdreawarr_48RomDesc[] = {
	{ "Dream Warrior (1988)(U.S. Gold).z80", 0x095c2, 0xc69d1a70, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdreawarr_48, Specdreawarr_48, Spectrum)
STD_ROM_FN(Specdreawarr_48)

struct BurnDriver BurnSpecdreawarr_48 = {
	"spec_dreawarr_48", "spec_dreawarr", "spec_spectrum", NULL, "1988",
	"Dream Warrior (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdreawarr_48RomInfo, Specdreawarr_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dream Warrior (128K)

static struct BurnRomInfo SpecdreawarrRomDesc[] = {
	{ "Dream Warrior (1988)(U.S. Gold)[128K].z80", 0x0da79, 0xc2eb12f0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdreawarr, Specdreawarr, Spectrum)
STD_ROM_FN(Specdreawarr)

struct BurnDriver BurnSpecdreawarr = {
	"spec_dreawarr", NULL, "spec_spec128", NULL, "1988",
	"Dream Warrior (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdreawarrRomInfo, SpecdreawarrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Driller (48K)

static struct BurnRomInfo SpecdrillerRomDesc[] = {
	{ "Driller (1987)(Incentive Software).z80", 0x0a6ed, 0x87115b09, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdriller, Specdriller, Spectrum)
STD_ROM_FN(Specdriller)

struct BurnDriver BurnSpecdriller = {
	"spec_driller", NULL, "spec_spectrum", NULL, "1987",
	"Driller (48K)\0", NULL, "Incentive Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdrillerRomInfo, SpecdrillerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Driller Tanks (48K)

static struct BurnRomInfo SpecdriltankRomDesc[] = {
	{ "Driller Tanks (1983)(Sinclair Research).z80", 0x0353f, 0xed356028, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdriltank, Specdriltank, Spectrum)
STD_ROM_FN(Specdriltank)

struct BurnDriver BurnSpecdriltank = {
	"spec_driltank", NULL, "spec_spectrum", NULL, "1983",
	"Driller Tanks (48K)\0", NULL, "Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdriltankRomInfo, SpecdriltankRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Drive-In, The (48K)

static struct BurnRomInfo SpecdriintheRomDesc[] = {
	{ "Drive-In, The (1984)(Fantasy Software).z80", 0x07026, 0xfc0c719a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdriinthe, Specdriinthe, Spectrum)
STD_ROM_FN(Specdriinthe)

struct BurnDriver BurnSpecdriinthe = {
	"spec_driinthe", NULL, "spec_spectrum", NULL, "1984",
	"Drive-In, The (48K)\0", NULL, "Fantasy Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdriintheRomInfo, SpecdriintheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Druid (48K)

static struct BurnRomInfo SpecdruidRomDesc[] = {
	{ "Druid (1986)(Firebird Software).z80", 0x07d22, 0x16812a6b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdruid, Specdruid, Spectrum)
STD_ROM_FN(Specdruid)

struct BurnDriver BurnSpecdruid = {
	"spec_druid", NULL, "spec_spectrum", NULL, "1986",
	"Druid (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdruidRomInfo, SpecdruidRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Druid II - Enlightenment (48K)

static struct BurnRomInfo Specdruid2RomDesc[] = {
	{ "Druid II - Enlightenment (1986)(Firebird Software).z80", 0x0a20c, 0x4822960f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdruid2, Specdruid2, Spectrum)
STD_ROM_FN(Specdruid2)

struct BurnDriver BurnSpecdruid2 = {
	"spec_druid2", NULL, "spec_spectrum", NULL, "1986",
	"Druid II - Enlightenment (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdruid2RomInfo, Specdruid2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Druids Moon (48K)

static struct BurnRomInfo SpecdruimoonRomDesc[] = {
	{ "Druids Moon (1987)(Alternative Software).z80", 0x0a71d, 0xee825487, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdruimoon, Specdruimoon, Spectrum)
STD_ROM_FN(Specdruimoon)

struct BurnDriver BurnSpecdruimoon = {
	"spec_druimoon", NULL, "spec_spectrum", NULL, "1987",
	"Druids Moon (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdruimoonRomInfo, SpecdruimoonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Drunk Policeman (48K)

static struct BurnRomInfo SpecdrunpoliRomDesc[] = {
	{ "Drunk Policeman (1985)(Automata UK).z80", 0x05535, 0xf771ea51, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdrunpoli, Specdrunpoli, Spectrum)
STD_ROM_FN(Specdrunpoli)

struct BurnDriver BurnSpecdrunpoli = {
	"spec_drunpoli", NULL, "spec_spectrum", NULL, "1985",
	"Drunk Policeman (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdrunpoliRomInfo, SpecdrunpoliRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Duck Out! (48K)

static struct BurnRomInfo SpecduckoutRomDesc[] = {
	{ "Duck Out! (1989)(Dro Soft).z80", 0x098b4, 0x4edb88a7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specduckout, Specduckout, Spectrum)
STD_ROM_FN(Specduckout)

struct BurnDriver BurnSpecduckout = {
	"spec_duckout", NULL, "spec_spectrum", NULL, "1989",
	"Duck Out! (48K)\0", NULL, "Dro Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecduckoutRomInfo, SpecduckoutRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Duct, The (48K)

static struct BurnRomInfo SpecducttheRomDesc[] = {
	{ "Duct, The (1988)(Gremlin Graphics Software).z80", 0x0a605, 0xffa98615, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specductthe, Specductthe, Spectrum)
STD_ROM_FN(Specductthe)

struct BurnDriver BurnSpecductthe = {
	"spec_ductthe", NULL, "spec_spectrum", NULL, "1988",
	"Duct, The (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecducttheRomInfo, SpecducttheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Duet - Commando '87 (48K)

static struct BurnRomInfo SpecduetcommRomDesc[] = {
	{ "Duet - Commando '87 (1987)(Elite Systems).z80", 0x0a041, 0x15b43210, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specduetcomm, Specduetcomm, Spectrum)
STD_ROM_FN(Specduetcomm)

struct BurnDriver BurnSpecduetcomm = {
	"spec_duetcomm", NULL, "spec_spectrum", NULL, "1987",
	"Duet - Commando '87 (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecduetcommRomInfo, SpecduetcommRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Duggy (German) (48K)

static struct BurnRomInfo SpecduggydeRomDesc[] = {
	{ "Duggy (19xx)(-)(de).z80", 0x01a9c, 0x098f1f63, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specduggyde, Specduggyde, Spectrum)
STD_ROM_FN(Specduggyde)

struct BurnDriver BurnSpecduggyde = {
	"spec_duggyde", NULL, "spec_spectrum", NULL, "19xx",
	"Duggy (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecduggydeRomInfo, SpecduggydeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dukes of Hazzard (48K)

static struct BurnRomInfo SpecdukehazzRomDesc[] = {
	{ "Dukes of Hazzard (1985)(Elite Systems).z80", 0x094a4, 0x13c8b197, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdukehazz, Specdukehazz, Spectrum)
STD_ROM_FN(Specdukehazz)

struct BurnDriver BurnSpecdukehazz = {
	"spec_dukehazz", NULL, "spec_spectrum", NULL, "1985",
	"Dukes of Hazzard (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdukehazzRomInfo, SpecdukehazzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dummy (48K)

static struct BurnRomInfo SpecdummyRomDesc[] = {
	{ "Dummy (1985)(Elite Systems).z80", 0x0b4c3, 0xc122c161, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdummy, Specdummy, Spectrum)
STD_ROM_FN(Specdummy)

struct BurnDriver BurnSpecdummy = {
	"spec_dummy", NULL, "spec_spectrum", NULL, "1985",
	"Dummy (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdummyRomInfo, SpecdummyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dun Darach (48K)

static struct BurnRomInfo SpecdundaracRomDesc[] = {
	{ "Dun Darach (1985)(Gargoyle Games).z80", 0x0a422, 0x4c096fa1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdundarac, Specdundarac, Spectrum)
STD_ROM_FN(Specdundarac)

struct BurnDriver BurnSpecdundarac = {
	"spec_dundarac", NULL, "spec_spectrum", NULL, "1985",
	"Dun Darach (48K)\0", NULL, "Gargoyle Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdundaracRomInfo, SpecdundaracRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dundees European Challenge (48K)

static struct BurnRomInfo SpecduneurchRomDesc[] = {
	{ "Dundees European Challenge (1986)(Season Soft).z80", 0x0b558, 0x1b9d5251, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specduneurch, Specduneurch, Spectrum)
STD_ROM_FN(Specduneurch)

struct BurnDriver BurnSpecduneurch = {
	"spec_duneurch", NULL, "spec_spectrum", NULL, "1986",
	"Dundees European Challenge (48K)\0", NULL, "Season Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecduneurchRomInfo, SpecduneurchRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dungeon Master, The (Part 1 of 2) (48K)

static struct BurnRomInfo SpecdrgnmastRomDesc[] = {
	{ "Dungeon Master, The (1983)(Crystal Computing)(Part 1 of 2).z80", 0x07d7b, 0xd367ff98, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdrgnmast, Specdrgnmast, Spectrum)
STD_ROM_FN(Specdrgnmast)

struct BurnDriver BurnSpecdrgnmast = {
	"spec_drgnmast", NULL, "spec_spectrum", NULL, "1983",
	"Dungeon Master, The (Part 1 of 2) (48K)\0", NULL, "Crystal Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdrgnmastRomInfo, SpecdrgnmastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dungeon Master, The (Part 2 of 2) (48K)

static struct BurnRomInfo Specdrgnmast2RomDesc[] = {
	{ "Dungeon Master, The (1983)(Crystal Computing)(Part 2 of 2).z80", 0x04bcc, 0x5c274380, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdrgnmast2, Specdrgnmast2, Spectrum)
STD_ROM_FN(Specdrgnmast2)

struct BurnDriver BurnSpecdrgnmast2 = {
	"spec_drgnmast2", "spec_drgnmast", "spec_spectrum", NULL, "1983",
	"Dungeon Master, The (Part 2 of 2) (48K)\0", NULL, "Crystal Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdrgnmast2RomInfo, Specdrgnmast2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dungeon, The (German) (48K)

static struct BurnRomInfo SpecdungthedRomDesc[] = {
	{ "Dungeon, The (19xx)(Patrick Thiel)(de).z80", 0x092e1, 0x3845b9bb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdungthed, Specdungthed, Spectrum)
STD_ROM_FN(Specdungthed)

struct BurnDriver BurnSpecdungthed = {
	"spec_dungthed", NULL, "spec_spectrum", NULL, "19xx",
	"Dungeon, The (German) (48K)\0", NULL, "Patrick Thiel", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdungthedRomInfo, SpecdungthedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dungeons of Maldread, The (48K)

static struct BurnRomInfo SpecdunmalthRomDesc[] = {
	{ "Dungeons of Maldread, The (1995)(Zenobi Software).z80", 0x0948d, 0xc2e6587f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdunmalth, Specdunmalth, Spectrum)
STD_ROM_FN(Specdunmalth)

struct BurnDriver BurnSpecdunmalth = {
	"spec_dunmalth", NULL, "spec_spectrum", NULL, "1995",
	"Dungeons of Maldread, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdunmalthRomInfo, SpecdunmalthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dunshalt Donut, The (48K)

static struct BurnRomInfo SpecdundonthRomDesc[] = {
	{ "Dunshalt Donut, The (1984)(Anubis Software).z80", 0x08e67, 0x09bdbf3b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdundonth, Specdundonth, Spectrum)
STD_ROM_FN(Specdundonth)

struct BurnDriver BurnSpecdundonth = {
	"spec_dundonth", NULL, "spec_spectrum", NULL, "1984",
	"Dunshalt Donut, The (48K)\0", NULL, "Anubis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdundonthRomInfo, SpecdundonthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dusarlyn (Spanish) (48K)

static struct BurnRomInfo SpecdusarlynRomDesc[] = {
	{ "Dusarlyn (2003)(Crazy Soft)(es).z80", 0x057f7, 0x53914186, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdusarlyn, Specdusarlyn, Spectrum)
STD_ROM_FN(Specdusarlyn)

struct BurnDriver BurnSpecdusarlyn = {
	"spec_dusarlyn", NULL, "spec_spectrum", NULL, "2003",
	"Dusarlyn (Spanish) (48K)\0", NULL, "Crazy Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdusarlynRomInfo, SpecdusarlynRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dusk over Elfinton (Part 1 of 2) (48K)

static struct BurnRomInfo SpecduskelfRomDesc[] = {
	{ "Dusk over Elfinton (1987)(Skyslip Software)(Part 1 of 2).z80", 0x0a496, 0xfff4468a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specduskelf, Specduskelf, Spectrum)
STD_ROM_FN(Specduskelf)

struct BurnDriver BurnSpecduskelf = {
	"spec_duskelf", NULL, "spec_spectrum", NULL, "1987",
	"Dusk over Elfinton (Part 1 of 2) (48K)\0", NULL, "Skyslip Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecduskelfRomInfo, SpecduskelfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dusk over Elfinton (Part 2 of 2) (48K)

static struct BurnRomInfo Specduskelf2RomDesc[] = {
	{ "Dusk over Elfinton (1987)(Skyslip Software)(Part 2 of 2).z80", 0x0a28a, 0x5b5ef16b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specduskelf2, Specduskelf2, Spectrum)
STD_ROM_FN(Specduskelf2)

struct BurnDriver BurnSpecduskelf2 = {
	"spec_duskelf2", "spec_duskelf", "spec_spectrum", NULL, "1987",
	"Dusk over Elfinton (Part 2 of 2) (48K)\0", NULL, "Skyslip Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specduskelf2RomInfo, Specduskelf2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dustin (48K)

static struct BurnRomInfo SpecdustinRomDesc[] = {
	{ "Dustin (1988)(Hewson Consultants)[re-release].z80", 0x098f6, 0x7454d5c9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdustin, Specdustin, Spectrum)
STD_ROM_FN(Specdustin)

struct BurnDriver BurnSpecdustin = {
	"spec_dustin", NULL, "spec_spectrum", NULL, "1988",
	"Dustin (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdustinRomInfo, SpecdustinRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dustman (48K)

static struct BurnRomInfo SpecdustmanRomDesc[] = {
	{ "Dustman (1984)(Timescape Software).z80", 0x099c4, 0xa225f2e4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdustman, Specdustman, Spectrum)
STD_ROM_FN(Specdustman)

struct BurnDriver BurnSpecdustman = {
	"spec_dustman", NULL, "spec_spectrum", NULL, "1984",
	"Dustman (48K)\0", NULL, "Timescape Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdustmanRomInfo, SpecdustmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dusty Droid and the Garbage Gobblers (48K)

static struct BurnRomInfo SpecdudrgagoRomDesc[] = {
	{ "Dusty Droid and the Garbage Gobblers (1988)(Pirate Software).z80", 0x0666b, 0xe8b50c4e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdudrgago, Specdudrgago, Spectrum)
STD_ROM_FN(Specdudrgago)

struct BurnDriver BurnSpecdudrgago = {
	"spec_dudrgago", NULL, "spec_spectrum", NULL, "1988",
	"Dusty Droid and the Garbage Gobblers (48K)\0", NULL, "Pirate Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdudrgagoRomInfo, SpecdudrgagoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dwarfs Domain (48K)

static struct BurnRomInfo SpecdwardomaRomDesc[] = {
	{ "Dwarfs Domain (1984)(King Software).z80", 0x082f7, 0x7b3e5b12, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdwardoma, Specdwardoma, Spectrum)
STD_ROM_FN(Specdwardoma)

struct BurnDriver BurnSpecdwardoma = {
	"spec_dwardoma", NULL, "spec_spectrum", NULL, "1984",
	"Dwarfs Domain (48K)\0", NULL, "King Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdwardomaRomInfo, SpecdwardomaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dyke (48K)

static struct BurnRomInfo SpecdykeRomDesc[] = {
	{ "Dyke (1996)(CSSCGC).z80", 0x02b9d, 0x10ada4a6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdyke, Specdyke, Spectrum)
STD_ROM_FN(Specdyke)

struct BurnDriver BurnSpecdyke = {
	"spec_dyke", NULL, "spec_spectrum", NULL, "1996",
	"Dyke (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdykeRomInfo, SpecdykeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dyktator (Russian) (48K)

static struct BurnRomInfo SpecdyktatorRomDesc[] = {
	{ "Dyktator (1983)(DK'Tronics)(ru)[aka Dictator].z80", 0x06ba9, 0x28b62875, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdyktator, Specdyktator, Spectrum)
STD_ROM_FN(Specdyktator)

struct BurnDriver BurnSpecdyktator = {
	"spec_dyktator", NULL, "spec_spectrum", NULL, "1983",
	"Dyktator (Russian) (48K)\0", NULL, "DK'Tronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdyktatorRomInfo, SpecdyktatorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dyna Star (128K)

static struct BurnRomInfo SpecdynastarRomDesc[] = {
	{ "Dyna Star (1988)(Pirate Software)[128K].z80", 0x0a25d, 0x49fd64e8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdynastar, Specdynastar, Spectrum)
STD_ROM_FN(Specdynastar)

struct BurnDriver BurnSpecdynastar = {
	"spec_dynastar", NULL, "spec_spec128", NULL, "1988",
	"Dyna Star (128K)\0", NULL, "Pirate Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdynastarRomInfo, SpecdynastarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dynamic Duo (48K)

static struct BurnRomInfo SpecdynaduoRomDesc[] = {
	{ "Dynamic Duo (1989)(Firebird Software).z80", 0x09427, 0x3a321160, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdynaduo, Specdynaduo, Spectrum)
STD_ROM_FN(Specdynaduo)

struct BurnDriver BurnSpecdynaduo = {
	"spec_dynaduo", NULL, "spec_spectrum", NULL, "1989",
	"Dynamic Duo (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdynaduoRomInfo, SpecdynaduoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dynamite Dan (48K)

static struct BurnRomInfo SpecdynadanRomDesc[] = {
	{ "Dynamite Dan (1985)(Mirrorsoft).z80", 0x0a6a8, 0x218460b1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdynadan, Specdynadan, Spectrum)
STD_ROM_FN(Specdynadan)

struct BurnDriver BurnSpecdynadan = {
	"spec_dynadan", NULL, "spec_spectrum", NULL, "1985",
	"Dynamite Dan (48K)\0", NULL, "Mirrorsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdynadanRomInfo, SpecdynadanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dynamite Dan II - Dr. Blitzen and the Islands of Arcanum (48K)

static struct BurnRomInfo Specdynadan2RomDesc[] = {
	{ "Dynamite Dan II - Dr. Blitzen and the Islands of Arcanum (1986)(Mirrorsoft).z80", 0x0aaee, 0xdf00027d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdynadan2, Specdynadan2, Spectrum)
STD_ROM_FN(Specdynadan2)

struct BurnDriver BurnSpecdynadan2 = {
	"spec_dynadan2", NULL, "spec_spectrum", NULL, "1986",
	"Dynamite Dan II - Dr. Blitzen and the Islands of Arcanum (48K)\0", NULL, "Mirrorsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specdynadan2RomInfo, Specdynadan2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Dynamix (48K)

static struct BurnRomInfo SpecdynamixRomDesc[] = {
	{ "Dynamix (1989)(Virgin Mastertronic).z80", 0x0507c, 0xc87d00fc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specdynamix, Specdynamix, Spectrum)
STD_ROM_FN(Specdynamix)

struct BurnDriver BurnSpecdynamix = {
	"spec_dynamix", NULL, "spec_spectrum", NULL, "1989",
	"Dynamix (48K)\0", NULL, "Virgin Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecdynamixRomInfo, SpecdynamixRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// E.T. - Intro (Spanish) (48K)

static struct BurnRomInfo SpecetRomDesc[] = {
	{ "E.T. - Intro (1983)(Macronics Systems)(es).z80", 0x0242f, 0x54302dd4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specet, Specet, Spectrum)
STD_ROM_FN(Specet)

struct BurnDriver BurnSpecet = {
	"spec_et", NULL, "spec_spectrum", NULL, "1983",
	"E.T. - Intro (Spanish) (48K)\0", NULL, "Macronics Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecetRomInfo, SpecetRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// E.T. (Spanish) (48K)

static struct BurnRomInfo SpecetgRomDesc[] = {
	{ "E.T. (1983)(Macronics Systems)(es).z80", 0x05066, 0xa725aeca, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specetg, Specetg, Spectrum)
STD_ROM_FN(Specetg)

struct BurnDriver BurnSpecetg = {
	"spec_etg", "spec_et", "spec_spectrum", NULL, "1983",
	"E.T. (Spanish) (48K)\0", NULL, "Macronics Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecetgRomInfo, SpecetgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// E.T.X. - The Extra-Terrestrial Xargon (48K)

static struct BurnRomInfo SpecetxtetxRomDesc[] = {
	{ "E.T.X. - The Extra-Terrestrial Xargon (1983)(Abbex Electronics).z80", 0x07cf3, 0x00a46b06, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specetxtetx, Specetxtetx, Spectrum)
STD_ROM_FN(Specetxtetx)

struct BurnDriver BurnSpecetxtetx = {
	"spec_etxtetx", NULL, "spec_spectrum", NULL, "1983",
	"E.T.X. - The Extra-Terrestrial Xargon (48K)\0", NULL, "Abbex Electronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecetxtetxRomInfo, SpecetxtetxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Earth Shaker (48K)

static struct BurnRomInfo SpeceartshakRomDesc[] = {
	{ "Earth Shaker (1990)(Michael Batty).z80", 0x099d9, 0xa8b1009e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceartshak, Speceartshak, Spectrum)
STD_ROM_FN(Speceartshak)

struct BurnDriver BurnSpeceartshak = {
	"spec_eartshak", NULL, "spec_spectrum", NULL, "1990",
	"Earth Shaker (48K)\0", NULL, "Michael Batty", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceartshakRomInfo, SpeceartshakRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Earthbound (48K)

static struct BurnRomInfo SpecearthbouRomDesc[] = {
	{ "Earthbound (1984)(Central Solutions).z80", 0x0909b, 0xc3675663, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specearthbou, Specearthbou, Spectrum)
STD_ROM_FN(Specearthbou)

struct BurnDriver BurnSpecearthbou = {
	"spec_earthbou", NULL, "spec_spectrum", NULL, "1984",
	"Earthbound (48K)\0", NULL, "Central Solutions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecearthbouRomInfo, SpecearthbouRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Earthlight (48K)

static struct BurnRomInfo Specearthlgt_48RomDesc[] = {
	{ "Earthlight (1988)(Firebird Software).z80", 0x0ac33, 0xebcdc457, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specearthlgt_48, Specearthlgt_48, Spectrum)
STD_ROM_FN(Specearthlgt_48)

struct BurnDriver BurnSpecearthlgt_48 = {
	"spec_earthlgt_48", "spec_earthlgt", "spec_spectrum", NULL, "1988",
	"Earthlight (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specearthlgt_48RomInfo, Specearthlgt_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Earthlight (128K)

static struct BurnRomInfo SpecearthlgtRomDesc[] = {
	{ "Earthlight (1988)(Firebird Software)[128K].z80", 0x0cb45, 0xa032adb0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specearthlgt, Specearthlgt, Spectrum)
STD_ROM_FN(Specearthlgt)

struct BurnDriver BurnSpecearthlgt = {
	"spec_earthlgt", NULL, "spec_spec128", NULL, "1988",
	"Earthlight (128K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecearthlgtRomInfo, SpecearthlgtRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Earthshock (48K)

static struct BurnRomInfo SpecearthshoRomDesc[] = {
	{ "Earthshock (1986)(8th Day Software).z80", 0x0a256, 0x26f3e0e8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specearthsho, Specearthsho, Spectrum)
STD_ROM_FN(Specearthsho)

struct BurnDriver BurnSpecearthsho = {
	"spec_earthsho", NULL, "spec_spectrum", NULL, "1986",
	"Earthshock (48K)\0", NULL, "8th Day Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecearthshoRomInfo, SpecearthshoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// East Enders (48K)

static struct BurnRomInfo SpeceastendeRomDesc[] = {
	{ "East Enders (1987)(Macsen Software).z80", 0x07d37, 0xaebb3277, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceastende, Speceastende, Spectrum)
STD_ROM_FN(Speceastende)

struct BurnDriver BurnSpeceastende = {
	"spec_eastende", NULL, "spec_spectrum", NULL, "1987",
	"East Enders (48K)\0", NULL, "Macsen Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceastendeRomInfo, SpeceastendeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// East Front - Tactical Warfare Russia 1941-1945 (48K)

static struct BurnRomInfo SpeceafrtawaRomDesc[] = {
	{ "East Front - Tactical Warfare Russia 1941-1945 (1984)(CCS).z80", 0x083d3, 0x382f710e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceafrtawa, Speceafrtawa, Spectrum)
STD_ROM_FN(Speceafrtawa)

struct BurnDriver BurnSpeceafrtawa = {
	"spec_eafrtawa", NULL, "spec_spectrum", NULL, "1984",
	"East Front - Tactical Warfare Russia 1941-1945 (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceafrtawaRomInfo, SpeceafrtawaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Echelon (128K)

static struct BurnRomInfo SpecechelonRomDesc[] = {
	{ "Echelon (1988)(U.S. Gold)[128K].z80", 0x1658c, 0xdadc7086, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specechelon, Specechelon, Spectrum)
STD_ROM_FN(Specechelon)

struct BurnDriver BurnSpecechelon = {
	"spec_echelon", NULL, "spec_spec128", NULL, "1988",
	"Echelon (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecechelonRomInfo, SpecechelonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eclipse (48K)

static struct BurnRomInfo SpececlipseRomDesc[] = {
	{ "Eclipse (1991)(Zenobi Software).z80", 0x09c61, 0x11a81fce, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spececlipse, Spececlipse, Spectrum)
STD_ROM_FN(Spececlipse)

struct BurnDriver BurnSpececlipse = {
	"spec_eclipse", NULL, "spec_spectrum", NULL, "1991",
	"Eclipse (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpececlipseRomInfo, SpececlipseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Edd the Duck (48K)

static struct BurnRomInfo SpeceddtduckRomDesc[] = {
	{ "Edd the Duck (1990)(Impulze).z80", 0x074f8, 0x720cac09, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceddtduck, Speceddtduck, Spectrum)
STD_ROM_FN(Speceddtduck)

struct BurnDriver BurnSpeceddtduck = {
	"spec_eddtduck", NULL, "spec_spectrum", NULL, "1990",
	"Edd the Duck (48K)\0", NULL, "Impulze", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceddtduckRomInfo, SpeceddtduckRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eddie Kidd Jump Challenge (48K)

static struct BurnRomInfo SpecedkijuchRomDesc[] = {
	{ "Eddie Kidd Jump Challenge (1984)(Martech Games).z80", 0x05268, 0x7f1f5d94, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specedkijuch, Specedkijuch, Spectrum)
STD_ROM_FN(Specedkijuch)

struct BurnDriver BurnSpecedkijuch = {
	"spec_edkijuch", NULL, "spec_spectrum", NULL, "1984",
	"Eddie Kidd Jump Challenge (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecedkijuchRomInfo, SpecedkijuchRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Egg, The (48K)

static struct BurnRomInfo SpeceggtheRomDesc[] = {
	{ "Egg, The (1985)(Automata UK).z80", 0x08e6c, 0x557e4fa5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceggthe, Speceggthe, Spectrum)
STD_ROM_FN(Speceggthe)

struct BurnDriver BurnSpeceggthe = {
	"spec_eggthe", NULL, "spec_spectrum", NULL, "1985",
	"Egg, The (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceggtheRomInfo, SpeceggtheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ego (48K)

static struct BurnRomInfo SpecegoRomDesc[] = {
	{ "Ego (1997)(CSSCGC).z80", 0x00743, 0xd5177482, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specego, Specego, Spectrum)
STD_ROM_FN(Specego)

struct BurnDriver BurnSpecego = {
	"spec_ego", NULL, "spec_spectrum", NULL, "1997",
	"Ego (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecegoRomInfo, SpecegoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Egyptian Pyramid (German) (48K)

static struct BurnRomInfo SpecegyppyraRomDesc[] = {
	{ "Egyptian Pyramid (19xx)(-)(de).z80", 0x03fab, 0x33f013bb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specegyppyra, Specegyppyra, Spectrum)
STD_ROM_FN(Specegyppyra)

struct BurnDriver BurnSpecegyppyra = {
	"spec_egyppyra", NULL, "spec_spectrum", NULL, "19xx",
	"Egyptian Pyramid (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecegyppyraRomInfo, SpecegyppyraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eidolon, The (128K)

static struct BurnRomInfo SpeceidotheRomDesc[] = {
	{ "Eidolon, The (1986)(Activision)[128K].z80", 0x1c5b4, 0xc9da9e20, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceidothe, Speceidothe, Spectrum)
STD_ROM_FN(Speceidothe)

struct BurnDriver BurnSpeceidothe = {
	"spec_eidothe", NULL, "spec_spec128", NULL, "1986",
	"Eidolon, The (128K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceidotheRomInfo, SpeceidotheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eight Cards Patience (48K)

static struct BurnRomInfo SpeceigcarpaRomDesc[] = {
	{ "Eight Cards Patience (19xx)(-).z80", 0x0418e, 0x7f8f3267, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceigcarpa, Speceigcarpa, Spectrum)
STD_ROM_FN(Speceigcarpa)

struct BurnDriver BurnSpeceigcarpa = {
	"spec_eigcarpa", NULL, "spec_spectrum", NULL, "19xx",
	"Eight Cards Patience (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceigcarpaRomInfo, SpeceigcarpaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eights (48K)

static struct BurnRomInfo SpeceightsRomDesc[] = {
	{ "Eights (1985)(Atlantis Software).z80", 0x076cc, 0x46a06035, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceights, Speceights, Spectrum)
STD_ROM_FN(Speceights)

struct BurnDriver BurnSpeceights = {
	"spec_eights", NULL, "spec_spectrum", NULL, "1985",
	"Eights (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceightsRomInfo, SpeceightsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Einstein (48K)

static struct BurnRomInfo SpeceinsteinRomDesc[] = {
	{ "Einstein (1996)(CSSCGC).z80", 0x01d40, 0x6fb59a93, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceinstein, Speceinstein, Spectrum)
STD_ROM_FN(Speceinstein)

struct BurnDriver BurnSpeceinstein = {
	"spec_einstein", NULL, "spec_spectrum", NULL, "1996",
	"Einstein (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceinsteinRomInfo, SpeceinsteinRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// El Dorado (48K)

static struct BurnRomInfo SpeceldoradoRomDesc[] = {
	{ "El Dorado (1985)(Atlantis Software).z80", 0x089b7, 0xa835bd47, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceldorado, Speceldorado, Spectrum)
STD_ROM_FN(Speceldorado)

struct BurnDriver BurnSpeceldorado = {
	"spec_eldorado", NULL, "spec_spectrum", NULL, "1985",
	"El Dorado (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceldoradoRomInfo, SpeceldoradoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Elecciones Generales (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecelecgeneRomDesc[] = {
	{ "Elecciones Generales (1986)(Juegos & Estrategia)(es)(Part 1 of 2).z80", 0x09834, 0x9d846404, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specelecgene, Specelecgene, Spectrum)
STD_ROM_FN(Specelecgene)

struct BurnDriver BurnSpecelecgene = {
	"spec_elecgene", NULL, "spec_spectrum", NULL, "1986",
	"Elecciones Generales (Spanish) (Part 1 of 2) (48K)\0", NULL, "Juegos & Estrategia", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecelecgeneRomInfo, SpecelecgeneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Elecciones Generales (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specelecgene2RomDesc[] = {
	{ "Elecciones Generales (1986)(Juegos & Estrategia)(es)(Part 2 of 2).z80", 0x09083, 0xc5771508, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specelecgene2, Specelecgene2, Spectrum)
STD_ROM_FN(Specelecgene2)

struct BurnDriver BurnSpecelecgene2 = {
	"spec_elecgene2", "spec_elecgene", "spec_spectrum", NULL, "1986",
	"Elecciones Generales (Spanish) (Part 2 of 2) (48K)\0", NULL, "Juegos & Estrategia", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specelecgene2RomInfo, Specelecgene2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Election (Mastertronic) (48K)

static struct BurnRomInfo SpecelectnmRomDesc[] = {
	{ "Election (1984)(Mastertronic).z80", 0x09363, 0x952f08fe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specelectnm, Specelectnm, Spectrum)
STD_ROM_FN(Specelectnm)

struct BurnDriver BurnSpecelectnm = {
	"spec_electnm", NULL, "spec_spectrum", NULL, "1984",
	"Election (Mastertronic) (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecelectnmRomInfo, SpecelectnmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Election (Virgin Games) (48K)

static struct BurnRomInfo SpecelectnvRomDesc[] = {
	{ "Election (1987)(Virgin Games).z80", 0x08b82, 0x1220d671, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specelectnv, Specelectnv, Spectrum)
STD_ROM_FN(Specelectnv)

struct BurnDriver BurnSpecelectnv = {
	"spec_electnv", NULL, "spec_spectrum", NULL, "1987",
	"Election (Virgin Games) (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecelectnvRomInfo, SpecelectnvRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Elektro Storm (48K)

static struct BurnRomInfo SpecelekstorRomDesc[] = {
	{ "Elektro Storm (1983)(PSS).z80", 0x056e5, 0xb4c6e726, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specelekstor, Specelekstor, Spectrum)
STD_ROM_FN(Specelekstor)

struct BurnDriver BurnSpecelekstor = {
	"spec_elekstor", NULL, "spec_spectrum", NULL, "1983",
	"Elektro Storm (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecelekstorRomInfo, SpecelekstorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Elevator Action (48K)

static struct BurnRomInfo Specelevact_48RomDesc[] = {
	{ "Elevator Action (1987)(Quicksilva).z80", 0x06d2b, 0x9f430979, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specelevact_48, Specelevact_48, Spectrum)
STD_ROM_FN(Specelevact_48)

struct BurnDriver BurnSpecelevact_48 = {
	"spec_elevact_48", "spec_elevact", "spec_spectrum", NULL, "1987",
	"Elevator Action (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specelevact_48RomInfo, Specelevact_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Elevator Action (128K)

static struct BurnRomInfo SpecelevactRomDesc[] = {
	{ "Elevator Action (1987)(Quicksilva)[128K].z80", 0x146d0, 0x8f2e470e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specelevact, Specelevact, Spectrum)
STD_ROM_FN(Specelevact)

struct BurnDriver BurnSpecelevact = {
	"spec_elevact", NULL, "spec_spec128", NULL, "1987",
	"Elevator Action (128K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecelevactRomInfo, SpecelevactRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Elevator Boy (48K)

static struct BurnRomInfo SpecelevboyRomDesc[] = {
	{ "Elevator Boy (1988)(M.M.G.).z80", 0x06f71, 0x29d03738, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specelevboy, Specelevboy, Spectrum)
STD_ROM_FN(Specelevboy)

struct BurnDriver BurnSpecelevboy = {
	"spec_elevboy", NULL, "spec_spectrum", NULL, "1988",
	"Elevator Boy (48K)\0", NULL, "M.M.G.", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecelevboyRomInfo, SpecelevboyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Elfin Wars, The (48K)

static struct BurnRomInfo SpecelfwarsRomDesc[] = {
	{ "Elfin Wars, The (1994)(Zenobi Software).z80", 0x05c18, 0xea4d3aeb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specelfwars, Specelfwars, Spectrum)
STD_ROM_FN(Specelfwars)

struct BurnDriver BurnSpecelfwars = {
	"spec_elfwars", NULL, "spec_spectrum", NULL, "1994",
	"Elfin Wars, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecelfwarsRomInfo, SpecelfwarsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Elfos de Maroland, Los (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecelfsmlndRomDesc[] = {
	{ "Elfos de Maroland, Los (1993)(Kame Soft)(es)(Part 1 of 2).z80", 0x09c69, 0x4dcc8190, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specelfsmlnd, Specelfsmlnd, Spectrum)
STD_ROM_FN(Specelfsmlnd)

struct BurnDriver BurnSpecelfsmlnd = {
	"spec_elfsmlnd", NULL, "spec_spectrum", NULL, "1993",
	"Elfos de Maroland, Los (Spanish) (Part 1 of 2) (48K)\0", NULL, "Kame Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecelfsmlndRomInfo, SpecelfsmlndRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Elfos de Maroland, Los (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specelfsmlnd2RomDesc[] = {
	{ "Elfos de Maroland, Los (1993)(Kame Soft)(es)(Part 2 of 2).z80", 0x08298, 0x2193305e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specelfsmlnd2, Specelfsmlnd2, Spectrum)
STD_ROM_FN(Specelfsmlnd2)

struct BurnDriver BurnSpecelfsmlnd2 = {
	"spec_elfsmlnd2", "spec_elfsmlnd", "spec_spectrum", NULL, "1993",
	"Elfos de Maroland, Los (Spanish) (Part 2 of 2) (48K)\0", NULL, "Kame Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specelfsmlnd2RomInfo, Specelfsmlnd2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eliminator (Alternative Software) (48K)

static struct BurnRomInfo Speceliminata_48RomDesc[] = {
	{ "Eliminator (1988)(Alternative Software).z80", 0x05744, 0xeda8730c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceliminata_48, Speceliminata_48, Spectrum)
STD_ROM_FN(Speceliminata_48)

struct BurnDriver BurnSpeceliminata_48 = {
	"spec_eliminata_48", "spec_eliminat", "spec_spectrum", NULL, "1988",
	"Eliminator (Alternative Software) (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speceliminata_48RomInfo, Speceliminata_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eliminator (Hewson Consultants) (48K)

static struct BurnRomInfo Speceliminat_48RomDesc[] = {
	{ "Eliminator (1988)(Hewson Consultants).z80", 0x0a357, 0xae43c523, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceliminat_48, Speceliminat_48, Spectrum)
STD_ROM_FN(Speceliminat_48)

struct BurnDriver BurnSpeceliminat_48 = {
	"spec_eliminat_48", "spec_eliminat", "spec_spectrum", NULL, "1988",
	"Eliminator (Hewson Consultants) (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speceliminat_48RomInfo, Speceliminat_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eliminator (Hewson Consultants) (128K)

static struct BurnRomInfo SpeceliminatRomDesc[] = {
	{ "Eliminator (1988)(Hewson Consultants)[128K].z80", 0x0a0a1, 0xeb808b6e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceliminat, Speceliminat, Spectrum)
STD_ROM_FN(Speceliminat)

struct BurnDriver BurnSpeceliminat = {
	"spec_eliminat", NULL, "spec_spec128", NULL, "1988",
	"Eliminator (Hewson Consultants) (128K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceliminatRomInfo, SpeceliminatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Elite - Character Designer (48K)

static struct BurnRomInfo SpecelitecdRomDesc[] = {
	{ "Elite - Character Designer (1987)(Igg).z80", 0x0389c, 0x741b40c3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specelitecd, Specelitecd, Spectrum)
STD_ROM_FN(Specelitecd)

struct BurnDriver BurnSpecelitecd = {
	"spec_elitecd", NULL, "spec_spectrum", NULL, "1987",
	"Elite - Character Designer (48K)\0", NULL, "Igg", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecelitecdRomInfo, SpecelitecdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Elite (Russian) (48K)

static struct BurnRomInfo SpeceliterRomDesc[] = {
	{ "Elite (1985)(Firebird Software)(ru).z80", 0x0aee6, 0xf275349e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceliter, Speceliter, Spectrum)
STD_ROM_FN(Speceliter)

struct BurnDriver BurnSpeceliter = {
	"spec_eliter", "spec_elite", "spec_spectrum", NULL, "1985",
	"Elite (Russian) (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceliterRomInfo, SpeceliterRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Elite (48K)

static struct BurnRomInfo SpeceliteRomDesc[] = {
	{ "Elite (1985)(Firebird Software).z80", 0x0c01e, 0xcbe63a0e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specelite, Specelite, Spectrum)
STD_ROM_FN(Specelite)

struct BurnDriver BurnSpecelite = {
	"spec_elite", NULL, "spec_spectrum", NULL, "1985",
	"Elite (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceliteRomInfo, SpeceliteRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ellisnore Diamond, The (48K)

static struct BurnRomInfo SpecelldiathRomDesc[] = {
	{ "Ellisnore Diamond, The (1992)(Zenobi Software).z80", 0x090d7, 0x280e7ea3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specelldiath, Specelldiath, Spectrum)
STD_ROM_FN(Specelldiath)

struct BurnDriver BurnSpecelldiath = {
	"spec_elldiath", NULL, "spec_spectrum", NULL, "1992",
	"Ellisnore Diamond, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecelldiathRomInfo, SpecelldiathRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Elopement (48K)

static struct BurnRomInfo SpecelopemenRomDesc[] = {
	{ "Elopement (1997)(Omega Hackers Group).z80", 0x1b15f, 0x4f2b9929, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specelopemen, Specelopemen, Spectrum)
STD_ROM_FN(Specelopemen)

struct BurnDriver BurnSpecelopemen = {
	"spec_elopemen", NULL, "spec_spectrum", NULL, "1997",
	"Elopement (48K)\0", NULL, "Omega Hackers Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecelopemenRomInfo, SpecelopemenRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Elven Warrior (48K)

static struct BurnRomInfo SpecelvewarrRomDesc[] = {
	{ "Elven Warrior (1989)(Players Premier Software).z80", 0x08e1a, 0x53401159, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specelvewarr, Specelvewarr, Spectrum)
STD_ROM_FN(Specelvewarr)

struct BurnDriver BurnSpecelvewarr = {
	"spec_elvewarr", NULL, "spec_spectrum", NULL, "1989",
	"Elven Warrior (48K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecelvewarrRomInfo, SpecelvewarrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Emerald Elf, The (48K)

static struct BurnRomInfo SpecemeelfthRomDesc[] = {
	{ "Emerald Elf, The (1995)(Zenobi Software).z80", 0x09296, 0x97ae76f9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specemeelfth, Specemeelfth, Spectrum)
STD_ROM_FN(Specemeelfth)

struct BurnDriver BurnSpecemeelfth = {
	"spec_emeelfth", NULL, "spec_spectrum", NULL, "1995",
	"Emerald Elf, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecemeelfthRomInfo, SpecemeelfthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Emerald Isle (48K)

static struct BurnRomInfo SpecemerisleRomDesc[] = {
	{ "Emerald Isle (1985)(Level 9 Computing).z80", 0x0b0b5, 0x918b4e33, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specemerisle, Specemerisle, Spectrum)
STD_ROM_FN(Specemerisle)

struct BurnDriver BurnSpecemerisle = {
	"spec_emerisle", NULL, "spec_spectrum", NULL, "1985",
	"Emerald Isle (48K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecemerisleRomInfo, SpecemerisleRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Emilio Butragueno Futbol (Spanish) (48K)

static struct BurnRomInfo SpecembutfRomDesc[] = {
	{ "Emilio Butragueno Futbol (1987)(Topo Soft - Ocean)(es).z80", 0x08f8a, 0x4848fba3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specembutf, Specembutf, Spectrum)
STD_ROM_FN(Specembutf)

struct BurnDriver BurnSpecembutf = {
	"spec_embutf", NULL, "spec_spectrum", NULL, "1987",
	"Emilio Butragueno Futbol (Spanish) (48K)\0", NULL, "Topo Soft - Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecembutfRomInfo, SpecembutfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Emilio Butragueno Futbol II - Campeonato (Spanish) (48K)

static struct BurnRomInfo Specembutf2RomDesc[] = {
	{ "Emilio Butragueno Futbol II - Campeonato (1989)(Erbe Software - Ocean)(es).z80", 0x09202, 0x3020430f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specembutf2, Specembutf2, Spectrum)
STD_ROM_FN(Specembutf2)

struct BurnDriver BurnSpecembutf2 = {
	"spec_embutf2", NULL, "spec_spectrum", NULL, "1989",
	"Emilio Butragueno Futbol II - Campeonato (Spanish) (48K)\0", NULL, "Erbe Software - Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specembutf2RomInfo, Specembutf2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Emilio Sanchez Vicario Grand Slam (Spanish) (48K)

static struct BurnRomInfo SpecemsavigrRomDesc[] = {
	{ "Emilio Sanchez Vicario Grand Slam (1989)(Zigurat Software)(es).z80", 0x0a500, 0x7476d271, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specemsavigr, Specemsavigr, Spectrum)
STD_ROM_FN(Specemsavigr)

struct BurnDriver BurnSpecemsavigr = {
	"spec_emsavigr", NULL, "spec_spectrum", NULL, "1989",
	"Emilio Sanchez Vicario Grand Slam (Spanish) (48K)\0", NULL, "Zigurat Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecemsavigrRomInfo, SpecemsavigrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Emlyn Hughes Arcade Quiz (48K)

static struct BurnRomInfo SpecehughesaqRomDesc[] = {
	{ "Emlyn Hughes Arcade Quiz (1990)(Audiogenic Software).z80", 0x09328, 0x392530f3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specehughesaq, Specehughesaq, Spectrum)
STD_ROM_FN(Specehughesaq)

struct BurnDriver BurnSpecehughesaq = {
	"spec_ehughesaq", NULL, "spec_spectrum", NULL, "1990",
	"Emlyn Hughes Arcade Quiz (48K)\0", NULL, "Audiogenic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecehughesaqRomInfo, SpecehughesaqRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Emlyn Hughes International Soccer (48K)

static struct BurnRomInfo SpecehughesisRomDesc[] = {
	{ "Emlyn Hughes International Soccer (1989)(Audiogenic Software).z80", 0x0a6fc, 0x8df8f86e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specehughesis, Specehughesis, Spectrum)
STD_ROM_FN(Specehughesis)

struct BurnDriver BurnSpecehughesis = {
	"spec_ehughesis", NULL, "spec_spectrum", NULL, "1989",
	"Emlyn Hughes International Soccer (48K)\0", NULL, "Audiogenic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecehughesisRomInfo, SpecehughesisRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// E-Motion (48K)

static struct BurnRomInfo Specemotion_48RomDesc[] = {
	{ "E-Motion (1990)(U.S. Gold).z80", 0x09817, 0xb08014ac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specemotion_48, Specemotion_48, Spectrum)
STD_ROM_FN(Specemotion_48)

struct BurnDriver BurnSpecemotion_48 = {
	"spec_emotion_48", NULL, "spec_spectrum", NULL, "1990",
	"E-Motion (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specemotion_48RomInfo, Specemotion_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// E-Motion (128K)

static struct BurnRomInfo SpecemotionRomDesc[] = {
	{ "E-Motion (1990)(U.S. Gold)[128K].z80", 0x0ad84, 0xcc29fe26, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specemotion, Specemotion, Spectrum)
STD_ROM_FN(Specemotion)

struct BurnDriver BurnSpecemotion = {
	"spec_emotion", NULL, "spec_spec128", NULL, "1990",
	"E-Motion (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecemotionRomInfo, SpecemotionRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Empire Fights Back, The (48K)

static struct BurnRomInfo SpecempfghtbRomDesc[] = {
	{ "Empire Fights Back, The (1985)(Mastertronic).z80", 0x08368, 0x6256b16b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specempfghtb, Specempfghtb, Spectrum)
STD_ROM_FN(Specempfghtb)

struct BurnDriver BurnSpecempfghtb = {
	"spec_empfghtb", NULL, "spec_spectrum", NULL, "1985",
	"Empire Fights Back, The (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecempfghtbRomInfo, SpecempfghtbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Empire! (48K)

static struct BurnRomInfo SpecempireRomDesc[] = {
	{ "Empire! (1986)(Firebird Software).z80", 0x09953, 0xcdeeb0fc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specempire, Specempire, Spectrum)
STD_ROM_FN(Specempire)

struct BurnDriver BurnSpecempire = {
	"spec_empire", NULL, "spec_spectrum", NULL, "1986",
	"Empire! (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecempireRomInfo, SpecempireRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Emulator Speed Test (48K)

static struct BurnRomInfo SpecemuspdtRomDesc[] = {
	{ "Emulator Speed Test (19xx)(-).z80", 0x00ff4, 0xff1bd89e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specemuspdt, Specemuspdt, Spectrum)
STD_ROM_FN(Specemuspdt)

struct BurnDriver BurnSpecemuspdt = {
	"spec_emuspdt", NULL, "spec_spectrum", NULL, "19xx",
	"Emulator Speed Test (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecemuspdtRomInfo, SpecemuspdtRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Enchanted (Spanish) (48K)

static struct BurnRomInfo SpecenchantdRomDesc[] = {
	{ "Enchanted (1989)(Positive)(es).z80", 0x09940, 0x1c27271c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specenchantd, Specenchantd, Spectrum)
STD_ROM_FN(Specenchantd)

struct BurnDriver BurnSpecenchantd = {
	"spec_enchantd", NULL, "spec_spectrum", NULL, "1989",
	"Enchanted (Spanish) (48K)\0", NULL, "Positive", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecenchantdRomInfo, SpecenchantdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Enchanted Cottage, The (48K)

static struct BurnRomInfo SpecechcottgRomDesc[] = {
	{ "Enchanted Cottage, The (1992)(Zenobi Software)[re-release].z80", 0x099d0, 0x11ee8ad3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specechcottg, Specechcottg, Spectrum)
STD_ROM_FN(Specechcottg)

struct BurnDriver BurnSpecechcottg = {
	"spec_echcottg", NULL, "spec_spectrum", NULL, "1992",
	"Enchanted Cottage, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecechcottgRomInfo, SpecechcottgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Encounter (48K)

static struct BurnRomInfo SpecencountrRomDesc[] = {
	{ "Encounter (1983)(Severn Software).z80", 0x093fa, 0xc8ef5b89, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specencountr, Specencountr, Spectrum)
STD_ROM_FN(Specencountr)

struct BurnDriver BurnSpecencountr = {
	"spec_encountr", NULL, "spec_spectrum", NULL, "1983",
	"Encounter (48K)\0", NULL, "Severn Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecencountrRomInfo, SpecencountrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Encyclopedia of War - Ancient Battles - Designer (48K)

static struct BurnRomInfo SpecenwaanbadRomDesc[] = {
	{ "Encyclopedia of War - Ancient Battles - Designer (1988)(CCS).z80", 0x08e20, 0x93ca615d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specenwaanbad, Specenwaanbad, Spectrum)
STD_ROM_FN(Specenwaanbad)

struct BurnDriver BurnSpecenwaanbad = {
	"spec_enwaanbad", "spec_enwaanba", "spec_spectrum", NULL, "1988",
	"Encyclopedia of War - Ancient Battles - Designer (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecenwaanbadRomInfo, SpecenwaanbadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Encyclopedia of War - Ancient Battles (48K)

static struct BurnRomInfo Specenwaanba_48RomDesc[] = {
	{ "Encyclopedia of War - Ancient Battles (1988)(CCS).z80", 0x082be, 0x5982e5e8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specenwaanba_48, Specenwaanba_48, Spectrum)
STD_ROM_FN(Specenwaanba_48)

struct BurnDriver BurnSpecenwaanba_48 = {
	"spec_enwaanba_48", "spec_enwaanba", "spec_spectrum", NULL, "1988",
	"Encyclopedia of War - Ancient Battles (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specenwaanba_48RomInfo, Specenwaanba_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Encyclopedia of War - Ancient Battles (128K)

static struct BurnRomInfo SpecenwaanbaRomDesc[] = {
	{ "Encyclopedia of War - Ancient Battles (1988)(CCS)[128K].z80", 0x11f2b, 0x12fa603c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specenwaanba, Specenwaanba, Spectrum)
STD_ROM_FN(Specenwaanba)

struct BurnDriver BurnSpecenwaanba = {
	"spec_enwaanba", NULL, "spec_spec128", NULL, "1988",
	"Encyclopedia of War - Ancient Battles (128K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecenwaanbaRomInfo, SpecenwaanbaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// End is Nigh, The - Part 1 - The Victorian Zone (48K)

static struct BurnRomInfo SpecendnighRomDesc[] = {
	{ "End is Nigh, The - Part 1 - The Victorian Zone (1994)(Zenobi Software).z80", 0x09598, 0xa02557c9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specendnigh, Specendnigh, Spectrum)
STD_ROM_FN(Specendnigh)

struct BurnDriver BurnSpecendnigh = {
	"spec_endnigh", NULL, "spec_spectrum", NULL, "1994",
	"End is Nigh, The - Part 1 - The Victorian Zone (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecendnighRomInfo, SpecendnighRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// End is Nigh, The - Part 2 - The Interstellar Zone (48K)

static struct BurnRomInfo Specendnigh2RomDesc[] = {
	{ "End is Nigh, The - Part 2 - The Interstellar Zone (1994)(Zenobi Software).z80", 0x095fa, 0x65f7c262, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specendnigh2, Specendnigh2, Spectrum)
STD_ROM_FN(Specendnigh2)

struct BurnDriver BurnSpecendnigh2 = {
	"spec_endnigh2", "spec_endnigh", "spec_spectrum", NULL, "1994",
	"End is Nigh, The - Part 2 - The Interstellar Zone (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specendnigh2RomInfo, Specendnigh2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// End is Nigh, The - Part 3 - The Subterranean Zone (48K)

static struct BurnRomInfo Specendnigh3RomDesc[] = {
	{ "End is Nigh, The - Part 3 - The Subterranean Zone (1994)(Zenobi Software).z80", 0x095e7, 0x531ec8cf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specendnigh3, Specendnigh3, Spectrum)
STD_ROM_FN(Specendnigh3)

struct BurnDriver BurnSpecendnigh3 = {
	"spec_endnigh3", "spec_endnigh", "spec_spectrum", NULL, "1994",
	"End is Nigh, The - Part 3 - The Subterranean Zone (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specendnigh3RomInfo, Specendnigh3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// End of the World Simulator (48K)

static struct BurnRomInfo SpecendwrldsRomDesc[] = {
	{ "End of the World Simulator (1999)(CSSCGC).z80", 0x00a4c, 0x5402aa32, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specendwrlds, Specendwrlds, Spectrum)
STD_ROM_FN(Specendwrlds)

struct BurnDriver BurnSpecendwrlds = {
	"spec_endwrlds", NULL, "spec_spectrum", NULL, "1999",
	"End of the World Simulator (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecendwrldsRomInfo, SpecendwrldsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// End Zone (48K)

static struct BurnRomInfo SpecendzoneRomDesc[] = {
	{ "End Zone (1989)(Alternative Software).z80", 0x08ea5, 0x4f7baac8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specendzone, Specendzone, Spectrum)
STD_ROM_FN(Specendzone)

struct BurnDriver BurnSpecendzone = {
	"spec_endzone", NULL, "spec_spectrum", NULL, "1989",
	"End Zone (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecendzoneRomInfo, SpecendzoneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Enduro (48K)

static struct BurnRomInfo Specenduro_48RomDesc[] = {
	{ "Enduro (1984)(Activision).z80", 0x0221b, 0x2c9c4f50, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specenduro_48, Specenduro_48, Spectrum)
STD_ROM_FN(Specenduro_48)

struct BurnDriver BurnSpecenduro_48 = {
	"spec_enduro_48", "spec_enduro", "spec_spectrum", NULL, "1984",
	"Enduro (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specenduro_48RomInfo, Specenduro_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Enduro Racer (128K)

static struct BurnRomInfo SpecenduroRomDesc[] = {
	{ "Enduro Racer (1987)(Activision)[128K].z80", 0x0a738, 0xf9d78fc5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specenduro, Specenduro, Spectrum)
STD_ROM_FN(Specenduro)

struct BurnDriver BurnSpecenduro = {
	"spec_enduro", NULL, "spec_spec128", NULL, "1987",
	"Enduro Racer (128K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecenduroRomInfo, SpecenduroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Energy (48K)

static struct BurnRomInfo SpecenergyRomDesc[] = {
	{ "Energy (1987)(Mastertronic).z80", 0x06565, 0xbdaa5def, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specenergy, Specenergy, Spectrum)
STD_ROM_FN(Specenergy)

struct BurnDriver BurnSpecenergy = {
	"spec_energy", NULL, "spec_spectrum", NULL, "1987",
	"Energy (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecenergyRomInfo, SpecenergyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Energy Fields (48K)

static struct BurnRomInfo SpecenerfielRomDesc[] = {
	{ "Energy Fields (19xx)(-).z80", 0x023a1, 0x021642bc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specenerfiel, Specenerfiel, Spectrum)
STD_ROM_FN(Specenerfiel)

struct BurnDriver BurnSpecenerfiel = {
	"spec_enerfiel", NULL, "spec_spectrum", NULL, "19xx",
	"Energy Fields (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecenerfielRomInfo, SpecenerfielRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Enforcer 1 (48K)

static struct BurnRomInfo SpecenforcrRomDesc[] = {
	{ "Enforcer 1 (1999)(CSSCGC).z80", 0x07910, 0x0db53f90, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specenforcr, Specenforcr, Spectrum)
STD_ROM_FN(Specenforcr)

struct BurnDriver BurnSpecenforcr = {
	"spec_enforcr", NULL, "spec_spectrum", NULL, "1999",
	"Enforcer 1 (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecenforcrRomInfo, SpecenforcrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Enforcer 2 (48K)

static struct BurnRomInfo Specenforcr2RomDesc[] = {
	{ "Enforcer 2 (1999)(CSSCGC).z80", 0x0a1e7, 0xf94dbae0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specenforcr2, Specenforcr2, Spectrum)
STD_ROM_FN(Specenforcr2)

struct BurnDriver BurnSpecenforcr2 = {
	"spec_enforcr2", NULL, "spec_spectrum", NULL, "1999",
	"Enforcer 2 (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specenforcr2RomInfo, Specenforcr2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Engendro! (Spanish) (48K)

static struct BurnRomInfo SpecengendroRomDesc[] = {
	{ "Engendro! (1989)(Jorge Duran Ponsa)(es).z80", 0x08e19, 0xf28dfc55, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specengendro, Specengendro, Spectrum)
STD_ROM_FN(Specengendro)

struct BurnDriver BurnSpecengendro = {
	"spec_engendro", NULL, "spec_spectrum", NULL, "1989",
	"Engendro! (Spanish) (48K)\0", NULL, "Jorge Duran Ponsa", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecengendroRomInfo, SpecengendroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Engineer Humpty (48K)

static struct BurnRomInfo SpecengihumpRomDesc[] = {
	{ "Engineer Humpty (1984)(Artic Computing).z80", 0x07273, 0x852d05de, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specengihump, Specengihump, Spectrum)
STD_ROM_FN(Specengihump)

struct BurnDriver BurnSpecengihump = {
	"spec_engihump", NULL, "spec_spectrum", NULL, "1984",
	"Engineer Humpty (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecengihumpRomInfo, SpecengihumpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// England Adventure (German) (48K)

static struct BurnRomInfo SpecengladveRomDesc[] = {
	{ "England Adventure (1984)(Jujstronic)(de).z80", 0x03ad9, 0x625c4626, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specengladve, Specengladve, Spectrum)
STD_ROM_FN(Specengladve)

struct BurnDriver BurnSpecengladve = {
	"spec_engladve", NULL, "spec_spectrum", NULL, "1984",
	"England Adventure (German) (48K)\0", NULL, "Jujstronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecengladveRomInfo, SpecengladveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Enigma Force (48K)

static struct BurnRomInfo SpecenigforcRomDesc[] = {
	{ "Enigma Force (1985)(Beyond Software).z80", 0x0ac2f, 0xed2fb8d9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specenigforc, Specenigforc, Spectrum)
STD_ROM_FN(Specenigforc)

struct BurnDriver BurnSpecenigforc = {
	"spec_enigforc", NULL, "spec_spectrum", NULL, "1985",
	"Enigma Force (48K)\0", NULL, "Beyond Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecenigforcRomInfo, SpecenigforcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Enterprise (48K)

static struct BurnRomInfo SpecenterprsRomDesc[] = {
	{ "Enterprise (1987)(Melbourne House).z80", 0x09e0b, 0x4ceca1d3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specenterprs, Specenterprs, Spectrum)
STD_ROM_FN(Specenterprs)

struct BurnDriver BurnSpecenterprs = {
	"spec_enterprs", NULL, "spec_spectrum", NULL, "1987",
	"Enterprise (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecenterprsRomInfo, SpecenterprsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Enterprise (German) (48K)

static struct BurnRomInfo SpecenterprsgRomDesc[] = {
	{ "Enterprise (19xx)(-)(de).z80", 0x056f3, 0x7b4f767c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specenterprsg, Specenterprsg, Spectrum)
STD_ROM_FN(Specenterprsg)

struct BurnDriver BurnSpecenterprsg = {
	"spec_enterprsg", "spec_enterprs", "spec_spectrum", NULL, "19xx",
	"Enterprise (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecenterprsgRomInfo, SpecenterprsgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Envelope, The (48K)

static struct BurnRomInfo SpecenvetheRomDesc[] = {
	{ "Envelope, The (1984)(Yodasoft).z80", 0x031e3, 0xacfdd094, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specenvethe, Specenvethe, Spectrum)
STD_ROM_FN(Specenvethe)

struct BurnDriver BurnSpecenvethe = {
	"spec_envethe", NULL, "spec_spectrum", NULL, "1984",
	"Envelope, The (48K)\0", NULL, "Yodasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecenvetheRomInfo, SpecenvetheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Equinox (48K)

static struct BurnRomInfo SpecequinoxRomDesc[] = {
	{ "Equinox (1986)(Mikro-Gen).z80", 0x0b2ca, 0xaaa2864d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specequinox, Specequinox, Spectrum)
STD_ROM_FN(Specequinox)

struct BurnDriver BurnSpecequinox = {
	"spec_equinox", NULL, "spec_spectrum", NULL, "1986",
	"Equinox (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecequinoxRomInfo, SpecequinoxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eric and the Floaters (48K)

static struct BurnRomInfo SpecericfloaRomDesc[] = {
	{ "Eric and the Floaters (1983)(Sinclair Research).z80", 0x03ae3, 0x97a00a9b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specericfloa, Specericfloa, Spectrum)
STD_ROM_FN(Specericfloa)

struct BurnDriver BurnSpecericfloa = {
	"spec_ericfloa", NULL, "spec_spectrum", NULL, "1983",
	"Eric and the Floaters (48K)\0", NULL, "Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecericfloaRomInfo, SpecericfloaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eric Bristow's Pro-Darts (48K)

static struct BurnRomInfo SpecebprdartRomDesc[] = {
	{ "Eric Bristow's Pro-Darts (1984)(Quicksilva).z80", 0x099ec, 0x099320a6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specebprdart, Specebprdart, Spectrum)
STD_ROM_FN(Specebprdart)

struct BurnDriver BurnSpecebprdart = {
	"spec_ebprdart", NULL, "spec_spectrum", NULL, "1984",
	"Eric Bristow's Pro-Darts (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecebprdartRomInfo, SpecebprdartRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Erik - The Phantom of the Opera (48K)

static struct BurnRomInfo SpecerthphopRomDesc[] = {
	{ "Erik - The Phantom of the Opera (1987)(Crysys).z80", 0x088b0, 0x26eba92c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specerthphop, Specerthphop, Spectrum)
STD_ROM_FN(Specerthphop)

struct BurnDriver BurnSpecerthphop = {
	"spec_erthphop", NULL, "spec_spectrum", NULL, "1987",
	"Erik - The Phantom of the Opera (48K)\0", NULL, "Crysys", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecerthphopRomInfo, SpecerthphopRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Escalador Loco (Spanish) (48K)

static struct BurnRomInfo SpecescalocoRomDesc[] = {
	{ "Escalador Loco (1983)(Ventamatic)(es).z80", 0x033ca, 0x8dd0adf4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specescaloco, Specescaloco, Spectrum)
STD_ROM_FN(Specescaloco)

struct BurnDriver BurnSpecescaloco = {
	"spec_escaloco", NULL, "spec_spectrum", NULL, "1983",
	"Escalador Loco (Spanish) (48K)\0", NULL, "Ventamatic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecescalocoRomInfo, SpecescalocoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Escape (48K)

static struct BurnRomInfo SpecescapeRomDesc[] = {
	{ "Escape (19xx)(A. Biglin).z80", 0x02022, 0x864547d6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specescape, Specescape, Spectrum)
STD_ROM_FN(Specescape)

struct BurnDriver BurnSpecescape = {
	"spec_escape", NULL, "spec_spectrum", NULL, "19xx",
	"Escape (48K)\0", NULL, "A. Biglin", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecescapeRomInfo, SpecescapeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Escape from Castle (cs) (48K)

static struct BurnRomInfo SpecescpcastRomDesc[] = {
	{ "Escape from Castle (1988)(Jioi Chabek)(cs).z80", 0x08b42, 0x0e5279ee, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specescpcast, Specescpcast, Spectrum)
STD_ROM_FN(Specescpcast)

struct BurnDriver BurnSpecescpcast = {
	"spec_escpcast", NULL, "spec_spectrum", NULL, "1988",
	"Escape from Castle (cs) (48K)\0", NULL, "Jioi Chabek", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecescpcastRomInfo, SpecescpcastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Escape from Colditz (48K)

static struct BurnRomInfo SpecescpcoldRomDesc[] = {
	{ "Escape from Colditz (1982)(Martin Malley).z80", 0x04214, 0xe38d522b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specescpcold, Specescpcold, Spectrum)
STD_ROM_FN(Specescpcold)

struct BurnDriver BurnSpecescpcold = {
	"spec_escpcold", NULL, "spec_spectrum", NULL, "1982",
	"Escape from Colditz (48K)\0", NULL, "Martin Malley", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecescpcoldRomInfo, SpecescpcoldRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Escape from Devil's Island (48K)

static struct BurnRomInfo SpecescdevisRomDesc[] = {
	{ "Escape from Devil's Island (1985)(Central Solutions).z80", 0x049da, 0x2b6937f6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specescdevis, Specescdevis, Spectrum)
STD_ROM_FN(Specescdevis)

struct BurnDriver BurnSpecescdevis = {
	"spec_escdevis", NULL, "spec_spectrum", NULL, "1985",
	"Escape from Devil's Island (48K)\0", NULL, "Central Solutions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecescdevisRomInfo, SpecescdevisRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Escape from Hodgkin's Manor (48K)

static struct BurnRomInfo SpeceschodmaRomDesc[] = {
	{ "Escape from Hodgkin's Manor (1990)(Zenobi Software).z80", 0x095c2, 0x004e942f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceschodma, Speceschodma, Spectrum)
STD_ROM_FN(Speceschodma)

struct BurnDriver BurnSpeceschodma = {
	"spec_eschodma", NULL, "spec_spectrum", NULL, "1990",
	"Escape from Hodgkin's Manor (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceschodmaRomInfo, SpeceschodmaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Escape from Khoshima (48K)

static struct BurnRomInfo SpecescakhosRomDesc[] = {
	{ "Escape from Khoshima (1988)(Atlantis Software).z80", 0x08410, 0xd61943a9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specescakhos, Specescakhos, Spectrum)
STD_ROM_FN(Specescakhos)

struct BurnDriver BurnSpecescakhos = {
	"spec_escakhos", NULL, "spec_spectrum", NULL, "1988",
	"Escape from Khoshima (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecescakhosRomInfo, SpecescakhosRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Escape from Krakatoa (48K)

static struct BurnRomInfo SpecescakrakRomDesc[] = {
	{ "Escape from Krakatoa (1984)(Abbex Electronics).z80", 0x03c10, 0x87943cdb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specescakrak, Specescakrak, Spectrum)
STD_ROM_FN(Specescakrak)

struct BurnDriver BurnSpecescakrak = {
	"spec_escakrak", NULL, "spec_spectrum", NULL, "1984",
	"Escape from Krakatoa (48K)\0", NULL, "Abbex Electronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecescakrakRomInfo, SpecescakrakRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Escape from Malagar (48K)

static struct BurnRomInfo SpecescamalaRomDesc[] = {
	{ "Escape from Malagar (19xx)(-).z80", 0x05bd5, 0x5894198d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specescamala, Specescamala, Spectrum)
STD_ROM_FN(Specescamala)

struct BurnDriver BurnSpecescamala = {
	"spec_escamala", NULL, "spec_spectrum", NULL, "19xx",
	"Escape from Malagar (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecescamalaRomInfo, SpecescamalaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Escape from Omicron (48K)

static struct BurnRomInfo SpecescaomicRomDesc[] = {
	{ "Escape from Omicron (1984)(Video Showcase).z80", 0x0237b, 0xa10eb6e9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specescaomic, Specescaomic, Spectrum)
STD_ROM_FN(Specescaomic)

struct BurnDriver BurnSpecescaomic = {
	"spec_escaomic", NULL, "spec_spectrum", NULL, "1984",
	"Escape from Omicron (48K)\0", NULL, "Video Showcase", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecescaomicRomInfo, SpecescaomicRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Escape from the Planet of the Robot Monsters (48K)

static struct BurnRomInfo Speceprm_48RomDesc[] = {
	{ "Escape from the Planet of the Robot Monsters (1990)(Domark).z80", 0x09f5e, 0x2354a3c8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceprm_48, Speceprm_48, Spectrum)
STD_ROM_FN(Speceprm_48)

struct BurnDriver BurnSpeceprm_48 = {
	"spec_eprm_48", "spec_eprm", "spec_spectrum", NULL, "1990",
	"Escape from the Planet of the Robot Monsters (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speceprm_48RomInfo, Speceprm_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Escape from the Planet of the Robot Monsters (128K)

static struct BurnRomInfo SpeceprmRomDesc[] = {
	{ "Escape from the Planet of the Robot Monsters (1990)(Domark)[128K].z80", 0x135e1, 0x6edcee60, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceprm, Speceprm, Spectrum)
STD_ROM_FN(Speceprm)

struct BurnDriver BurnSpeceprm = {
	"spec_eprm", NULL, "spec_spec128", NULL, "1990",
	"Escape from the Planet of the Robot Monsters (128K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceprmRomInfo, SpeceprmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Escape! (48K)

static struct BurnRomInfo SpecescapecsRomDesc[] = {
	{ "Escape! (1997)(CSSCGC).z80", 0x028f9, 0xee737168, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specescapecs, Specescapecs, Spectrum)
STD_ROM_FN(Specescapecs)

struct BurnDriver BurnSpecescapecs = {
	"spec_escapecs", NULL, "spec_spectrum", NULL, "1997",
	"Escape! (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecescapecsRomInfo, SpecescapecsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Escaping Habit, The (48K)

static struct BurnRomInfo SpeceschabthRomDesc[] = {
	{ "Escaping Habit, The (1993)(Zenobi Software).z80", 0x09887, 0xa3457a65, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceschabth, Speceschabth, Spectrum)
STD_ROM_FN(Speceschabth)

struct BurnDriver BurnSpeceschabth = {
	"spec_eschabth", NULL, "spec_spectrum", NULL, "1993",
	"Escaping Habit, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceschabthRomInfo, SpeceschabthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eskimo Eddie (48K)

static struct BurnRomInfo SpeceskieddiRomDesc[] = {
	{ "Eskimo Eddie (1984)(Ocean).z80", 0x054bd, 0x4ae40cba, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceskieddi, Speceskieddi, Spectrum)
STD_ROM_FN(Speceskieddi)

struct BurnDriver BurnSpeceskieddi = {
	"spec_eskieddi", NULL, "spec_spectrum", NULL, "1984",
	"Eskimo Eddie (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceskieddiRomInfo, SpeceskieddiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Espacio Maligno I, El (Spanish) (48K)

static struct BurnRomInfo SpecespmalgRomDesc[] = {
	{ "Espacio Maligno I, El (1989)(Daniel Perez Espinosa)(es).z80", 0x09652, 0x3723505b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specespmalg, Specespmalg, Spectrum)
STD_ROM_FN(Specespmalg)

struct BurnDriver BurnSpecespmalg = {
	"spec_espmalg", NULL, "spec_spectrum", NULL, "1989",
	"Espacio Maligno I, El (Spanish) (48K)\0", NULL, "Daniel Perez Espinosa", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecespmalgRomInfo, SpecespmalgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Espacio Maligno II, El (Spanish) (48K)

static struct BurnRomInfo Specespmalg2RomDesc[] = {
	{ "Espacio Maligno II, El (1989)(Daniel Perez Espinosa)(es).z80", 0x08eba, 0x0a25ee7c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specespmalg2, Specespmalg2, Spectrum)
STD_ROM_FN(Specespmalg2)

struct BurnDriver BurnSpecespmalg2 = {
	"spec_espmalg2", NULL, "spec_spectrum", NULL, "1989",
	"Espacio Maligno II, El (Spanish) (48K)\0", NULL, "Daniel Perez Espinosa", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specespmalg2RomInfo, Specespmalg2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Espada Sagrada, La (Spanish) (48K)

static struct BurnRomInfo SpecespsaglaRomDesc[] = {
	{ "Espada Sagrada, La (1990)(Topo Soft)(es)[needs tape load].z80", 0x061cc, 0xffff423b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specespsagla, Specespsagla, Spectrum)
STD_ROM_FN(Specespsagla)

struct BurnDriver BurnSpecespsagla = {
	"spec_espsagla", NULL, "spec_spectrum", NULL, "1990",
	"Espada Sagrada, La (Spanish) (48K)\0", NULL, "Topo Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecespsaglaRomInfo, SpecespsaglaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Espia (Spanish) (48K)

static struct BurnRomInfo SpecespiaRomDesc[] = {
	{ "Espia (1984)(Investronica)(es).z80", 0x0a7fc, 0xebc0a6dd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specespia, Specespia, Spectrum)
STD_ROM_FN(Specespia)

struct BurnDriver BurnSpecespia = {
	"spec_espia", NULL, "spec_spectrum", NULL, "1984",
	"Espia (Spanish) (48K)\0", NULL, "Investronica", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecespiaRomInfo, SpecespiaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Estacion Acuario (Spanish) (48K)

static struct BurnRomInfo SpecestaacuaRomDesc[] = {
	{ "Estacion Acuario (1992)(Luis Sanchez Palacios)(es).z80", 0x09cf8, 0xe5191046, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specestaacua, Specestaacua, Spectrum)
STD_ROM_FN(Specestaacua)

struct BurnDriver BurnSpecestaacua = {
	"spec_estaacua", NULL, "spec_spectrum", NULL, "1992",
	"Estacion Acuario (Spanish) (48K)\0", NULL, "Luis Sanchez Palacios", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecestaacuaRomInfo, SpecestaacuaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// ETa (48K)

static struct BurnRomInfo SpecetaRomDesc[] = {
	{ "ETa (1982)(Automata UK).z80", 0x0242a, 0x7bb49bff, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceta, Speceta, Spectrum)
STD_ROM_FN(Speceta)

struct BurnDriver BurnSpeceta = {
	"spec_eta", NULL, "spec_spectrum", NULL, "1982",
	"ETa (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecetaRomInfo, SpecetaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eureka (Part 01 of 10) (48K)

static struct BurnRomInfo SpeceurekaRomDesc[] = {
	{ "Eureka (1984)(Domark)(Part 01 of 10).z80", 0x080a7, 0xf3f8becd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceureka, Speceureka, Spectrum)
STD_ROM_FN(Speceureka)

struct BurnDriver BurnSpeceureka = {
	"spec_eureka", NULL, "spec_spectrum", NULL, "1984",
	"Eureka (Part 01 of 10) (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceurekaRomInfo, SpeceurekaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eureka (Part 02 of 10) (48K)

static struct BurnRomInfo Speceureka2RomDesc[] = {
	{ "Eureka (1984)(Domark)(Part 02 of 10).z80", 0x091e5, 0x9072f5a6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceureka2, Speceureka2, Spectrum)
STD_ROM_FN(Speceureka2)

struct BurnDriver BurnSpeceureka2 = {
	"spec_eureka2", "spec_eureka", "spec_spectrum", NULL, "1984",
	"Eureka (Part 02 of 10) (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speceureka2RomInfo, Speceureka2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eureka (Part 03 of 10) (48K)

static struct BurnRomInfo Speceureka3RomDesc[] = {
	{ "Eureka (1984)(Domark)(Part 03 of 10).z80", 0x084d8, 0xcdae0045, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceureka3, Speceureka3, Spectrum)
STD_ROM_FN(Speceureka3)

struct BurnDriver BurnSpeceureka3 = {
	"spec_eureka3", "spec_eureka", "spec_spectrum", NULL, "1984",
	"Eureka (Part 03 of 10) (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speceureka3RomInfo, Speceureka3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eureka (Part 04 of 10) (48K)

static struct BurnRomInfo Speceureka4RomDesc[] = {
	{ "Eureka (1984)(Domark)(Part 04 of 10).z80", 0x09de2, 0xac43ee32, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceureka4, Speceureka4, Spectrum)
STD_ROM_FN(Speceureka4)

struct BurnDriver BurnSpeceureka4 = {
	"spec_eureka4", "spec_eureka", "spec_spectrum", NULL, "1984",
	"Eureka (Part 04 of 10) (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speceureka4RomInfo, Speceureka4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eureka (Part 05 of 10) (48K)

static struct BurnRomInfo Speceureka5RomDesc[] = {
	{ "Eureka (1984)(Domark)(Part 05 of 10).z80", 0x08101, 0xd1a0d7b8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceureka5, Speceureka5, Spectrum)
STD_ROM_FN(Speceureka5)

struct BurnDriver BurnSpeceureka5 = {
	"spec_eureka5", "spec_eureka", "spec_spectrum", NULL, "1984",
	"Eureka (Part 05 of 10) (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speceureka5RomInfo, Speceureka5RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eureka (Part 06 of 10) (48K)

static struct BurnRomInfo Speceureka6RomDesc[] = {
	{ "Eureka (1984)(Domark)(Part 06 of 10).z80", 0x098f5, 0x6784b470, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceureka6, Speceureka6, Spectrum)
STD_ROM_FN(Speceureka6)

struct BurnDriver BurnSpeceureka6 = {
	"spec_eureka6", "spec_eureka", "spec_spectrum", NULL, "1984",
	"Eureka (Part 06 of 10) (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speceureka6RomInfo, Speceureka6RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eureka (Part 07 of 10) (48K)

static struct BurnRomInfo Speceureka7RomDesc[] = {
	{ "Eureka (1984)(Domark)(Part 07 of 10).z80", 0x080ea, 0x50f27c05, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceureka7, Speceureka7, Spectrum)
STD_ROM_FN(Speceureka7)

struct BurnDriver BurnSpeceureka7 = {
	"spec_eureka7", "spec_eureka", "spec_spectrum", NULL, "1984",
	"Eureka (Part 07 of 10) (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speceureka7RomInfo, Speceureka7RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eureka (Part 08 of 10) (48K)

static struct BurnRomInfo Speceureka8RomDesc[] = {
	{ "Eureka (1984)(Domark)(Part 08 of 10).z80", 0x09cdb, 0xa7ceddd1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceureka8, Speceureka8, Spectrum)
STD_ROM_FN(Speceureka8)

struct BurnDriver BurnSpeceureka8 = {
	"spec_eureka8", "spec_eureka", "spec_spectrum", NULL, "1984",
	"Eureka (Part 08 of 10) (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speceureka8RomInfo, Speceureka8RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eureka (Part 09 of 10) (48K)

static struct BurnRomInfo Speceureka9RomDesc[] = {
	{ "Eureka (1984)(Domark)(Part 09 of 10).z80", 0x081a3, 0x8e1f8682, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceureka9, Speceureka9, Spectrum)
STD_ROM_FN(Speceureka9)

struct BurnDriver BurnSpeceureka9 = {
	"spec_eureka9", "spec_eureka", "spec_spectrum", NULL, "1984",
	"Eureka (Part 09 of 10) (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speceureka9RomInfo, Speceureka9RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eureka (Part 10 of 10) (48K)

static struct BurnRomInfo Speceureka10RomDesc[] = {
	{ "Eureka (1984)(Domark)(Part 10 of 10).z80", 0x09cdb, 0xaaec99ad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceureka10, Speceureka10, Spectrum)
STD_ROM_FN(Speceureka10)

struct BurnDriver BurnSpeceureka10 = {
	"spec_eureka10", "spec_eureka", "spec_spectrum", NULL, "1984",
	"Eureka (Part 10 of 10) (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speceureka10RomInfo, Speceureka10RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Euro Boss (48K)

static struct BurnRomInfo SpeceurobossRomDesc[] = {
	{ "Euro Boss (1991)(Challenge Software).z80", 0x08be7, 0x1bc3d130, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceuroboss, Speceuroboss, Spectrum)
STD_ROM_FN(Speceuroboss)

struct BurnDriver BurnSpeceuroboss = {
	"spec_euroboss", NULL, "spec_spectrum", NULL, "1991",
	"Euro Boss (48K)\0", NULL, "Challenge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceurobossRomInfo, SpeceurobossRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// European Champions (48K)

static struct BurnRomInfo SpeceurochamRomDesc[] = {
	{ "European Champions (1990)(E&J Software).z80", 0x08719, 0x88df19fa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceurocham, Speceurocham, Spectrum)
STD_ROM_FN(Speceurocham)

struct BurnDriver BurnSpeceurocham = {
	"spec_eurocham", NULL, "spec_spectrum", NULL, "1990",
	"European Champions (48K)\0", NULL, "E&J Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceurochamRomInfo, SpeceurochamRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// European Five-a-Side (48K)

static struct BurnRomInfo SpeceurfivsiRomDesc[] = {
	{ "European Five-a-Side (1988)(Silverbird Software).z80", 0x097e3, 0xc64568b3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceurfivsi, Speceurfivsi, Spectrum)
STD_ROM_FN(Speceurfivsi)

struct BurnDriver BurnSpeceurfivsi = {
	"spec_eurfivsi", NULL, "spec_spectrum", NULL, "1988",
	"European Five-a-Side (48K)\0", NULL, "Silverbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceurfivsiRomInfo, SpeceurfivsiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// European Soccer Challenge (48K)

static struct BurnRomInfo SpeceursocchRomDesc[] = {
	{ "European Soccer Challenge (1990)(Players Software).z80", 0x0923a, 0xc518d653, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceursocch, Speceursocch, Spectrum)
STD_ROM_FN(Speceursocch)

struct BurnDriver BurnSpeceursocch = {
	"spec_eursocch", NULL, "spec_spectrum", NULL, "1990",
	"European Soccer Challenge (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceursocchRomInfo, SpeceursocchRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// European Superleague (128K)

static struct BurnRomInfo SpeceurosprlRomDesc[] = {
	{ "European Superleague (1991)(CDS Microsystems)[128K].z80", 0x11705, 0x184f06ed, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceurosprl, Speceurosprl, Spectrum)
STD_ROM_FN(Speceurosprl)

struct BurnDriver BurnSpeceurosprl = {
	"spec_eurosprl", NULL, "spec_spec128", NULL, "1991",
	"European Superleague (128K)\0", NULL, "CDS Microsystems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceurosprlRomInfo, SpeceurosprlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// European Trophy (48K)

static struct BurnRomInfo SpeceurotrpRomDesc[] = {
	{ "European Trophy (1985)(E&J Software).z80", 0x09144, 0x7bbff2ea, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceurotrp, Speceurotrp, Spectrum)
STD_ROM_FN(Speceurotrp)

struct BurnDriver BurnSpeceurotrp = {
	"spec_eurotrp", NULL, "spec_spectrum", NULL, "1985",
	"European Trophy (48K)\0", NULL, "E&J Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceurotrpRomInfo, SpeceurotrpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// European Trophy II (48K)

static struct BurnRomInfo Speceurotrp2RomDesc[] = {
	{ "European Trophy II (1986)(E&J Software).z80", 0x09a5e, 0x356246ce, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceurotrp2, Speceurotrp2, Spectrum)
STD_ROM_FN(Speceurotrp2)

struct BurnDriver BurnSpeceurotrp2 = {
	"spec_eurotrp2", NULL, "spec_spectrum", NULL, "1986",
	"European Trophy II (48K)\0", NULL, "E&J Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speceurotrp2RomInfo, Speceurotrp2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Evaristo el Punky (Spanish) (48K)

static struct BurnRomInfo SpecevarpunkRomDesc[] = {
	{ "Evaristo el Punky (1988)(SPE)(es).z80", 0x09788, 0x0ff464e6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specevarpunk, Specevarpunk, Spectrum)
STD_ROM_FN(Specevarpunk)

struct BurnDriver BurnSpecevarpunk = {
	"spec_evarpunk", NULL, "spec_spectrum", NULL, "1988",
	"Evaristo el Punky (Spanish) (48K)\0", NULL, "SPE", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecevarpunkRomInfo, SpecevarpunkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Evening Star (48K)

static struct BurnRomInfo SpecevenstarRomDesc[] = {
	{ "Evening Star (1987)(Hewson Consultants).z80", 0x073f8, 0xf91f9fa2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specevenstar, Specevenstar, Spectrum)
STD_ROM_FN(Specevenstar)

struct BurnDriver BurnSpecevenstar = {
	"spec_evenstar", NULL, "spec_spectrum", NULL, "1987",
	"Evening Star (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecevenstarRomInfo, SpecevenstarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Everest Ascent (48K)

static struct BurnRomInfo SpeceverasceRomDesc[] = {
	{ "Everest Ascent (1983)(Richard Shepherd Software).z80", 0x0901b, 0x7673b63c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceverasce, Speceverasce, Spectrum)
STD_ROM_FN(Speceverasce)

struct BurnDriver BurnSpeceverasce = {
	"spec_everasce", NULL, "spec_spectrum", NULL, "1983",
	"Everest Ascent (48K)\0", NULL, "Richard Shepherd Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceverasceRomInfo, SpeceverasceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Every Second Counts (48K)

static struct BurnRomInfo SpeceveseccoRomDesc[] = {
	{ "Every Second Counts (1988)(TV Games).z80", 0x09779, 0xbe0f8ae7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specevesecco, Specevesecco, Spectrum)
STD_ROM_FN(Specevesecco)

struct BurnDriver BurnSpecevesecco = {
	"spec_evesecco", NULL, "spec_spectrum", NULL, "1988",
	"Every Second Counts (48K)\0", NULL, "TV Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceveseccoRomInfo, SpeceveseccoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Everyone's a Wally (48K)

static struct BurnRomInfo SpeceverwallRomDesc[] = {
	{ "Everyone's a Wally (1985)(Mikro-Gen).z80", 0x08950, 0xe6914373, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceverwall, Speceverwall, Spectrum)
STD_ROM_FN(Speceverwall)

struct BurnDriver BurnSpeceverwall = {
	"spec_everwall", NULL, "spec_spectrum", NULL, "1985",
	"Everyone's a Wally (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceverwallRomInfo, SpeceverwallRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Evil Crown (48K)

static struct BurnRomInfo SpecevilcrowRomDesc[] = {
	{ "Evil Crown (1985)(Argus Press Software).z80", 0x09209, 0x84e2e339, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specevilcrow, Specevilcrow, Spectrum)
STD_ROM_FN(Specevilcrow)

struct BurnDriver BurnSpecevilcrow = {
	"spec_evilcrow", NULL, "spec_spectrum", NULL, "1985",
	"Evil Crown (48K)\0", NULL, "Argus Press Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecevilcrowRomInfo, SpecevilcrowRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Evil Dead, The (48K)

static struct BurnRomInfo SpecevideathRomDesc[] = {
	{ "Evil Dead, The (1984)(Palace Software)[speech].z80", 0x0757e, 0x731ad6e1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specevideath, Specevideath, Spectrum)
STD_ROM_FN(Specevideath)

struct BurnDriver BurnSpecevideath = {
	"spec_evideath", NULL, "spec_spectrum", NULL, "1984",
	"Evil Dead, The (48K)\0", NULL, "Palace Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecevideathRomInfo, SpecevideathRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Evil Realm of Darkness (48K)

static struct BurnRomInfo SpecevireadaRomDesc[] = {
	{ "Evil Realm of Darkness (1985)(Turtle Software).z80", 0x083c8, 0xd02c8a5e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specevireada, Specevireada, Spectrum)
STD_ROM_FN(Specevireada)

struct BurnDriver BurnSpecevireada = {
	"spec_evireada", NULL, "spec_spectrum", NULL, "1985",
	"Evil Realm of Darkness (48K)\0", NULL, "Turtle Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecevireadaRomInfo, SpecevireadaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Evolution (48K)

static struct BurnRomInfo SpecevolutioRomDesc[] = {
	{ "Evolution (1983)(Microsphere).z80", 0x0908c, 0xbc87f0a6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specevolutio, Specevolutio, Spectrum)
STD_ROM_FN(Specevolutio)

struct BurnDriver BurnSpecevolutio = {
	"spec_evolutio", NULL, "spec_spectrum", NULL, "1983",
	"Evolution (48K)\0", NULL, "Microsphere", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecevolutioRomInfo, SpecevolutioRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Examen, El (Spanish) (48K)

static struct BurnRomInfo SpecexamelesRomDesc[] = {
	{ "Examen, El (1989)(Burga's Adventure)(es).z80", 0x09e05, 0xac972678, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specexameles, Specexameles, Spectrum)
STD_ROM_FN(Specexameles)

struct BurnDriver BurnSpecexameles = {
	"spec_exameles", NULL, "spec_spectrum", NULL, "1989",
	"Examen, El (Spanish) (48K)\0", NULL, "Burga's Adventure", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecexamelesRomInfo, SpecexamelesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Excalibur - Sword of Kings (48K)

static struct BurnRomInfo SpecexcswokiRomDesc[] = {
	{ "Excalibur - Sword of Kings (1987)(Alternative Software).z80", 0x09959, 0xb950c1dc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specexcswoki, Specexcswoki, Spectrum)
STD_ROM_FN(Specexcswoki)

struct BurnDriver BurnSpecexcswoki = {
	"spec_excswoki", NULL, "spec_spectrum", NULL, "1987",
	"Excalibur - Sword of Kings (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecexcswokiRomInfo, SpecexcswokiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Excessus (Spanish) (48K)

static struct BurnRomInfo SpecexcessusRomDesc[] = {
	{ "Excessus (1990)(Wazertown Works)(es).z80", 0x08c09, 0xd849a870, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specexcessus, Specexcessus, Spectrum)
STD_ROM_FN(Specexcessus)

struct BurnDriver BurnSpecexcessus = {
	"spec_excessus", NULL, "spec_spectrum", NULL, "1990",
	"Excessus (Spanish) (48K)\0", NULL, "Wazertown Works", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecexcessusRomInfo, SpecexcessusRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Exodus (48K)

static struct BurnRomInfo SpecexodusRomDesc[] = {
	{ "Exodus (1984)(Firebird Software).z80", 0x08388, 0x6e70728e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specexodus, Specexodus, Spectrum)
STD_ROM_FN(Specexodus)

struct BurnDriver BurnSpecexodus = {
	"spec_exodus", NULL, "spec_spectrum", NULL, "1984",
	"Exodus (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecexodusRomInfo, SpecexodusRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Exofox (48K)

static struct BurnRomInfo SpecexofoxRomDesc[] = {
	{ "Exofox (1990)(Logic-Art-Ware).z80", 0x068d3, 0xfd60fbb3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specexofox, Specexofox, Spectrum)
STD_ROM_FN(Specexofox)

struct BurnDriver BurnSpecexofox = {
	"spec_exofox", NULL, "spec_spectrum", NULL, "1990",
	"Exofox (48K)\0", NULL, "Logic-Art-Ware", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecexofoxRomInfo, SpecexofoxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Exolon (48K)

static struct BurnRomInfo Specexolon_48RomDesc[] = {
	{ "Exolon (1987)(Hewson Consultants).z80", 0x0928e, 0xc6b22a79, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specexolon_48, Specexolon_48, Spectrum)
STD_ROM_FN(Specexolon_48)

struct BurnDriver BurnSpecexolon_48 = {
	"spec_exolon_48", "spec_exolon", "spec_spectrum", NULL, "1987",
	"Exolon (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specexolon_48RomInfo, Specexolon_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Exolon (128K)

static struct BurnRomInfo SpecexolonRomDesc[] = {
	{ "Exolon (1987)(Hewson Consultants)[128K].z80", 0x0cd94, 0xab5a464b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specexolon, Specexolon, Spectrum)
STD_ROM_FN(Specexolon)

struct BurnDriver BurnSpecexolon = {
	"spec_exolon", NULL, "spec_spec128", NULL, "1987",
	"Exolon (128K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecexolonRomInfo, SpecexolonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Exoter (cs) (128K)

static struct BurnRomInfo SpecexotercsRomDesc[] = {
	{ "Exoter (1987)(Cybexlab Software)(cs)[128K].z80", 0x07de1, 0x7405ac2c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specexotercs, Specexotercs, Spectrum)
STD_ROM_FN(Specexotercs)

struct BurnDriver BurnSpecexotercs = {
	"spec_exotercs", NULL, "spec_spec128", NULL, "1987",
	"Exoter (cs) (128K)\0", NULL, "Cybexlab Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecexotercsRomInfo, SpecexotercsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Exotron (48K)

static struct BurnRomInfo SpecexotronRomDesc[] = {
	{ "Exotron (1985)(Carrium Software).z80", 0x0910c, 0x9e5b92d3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specexotron, Specexotron, Spectrum)
STD_ROM_FN(Specexotron)

struct BurnDriver BurnSpecexotron = {
	"spec_exotron", NULL, "spec_spectrum", NULL, "1985",
	"Exotron (48K)\0", NULL, "Carrium Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecexotronRomInfo, SpecexotronRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Expert (48K)

static struct BurnRomInfo SpecexpertRomDesc[] = {
	{ "Expert (1988)(OKF).z80", 0x076ee, 0x4cb036bd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specexpert, Specexpert, Spectrum)
STD_ROM_FN(Specexpert)

struct BurnDriver BurnSpecexpert = {
	"spec_expert", NULL, "spec_spectrum", NULL, "1988",
	"Expert (48K)\0", NULL, "OKF", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecexpertRomInfo, SpecexpertRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Exploding Atoms (cs) (48K)

static struct BurnRomInfo SpecexplatomRomDesc[] = {
	{ "Exploding Atoms (1991)(Proxima Software)(cs).z80", 0x057bb, 0xacb2a7bb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specexplatom, Specexplatom, Spectrum)
STD_ROM_FN(Specexplatom)

struct BurnDriver BurnSpecexplatom = {
	"spec_explatom", NULL, "spec_spectrum", NULL, "1991",
	"Exploding Atoms (cs) (48K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecexplatomRomInfo, SpecexplatomRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Exploding Fist+ (48K)

static struct BurnRomInfo SpecexplfistRomDesc[] = {
	{ "Exploding Fist+ (1988)(Firebird Software).z80", 0x0aa24, 0x9f3f9b9f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specexplfist, Specexplfist, Spectrum)
STD_ROM_FN(Specexplfist)

struct BurnDriver BurnSpecexplfist = {
	"spec_explfist", NULL, "spec_spectrum", NULL, "1988",
	"Exploding Fist+ (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecexplfistRomInfo, SpecexplfistRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Explorer (48K)

static struct BurnRomInfo SpecexplorerRomDesc[] = {
	{ "Explorer (1986)(Electric Dreams Software).z80", 0x08bef, 0x018a73b0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specexplorer, Specexplorer, Spectrum)
STD_ROM_FN(Specexplorer)

struct BurnDriver BurnSpecexplorer = {
	"spec_explorer", NULL, "spec_spectrum", NULL, "1986",
	"Explorer (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecexplorerRomInfo, SpecexplorerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Explorer XXXI (Spanish) (48K)

static struct BurnRomInfo SpecexxxxiesRomDesc[] = {
	{ "Explorer XXXI (1988)(Dro Soft)(es).z80", 0x07277, 0x4f73bb6b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specexxxxies, Specexxxxies, Spectrum)
STD_ROM_FN(Specexxxxies)

struct BurnDriver BurnSpecexxxxies = {
	"spec_exxxxies", NULL, "spec_spectrum", NULL, "1988",
	"Explorer XXXI (Spanish) (48K)\0", NULL, "Dro Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecexxxxiesRomInfo, SpecexxxxiesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Express Raider (48K)

static struct BurnRomInfo SpecexprraidRomDesc[] = {
	{ "Express Raider (1987)(U.S. Gold).z80", 0x09084, 0xbb427f71, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specexprraid, Specexprraid, Spectrum)
STD_ROM_FN(Specexprraid)

struct BurnDriver BurnSpecexprraid = {
	"spec_exprraid", NULL, "spec_spectrum", NULL, "1987",
	"Express Raider (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecexprraidRomInfo, SpecexprraidRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Exterminator (128K)

static struct BurnRomInfo SpecexterminRomDesc[] = {
	{ "Exterminator (1991)(Audiogenic Software)[128K].z80", 0x19c46, 0x36b21d40, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specextermin, Specextermin, Spectrum)
STD_ROM_FN(Specextermin)

struct BurnDriver BurnSpecextermin = {
	"spec_extermin", NULL, "spec_spec128", NULL, "1991",
	"Exterminator (128K)\0", NULL, "Audiogenic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecexterminRomInfo, SpecexterminRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Extreme (48K)

static struct BurnRomInfo SpecextremeRomDesc[] = {
	{ "Extreme (1991)(Digital Integration).z80", 0x09c1f, 0x2ae1959f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specextreme, Specextreme, Spectrum)
STD_ROM_FN(Specextreme)

struct BurnDriver BurnSpecextreme = {
	"spec_extreme", NULL, "spec_spectrum", NULL, "1991",
	"Extreme (48K)\0", NULL, "Digital Integration", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecextremeRomInfo, SpecextremeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Extricator II, The - The Energem Enigma (48K)

static struct BurnRomInfo Specextrctr2RomDesc[] = {
	{ "Extricator II, The - The Energem Enigma (1987)(Precision Games).z80", 0x0ad19, 0x28c8a8e2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specextrctr2, Specextrctr2, Spectrum)
STD_ROM_FN(Specextrctr2)

struct BurnDriver BurnSpecextrctr2 = {
	"spec_extrctr2", NULL, "spec_spectrum", NULL, "1987",
	"Extricator II, The - The Energem Enigma (48K)\0", NULL, "Precision Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specextrctr2RomInfo, Specextrctr2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Extricator, The (48K)

static struct BurnRomInfo SpecextrctrRomDesc[] = {
	{ "Extricator, The (1986)(Precision Games).z80", 0x09a72, 0x3937608d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specextrctr, Specextrctr, Spectrum)
STD_ROM_FN(Specextrctr)

struct BurnDriver BurnSpecextrctr = {
	"spec_extrctr", NULL, "spec_spectrum", NULL, "1986",
	"Extricator, The (48K)\0", NULL, "Precision Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecextrctrRomInfo, SpecextrctrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eye (48K)

static struct BurnRomInfo SpeceyeRomDesc[] = {
	{ "Eye (1987)(Endurance Games).z80", 0x0871f, 0xb7f214c0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceye, Speceye, Spectrum)
STD_ROM_FN(Speceye)

struct BurnDriver BurnSpeceye = {
	"spec_eye", NULL, "spec_spectrum", NULL, "1987",
	"Eye (48K)\0", NULL, "Endurance Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceyeRomInfo, SpeceyeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eye of the Star Warrior, The (48K)

static struct BurnRomInfo SpeceyestrwRomDesc[] = {
	{ "Eye of the Star Warrior, The (1984)(Sunshine Books).z80", 0x08f2b, 0x3b9f5ed7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceyestrw, Speceyestrw, Spectrum)
STD_ROM_FN(Speceyestrw)

struct BurnDriver BurnSpeceyestrw = {
	"spec_eyestrw", NULL, "spec_spectrum", NULL, "1984",
	"Eye of the Star Warrior, The (48K)\0", NULL, "Sunshine Books", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceyestrwRomInfo, SpeceyestrwRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Eye of Varian (48K)

static struct BurnRomInfo SpeceyeovariRomDesc[] = {
	{ "Eye of Varian (1985)(Central Solutions).z80", 0x087e5, 0x0d956151, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speceyeovari, Speceyeovari, Spectrum)
STD_ROM_FN(Speceyeovari)

struct BurnDriver BurnSpeceyeovari = {
	"spec_eyeovari", NULL, "spec_spectrum", NULL, "1985",
	"Eye of Varian (48K)\0", NULL, "Central Solutions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeceyeovariRomInfo, SpeceyeovariRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// F.I.R.E. (48K)

static struct BurnRomInfo SpecfireRomDesc[] = {
	{ "F.I.R.E. (1988)(Ultrasoft).z80", 0x0b05d, 0x4ae0509b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfire, Specfire, Spectrum)
STD_ROM_FN(Specfire)

struct BurnDriver BurnSpecfire = {
	"spec_fire", NULL, "spec_spectrum", NULL, "1988",
	"F.I.R.E. (48K)\0", NULL, "Ultrasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfireRomInfo, SpecfireRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// F1 Tornado Simulator (48K)

static struct BurnRomInfo Specf1tornadRomDesc[] = {
	{ "F1 Tornado Simulator (1991)(Zeppelin Games).z80", 0x08c6b, 0xe8d72e04, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specf1tornad, Specf1tornad, Spectrum)
STD_ROM_FN(Specf1tornad)

struct BurnDriver BurnSpecf1tornad = {
	"spec_f1tornad", NULL, "spec_spectrum", NULL, "1991",
	"F1 Tornado Simulator (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specf1tornadRomInfo, Specf1tornadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// F-15 Strike Eagle (48K)

static struct BurnRomInfo Specf15streaRomDesc[] = {
	{ "F-15 Strike Eagle (1986)(Microprose Software).z80", 0x06b09, 0x74745bed, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specf15strea, Specf15strea, Spectrum)
STD_ROM_FN(Specf15strea)

struct BurnDriver BurnSpecf15strea = {
	"spec_f15strea", NULL, "spec_spectrum", NULL, "1986",
	"F-15 Strike Eagle (48K)\0", NULL, "Microprose Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specf15streaRomInfo, Specf15streaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// F-16 Fighting Falcon (48K)

static struct BurnRomInfo Specf16figfaRomDesc[] = {
	{ "F-16 Fighting Falcon (1990)(Virgin Mastertronic).z80", 0x073ab, 0xcdf84c8f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specf16figfa, Specf16figfa, Spectrum)
STD_ROM_FN(Specf16figfa)

struct BurnDriver BurnSpecf16figfa = {
	"spec_f16figfa", NULL, "spec_spectrum", NULL, "1990",
	"F-16 Fighting Falcon (48K)\0", NULL, "Virgin Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specf16figfaRomInfo, Specf16figfaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// FA Cup Football (48K)

static struct BurnRomInfo SpecfacupfooRomDesc[] = {
	{ "FA Cup Football (1986)(Virgin Games).z80", 0x06af1, 0x9985f2d5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfacupfoo, Specfacupfoo, Spectrum)
STD_ROM_FN(Specfacupfoo)

struct BurnDriver BurnSpecfacupfoo = {
	"spec_facupfoo", NULL, "spec_spectrum", NULL, "1986",
	"FA Cup Football (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfacupfooRomInfo, SpecfacupfooRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Factory Breakout (48K)

static struct BurnRomInfo SpecfactbreaRomDesc[] = {
	{ "Factory Breakout (1984)(Poppy Soft).z80", 0x0962f, 0xfb079728, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfactbrea, Specfactbrea, Spectrum)
STD_ROM_FN(Specfactbrea)

struct BurnDriver BurnSpecfactbrea = {
	"spec_factbrea", NULL, "spec_spectrum", NULL, "1984",
	"Factory Breakout (48K)\0", NULL, "Poppy Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfactbreaRomInfo, SpecfactbreaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Faerie (48K)

static struct BurnRomInfo SpecfaerieRomDesc[] = {
	{ "Faerie (1985)(8th Day Software).z80", 0x08ca5, 0xbc42bace, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfaerie, Specfaerie, Spectrum)
STD_ROM_FN(Specfaerie)

struct BurnDriver BurnSpecfaerie = {
	"spec_faerie", NULL, "spec_spectrum", NULL, "1985",
	"Faerie (48K)\0", NULL, "8th Day Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfaerieRomInfo, SpecfaerieRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fahrenheit 3000 (48K)

static struct BurnRomInfo SpecfahrenheRomDesc[] = {
	{ "Fahrenheit 3000 (1985)(Silverbird Software).z80", 0x07db1, 0xdb50a683, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfahrenhe, Specfahrenhe, Spectrum)
STD_ROM_FN(Specfahrenhe)

struct BurnDriver BurnSpecfahrenhe = {
	"spec_fahrenhe", NULL, "spec_spectrum", NULL, "1985",
	"Fahrenheit 3000 (48K)\0", NULL, "Silverbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfahrenheRomInfo, SpecfahrenheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fairlight - A Prelude (48K)

static struct BurnRomInfo Specfairlght_48RomDesc[] = {
	{ "Fairlight - A Prelude (1985)(The Edge Software).z80", 0x09a67, 0xe22691a3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfairlght_48, Specfairlght_48, Spectrum)
STD_ROM_FN(Specfairlght_48)

struct BurnDriver BurnSpecfairlght_48 = {
	"spec_fairlght_48", "spec_fairlght", "spec_spectrum", NULL, "1985",
	"Fairlight - A Prelude (48K)\0", NULL, "The Edge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfairlght_48RomInfo, Specfairlght_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fairlight - A Prelude (128K)

static struct BurnRomInfo SpecfairlghtRomDesc[] = {
	{ "Fairlight - A Prelude (1985)(The Edge Software)[128K].z80", 0x114ad, 0x5fdc3ff9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfairlght, Specfairlght, Spectrum)
STD_ROM_FN(Specfairlght)

struct BurnDriver BurnSpecfairlght = {
	"spec_fairlght", NULL, "spec_spec128", NULL, "1985",
	"Fairlight - A Prelude (128K)\0", NULL, "The Edge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfairlghtRomInfo, SpecfairlghtRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fairlight 2 - A Trail of Darkness (Part 1 of 2) (48K)

static struct BurnRomInfo Specfairlgh2_48RomDesc[] = {
	{ "Fairlight 2 - A Trail of Darkness (1986)(The Edge Software)(Part 1 of 2).z80", 0x0a1e5, 0x50a7ebf0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfairlgh2_48, Specfairlgh2_48, Spectrum)
STD_ROM_FN(Specfairlgh2_48)

struct BurnDriver BurnSpecfairlgh2_48 = {
	"spec_fairlgh2_48", "spec_fairlgh2", "spec_spectrum", NULL, "1986",
	"Fairlight 2 - A Trail of Darkness (Part 1 of 2) (48K)\0", NULL, "The Edge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfairlgh2_48RomInfo, Specfairlgh2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fairlight 2 - A Trail of Darkness (Part 2 of 2) (48K)

static struct BurnRomInfo Specfairlgh22_48RomDesc[] = {
	{ "Fairlight 2 - A Trail of Darkness (1986)(The Edge Software)(Part 2 of 2).z80", 0x0aaf5, 0x15269138, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfairlgh22_48, Specfairlgh22_48, Spectrum)
STD_ROM_FN(Specfairlgh22_48)

struct BurnDriver BurnSpecfairlgh22_48 = {
	"spec_fairlgh22_48", "spec_fairlgh2", "spec_spectrum", NULL, "1986",
	"Fairlight 2 - A Trail of Darkness (Part 2 of 2) (48K)\0", NULL, "The Edge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfairlgh22_48RomInfo, Specfairlgh22_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fairlight 2 - A Trail of Darkness (128K)

static struct BurnRomInfo Specfairlgh2RomDesc[] = {
	{ "Fairlight 2 - A Trail of Darkness (1986)(The Edge Software)[128K].z80", 0x11c10, 0xf8f13ef1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfairlgh2, Specfairlgh2, Spectrum)
STD_ROM_FN(Specfairlgh2)

struct BurnDriver BurnSpecfairlgh2 = {
	"spec_fairlgh2", NULL, "spec_spec128", NULL, "1986",
	"Fairlight 2 - A Trail of Darkness (128K)\0", NULL, "The Edge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfairlgh2RomInfo, Specfairlgh2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fairly Difficult Mission (Part 1 of 5) (48K)

static struct BurnRomInfo SpecfrlydmRomDesc[] = {
	{ "Fairly Difficult Mission (1988)(Zodiac Software)(Part 1 of 5).z80", 0x09711, 0xc6f734ff, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrlydm, Specfrlydm, Spectrum)
STD_ROM_FN(Specfrlydm)

struct BurnDriver BurnSpecfrlydm = {
	"spec_frlydm", NULL, "spec_spectrum", NULL, "1988",
	"Fairly Difficult Mission (Part 1 of 5) (48K)\0", NULL, "Zodiac Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfrlydmRomInfo, SpecfrlydmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fairly Difficult Mission (Part 2 of 5) (48K)

static struct BurnRomInfo Specfrlydm2RomDesc[] = {
	{ "Fairly Difficult Mission (1988)(Zodiac Software)(Part 2 of 5).z80", 0x09906, 0x3082c4e9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrlydm2, Specfrlydm2, Spectrum)
STD_ROM_FN(Specfrlydm2)

struct BurnDriver BurnSpecfrlydm2 = {
	"spec_frlydm2", "spec_frlydm", "spec_spectrum", NULL, "1988",
	"Fairly Difficult Mission (Part 2 of 5) (48K)\0", NULL, "Zodiac Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfrlydm2RomInfo, Specfrlydm2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fairly Difficult Mission (Part 3 of 5) (48K)

static struct BurnRomInfo Specfrlydm3RomDesc[] = {
	{ "Fairly Difficult Mission (1988)(Zodiac Software)(Part 3 of 5).z80", 0x0965b, 0x73fb297e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrlydm3, Specfrlydm3, Spectrum)
STD_ROM_FN(Specfrlydm3)

struct BurnDriver BurnSpecfrlydm3 = {
	"spec_frlydm3", "spec_frlydm", "spec_spectrum", NULL, "1988",
	"Fairly Difficult Mission (Part 3 of 5) (48K)\0", NULL, "Zodiac Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfrlydm3RomInfo, Specfrlydm3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fairly Difficult Mission (Part 4 of 5) (48K)

static struct BurnRomInfo Specfrlydm4RomDesc[] = {
	{ "Fairly Difficult Mission (1988)(Zodiac Software)(Part 4 of 5).z80", 0x06570, 0x29835b59, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrlydm4, Specfrlydm4, Spectrum)
STD_ROM_FN(Specfrlydm4)

struct BurnDriver BurnSpecfrlydm4 = {
	"spec_frlydm4", "spec_frlydm", "spec_spectrum", NULL, "1988",
	"Fairly Difficult Mission (Part 4 of 5) (48K)\0", NULL, "Zodiac Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfrlydm4RomInfo, Specfrlydm4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fairly Difficult Mission (Part 5 of 5) (48K)

static struct BurnRomInfo Specfrlydm5RomDesc[] = {
	{ "Fairly Difficult Mission (1988)(Zodiac Software)(Part 5 of 5).z80", 0x06155, 0xba18510e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrlydm5, Specfrlydm5, Spectrum)
STD_ROM_FN(Specfrlydm5)

struct BurnDriver BurnSpecfrlydm5 = {
	"spec_frlydm5", "spec_frlydm", "spec_spectrum", NULL, "1988",
	"Fairly Difficult Mission (Part 5 of 5) (48K)\0", NULL, "Zodiac Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfrlydm5RomInfo, Specfrlydm5RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fakultet (bs) (48K)

static struct BurnRomInfo SpecfakultetRomDesc[] = {
	{ "Fakultet (1987)(Samir Ribic)(bs).z80", 0x04237, 0x8dd6df0c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfakultet, Specfakultet, Spectrum)
STD_ROM_FN(Specfakultet)

struct BurnDriver BurnSpecfakultet = {
	"spec_fakultet", NULL, "spec_spectrum", NULL, "1987",
	"Fakultet (bs) (48K)\0", NULL, "Samir Ribic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfakultetRomInfo, SpecfakultetRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Falcon - The Renegade Lord (48K)

static struct BurnRomInfo SpecfathreloRomDesc[] = {
	{ "Falcon - The Renegade Lord (1987)(Virgin Games).z80", 0x09d4a, 0x66ec38d8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfathrelo, Specfathrelo, Spectrum)
STD_ROM_FN(Specfathrelo)

struct BurnDriver BurnSpecfathrelo = {
	"spec_fathrelo", NULL, "spec_spectrum", NULL, "1987",
	"Falcon - The Renegade Lord (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfathreloRomInfo, SpecfathreloRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Falcon Patrol II (48K)

static struct BurnRomInfo Specfalconp2RomDesc[] = {
	{ "Falcon Patrol II (1985)(Virgin Games).z80", 0x06484, 0x026e024b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfalconp2, Specfalconp2, Spectrum)
STD_ROM_FN(Specfalconp2)

struct BurnDriver BurnSpecfalconp2 = {
	"spec_falconp2", NULL, "spec_spectrum", NULL, "1985",
	"Falcon Patrol II (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfalconp2RomInfo, Specfalconp2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Falklands 82 (48K)

static struct BurnRomInfo SpecfalklandRomDesc[] = {
	{ "Falklands 82 (1986)(PSS).z80", 0x070c3, 0x33c4c939, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfalkland, Specfalkland, Spectrum)
STD_ROM_FN(Specfalkland)

struct BurnDriver BurnSpecfalkland = {
	"spec_falkland", NULL, "spec_spectrum", NULL, "1986",
	"Falklands 82 (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfalklandRomInfo, SpecfalklandRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fall Guy, The (48K)

static struct BurnRomInfo SpecfalguythRomDesc[] = {
	{ "Fall Guy, The (1985)(Elite Systems).z80", 0x093da, 0x348f8ec0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfalguyth, Specfalguyth, Spectrum)
STD_ROM_FN(Specfalguyth)

struct BurnDriver BurnSpecfalguyth = {
	"spec_falguyth", NULL, "spec_spectrum", NULL, "1985",
	"Fall Guy, The (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfalguythRomInfo, SpecfalguythRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fall of Rome, The (48K)

static struct BurnRomInfo SpecfalromthRomDesc[] = {
	{ "Fall of Rome, The (1984)(ASP Software).z80", 0x0820f, 0xc70be2b6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfalromth, Specfalromth, Spectrum)
STD_ROM_FN(Specfalromth)

struct BurnDriver BurnSpecfalromth = {
	"spec_falromth", NULL, "spec_spectrum", NULL, "1984",
	"Fall of Rome, The (48K)\0", NULL, "ASP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfalromthRomInfo, SpecfalromthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Falls of Shalor, The (48K)

static struct BurnRomInfo SpecfalshathRomDesc[] = {
	{ "Falls of Shalor, The (1983)(C.P. Woodward).z80", 0x08bd4, 0xb34402e8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfalshath, Specfalshath, Spectrum)
STD_ROM_FN(Specfalshath)

struct BurnDriver BurnSpecfalshath = {
	"spec_falshath", NULL, "spec_spectrum", NULL, "1983",
	"Falls of Shalor, The (48K)\0", NULL, "C.P. Woodward", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfalshathRomInfo, SpecfalshathRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Famous Five, The - Five on a Treasure Island (48K)

static struct BurnRomInfo Specffive_48RomDesc[] = {
	{ "Famous Five, The - Five on a Treasure Island (1990)(Enigma Variations).z80", 0x0a5e9, 0xe7844282, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specffive_48, Specffive_48, Spectrum)
STD_ROM_FN(Specffive_48)

struct BurnDriver BurnSpecffive_48 = {
	"spec_ffive_48", "spec_ffive", "spec_spectrum", NULL, "1990",
	"Famous Five, The - Five on a Treasure Island (48K)\0", NULL, "Enigma Variations", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specffive_48RomInfo, Specffive_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Famous Five, The - Five on a Treasure Island (128K)

static struct BurnRomInfo SpecffiveRomDesc[] = {
	{ "Famous Five, The - Five on a Treasure Island (1990)(Enigma Variations)[128K].z80", 0x12bdc, 0x5fe57c56, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specffive, Specffive, Spectrum)
STD_ROM_FN(Specffive)

struct BurnDriver BurnSpecffive = {
	"spec_ffive", NULL, "spec_spec128", NULL, "1990",
	"Famous Five, The - Five on a Treasure Island (128K)\0", NULL, "Enigma Variations", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecffiveRomInfo, SpecffiveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fanky Punky v2 (Spanish) (48K)

static struct BurnRomInfo SpecfankpunkRomDesc[] = {
	{ "Fanky Punky v2 (1988)(P.J. Software)(es).z80", 0x0522d, 0xa63b29d9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfankpunk, Specfankpunk, Spectrum)
STD_ROM_FN(Specfankpunk)

struct BurnDriver BurnSpecfankpunk = {
	"spec_fankpunk", NULL, "spec_spectrum", NULL, "1988",
	"Fanky Punky v2 (Spanish) (48K)\0", NULL, "P.J. Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfankpunkRomInfo, SpecfankpunkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fantasia (48K)

static struct BurnRomInfo SpecfantasiaRomDesc[] = {
	{ "Fantasia (1983)(Rabbit Software).z80", 0x023e0, 0x6048b7e5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfantasia, Specfantasia, Spectrum)
STD_ROM_FN(Specfantasia)

struct BurnDriver BurnSpecfantasia = {
	"spec_fantasia", NULL, "spec_spectrum", NULL, "1983",
	"Fantasia (48K)\0", NULL, "Rabbit Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfantasiaRomInfo, SpecfantasiaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fantasia Diamond (48K)

static struct BurnRomInfo SpecfantdiamRomDesc[] = {
	{ "Fantasia Diamond (1984)(Hewson Consultants).z80", 0x08710, 0xc1427140, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfantdiam, Specfantdiam, Spectrum)
STD_ROM_FN(Specfantdiam)

struct BurnDriver BurnSpecfantdiam = {
	"spec_fantdiam", NULL, "spec_spectrum", NULL, "1984",
	"Fantasia Diamond (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfantdiamRomInfo, SpecfantdiamRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fantastic Adventure (48K)

static struct BurnRomInfo SpecfantadveRomDesc[] = {
	{ "Fantastic Adventure (1999)(CSSCGC).z80", 0x00bd7, 0xc4e3bb18, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfantadve, Specfantadve, Spectrum)
STD_ROM_FN(Specfantadve)

struct BurnDriver BurnSpecfantadve = {
	"spec_fantadve", NULL, "spec_spectrum", NULL, "1999",
	"Fantastic Adventure (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfantadveRomInfo, SpecfantadveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fantastic American Football (48K)

static struct BurnRomInfo SpecfanamefoRomDesc[] = {
	{ "Fantastic American Football (1990)(Zeppelin Games).z80", 0x09f3d, 0x6cdb4b2c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfanamefo, Specfanamefo, Spectrum)
STD_ROM_FN(Specfanamefo)

struct BurnDriver BurnSpecfanamefo = {
	"spec_fanamefo", NULL, "spec_spectrum", NULL, "1990",
	"Fantastic American Football (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfanamefoRomInfo, SpecfanamefoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fantastic Mission (Spanish) (48K)

static struct BurnRomInfo SpecfantmissRomDesc[] = {
	{ "Fantastic Mission (1984)(Program Software)(es).z80", 0x044f5, 0x11524a99, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfantmiss, Specfantmiss, Spectrum)
STD_ROM_FN(Specfantmiss)

struct BurnDriver BurnSpecfantmiss = {
	"spec_fantmiss", NULL, "spec_spectrum", NULL, "1984",
	"Fantastic Mission (Spanish) (48K)\0", NULL, "Program Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfantmissRomInfo, SpecfantmissRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fantastic Voyage (48K)

static struct BurnRomInfo SpecfantvoyaRomDesc[] = {
	{ "Fantastic Voyage (1984)(Quicksilva).z80", 0x07e09, 0x0cf9d7c2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfantvoya, Specfantvoya, Spectrum)
STD_ROM_FN(Specfantvoya)

struct BurnDriver BurnSpecfantvoya = {
	"spec_fantvoya", NULL, "spec_spectrum", NULL, "1984",
	"Fantastic Voyage (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfantvoyaRomInfo, SpecfantvoyaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fantasy - An Adult Game (48K)

static struct BurnRomInfo SpecfaanadgaRomDesc[] = {
	{ "Fantasy - An Adult Game (1987)(R'n'H Microtec).z80", 0x07e86, 0x5a79d278, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfaanadga, Specfaanadga, Spectrum)
STD_ROM_FN(Specfaanadga)

struct BurnDriver BurnSpecfaanadga = {
	"spec_faanadga", NULL, "spec_spectrum", NULL, "1987",
	"Fantasy - An Adult Game (48K)\0", NULL, "R'n'H Microtec", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfaanadgaRomInfo, SpecfaanadgaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fantasy Zone 2, The (128K)

static struct BurnRomInfo Specfntzone2RomDesc[] = {
	{ "Fantasy Zone 2, The (19xx)(-)[128K].z80", 0x05c6c, 0xe09d79d8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfntzone2, Specfntzone2, Spectrum)
STD_ROM_FN(Specfntzone2)

struct BurnDriver BurnSpecfntzone2 = {
	"spec_fntzone2", NULL, "spec_spec128", NULL, "19xx",
	"Fantasy Zone 2, The (128K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfntzone2RomInfo, Specfntzone2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fast and the Furious, The (48K)

static struct BurnRomInfo SpecfasfurthRomDesc[] = {
	{ "Fast and the Furious, The (1987)(Go!).z80", 0x09eec, 0x16ad9730, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfasfurth, Specfasfurth, Spectrum)
STD_ROM_FN(Specfasfurth)

struct BurnDriver BurnSpecfasfurth = {
	"spec_fasfurth", NULL, "spec_spectrum", NULL, "1987",
	"Fast and the Furious, The (48K)\0", NULL, "Go!", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfasfurthRomInfo, SpecfasfurthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fast Breed (128K)

static struct BurnRomInfo SpecfastbreeRomDesc[] = {
	{ "Fast Breed (1988)(Master Home Computers Group)[128K].z80", 0x1473d, 0xf0656d6a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfastbree, Specfastbree, Spectrum)
STD_ROM_FN(Specfastbree)

struct BurnDriver BurnSpecfastbree = {
	"spec_fastbree", NULL, "spec_spec128", NULL, "1988",
	"Fast Breed (128K)\0", NULL, "Master Home Computers Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfastbreeRomInfo, SpecfastbreeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fast Food Dizzy (48K)

static struct BurnRomInfo Specffdizzy_48RomDesc[] = {
	{ "Fast Food Dizzy (1989)(Codemasters).z80", 0x0a6e6, 0x40b68f49, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specffdizzy_48, Specffdizzy_48, Spectrum)
STD_ROM_FN(Specffdizzy_48)

struct BurnDriver BurnSpecffdizzy_48 = {
	"spec_ffdizzy_48", "spec_ffdizzy", "spec_spectrum", NULL, "1989",
	"Fast Food Dizzy (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specffdizzy_48RomInfo, Specffdizzy_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fast Food Dizzy (128K)

static struct BurnRomInfo SpecffdizzyRomDesc[] = {
	{ "Fast Food Dizzy (1989)(Codemasters)[128K].z80", 0x0bb12, 0x83608e22, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specffdizzy, Specffdizzy, Spectrum)
STD_ROM_FN(Specffdizzy)

struct BurnDriver BurnSpecffdizzy = {
	"spec_ffdizzy", NULL, "spec_spec128", NULL, "1989",
	"Fast Food Dizzy (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecffdizzyRomInfo, SpecffdizzyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fat Worm Blows a Sparky (48K)

static struct BurnRomInfo Specfatwrm_48RomDesc[] = {
	{ "Fat Worm Blows a Sparky (1985)(Durell Software).z80", 0x0aece, 0x71799954, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfatwrm_48, Specfatwrm_48, Spectrum)
STD_ROM_FN(Specfatwrm_48)

struct BurnDriver BurnSpecfatwrm_48 = {
	"spec_fatwrm_48", "spec_fatwrm", "spec_spectrum", NULL, "1985",
	"Fat Worm Blows a Sparky (48K)\0", NULL, "Durell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfatwrm_48RomInfo, Specfatwrm_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fat Worm Blows a Sparky (128K)

static struct BurnRomInfo SpecfatwrmRomDesc[] = {
	{ "Fat Worm Blows a Sparky (1985)(Durell Software)[128K].z80", 0x0a203, 0x994f3966, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfatwrm, Specfatwrm, Spectrum)
STD_ROM_FN(Specfatwrm)

struct BurnDriver BurnSpecfatwrm = {
	"spec_fatwrm", NULL, "spec_spec128", NULL, "1985",
	"Fat Worm Blows a Sparky (128K)\0", NULL, "Durell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfatwrmRomInfo, SpecfatwrmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Father of Darkness (Part 1 of 2) (48K)

static struct BurnRomInfo SpecfathdarkRomDesc[] = {
	{ "Father of Darkness (1986)(Central Solutions)(Part 1 of 2).z80", 0x0a643, 0xb5e83c20, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfathdark, Specfathdark, Spectrum)
STD_ROM_FN(Specfathdark)

struct BurnDriver BurnSpecfathdark = {
	"spec_fathdark", NULL, "spec_spectrum", NULL, "1986",
	"Father of Darkness (Part 1 of 2) (48K)\0", NULL, "Central Solutions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfathdarkRomInfo, SpecfathdarkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Father of Darkness (Part 2 of 2) (48K)

static struct BurnRomInfo Specfathdark2RomDesc[] = {
	{ "Father of Darkness (1986)(Central Solutions)(Part 2 of 2).z80", 0x0a888, 0xa268128c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfathdark2, Specfathdark2, Spectrum)
STD_ROM_FN(Specfathdark2)

struct BurnDriver BurnSpecfathdark2 = {
	"spec_fathdark2", "spec_fathdark", "spec_spectrum", NULL, "1986",
	"Father of Darkness (Part 2 of 2) (48K)\0", NULL, "Central Solutions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfathdark2RomInfo, Specfathdark2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Faulty Towers (48K)

static struct BurnRomInfo SpecfaultoweRomDesc[] = {
	{ "Faulty Towers (1984)(Harbour Soft).z80", 0x063a1, 0xc3bee7c7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfaultowe, Specfaultowe, Spectrum)
STD_ROM_FN(Specfaultowe)

struct BurnDriver BurnSpecfaultowe = {
	"spec_faultowe", NULL, "spec_spectrum", NULL, "1984",
	"Faulty Towers (48K)\0", NULL, "Harbour Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfaultoweRomInfo, SpecfaultoweRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Faust's Folly (Part 1 of 2) (48K)

static struct BurnRomInfo SpecfasuftfRomDesc[] = {
	{ "Faust's Folly (1983)(Abbex Electronics)(Part 1 of 2).z80", 0x01113, 0xc6f72e13, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfasuftf, Specfasuftf, Spectrum)
STD_ROM_FN(Specfasuftf)

struct BurnDriver BurnSpecfasuftf = {
	"spec_fasuftf", NULL, "spec_spectrum", NULL, "1983",
	"Faust's Folly (Part 1 of 2) (48K)\0", NULL, "Abbex Electronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfasuftfRomInfo, SpecfasuftfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Faust's Folly (Part 2 of 2) (48K)

static struct BurnRomInfo Specfasuftf2RomDesc[] = {
	{ "Faust's Folly (1983)(Abbex Electronics)(Part 2 of 2).z80", 0x02543, 0x1f20e5d0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfasuftf2, Specfasuftf2, Spectrum)
STD_ROM_FN(Specfasuftf2)

struct BurnDriver BurnSpecfasuftf2 = {
	"spec_fasuftf2", "spec_fasuftf", "spec_spectrum", NULL, "1983",
	"Faust's Folly (Part 2 of 2) (48K)\0", NULL, "Abbex Electronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfasuftf2RomInfo, Specfasuftf2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fearless Frank (48K)

static struct BurnRomInfo SpecfearfranRomDesc[] = {
	{ "Fearless Frank (1984)(St. Michael).z80", 0x06843, 0x8f342064, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfearfran, Specfearfran, Spectrum)
STD_ROM_FN(Specfearfran)

struct BurnDriver BurnSpecfearfran = {
	"spec_fearfran", NULL, "spec_spectrum", NULL, "1984",
	"Fearless Frank (48K)\0", NULL, "St. Michael", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfearfranRomInfo, SpecfearfranRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Federation (48K)

static struct BurnRomInfo SpecfederatiRomDesc[] = {
	{ "Federation (1988)(CRL Group)[aka Quann Tulla v2].z80", 0x09489, 0x1b19ff77, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfederati, Specfederati, Spectrum)
STD_ROM_FN(Specfederati)

struct BurnDriver BurnSpecfederati = {
	"spec_federati", NULL, "spec_spectrum", NULL, "1988",
	"Federation (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfederatiRomInfo, SpecfederatiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Feline Sleepy (128K)

static struct BurnRomInfo SpecfelisleeRomDesc[] = {
	{ "Feline Sleepy (19xx)(Adventure Probe Software)[128K].z80", 0x095a4, 0x702a876c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfelislee, Specfelislee, Spectrum)
STD_ROM_FN(Specfelislee)

struct BurnDriver BurnSpecfelislee = {
	"spec_felislee", NULL, "spec_spec128", NULL, "19xx",
	"Feline Sleepy (128K)\0", NULL, "Adventure Probe Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfelisleeRomInfo, SpecfelisleeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fernandez Must Die (48K)

static struct BurnRomInfo SpecfermusdiRomDesc[] = {
	{ "Fernandez Must Die (1988)(Image Works).z80", 0x08eca, 0x43381c1f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfermusdi, Specfermusdi, Spectrum)
STD_ROM_FN(Specfermusdi)

struct BurnDriver BurnSpecfermusdi = {
	"spec_fermusdi", NULL, "spec_spectrum", NULL, "1988",
	"Fernandez Must Die (48K)\0", NULL, "Image Works", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfermusdiRomInfo, SpecfermusdiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fernando Martin Basket Master (Spanish) (48K)

static struct BurnRomInfo SpecfemabamaRomDesc[] = {
	{ "Fernando Martin Basket Master (1987)(Dinamic Software)(es).z80", 0x09ccb, 0x86b7e9c4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfemabama, Specfemabama, Spectrum)
STD_ROM_FN(Specfemabama)

struct BurnDriver BurnSpecfemabama = {
	"spec_femabama", NULL, "spec_spectrum", NULL, "1987",
	"Fernando Martin Basket Master (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfemabamaRomInfo, SpecfemabamaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Festung (German) (48K)

static struct BurnRomInfo SpecfestungdRomDesc[] = {
	{ "Festung (19xx)(-)(de).z80", 0x01b3b, 0xeff4180e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfestungd, Specfestungd, Spectrum)
STD_ROM_FN(Specfestungd)

struct BurnDriver BurnSpecfestungd = {
	"spec_festungd", NULL, "spec_spectrum", NULL, "19xx",
	"Festung (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfestungdRomInfo, SpecfestungdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Feud (48K)

static struct BurnRomInfo Specfeud_48RomDesc[] = {
	{ "Feud (1987)(Bulldog).z80", 0x096cf, 0xe9d169a7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfeud_48, Specfeud_48, Spectrum)
STD_ROM_FN(Specfeud_48)

struct BurnDriver BurnSpecfeud_48 = {
	"spec_feud_48", "spec_feud", "spec_spectrum", NULL, "1987",
	"Feud (48K)\0", NULL, "Bulldog", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfeud_48RomInfo, Specfeud_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Feud (128K)

static struct BurnRomInfo SpecfeudRomDesc[] = {
	{ "Feud (1987)(Bulldog)[128K].z80", 0x09d6f, 0x71ccae18, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfeud, Specfeud, Spectrum)
STD_ROM_FN(Specfeud)

struct BurnDriver BurnSpecfeud = {
	"spec_feud", NULL, "spec_spec128", NULL, "1987",
	"Feud (128K)\0", NULL, "Bulldog", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfeudRomInfo, SpecfeudRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fido (48K)

static struct BurnRomInfo SpecfidoRomDesc[] = {
	{ "Fido (1985)(Firebird Software).z80", 0x05c04, 0x0098dabb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfido, Specfido, Spectrum)
STD_ROM_FN(Specfido)

struct BurnDriver BurnSpecfido = {
	"spec_fido", NULL, "spec_spectrum", NULL, "1985",
	"Fido (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfidoRomInfo, SpecfidoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fido II - Puppy Power (48K)

static struct BurnRomInfo Specfido2RomDesc[] = {
	{ "Fido II - Puppy Power (1985)(Firebird Software).z80", 0x071e7, 0x2da2ae17, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfido2, Specfido2, Spectrum)
STD_ROM_FN(Specfido2)

struct BurnDriver BurnSpecfido2 = {
	"spec_fido2", NULL, "spec_spectrum", NULL, "1985",
	"Fido II - Puppy Power (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfido2RomInfo, Specfido2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fifth Quadrant, The (48K)

static struct BurnRomInfo SpecfifquathRomDesc[] = {
	{ "Fifth Quadrant, The (1987)(Bubblebus Software).z80", 0x0a6b8, 0xf73bad7e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfifquath, Specfifquath, Spectrum)
STD_ROM_FN(Specfifquath)

struct BurnDriver BurnSpecfifquath = {
	"spec_fifquath", NULL, "spec_spectrum", NULL, "1987",
	"Fifth Quadrant, The (48K)\0", NULL, "Bubblebus Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfifquathRomInfo, SpecfifquathRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fighter (German) (48K)

static struct BurnRomInfo SpecfighterdRomDesc[] = {
	{ "Fighter (1983)(Werner Spahl)(de).z80", 0x047ce, 0x3b1aa0e4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfighterd, Specfighterd, Spectrum)
STD_ROM_FN(Specfighterd)

struct BurnDriver BurnSpecfighterd = {
	"spec_fighterd", NULL, "spec_spectrum", NULL, "1983",
	"Fighter (German) (48K)\0", NULL, "Werner Spahl", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfighterdRomInfo, SpecfighterdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fighter Bomber (128K)

static struct BurnRomInfo SpecfighbombRomDesc[] = {
	{ "Fighter Bomber (1990)(Activision)[128K].z80", 0x18c18, 0xa84e0b8f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfighbomb, Specfighbomb, Spectrum)
STD_ROM_FN(Specfighbomb)

struct BurnDriver BurnSpecfighbomb = {
	"spec_fighbomb", NULL, "spec_spec128", NULL, "1990",
	"Fighter Bomber (128K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfighbombRomInfo, SpecfighbombRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fighter Pilot (48K)

static struct BurnRomInfo SpecfighpiloRomDesc[] = {
	{ "Fighter Pilot (1983)(Digital Integration).z80", 0x08bcd, 0x7bd1b467, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfighpilo, Specfighpilo, Spectrum)
STD_ROM_FN(Specfighpilo)

struct BurnDriver BurnSpecfighpilo = {
	"spec_fighpilo", NULL, "spec_spectrum", NULL, "1983",
	"Fighter Pilot (48K)\0", NULL, "Digital Integration", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfighpiloRomInfo, SpecfighpiloRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fighting Soccer (128K)

static struct BurnRomInfo SpecfighsoccRomDesc[] = {
	{ "Fighting Soccer (1989)(Activision)[128K].z80", 0x148df, 0xec48a462, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfighsocc, Specfighsocc, Spectrum)
STD_ROM_FN(Specfighsocc)

struct BurnDriver BurnSpecfighsocc = {
	"spec_fighsocc", NULL, "spec_spec128", NULL, "1989",
	"Fighting Soccer (128K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfighsoccRomInfo, SpecfighsoccRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fighting Warrior (48K)

static struct BurnRomInfo SpecfighwarrRomDesc[] = {
	{ "Fighting Warrior (1985)(Melbourne House).z80", 0x0a33b, 0xb830a66f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfighwarr, Specfighwarr, Spectrum)
STD_ROM_FN(Specfighwarr)

struct BurnDriver BurnSpecfighwarr = {
	"spec_fighwarr", NULL, "spec_spectrum", NULL, "1985",
	"Fighting Warrior (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfighwarrRomInfo, SpecfighwarrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Filler (48K)

static struct BurnRomInfo SpecfillerRomDesc[] = {
	{ "Filler (1996)(CSSCGC).z80", 0x00a0d, 0x960aedb5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfiller, Specfiller, Spectrum)
STD_ROM_FN(Specfiller)

struct BurnDriver BurnSpecfiller = {
	"spec_filler", NULL, "spec_spectrum", NULL, "1996",
	"Filler (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfillerRomInfo, SpecfillerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fillers (128K)

static struct BurnRomInfo SpecfillersRomDesc[] = {
	{ "Fillers (1995)(Oleg Sergeyev)[128K].z80", 0x04dd0, 0x4fe737e4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfillers, Specfillers, Spectrum)
STD_ROM_FN(Specfillers)

struct BurnDriver BurnSpecfillers = {
	"spec_fillers", NULL, "spec_spec128", NULL, "1995",
	"Fillers (128K)\0", NULL, "Oleg Sergeyev", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfillersRomInfo, SpecfillersRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Final Assault (128K)

static struct BurnRomInfo SpecfinaassaRomDesc[] = {
	{ "Final Assault (1988)(U.S. Gold)[128K].z80", 0x143bb, 0xbd8bec7a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfinaassa, Specfinaassa, Spectrum)
STD_ROM_FN(Specfinaassa)

struct BurnDriver BurnSpecfinaassa = {
	"spec_finaassa", NULL, "spec_spec128", NULL, "1988",
	"Final Assault (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfinaassaRomInfo, SpecfinaassaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Final Chorus, The (128K)

static struct BurnRomInfo SpecfinchothRomDesc[] = {
	{ "Final Chorus, The (1995)(Zenobi Software)[128K].z80", 0x18bfa, 0xf6760b73, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfinchoth, Specfinchoth, Spectrum)
STD_ROM_FN(Specfinchoth)

struct BurnDriver BurnSpecfinchoth = {
	"spec_finchoth", NULL, "spec_spec128", NULL, "1995",
	"Final Chorus, The (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfinchothRomInfo, SpecfinchothRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Final Demand, The (48K)

static struct BurnRomInfo SpecfindemthRomDesc[] = {
	{ "Final Demand, The (1993)(Zenobi Software).z80", 0x0942b, 0x8f4f38a2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfindemth, Specfindemth, Spectrum)
STD_ROM_FN(Specfindemth)

struct BurnDriver BurnSpecfindemth = {
	"spec_findemth", NULL, "spec_spectrum", NULL, "1993",
	"Final Demand, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfindemthRomInfo, SpecfindemthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Final Matrix, The (48K)

static struct BurnRomInfo SpecfinmatthRomDesc[] = {
	{ "Final Matrix, The (1987)(Gremlin Graphics Software).z80", 0x0a0a4, 0xcf4b8bea, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfinmatth, Specfinmatth, Spectrum)
STD_ROM_FN(Specfinmatth)

struct BurnDriver BurnSpecfinmatth = {
	"spec_finmatth", NULL, "spec_spectrum", NULL, "1987",
	"Final Matrix, The (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfinmatthRomInfo, SpecfinmatthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Finders Keepers (48K)

static struct BurnRomInfo SpecfindkeepRomDesc[] = {
	{ "Finders Keepers (1985)(Mastertronic)[Magic Knight 1].z80", 0x0904e, 0xce29844e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfindkeep, Specfindkeep, Spectrum)
STD_ROM_FN(Specfindkeep)

struct BurnDriver BurnSpecfindkeep = {
	"spec_findkeep", NULL, "spec_spectrum", NULL, "1985",
	"Finders Keepers (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfindkeepRomInfo, SpecfindkeepRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fire and Forget (48K)

static struct BurnRomInfo SpecfireforgRomDesc[] = {
	{ "Fire and Forget (1988)(Titus).z80", 0x0999f, 0xe3e6f63a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfireforg, Specfireforg, Spectrum)
STD_ROM_FN(Specfireforg)

struct BurnDriver BurnSpecfireforg = {
	"spec_fireforg", NULL, "spec_spectrum", NULL, "1988",
	"Fire and Forget (48K)\0", NULL, "Titus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfireforgRomInfo, SpecfireforgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Firefly (48K)

static struct BurnRomInfo SpecfireflyRomDesc[] = {
	{ "Firefly (1988)(Ocean).z80", 0x0a596, 0x572084dd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfirefly, Specfirefly, Spectrum)
STD_ROM_FN(Specfirefly)

struct BurnDriver BurnSpecfirefly = {
	"spec_firefly", NULL, "spec_spectrum", NULL, "1988",
	"Firefly (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfireflyRomInfo, SpecfireflyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Firelord (48K)

static struct BurnRomInfo SpecfirelordRomDesc[] = {
	{ "Firelord (1986)(Hewson Consultants).z80", 0x0a718, 0x0bffeb8b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfirelord, Specfirelord, Spectrum)
STD_ROM_FN(Specfirelord)

struct BurnDriver BurnSpecfirelord = {
	"spec_firelord", NULL, "spec_spectrum", NULL, "1986",
	"Firelord (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfirelordRomInfo, SpecfirelordRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fireman Fred (48K)

static struct BurnRomInfo SpecfirefredRomDesc[] = {
	{ "Fireman Fred (1984)(Tynesoft).z80", 0x0947b, 0x341c77a3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfirefred, Specfirefred, Spectrum)
STD_ROM_FN(Specfirefred)

struct BurnDriver BurnSpecfirefred = {
	"spec_firefred", NULL, "spec_spectrum", NULL, "1984",
	"Fireman Fred (48K)\0", NULL, "Tynesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfirefredRomInfo, SpecfirefredRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Firestorm (48K)

static struct BurnRomInfo SpecfirestorRomDesc[] = {
	{ "Firestorm (1986)(Nexus Productions).z80", 0x0870a, 0x096545f7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfirestor, Specfirestor, Spectrum)
STD_ROM_FN(Specfirestor)

struct BurnDriver BurnSpecfirestor = {
	"spec_firestor", NULL, "spec_spectrum", NULL, "1986",
	"Firestorm (48K)\0", NULL, "Nexus Productions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfirestorRomInfo, SpecfirestorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Firetrap (48K)

static struct BurnRomInfo SpecfiretrapRomDesc[] = {
	{ "Firetrap (1987)(Electric Dreams Software).z80", 0x07d61, 0x50c2787b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfiretrap, Specfiretrap, Spectrum)
STD_ROM_FN(Specfiretrap)

struct BurnDriver BurnSpecfiretrap = {
	"spec_firetrap", NULL, "spec_spectrum", NULL, "1987",
	"Firetrap (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfiretrapRomInfo, SpecfiretrapRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// First Moves (48K)

static struct BurnRomInfo SpecfirsmoveRomDesc[] = {
	{ "First Moves (1985)(Longman Software).z80", 0x0a338, 0xf705fd94, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfirsmove, Specfirsmove, Spectrum)
STD_ROM_FN(Specfirsmove)

struct BurnDriver BurnSpecfirsmove = {
	"spec_firsmove", NULL, "spec_spectrum", NULL, "1985",
	"First Moves (48K)\0", NULL, "Longman Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfirsmoveRomInfo, SpecfirsmoveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// First Past the Post (48K)

static struct BurnRomInfo SpecfirpaspoRomDesc[] = {
	{ "First Past the Post (1991)(Zenobi Software).z80", 0x086af, 0x27e81b1b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfirpaspo, Specfirpaspo, Spectrum)
STD_ROM_FN(Specfirpaspo)

struct BurnDriver BurnSpecfirpaspo = {
	"spec_firpaspo", NULL, "spec_spectrum", NULL, "1991",
	"First Past the Post (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfirpaspoRomInfo, SpecfirpaspoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fischen (German) (48K)

static struct BurnRomInfo SpecfischendRomDesc[] = {
	{ "Fischen (1983)(Kurt Windolf Westerland)(de).z80", 0x030aa, 0x15a26da6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfischend, Specfischend, Spectrum)
STD_ROM_FN(Specfischend)

struct BurnDriver BurnSpecfischend = {
	"spec_fischend", NULL, "spec_spectrum", NULL, "1983",
	"Fischen (German) (48K)\0", NULL, "Kurt Windolf Westerland", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfischendRomInfo, SpecfischendRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fisher King, The (Part 1 of 2) (48K)

static struct BurnRomInfo SpecfishkingRomDesc[] = {
	{ "Fisher King, The (1991)(Zenobi Software)(Part 1 of 2).z80", 0x08506, 0x8ff1bbc9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfishking, Specfishking, Spectrum)
STD_ROM_FN(Specfishking)

struct BurnDriver BurnSpecfishking = {
	"spec_fishking", NULL, "spec_spectrum", NULL, "1991",
	"Fisher King, The (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfishkingRomInfo, SpecfishkingRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fisher King, The (Part 2 of 2) (48K)

static struct BurnRomInfo Specfishking2RomDesc[] = {
	{ "Fisher King, The (1991)(Zenobi Software)(Part 2 of 2).z80", 0x08d5f, 0xc6974906, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfishking2, Specfishking2, Spectrum)
STD_ROM_FN(Specfishking2)

struct BurnDriver BurnSpecfishking2 = {
	"spec_fishking2", "spec_fishking", "spec_spectrum", NULL, "1991",
	"Fisher King, The (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfishking2RomInfo, Specfishking2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fisherman's Friend (48K)

static struct BurnRomInfo SpecfishfrieRomDesc[] = {
	{ "Fisherman's Friend (1996)(JA Software).z80", 0x0480c, 0x4f96aac5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfishfrie, Specfishfrie, Spectrum)
STD_ROM_FN(Specfishfrie)

struct BurnDriver BurnSpecfishfrie = {
	"spec_fishfrie", NULL, "spec_spectrum", NULL, "1996",
	"Fisherman's Friend (48K)\0", NULL, "JA Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfishfrieRomInfo, SpecfishfrieRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fishing Mission (48K)

static struct BurnRomInfo SpecfishmissRomDesc[] = {
	{ "Fishing Mission (1983)(Cascade Games).z80", 0x02cc6, 0x99fa3982, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfishmiss, Specfishmiss, Spectrum)
STD_ROM_FN(Specfishmiss)

struct BurnDriver BurnSpecfishmiss = {
	"spec_fishmiss", NULL, "spec_spectrum", NULL, "1983",
	"Fishing Mission (48K)\0", NULL, "Cascade Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfishmissRomInfo, SpecfishmissRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fist II - The Legend Continues - Combat Practice (48K)

static struct BurnRomInfo Specfist2cpRomDesc[] = {
	{ "Fist II - The Legend Continues - Combat Practice (1986)(Melbourne House).z80", 0x0a2b0, 0x8692757e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfist2cp, Specfist2cp, Spectrum)
STD_ROM_FN(Specfist2cp)

struct BurnDriver BurnSpecfist2cp = {
	"spec_fist2cp", "spec_fist2", "spec_spectrum", NULL, "1986",
	"Fist II - The Legend Continues - Combat Practice (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfist2cpRomInfo, Specfist2cpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fist II - The Legend Continues (48K)

static struct BurnRomInfo Specfist2RomDesc[] = {
	{ "Fist II - The Legend Continues (1986)(Melbourne House).z80", 0x0aff3, 0x44fd344f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfist2, Specfist2, Spectrum)
STD_ROM_FN(Specfist2)

struct BurnDriver BurnSpecfist2 = {
	"spec_fist2", NULL, "spec_spectrum", NULL, "1986",
	"Fist II - The Legend Continues (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfist2RomInfo, Specfist2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Five Dice (48K)

static struct BurnRomInfo SpecfivediceRomDesc[] = {
	{ "Five Dice (1984)(Christopher James Software).z80", 0x06351, 0xa965bd4b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfivedice, Specfivedice, Spectrum)
STD_ROM_FN(Specfivedice)

struct BurnDriver BurnSpecfivedice = {
	"spec_fivedice", NULL, "spec_spectrum", NULL, "1984",
	"Five Dice (48K)\0", NULL, "Christopher James Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfivediceRomInfo, SpecfivediceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Five Doctors, The (48K)

static struct BurnRomInfo SpecfivdocthRomDesc[] = {
	{ "Five Doctors, The (1986)(Kevin O'Shea).z80", 0x07ead, 0x3d464039, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfivdocth, Specfivdocth, Spectrum)
STD_ROM_FN(Specfivdocth)

struct BurnDriver BurnSpecfivdocth = {
	"spec_fivdocth", NULL, "spec_spectrum", NULL, "1986",
	"Five Doctors, The (48K)\0", NULL, "Kevin O'Shea", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfivdocthRomInfo, SpecfivdocthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Flak (48K)

static struct BurnRomInfo SpecflakRomDesc[] = {
	{ "Flak (1984)(U.S. Gold).z80", 0x0719b, 0xb30524d4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specflak, Specflak, Spectrum)
STD_ROM_FN(Specflak)

struct BurnDriver BurnSpecflak = {
	"spec_flak", NULL, "spec_spectrum", NULL, "1984",
	"Flak (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecflakRomInfo, SpecflakRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Flameout (48K)

static struct BurnRomInfo SpecflameoutRomDesc[] = {
	{ "Flameout (1994)(Zenobi Software).z80", 0x0ae48, 0x7436b2c8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specflameout, Specflameout, Spectrum)
STD_ROM_FN(Specflameout)

struct BurnDriver BurnSpecflameout = {
	"spec_flameout", NULL, "spec_spectrum", NULL, "1994",
	"Flameout (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecflameoutRomInfo, SpecflameoutRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Flash Gordon (128K)

static struct BurnRomInfo SpecflasgordRomDesc[] = {
	{ "Flash Gordon (1987)(Mastertronic Added Dimension)[128K].z80", 0x12212, 0x07065677, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specflasgord, Specflasgord, Spectrum)
STD_ROM_FN(Specflasgord)

struct BurnDriver BurnSpecflasgord = {
	"spec_flasgord", NULL, "spec_spec128", NULL, "1987",
	"Flash Gordon (128K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecflasgordRomInfo, SpecflasgordRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Flashpoint (48K)

static struct BurnRomInfo SpecflashpoiRomDesc[] = {
	{ "Flashpoint (1987)(Ocean).z80", 0x08969, 0xee7de673, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specflashpoi, Specflashpoi, Spectrum)
STD_ROM_FN(Specflashpoi)

struct BurnDriver BurnSpecflashpoi = {
	"spec_flashpoi", NULL, "spec_spectrum", NULL, "1987",
	"Flashpoint (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecflashpoiRomInfo, SpecflashpoiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Flight Path 737 (48K)

static struct BurnRomInfo SpecfligpathRomDesc[] = {
	{ "Flight Path 737 (1985)(Anirog Software).z80", 0x0605d, 0xb1cc7dae, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfligpath, Specfligpath, Spectrum)
STD_ROM_FN(Specfligpath)

struct BurnDriver BurnSpecfligpath = {
	"spec_fligpath", NULL, "spec_spectrum", NULL, "1985",
	"Flight Path 737 (48K)\0", NULL, "Anirog Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfligpathRomInfo, SpecfligpathRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Flight Simulation (48K)

static struct BurnRomInfo SpecfligsimuRomDesc[] = {
	{ "Flight Simulation (1982)(Sinclair Research).z80", 0x05eb4, 0x788b0a59, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfligsimu, Specfligsimu, Spectrum)
STD_ROM_FN(Specfligsimu)

struct BurnDriver BurnSpecfligsimu = {
	"spec_fligsimu", NULL, "spec_spectrum", NULL, "1982",
	"Flight Simulation (48K)\0", NULL, "Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfligsimuRomInfo, SpecfligsimuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Flintstones, The (128K)

static struct BurnRomInfo SpecflinstnRomDesc[] = {
	{ "Flintstones, The (1988)(Grandslam Entertainments)[128K].z80", 0x10c5e, 0x9d2ccfc4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specflinstn, Specflinstn, Spectrum)
STD_ROM_FN(Specflinstn)

struct BurnDriver BurnSpecflinstn = {
	"spec_flinstn", NULL, "spec_spec128", NULL, "1988",
	"Flintstones, The (128K)\0", NULL, "Grandslam Entertainments", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecflinstnRomInfo, SpecflinstnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Flip Flap (48K)

static struct BurnRomInfo SpecflipflapRomDesc[] = {
	{ "Flip Flap (1984)(Software Super Savers).z80", 0x04fc0, 0x787b08d9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specflipflap, Specflipflap, Spectrum)
STD_ROM_FN(Specflipflap)

struct BurnDriver BurnSpecflipflap = {
	"spec_flipflap", NULL, "spec_spectrum", NULL, "1984",
	"Flip Flap (48K)\0", NULL, "Software Super Savers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecflipflapRomInfo, SpecflipflapRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Flip It (48K)

static struct BurnRomInfo SpecflipitRomDesc[] = {
	{ "Flip It (1991)(Mikropol).z80", 0x0a1f8, 0xfc6df2d1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specflipit, Specflipit, Spectrum)
STD_ROM_FN(Specflipit)

struct BurnDriver BurnSpecflipit = {
	"spec_flipit", NULL, "spec_spectrum", NULL, "1991",
	"Flip It (48K)\0", NULL, "Mikropol", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecflipitRomInfo, SpecflipitRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Flipi (48K)

static struct BurnRomInfo SpecflipiRomDesc[] = {
	{ "Flipi (1984)(Wr. Agostini).z80", 0x03871, 0x53828f2e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specflipi, Specflipi, Spectrum)
STD_ROM_FN(Specflipi)

struct BurnDriver BurnSpecflipi = {
	"spec_flipi", NULL, "spec_spectrum", NULL, "1984",
	"Flipi (48K)\0", NULL, "Wr. Agostini", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecflipiRomInfo, SpecflipiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Flipper (German) (48K)

static struct BurnRomInfo SpecflipperdRomDesc[] = {
	{ "Flipper (1983)(Wicosoft)(de).z80", 0x04a73, 0x314bcf44, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specflipperd, Specflipperd, Spectrum)
STD_ROM_FN(Specflipperd)

struct BurnDriver BurnSpecflipperd = {
	"spec_flipperd", NULL, "spec_spectrum", NULL, "1983",
	"Flipper (German) (48K)\0", NULL, "Wicosoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecflipperdRomInfo, SpecflipperdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Flix (48K)

static struct BurnRomInfo SpecflixRomDesc[] = {
	{ "Flix (1984)(Softricks).z80", 0x066b8, 0x691b7ba4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specflix, Specflix, Spectrum)
STD_ROM_FN(Specflix)

struct BurnDriver BurnSpecflix = {
	"spec_flix", NULL, "spec_spectrum", NULL, "1984",
	"Flix (48K)\0", NULL, "Softricks", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecflixRomInfo, SpecflixRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Flucht (German) (48K)

static struct BurnRomInfo SpecfluchtdeRomDesc[] = {
	{ "Flucht (1983)(P.W. Software)(de).z80", 0x032bd, 0xd6b5a638, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfluchtde, Specfluchtde, Spectrum)
STD_ROM_FN(Specfluchtde)

struct BurnDriver BurnSpecfluchtde = {
	"spec_fluchtde", NULL, "spec_spectrum", NULL, "1983",
	"Flucht (German) (48K)\0", NULL, "P.W. Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfluchtdeRomInfo, SpecfluchtdeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Flucht aus der Pyramide (German) (48K)

static struct BurnRomInfo SpecflucpyraRomDesc[] = {
	{ "Flucht aus der Pyramide (19xx)(Bakersoft)(de).z80", 0x03561, 0x821c6b34, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specflucpyra, Specflucpyra, Spectrum)
STD_ROM_FN(Specflucpyra)

struct BurnDriver BurnSpecflucpyra = {
	"spec_flucpyra", NULL, "spec_spectrum", NULL, "19xx",
	"Flucht aus der Pyramide (German) (48K)\0", NULL, "Bakersoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecflucpyraRomInfo, SpecflucpyraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Flunky (48K)

static struct BurnRomInfo SpecflunkyRomDesc[] = {
	{ "Flunky (1987)(Piranha).z80", 0x09c53, 0x73c9078f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specflunky, Specflunky, Spectrum)
STD_ROM_FN(Specflunky)

struct BurnDriver BurnSpecflunky = {
	"spec_flunky", NULL, "spec_spectrum", NULL, "1987",
	"Flunky (48K)\0", NULL, "Piranha", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecflunkyRomInfo, SpecflunkyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Flyer Fox (48K)

static struct BurnRomInfo SpecflyefoxRomDesc[] = {
	{ "Flyer Fox (1984)(Bug-Byte Software).z80", 0x08ef8, 0x416d269a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specflyefox, Specflyefox, Spectrum)
STD_ROM_FN(Specflyefox)

struct BurnDriver BurnSpecflyefox = {
	"spec_flyefox", NULL, "spec_spectrum", NULL, "1984",
	"Flyer Fox (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecflyefoxRomInfo, SpecflyefoxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Flying Shark (48K)

static struct BurnRomInfo SpecfsharkRomDesc[] = {
	{ "Flying Shark (1987)(Firebird Software).z80", 0x095b8, 0xefc98de4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfshark, Specfshark, Spectrum)
STD_ROM_FN(Specfshark)

struct BurnDriver BurnSpecfshark = {
	"spec_fshark", NULL, "spec_spectrum", NULL, "1987",
	"Flying Shark (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfsharkRomInfo, SpecfsharkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Flying Train (48K)

static struct BurnRomInfo SpecftrainRomDesc[] = {
	{ "Flying Train (1983)(Chris Sievey).z80", 0x09e00, 0x9bc3d17a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specftrain, Specftrain, Spectrum)
STD_ROM_FN(Specftrain)

struct BurnDriver BurnSpecftrain = {
	"spec_ftrain", NULL, "spec_spectrum", NULL, "1983",
	"Flying Train (48K)\0", NULL, "Chris Sievey", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecftrainRomInfo, SpecftrainRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Football (48K)

static struct BurnRomInfo SpecfootballRomDesc[] = {
	{ "Football (1983)(Wintersoft).z80", 0x09a03, 0xcf1b77c5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfootball, Specfootball, Spectrum)
STD_ROM_FN(Specfootball)

struct BurnDriver BurnSpecfootball = {
	"spec_football", NULL, "spec_spectrum", NULL, "1983",
	"Football (48K)\0", NULL, "Wintersoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfootballRomInfo, SpecfootballRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Football (German) (48K)

static struct BurnRomInfo SpecfootballdRomDesc[] = {
	{ "Football (1984)(Antisoft)(de).z80", 0x066e8, 0xb501ef9f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfootballd, Specfootballd, Spectrum)
STD_ROM_FN(Specfootballd)

struct BurnDriver BurnSpecfootballd = {
	"spec_footballd", NULL, "spec_spectrum", NULL, "1984",
	"Football (German) (48K)\0", NULL, "Antisoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfootballdRomInfo, SpecfootballdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Football Champions - Intro (48K)

static struct BurnRomInfo SpecfootchamRomDesc[] = {
	{ "Football Champions - Intro (1990)(Cult Games).z80", 0x018fb, 0x4c382c32, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfootcham, Specfootcham, Spectrum)
STD_ROM_FN(Specfootcham)

struct BurnDriver BurnSpecfootcham = {
	"spec_footcham", NULL, "spec_spectrum", NULL, "1990",
	"Football Champions - Intro (48K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfootchamRomInfo, SpecfootchamRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Football Champions (48K)

static struct BurnRomInfo SpecfootchamgRomDesc[] = {
	{ "Football Champions (1990)(Cult Games).z80", 0x0a1cd, 0xbec2aecb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfootchamg, Specfootchamg, Spectrum)
STD_ROM_FN(Specfootchamg)

struct BurnDriver BurnSpecfootchamg = {
	"spec_footchamg", "spec_footcham", "spec_spectrum", NULL, "1990",
	"Football Champions (48K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfootchamgRomInfo, SpecfootchamgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Football Director (48K)

static struct BurnRomInfo SpecfootdireRomDesc[] = {
	{ "Football Director (1986)(D&H Games).z80", 0x09abb, 0x6fdbf2bd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfootdire, Specfootdire, Spectrum)
STD_ROM_FN(Specfootdire)

struct BurnDriver BurnSpecfootdire = {
	"spec_footdire", NULL, "spec_spectrum", NULL, "1986",
	"Football Director (48K)\0", NULL, "D&H Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfootdireRomInfo, SpecfootdireRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Football Fever (48K)

static struct BurnRomInfo SpecfootfeveRomDesc[] = {
	{ "Football Fever (1986)(Tanglewood Software).z80", 0x09aac, 0x98c72323, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfootfeve, Specfootfeve, Spectrum)
STD_ROM_FN(Specfootfeve)

struct BurnDriver BurnSpecfootfeve = {
	"spec_footfeve", NULL, "spec_spectrum", NULL, "1986",
	"Football Fever (48K)\0", NULL, "Tanglewood Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfootfeveRomInfo, SpecfootfeveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Football Frenzy (48K)

static struct BurnRomInfo Specfootfren_48RomDesc[] = {
	{ "Football Frenzy (1987)(Alternative Software).z80", 0x0a510, 0x4e775ad5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfootfren_48, Specfootfren_48, Spectrum)
STD_ROM_FN(Specfootfren_48)

struct BurnDriver BurnSpecfootfren_48 = {
	"spec_footfren_48", "spec_footfren", "spec_spectrum", NULL, "1987",
	"Football Frenzy (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfootfren_48RomInfo, Specfootfren_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Football Frenzy (128K)

static struct BurnRomInfo SpecfootfrenRomDesc[] = {
	{ "Football Frenzy (1987)(Alternative Software)[128K].z80", 0x0af41, 0xfe5a69f7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfootfren, Specfootfren, Spectrum)
STD_ROM_FN(Specfootfren)

struct BurnDriver BurnSpecfootfren = {
	"spec_footfren", NULL, "spec_spec128", NULL, "1987",
	"Football Frenzy (128K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfootfrenRomInfo, SpecfootfrenRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Football Manager - Players (48K)

static struct BurnRomInfo SpecftmanpRomDesc[] = {
	{ "Football Manager - Players (1982)(Addictive Games).z80", 0x09026, 0x0691e14c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specftmanp, Specftmanp, Spectrum)
STD_ROM_FN(Specftmanp)

struct BurnDriver BurnSpecftmanp = {
	"spec_ftmanp", NULL, "spec_spectrum", NULL, "1982",
	"Football Manager - Players (48K)\0", NULL, "Addictive Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecftmanpRomInfo, SpecftmanpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Football Manager - World Cup Edition (Spanish) (48K)

static struct BurnRomInfo SpecftmanwcRomDesc[] = {
	{ "Football Manager - World Cup Edition (1990)(Addictive Games)(es).z80", 0x0b031, 0x8f0527c8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specftmanwc, Specftmanwc, Spectrum)
STD_ROM_FN(Specftmanwc)

struct BurnDriver BurnSpecftmanwc = {
	"spec_ftmanwc", NULL, "spec_spectrum", NULL, "1990",
	"Football Manager - World Cup Edition (Spanish) (48K)\0", NULL, "Addictive Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecftmanwcRomInfo, SpecftmanwcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Football Manager (Addictive Games) (48K)

static struct BurnRomInfo SpecftmanRomDesc[] = {
	{ "Football Manager (1982)(Addictive Games).z80", 0x0824d, 0x54fd204c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specftman, Specftman, Spectrum)
STD_ROM_FN(Specftman)

struct BurnDriver BurnSpecftman = {
	"spec_ftman", NULL, "spec_spectrum", NULL, "1982",
	"Football Manager (Addictive Games) (48K)\0", NULL, "Addictive Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecftmanRomInfo, SpecftmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Football Manager (Unknown) (48K)

static struct BurnRomInfo SpecftmanaRomDesc[] = {
	{ "Football Manager (19xx)(-).z80", 0x09369, 0xd190faf5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specftmana, Specftmana, Spectrum)
STD_ROM_FN(Specftmana)

struct BurnDriver BurnSpecftmana = {
	"spec_ftmana", "spec_ftman", "spec_spectrum", NULL, "19xx",
	"Football Manager (Unknown) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecftmanaRomInfo, SpecftmanaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Football Manager 2 - Expansion Kit (48K)

static struct BurnRomInfo Specfootmn2eRomDesc[] = {
	{ "Football Manager 2 - Expansion Kit (1989)(Addictive Games).z80", 0x09efc, 0x155b7053, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfootmn2e, Specfootmn2e, Spectrum)
STD_ROM_FN(Specfootmn2e)

struct BurnDriver BurnSpecfootmn2e = {
	"spec_footmn2e", NULL, "spec_spectrum", NULL, "1989",
	"Football Manager 2 - Expansion Kit (48K)\0", NULL, "Addictive Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfootmn2eRomInfo, Specfootmn2eRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Football Manager 2 (48K)

static struct BurnRomInfo Specfootman2RomDesc[] = {
	{ "Football Manager 2 (1988)(Addictive Games).z80", 0x0aad0, 0xb305dce4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfootman2, Specfootman2, Spectrum)
STD_ROM_FN(Specfootman2)

struct BurnDriver BurnSpecfootman2 = {
	"spec_footman2", NULL, "spec_spectrum", NULL, "1988",
	"Football Manager 2 (48K)\0", NULL, "Addictive Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfootman2RomInfo, Specfootman2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Football Manager 3 (48K)

static struct BurnRomInfo Specfootman3RomDesc[] = {
	{ "Football Manager 3 (1992)(Addictive Games).z80", 0x069f2, 0x33db96d5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfootman3, Specfootman3, Spectrum)
STD_ROM_FN(Specfootman3)

struct BurnDriver BurnSpecfootman3 = {
	"spec_footman3", NULL, "spec_spectrum", NULL, "1992",
	"Football Manager 3 (48K)\0", NULL, "Addictive Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfootman3RomInfo, Specfootman3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Footballer (48K)

static struct BurnRomInfo SpecfootbllrRomDesc[] = {
	{ "Footballer (1989)(Cult Games).z80", 0x0664c, 0xd5ff6e03, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfootbllr, Specfootbllr, Spectrum)
STD_ROM_FN(Specfootbllr)

struct BurnDriver BurnSpecfootbllr = {
	"spec_footbllr", NULL, "spec_spectrum", NULL, "1989",
	"Footballer (48K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfootbllrRomInfo, SpecfootbllrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Footballer of the Year (48K)

static struct BurnRomInfo SpecfotyRomDesc[] = {
	{ "Footballer of the Year (1986)(Gremlin Graphics Software).z80", 0x08137, 0x2af522d0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfoty, Specfoty, Spectrum)
STD_ROM_FN(Specfoty)

struct BurnDriver BurnSpecfoty = {
	"spec_foty", NULL, "spec_spectrum", NULL, "1986",
	"Footballer of the Year (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfotyRomInfo, SpecfotyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Footballer of the Year 2 (48K)

static struct BurnRomInfo Specfoty2RomDesc[] = {
	{ "Footballer of the Year 2 (1987)(Gremlin Graphics Software).z80", 0x08d8f, 0x3722f534, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfoty2, Specfoty2, Spectrum)
STD_ROM_FN(Specfoty2)

struct BurnDriver BurnSpecfoty2 = {
	"spec_foty2", NULL, "spec_spectrum", NULL, "1987",
	"Footballer of the Year 2 (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfoty2RomInfo, Specfoty2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// For Gold or Glory (48K)

static struct BurnRomInfo SpecforgolglRomDesc[] = {
	{ "For Gold or Glory (1988)(Alternative Software).z80", 0x09fb3, 0x4d17b119, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specforgolgl, Specforgolgl, Spectrum)
STD_ROM_FN(Specforgolgl)

struct BurnDriver BurnSpecforgolgl = {
	"spec_forgolgl", NULL, "spec_spectrum", NULL, "1988",
	"For Gold or Glory (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecforgolglRomInfo, SpecforgolglRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// For Pete's Sake (Part 1 of 2) (48K)

static struct BurnRomInfo SpecfpetesskRomDesc[] = {
	{ "For Pete's Sake (1993)(Zenobi Software)(Part 1 of 2).z80", 0x09c9a, 0x40a91054, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfpetessk, Specfpetessk, Spectrum)
STD_ROM_FN(Specfpetessk)

struct BurnDriver BurnSpecfpetessk = {
	"spec_fpetessk", NULL, "spec_spectrum", NULL, "1993",
	"For Pete's Sake (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfpetesskRomInfo, SpecfpetesskRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// For Pete's Sake (Part 2 of 2) (48K)

static struct BurnRomInfo Specfpetessk2RomDesc[] = {
	{ "For Pete's Sake (1993)(Zenobi Software)(Part 2 of 2).z80", 0x09885, 0xc4d50cda, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfpetessk2, Specfpetessk2, Spectrum)
STD_ROM_FN(Specfpetessk2)

struct BurnDriver BurnSpecfpetessk2 = {
	"spec_fpetessk2", "spec_fpetessk", "spec_spectrum", NULL, "1993",
	"For Pete's Sake (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfpetessk2RomInfo, Specfpetessk2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// For Your Thighs Only (Part 1 of 2) (48K)

static struct BurnRomInfo SpecfrthighRomDesc[] = {
	{ "For Your Thighs Only (1987)(Zodiac Software)(Part 1 of 2).z80", 0x08f8e, 0x03c0a1ba, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrthigh, Specfrthigh, Spectrum)
STD_ROM_FN(Specfrthigh)

struct BurnDriver BurnSpecfrthigh = {
	"spec_frthigh", NULL, "spec_spectrum", NULL, "1987",
	"For Your Thighs Only (Part 1 of 2) (48K)\0", NULL, "Zodiac Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfrthighRomInfo, SpecfrthighRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// For Your Thighs Only (Part 2 of 2) (48K)

static struct BurnRomInfo Specfrthigh2RomDesc[] = {
	{ "For Your Thighs Only (1987)(Zodiac Software)(Part 2 of 2).z80", 0x08dcd, 0x10b5bf7e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrthigh2, Specfrthigh2, Spectrum)
STD_ROM_FN(Specfrthigh2)

struct BurnDriver BurnSpecfrthigh2 = {
	"spec_frthigh2", "spec_frthigh", "spec_spectrum", NULL, "1987",
	"For Your Thighs Only (Part 2 of 2) (48K)\0", NULL, "Zodiac Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfrthigh2RomInfo, Specfrthigh2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Forastero, El (Spanish) (48K)

static struct BurnRomInfo SpecforaelesRomDesc[] = {
	{ "Forastero, El (1989)(Grupo Creators Union)(es).z80", 0x09b3f, 0x9a5db080, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specforaeles, Specforaeles, Spectrum)
STD_ROM_FN(Specforaeles)

struct BurnDriver BurnSpecforaeles = {
	"spec_foraeles", NULL, "spec_spectrum", NULL, "1989",
	"Forastero, El (Spanish) (48K)\0", NULL, "Grupo Creators Union", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecforaelesRomInfo, SpecforaelesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Forbidden Planet (48K)

static struct BurnRomInfo SpecforbplanRomDesc[] = {
	{ "Forbidden Planet (1986)(Design Design Software).z80", 0x0a428, 0x1c16a519, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specforbplan, Specforbplan, Spectrum)
STD_ROM_FN(Specforbplan)

struct BurnDriver BurnSpecforbplan = {
	"spec_forbplan", NULL, "spec_spectrum", NULL, "1986",
	"Forbidden Planet (48K)\0", NULL, "Design Design Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecforbplanRomInfo, SpecforbplanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Force, The (48K)

static struct BurnRomInfo SpecforceRomDesc[] = {
	{ "Force, The (1985)(Argus Press Software).z80", 0x083c3, 0x4fb869f2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specforce, Specforce, Spectrum)
STD_ROM_FN(Specforce)

struct BurnDriver BurnSpecforce = {
	"spec_force", NULL, "spec_spectrum", NULL, "1985",
	"Force, The (48K)\0", NULL, "Argus Press Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecforceRomInfo, SpecforceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Foreign Trade (Russian) (48K)

static struct BurnRomInfo SpecforetradRomDesc[] = {
	{ "Foreign Trade (1987)(KAW)(ru).z80", 0x06d25, 0x6f11e91f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specforetrad, Specforetrad, Spectrum)
STD_ROM_FN(Specforetrad)

struct BurnDriver BurnSpecforetrad = {
	"spec_foretrad", NULL, "spec_spectrum", NULL, "1987",
	"Foreign Trade (Russian) (48K)\0", NULL, "KAW", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecforetradRomInfo, SpecforetradRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Forest at World's End, The (48K)

static struct BurnRomInfo SpecfowoenthRomDesc[] = {
	{ "Forest at World's End, The (1984)(Interceptor Micros Software).z80", 0x09905, 0xeb5796ad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfowoenth, Specfowoenth, Spectrum)
STD_ROM_FN(Specfowoenth)

struct BurnDriver BurnSpecfowoenth = {
	"spec_fowoenth", NULL, "spec_spectrum", NULL, "1984",
	"Forest at World's End, The (48K)\0", NULL, "Interceptor Micros Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfowoenthRomInfo, SpecfowoenthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Forest, The (48K)

static struct BurnRomInfo SpecforestRomDesc[] = {
	{ "Forest, The (1983)(Phipps Associates).z80", 0x0422d, 0xb58954c8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specforest, Specforest, Spectrum)
STD_ROM_FN(Specforest)

struct BurnDriver BurnSpecforest = {
	"spec_forest", NULL, "spec_spectrum", NULL, "1983",
	"Forest, The (48K)\0", NULL, "Phipps Associates", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecforestRomInfo, SpecforestRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Forgotten City (Part 1 of 2) (48K)

static struct BurnRomInfo SpecforgtnctRomDesc[] = {
	{ "Forgotten City (1987)(H.A.W.K. Adventuring)(Part 1 of 2).z80", 0x0b92c, 0xe9f74496, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specforgtnct, Specforgtnct, Spectrum)
STD_ROM_FN(Specforgtnct)

struct BurnDriver BurnSpecforgtnct = {
	"spec_forgtnct", NULL, "spec_spectrum", NULL, "1987",
	"Forgotten City (Part 1 of 2) (48K)\0", NULL, "H.A.W.K. Adventuring", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecforgtnctRomInfo, SpecforgtnctRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Forgotten Village, The (48K)

static struct BurnRomInfo SpecfvillageRomDesc[] = {
	{ "Forgotten Village, The (1999)(CSSCGC).z80", 0x0a1e4, 0xa14889e2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfvillage, Specfvillage, Spectrum)
STD_ROM_FN(Specfvillage)

struct BurnDriver BurnSpecfvillage = {
	"spec_fvillage", NULL, "spec_spectrum", NULL, "1999",
	"Forgotten Village, The (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfvillageRomInfo, SpecfvillageRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Forgotten Worlds (128K)

static struct BurnRomInfo SpecforgottnRomDesc[] = {
	{ "Forgotten Worlds (1989)(U.S. Gold)[128K].z80", 0x0e045, 0x33ef767e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specforgottn, Specforgottn, Spectrum)
STD_ROM_FN(Specforgottn)

struct BurnDriver BurnSpecforgottn = {
	"spec_forgottn", NULL, "spec_spec128", NULL, "1989",
	"Forgotten Worlds (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecforgottnRomInfo, SpecforgottnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Formula 1 Simulator (48K)

static struct BurnRomInfo Specf1simRomDesc[] = {
	{ "Formula 1 Simulator (1984)(Mastertronic)[aka Formula One].z80", 0x07077, 0x50d5400e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specf1sim, Specf1sim, Spectrum)
STD_ROM_FN(Specf1sim)

struct BurnDriver BurnSpecf1sim = {
	"spec_f1sim", NULL, "spec_spectrum", NULL, "1984",
	"Formula 1 Simulator (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specf1simRomInfo, Specf1simRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Formula One (Spirit Software) (48K)

static struct BurnRomInfo Specf1spiritRomDesc[] = {
	{ "Formula One (1984)(Spirit Software).z80", 0x068f5, 0xbed9b4b1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specf1spirit, Specf1spirit, Spectrum)
STD_ROM_FN(Specf1spirit)

struct BurnDriver BurnSpecf1spirit = {
	"spec_f1spirit", NULL, "spec_spectrum", NULL, "1984",
	"Formula One (Spirit Software) (48K)\0", NULL, "Spirit Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specf1spiritRomInfo, Specf1spiritRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Formula One (CRL Group) (48K)

static struct BurnRomInfo Specf1crlRomDesc[] = {
	{ "Formula One (1985)(CRL Group).z80", 0x0966b, 0x36f75a8e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specf1crl, Specf1crl, Spectrum)
STD_ROM_FN(Specf1crl)

struct BurnDriver BurnSpecf1crl = {
	"spec_f1crl", NULL, "spec_spectrum", NULL, "1985",
	"Formula One (CRL Group) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specf1crlRomInfo, Specf1crlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Four Minutes to Midnight (8th Day Software) (48K)

static struct BurnRomInfo Spec4minsm8RomDesc[] = {
	{ "Four Minutes to Midnight (1987)(8th Day Software).z80", 0x089a7, 0xa7460cef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec4minsm8, Spec4minsm8, Spectrum)
STD_ROM_FN(Spec4minsm8)

struct BurnDriver BurnSpec4minsm8 = {
	"spec_4minsm8", NULL, "spec_spectrum", NULL, "1987",
	"Four Minutes to Midnight (8th Day Software) (48K)\0", NULL, "8th Day Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec4minsm8RomInfo, Spec4minsm8RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Four Minutes to Midnight (G.I. Games) (48K)

static struct BurnRomInfo Spec4minsmgiRomDesc[] = {
	{ "Four Minutes to Midnight (1992)(G.I. Games)[re-release].z80", 0x0ab95, 0xbce46c03, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec4minsmgi, Spec4minsmgi, Spectrum)
STD_ROM_FN(Spec4minsmgi)

struct BurnDriver BurnSpec4minsmgi = {
	"spec_4minsmgi", NULL, "spec_spectrum", NULL, "1992",
	"Four Minutes to Midnight (G.I. Games) (48K)\0", NULL, "G.I. Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec4minsmgiRomInfo, Spec4minsmgiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Four Symbols, The (Part 1 of 2) (128K)

static struct BurnRomInfo Spec4symbolsRomDesc[] = {
	{ "Four Symbols, The (1993)(FSF Adventures)(Part 1 of 2)[128K].z80", 0x0f738, 0x366e3bd5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec4symbols, Spec4symbols, Spectrum)
STD_ROM_FN(Spec4symbols)

struct BurnDriver BurnSpec4symbols = {
	"spec_4symbols", NULL, "spec_spec128", NULL, "1993",
	"Four Symbols, The (Part 1 of 2) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec4symbolsRomInfo, Spec4symbolsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Four Symbols, The (Part 2 of 2) (128K)

static struct BurnRomInfo Spec4symbols2RomDesc[] = {
	{ "Four Symbols, The (1993)(FSF Adventures)(Part 2 of 2)[128K].z80", 0x0cb8f, 0x59b90d61, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec4symbols2, Spec4symbols2, Spectrum)
STD_ROM_FN(Spec4symbols2)

struct BurnDriver BurnSpec4symbols2 = {
	"spec_4symbols2", "spec_4symbols", "spec_spec128", NULL, "1993",
	"Four Symbols, The (Part 2 of 2) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec4symbols2RomInfo, Spec4symbols2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fourth Protocol, The (Part 1 of 3) (48K)

static struct BurnRomInfo Spec4thprtclRomDesc[] = {
	{ "Fourth Protocol, The (1985)(Hutchinson Computer Publishing)(Part 1 of 3).z80", 0x08c87, 0x5befd1c3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec4thprtcl, Spec4thprtcl, Spectrum)
STD_ROM_FN(Spec4thprtcl)

struct BurnDriver BurnSpec4thprtcl = {
	"spec_4thprtcl", NULL, "spec_spectrum", NULL, "1985",
	"Fourth Protocol, The (Part 1 of 3) (48K)\0", NULL, "Hutchinson Computer Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec4thprtclRomInfo, Spec4thprtclRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fourth Protocol, The (Part 2 of 3) (48K)

static struct BurnRomInfo Spec4thprtcl2RomDesc[] = {
	{ "Fourth Protocol, The (1985)(Hutchinson Computer Publishing)(Part 2 of 3).z80", 0x0a23e, 0x6ce7adee, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec4thprtcl2, Spec4thprtcl2, Spectrum)
STD_ROM_FN(Spec4thprtcl2)

struct BurnDriver BurnSpec4thprtcl2 = {
	"spec_4thprtcl2", "spec_4thprtcl", "spec_spectrum", NULL, "1985",
	"Fourth Protocol, The (Part 2 of 3) (48K)\0", NULL, "Hutchinson Computer Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec4thprtcl2RomInfo, Spec4thprtcl2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fourth Protocol, The (Part 3 of 3) (48K)

static struct BurnRomInfo Spec4thprtcl3RomDesc[] = {
	{ "Fourth Protocol, The (1985)(Hutchinson Computer Publishing)(Part 3 of 3).z80", 0x06f9e, 0x6027e19a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec4thprtcl3, Spec4thprtcl3, Spectrum)
STD_ROM_FN(Spec4thprtcl3)

struct BurnDriver BurnSpec4thprtcl3 = {
	"spec_4thprtcl3", "spec_4thprtcl", "spec_spectrum", NULL, "1985",
	"Fourth Protocol, The (Part 3 of 3) (48K)\0", NULL, "Hutchinson Computer Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec4thprtcl3RomInfo, Spec4thprtcl3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Foxx Fights Back (48K)

static struct BurnRomInfo SpecfoxfigbaRomDesc[] = {
	{ "Foxx Fights Back (1988)(Image Works).z80", 0x09297, 0x11c6a70c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfoxfigba, Specfoxfigba, Spectrum)
STD_ROM_FN(Specfoxfigba)

struct BurnDriver BurnSpecfoxfigba = {
	"spec_foxfigba", NULL, "spec_spectrum", NULL, "1988",
	"Foxx Fights Back (48K)\0", NULL, "Image Works", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfoxfigbaRomInfo, SpecfoxfigbaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Frank Bruno's Boxing (48K)

static struct BurnRomInfo SpecfbrunobRomDesc[] = {
	{ "Frank Bruno's Boxing (1985)(Elite Systems).z80", 0x08f96, 0x2b042fe1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfbrunob, Specfbrunob, Spectrum)
STD_ROM_FN(Specfbrunob)

struct BurnDriver BurnSpecfbrunob = {
	"spec_fbrunob", NULL, "spec_spectrum", NULL, "1985",
	"Frank Bruno's Boxing (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfbrunobRomInfo, SpecfbrunobRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Frank N Stein (48K)

static struct BurnRomInfo SpecfransteiRomDesc[] = {
	{ "Frank N Stein (1984)(PSS).z80", 0x0a2b0, 0xa249e0b1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfranstei, Specfranstei, Spectrum)
STD_ROM_FN(Specfranstei)

struct BurnDriver BurnSpecfranstei = {
	"spec_franstei", NULL, "spec_spectrum", NULL, "1984",
	"Frank N Stein (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfransteiRomInfo, SpecfransteiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Frank the Flea (48K)

static struct BurnRomInfo SpecfranfleaRomDesc[] = {
	{ "Frank the Flea (1986)(Megasoft).z80", 0x03e72, 0x3e03b49d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfranflea, Specfranflea, Spectrum)
STD_ROM_FN(Specfranflea)

struct BurnDriver BurnSpecfranflea = {
	"spec_franflea", NULL, "spec_spectrum", NULL, "1986",
	"Frank the Flea (48K)\0", NULL, "Megasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfranfleaRomInfo, SpecfranfleaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Frankenstein (Part 1 of 3) (48K)

static struct BurnRomInfo SpecfrnkstnRomDesc[] = {
	{ "Frankenstein (1987)(CRL Group)(Part 1 of 3).z80", 0x0a7bc, 0x87a50518, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrnkstn, Specfrnkstn, Spectrum)
STD_ROM_FN(Specfrnkstn)

struct BurnDriver BurnSpecfrnkstn = {
	"spec_frnkstn", NULL, "spec_spectrum", NULL, "1987",
	"Frankenstein (Part 1 of 3) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfrnkstnRomInfo, SpecfrnkstnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Frankenstein (Part 2 of 3) (48K)

static struct BurnRomInfo Specfrnkstn2RomDesc[] = {
	{ "Frankenstein (1987)(CRL Group)(Part 2 of 3).z80", 0x0a6ca, 0x7867d3b2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrnkstn2, Specfrnkstn2, Spectrum)
STD_ROM_FN(Specfrnkstn2)

struct BurnDriver BurnSpecfrnkstn2 = {
	"spec_frnkstn2", "spec_frnkstn", "spec_spectrum", NULL, "1987",
	"Frankenstein (Part 2 of 3) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfrnkstn2RomInfo, Specfrnkstn2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Frankenstein (Part 3 of 3) (48K)

static struct BurnRomInfo Specfrnkstn3RomDesc[] = {
	{ "Frankenstein (1987)(CRL Group)(Part 3 of 3).z80", 0x09a56, 0x7ed08908, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrnkstn3, Specfrnkstn3, Spectrum)
STD_ROM_FN(Specfrnkstn3)

struct BurnDriver BurnSpecfrnkstn3 = {
	"spec_frnkstn3", "spec_frnkstn", "spec_spectrum", NULL, "1987",
	"Frankenstein (Part 3 of 3) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfrnkstn3RomInfo, Specfrnkstn3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Frankenstein 2000 (48K)

static struct BurnRomInfo Specfrnk2000RomDesc[] = {
	{ "Frankenstein 2000 (1985)(Icon Software).z80", 0x08512, 0x9b007f3c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrnk2000, Specfrnk2000, Spectrum)
STD_ROM_FN(Specfrnk2000)

struct BurnDriver BurnSpecfrnk2000 = {
	"spec_frnk2000", NULL, "spec_spectrum", NULL, "1985",
	"Frankenstein 2000 (48K)\0", NULL, "Icon Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfrnk2000RomInfo, Specfrnk2000RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Frankenstein Jnr (48K)

static struct BurnRomInfo SpecfrnkjrRomDesc[] = {
	{ "Frankenstein Jnr (1990)(Codemasters).z80", 0x09495, 0x5dd957bd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrnkjr, Specfrnkjr, Spectrum)
STD_ROM_FN(Specfrnkjr)

struct BurnDriver BurnSpecfrnkjr = {
	"spec_frnkjr", NULL, "spec_spectrum", NULL, "1990",
	"Frankenstein Jnr (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfrnkjrRomInfo, SpecfrnkjrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Frankie Goes to Hollywood (48K)

static struct BurnRomInfo SpecfrnkhllyRomDesc[] = {
	{ "Frankie Goes to Hollywood (1985)(Ocean).z80", 0x0ae19, 0xbb1ad74b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrnkhlly, Specfrnkhlly, Spectrum)
STD_ROM_FN(Specfrnkhlly)

struct BurnDriver BurnSpecfrnkhlly = {
	"spec_frnkhlly", NULL, "spec_spectrum", NULL, "1985",
	"Frankie Goes to Hollywood (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfrnkhllyRomInfo, SpecfrnkhllyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fransk (da) (48K)

static struct BurnRomInfo SpecfranskdaRomDesc[] = {
	{ "Fransk (19xx)(-)(da).z80", 0x0204a, 0x75f45520, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfranskda, Specfranskda, Spectrum)
STD_ROM_FN(Specfranskda)

struct BurnDriver BurnSpecfranskda = {
	"spec_franskda", NULL, "spec_spectrum", NULL, "19xx",
	"Fransk (da) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfranskdaRomInfo, SpecfranskdaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fred (48K)

static struct BurnRomInfo SpecfredRomDesc[] = {
	{ "Fred (1984)(Quicksilva)[re-release].z80", 0x05d9f, 0xb653c769, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfred, Specfred, Spectrum)
STD_ROM_FN(Specfred)

struct BurnDriver BurnSpecfred = {
	"spec_fred", NULL, "spec_spectrum", NULL, "1984",
	"Fred (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfredRomInfo, SpecfredRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Freddy Hardest (Part 1 of 2) (48K)

static struct BurnRomInfo SpecfredhardRomDesc[] = {
	{ "Freddy Hardest (1987)(Imagine Software)(Part 1 of 2)[re-release].z80", 0x08fdc, 0x735e649d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfredhard, Specfredhard, Spectrum)
STD_ROM_FN(Specfredhard)

struct BurnDriver BurnSpecfredhard = {
	"spec_fredhard", NULL, "spec_spectrum", NULL, "1987",
	"Freddy Hardest (Part 1 of 2) (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfredhardRomInfo, SpecfredhardRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Freddy Hardest (Part 2 of 2) (48K)

static struct BurnRomInfo Specfredhard2RomDesc[] = {
	{ "Freddy Hardest (1987)(Imagine Software)(Part 2 of 2)[re-release].z80", 0x08f59, 0x4e77274a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfredhard2, Specfredhard2, Spectrum)
STD_ROM_FN(Specfredhard2)

struct BurnDriver BurnSpecfredhard2 = {
	"spec_fredhard2", "spec_fredhard", "spec_spectrum", NULL, "1987",
	"Freddy Hardest (Part 2 of 2) (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfredhard2RomInfo, Specfredhard2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Freddy Hardest in South Manhattan (Spanish) (48K)

static struct BurnRomInfo SpecfredhrsmRomDesc[] = {
	{ "Freddy Hardest in South Manhattan (1989)(Dinamic Software)(es).z80", 0x09e05, 0xb6c7678b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfredhrsm, Specfredhrsm, Spectrum)
STD_ROM_FN(Specfredhrsm)

struct BurnDriver BurnSpecfredhrsm = {
	"spec_fredhrsm", NULL, "spec_spectrum", NULL, "1989",
	"Freddy Hardest in South Manhattan (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfredhrsmRomInfo, SpecfredhrsmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fred's Fan Factory (48K)

static struct BurnRomInfo SpecfrefanfaRomDesc[] = {
	{ "Fred's Fan Factory (1984)(Software Projects).z80", 0x05be9, 0x1e96638d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrefanfa, Specfrefanfa, Spectrum)
STD_ROM_FN(Specfrefanfa)

struct BurnDriver BurnSpecfrefanfa = {
	"spec_frefanfa", NULL, "spec_spectrum", NULL, "1984",
	"Fred's Fan Factory (48K)\0", NULL, "Software Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfrefanfaRomInfo, SpecfrefanfaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Free Climbing (Spanish) (Part 1 of 3) (48K)

static struct BurnRomInfo SpecfreeclimRomDesc[] = {
	{ "Free Climbing (1988)(Zafiro Software Division)(es)(Part 1 of 3).z80", 0x081ef, 0xfba31975, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfreeclim, Specfreeclim, Spectrum)
STD_ROM_FN(Specfreeclim)

struct BurnDriver BurnSpecfreeclim = {
	"spec_freeclim", NULL, "spec_spectrum", NULL, "1988",
	"Free Climbing (Spanish) (Part 1 of 3) (48K)\0", NULL, "Zafiro Software Division", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfreeclimRomInfo, SpecfreeclimRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Free Climbing (Spanish) (Part 2 of 3) (48K)

static struct BurnRomInfo Specfreeclim2RomDesc[] = {
	{ "Free Climbing (1988)(Zafiro Software Division)(es)(Part 2 of 3).z80", 0x0626e, 0x0cb595ba, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfreeclim2, Specfreeclim2, Spectrum)
STD_ROM_FN(Specfreeclim2)

struct BurnDriver BurnSpecfreeclim2 = {
	"spec_freeclim2", "spec_freeclim", "spec_spectrum", NULL, "1988",
	"Free Climbing (Spanish) (Part 2 of 3) (48K)\0", NULL, "Zafiro Software Division", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfreeclim2RomInfo, Specfreeclim2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Free Climbing (Spanish) (Part 3 of 3) (48K)

static struct BurnRomInfo Specfreeclim3RomDesc[] = {
	{ "Free Climbing (1988)(Zafiro Software Division)(es)(Part 3 of 3).z80", 0x067ef, 0x2a1ae035, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfreeclim3, Specfreeclim3, Spectrum)
STD_ROM_FN(Specfreeclim3)

struct BurnDriver BurnSpecfreeclim3 = {
	"spec_freeclim3", "spec_freeclim", "spec_spectrum", NULL, "1988",
	"Free Climbing (Spanish) (Part 3 of 3) (48K)\0", NULL, "Zafiro Software Division", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfreeclim3RomInfo, Specfreeclim3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Freedom Fighter (48K)

static struct BurnRomInfo SpecfreefighRomDesc[] = {
	{ "Freedom Fighter (1988)(The Power House).z80", 0x058bd, 0x31ce3e78, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfreefigh, Specfreefigh, Spectrum)
STD_ROM_FN(Specfreefigh)

struct BurnDriver BurnSpecfreefigh = {
	"spec_freefigh", NULL, "spec_spectrum", NULL, "1988",
	"Freedom Fighter (48K)\0", NULL, "The Power House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfreefighRomInfo, SpecfreefighRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Freex (48K)

static struct BurnRomInfo SpecfreexRomDesc[] = {
	{ "Freex (1984)(Software Super Savers).z80", 0x08897, 0xb162c0ea, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfreex, Specfreex, Spectrum)
STD_ROM_FN(Specfreex)

struct BurnDriver BurnSpecfreex = {
	"spec_freex", NULL, "spec_spectrum", NULL, "1984",
	"Freex (48K)\0", NULL, "Software Super Savers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfreexRomInfo, SpecfreexRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Freez'Bees (48K)

static struct BurnRomInfo SpecfreebeesRomDesc[] = {
	{ "Freez'Bees (1984)(Silversoft).z80", 0x03b69, 0xb879087a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfreebees, Specfreebees, Spectrum)
STD_ROM_FN(Specfreebees)

struct BurnDriver BurnSpecfreebees = {
	"spec_freebees", NULL, "spec_spectrum", NULL, "1984",
	"Freez'Bees (48K)\0", NULL, "Silversoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfreebeesRomInfo, SpecfreebeesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Frequenz Analyse (German) (48K)

static struct BurnRomInfo SpecfreqanalRomDesc[] = {
	{ "Frequenz Analyse (1984)(Oliver Wallner)(de).z80", 0x00ea9, 0x3b7af9fa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfreqanal, Specfreqanal, Spectrum)
STD_ROM_FN(Specfreqanal)

struct BurnDriver BurnSpecfreqanal = {
	"spec_freqanal", NULL, "spec_spectrum", NULL, "1984",
	"Frequenz Analyse (German) (48K)\0", NULL, "Oliver Wallner", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfreqanalRomInfo, SpecfreqanalRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Frere Gustav (48K)

static struct BurnRomInfo SpecfrergustRomDesc[] = {
	{ "Frere Gustav (1995)(Vaxalon).z80", 0x01347, 0x402cf584, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrergust, Specfrergust, Spectrum)
STD_ROM_FN(Specfrergust)

struct BurnDriver BurnSpecfrergust = {
	"spec_frergust", NULL, "spec_spectrum", NULL, "1995",
	"Frere Gustav (48K)\0", NULL, "Vaxalon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfrergustRomInfo, SpecfrergustRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Friday the 13th (48K)

static struct BurnRomInfo SpecfridaythRomDesc[] = {
	{ "Friday the 13th (1986)(Domark).z80", 0x09b05, 0x10681636, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfridayth, Specfridayth, Spectrum)
STD_ROM_FN(Specfridayth)

struct BurnDriver BurnSpecfridayth = {
	"spec_fridayth", NULL, "spec_spectrum", NULL, "1986",
	"Friday the 13th (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfridaythRomInfo, SpecfridaythRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fridge Frenzy (48K)

static struct BurnRomInfo SpecfridfrenRomDesc[] = {
	{ "Fridge Frenzy (1985)(Bug-Byte Software).z80", 0x08912, 0xf25dfc2f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfridfren, Specfridfren, Spectrum)
STD_ROM_FN(Specfridfren)

struct BurnDriver BurnSpecfridfren = {
	"spec_fridfren", NULL, "spec_spectrum", NULL, "1985",
	"Fridge Frenzy (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfridfrenRomInfo, SpecfridfrenRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Frightmare (48K)

static struct BurnRomInfo SpecfrightmaRomDesc[] = {
	{ "Frightmare (1988)(Cascade Games).z80", 0x095e7, 0x3477e317, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrightma, Specfrightma, Spectrum)
STD_ROM_FN(Specfrightma)

struct BurnDriver BurnSpecfrightma = {
	"spec_frightma", NULL, "spec_spectrum", NULL, "1988",
	"Frightmare (48K)\0", NULL, "Cascade Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfrightmaRomInfo, SpecfrightmaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Frodo (Russian) (48K)

static struct BurnRomInfo SpecfrodoruRomDesc[] = {
	{ "Frodo (1994)(M.V. Spiridonenko)(ru).z80", 0x062e7, 0x55f7f0e2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrodoru, Specfrodoru, Spectrum)
STD_ROM_FN(Specfrodoru)

struct BurnDriver BurnSpecfrodoru = {
	"spec_frodoru", NULL, "spec_spectrum", NULL, "1994",
	"Frodo (Russian) (48K)\0", NULL, "M.V. Spiridonenko", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfrodoruRomInfo, SpecfrodoruRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Frog (48K)

static struct BurnRomInfo SpecfrogRomDesc[] = {
	{ "Frog (19xx)(-).z80", 0x01127, 0x9be87ad9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrog, Specfrog, Spectrum)
STD_ROM_FN(Specfrog)

struct BurnDriver BurnSpecfrog = {
	"spec_frog", NULL, "spec_spectrum", NULL, "19xx",
	"Frog (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfrogRomInfo, SpecfrogRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Frog Adventure (48K)

static struct BurnRomInfo SpecfrogadveRomDesc[] = {
	{ "Frog Adventure (1986)(Automata UK).z80", 0x0909f, 0x6f9953f4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrogadve, Specfrogadve, Spectrum)
STD_ROM_FN(Specfrogadve)

struct BurnDriver BurnSpecfrogadve = {
	"spec_frogadve", NULL, "spec_spectrum", NULL, "1986",
	"Frog Adventure (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfrogadveRomInfo, SpecfrogadveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Frog Shooter (48K)

static struct BurnRomInfo SpecfrogshooRomDesc[] = {
	{ "Frog Shooter (1984)(Kuma Computers).z80", 0x03478, 0x976cedca, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrogshoo, Specfrogshoo, Spectrum)
STD_ROM_FN(Specfrogshoo)

struct BurnDriver BurnSpecfrogshoo = {
	"spec_frogshoo", NULL, "spec_spectrum", NULL, "1984",
	"Frog Shooter (48K)\0", NULL, "Kuma Computers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfrogshooRomInfo, SpecfrogshooRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Frogger (48K)

static struct BurnRomInfo SpecfroggerRomDesc[] = {
	{ "Frogger (1983)(A & F Software).z80", 0x03aa0, 0x52075e8c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrogger, Specfrogger, Spectrum)
STD_ROM_FN(Specfrogger)

struct BurnDriver BurnSpecfrogger = {
	"spec_frogger", NULL, "spec_spectrum", NULL, "1983",
	"Frogger (48K)\0", NULL, "A & F Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfroggerRomInfo, SpecfroggerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// From Out of a Dark Night Sky (48K)

static struct BurnRomInfo SpecfroudaniRomDesc[] = {
	{ "From Out of a Dark Night Sky (1989)(Zenobi Software).z80", 0x0abc0, 0x0c062a81, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfroudani, Specfroudani, Spectrum)
STD_ROM_FN(Specfroudani)

struct BurnDriver BurnSpecfroudani = {
	"spec_froudani", NULL, "spec_spectrum", NULL, "1989",
	"From Out of a Dark Night Sky (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfroudaniRomInfo, SpecfroudaniRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Frost Byte (48K)

static struct BurnRomInfo SpecfrosbyteRomDesc[] = {
	{ "Frost Byte (1986)(Mikro-Gen).z80", 0x077f9, 0xfeb059d0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrosbyte, Specfrosbyte, Spectrum)
STD_ROM_FN(Specfrosbyte)

struct BurnDriver BurnSpecfrosbyte = {
	"spec_frosbyte", NULL, "spec_spectrum", NULL, "1986",
	"Frost Byte (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfrosbyteRomInfo, SpecfrosbyteRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Frozen Penguin (48K)

static struct BurnRomInfo SpecfrozpengRomDesc[] = {
	{ "Frozen Penguin (1984)(St. Michael)[aka Freez'Bees].z80", 0x0395c, 0x0dca276f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrozpeng, Specfrozpeng, Spectrum)
STD_ROM_FN(Specfrozpeng)

struct BurnDriver BurnSpecfrozpeng = {
	"spec_frozpeng", NULL, "spec_spectrum", NULL, "1984",
	"Frozen Penguin (48K)\0", NULL, "St. Michael", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfrozpengRomInfo, SpecfrozpengRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fruit (48K)

static struct BurnRomInfo SpecfruitRomDesc[] = {
	{ "Fruit (1997)(CSSCGC).z80", 0x00f4e, 0xd3e1e5ec, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfruit, Specfruit, Spectrum)
STD_ROM_FN(Specfruit)

struct BurnDriver BurnSpecfruit = {
	"spec_fruit", NULL, "spec_spectrum", NULL, "1997",
	"Fruit (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfruitRomInfo, SpecfruitRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fruit 2000 (48K)

static struct BurnRomInfo Specfrut2000RomDesc[] = {
	{ "Fruit 2000 (1985)(Rossware).z80", 0x08e1d, 0x42645f3b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrut2000, Specfrut2000, Spectrum)
STD_ROM_FN(Specfrut2000)

struct BurnDriver BurnSpecfrut2000 = {
	"spec_frut2000", NULL, "spec_spectrum", NULL, "1985",
	"Fruit 2000 (48K)\0", NULL, "Rossware", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfrut2000RomInfo, Specfrut2000RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fruit 2010 (48K)

static struct BurnRomInfo Specfrut2010RomDesc[] = {
	{ "Fruit 2010 (1986)(Rossware).z80", 0x0b003, 0x83a87d85, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrut2010, Specfrut2010, Spectrum)
STD_ROM_FN(Specfrut2010)

struct BurnDriver BurnSpecfrut2010 = {
	"spec_frut2010", NULL, "spec_spectrum", NULL, "1986",
	"Fruit 2010 (48K)\0", NULL, "Rossware", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfrut2010RomInfo, Specfrut2010RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fruit Machine (DK'Tronics) (48K)

static struct BurnRomInfo SpecfruitmdkRomDesc[] = {
	{ "Fruit Machine (1983)(DK'Tronics).z80", 0x04619, 0x00b94a01, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfruitmdk, Specfruitmdk, Spectrum)
STD_ROM_FN(Specfruitmdk)

struct BurnDriver BurnSpecfruitmdk = {
	"spec_fruitmdk", NULL, "spec_spectrum", NULL, "1983",
	"Fruit Machine (DK'Tronics) (48K)\0", NULL, "DK'Tronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfruitmdkRomInfo, SpecfruitmdkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fruit Machine (Green Fish Software Enterprises) (48K)

static struct BurnRomInfo SpecfruitmgfRomDesc[] = {
	{ "Fruit Machine (1985)(Green Fish Software Enterprise).z80", 0x04893, 0xbf24f220, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfruitmgf, Specfruitmgf, Spectrum)
STD_ROM_FN(Specfruitmgf)

struct BurnDriver BurnSpecfruitmgf = {
	"spec_fruitmgf", NULL, "spec_spectrum", NULL, "1985",
	"Fruit Machine (Green Fish Software Enterprises) (48K)\0", NULL, "Green Fish Software Enterprise", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfruitmgfRomInfo, SpecfruitmgfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fruit Machine (Unknown) (48K)

static struct BurnRomInfo SpecfruitmunRomDesc[] = {
	{ "Fruit Machine (19xx)(-).z80", 0x0262c, 0xc05e49c7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfruitmun, Specfruitmun, Spectrum)
STD_ROM_FN(Specfruitmun)

struct BurnDriver BurnSpecfruitmun = {
	"spec_fruitmun", NULL, "spec_spectrum", NULL, "19xx",
	"Fruit Machine (Unknown) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfruitmunRomInfo, SpecfruitmunRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fruit Machine Simulator - Cash Bash (48K)

static struct BurnRomInfo SpecfrutmscbRomDesc[] = {
	{ "Fruit Machine Simulator - Cash Bash (1987)(Codemasters).z80", 0x0aec7, 0x3e69b40f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrutmscb, Specfrutmscb, Spectrum)
STD_ROM_FN(Specfrutmscb)

struct BurnDriver BurnSpecfrutmscb = {
	"spec_frutmscb", NULL, "spec_spectrum", NULL, "1987",
	"Fruit Machine Simulator - Cash Bash (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfrutmscbRomInfo, SpecfrutmscbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fruit Machine Simulator - Cash 'n' Grab (48K)

static struct BurnRomInfo Specfrutmscg_48RomDesc[] = {
	{ "Fruit Machine Simulator - Cash 'n' Grab (1989)(Zeppelin Games).z80", 0x0b347, 0x9ba7cc6c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrutmscg_48, Specfrutmscg_48, Spectrum)
STD_ROM_FN(Specfrutmscg_48)

struct BurnDriver BurnSpecfrutmscg_48 = {
	"spec_frutmscg_48", "spec_frutmscg", "spec_spectrum", NULL, "1989",
	"Fruit Machine Simulator - Cash 'n' Grab (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfrutmscg_48RomInfo, Specfrutmscg_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fruit Machine Simulator - Cash 'n' Grab (128K)

static struct BurnRomInfo SpecfrutmscgRomDesc[] = {
	{ "Fruit Machine Simulator - Cash 'n' Grab (1989)(Zeppelin Games)[128K].z80", 0x0b989, 0x7a869fad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrutmscg, Specfrutmscg, Spectrum)
STD_ROM_FN(Specfrutmscg)

struct BurnDriver BurnSpecfrutmscg = {
	"spec_frutmscg", NULL, "spec_spec128", NULL, "1989",
	"Fruit Machine Simulator - Cash 'n' Grab (128K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfrutmscgRomInfo, SpecfrutmscgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fruit Machine Simulator 2 - Mega Trek (48K)

static struct BurnRomInfo Specfrutms2_48RomDesc[] = {
	{ "Fruit Machine Simulator 2 - Mega Trek (1990)(Codemasters).z80", 0x0a535, 0x7e918b20, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrutms2_48, Specfrutms2_48, Spectrum)
STD_ROM_FN(Specfrutms2_48)

struct BurnDriver BurnSpecfrutms2_48 = {
	"spec_frutms2_48", "spec_frutms2", "spec_spectrum", NULL, "1990",
	"Fruit Machine Simulator 2 - Mega Trek (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfrutms2_48RomInfo, Specfrutms2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fruit Machine Simulator 2 - Mega Trek (128K)

static struct BurnRomInfo Specfrutms2RomDesc[] = {
	{ "Fruit Machine Simulator 2 - Mega Trek (1990)(Codemasters)[128K].z80", 0x0b98a, 0xcf7d1c85, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfrutms2, Specfrutms2, Spectrum)
STD_ROM_FN(Specfrutms2)

struct BurnDriver BurnSpecfrutms2 = {
	"spec_frutms2", NULL, "spec_spec128", NULL, "1990",
	"Fruit Machine Simulator 2 - Mega Trek (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfrutms2RomInfo, Specfrutms2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fruit Snapper (48K)

static struct BurnRomInfo SpecfruisnapRomDesc[] = {
	{ "Fruit Snapper (1984)(LiveWire Software)[speech].z80", 0x0917c, 0x33038e5a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfruisnap, Specfruisnap, Spectrum)
STD_ROM_FN(Specfruisnap)

struct BurnDriver BurnSpecfruisnap = {
	"spec_fruisnap", NULL, "spec_spectrum", NULL, "1984",
	"Fruit Snapper (48K)\0", NULL, "LiveWire Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfruisnapRomInfo, SpecfruisnapRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fruitmachine (48K)

static struct BurnRomInfo SpecfruitmacRomDesc[] = {
	{ "Fruitmachine (1985)(Firebird Software).z80", 0x06e10, 0x28641aab, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfruitmac, Specfruitmac, Spectrum)
STD_ROM_FN(Specfruitmac)

struct BurnDriver BurnSpecfruitmac = {
	"spec_fruitmac", NULL, "spec_spectrum", NULL, "1985",
	"Fruitmachine (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfruitmacRomInfo, SpecfruitmacRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fruity (48K)

static struct BurnRomInfo SpecfruityRomDesc[] = {
	{ "Fruity (1984)(5D Software).z80", 0x0276d, 0x6e90bd1f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfruity, Specfruity, Spectrum)
STD_ROM_FN(Specfruity)

struct BurnDriver BurnSpecfruity = {
	"spec_fruity", NULL, "spec_spectrum", NULL, "1984",
	"Fruity (48K)\0", NULL, "5D Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfruityRomInfo, SpecfruityRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fudbal Menadzer (hr) (48K)

static struct BurnRomInfo SpecfudbmenaRomDesc[] = {
	{ "Fudbal Menadzer (1982)(D.M. Petrovic)(hr)[aka Football Manager].z80", 0x0880a, 0x8f626e60, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfudbmena, Specfudbmena, Spectrum)
STD_ROM_FN(Specfudbmena)

struct BurnDriver BurnSpecfudbmena = {
	"spec_fudbmena", NULL, "spec_spectrum", NULL, "1982",
	"Fudbal Menadzer (hr) (48K)\0", NULL, "D.M. Petrovic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfudbmenaRomInfo, SpecfudbmenaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fuddo & Slam - Pictures (48K)

static struct BurnRomInfo SpecfudslapiRomDesc[] = {
	{ "Fuddo & Slam - Pictures (1988)(Zenobi Software).z80", 0x09e6e, 0x14120959, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfudslapi, Specfudslapi, Spectrum)
STD_ROM_FN(Specfudslapi)

struct BurnDriver BurnSpecfudslapi = {
	"spec_fudslapi", NULL, "spec_spectrum", NULL, "1988",
	"Fuddo & Slam - Pictures (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfudslapiRomInfo, SpecfudslapiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fuddo & Slam (48K)

static struct BurnRomInfo SpecfuddslamRomDesc[] = {
	{ "Fuddo & Slam (1988)(Zenobi Software).z80", 0x096d9, 0x83e90603, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfuddslam, Specfuddslam, Spectrum)
STD_ROM_FN(Specfuddslam)

struct BurnDriver BurnSpecfuddslam = {
	"spec_fuddslam", NULL, "spec_spectrum", NULL, "1988",
	"Fuddo & Slam (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfuddslamRomInfo, SpecfuddslamRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fuga, La (Spanish) (48K)

static struct BurnRomInfo SpecfugalaesRomDesc[] = {
	{ "Fuga, La (1990)(Aventuras AM)(es).z80", 0x0603b, 0x60866376, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfugalaes, Specfugalaes, Spectrum)
STD_ROM_FN(Specfugalaes)

struct BurnDriver BurnSpecfugalaes = {
	"spec_fugalaes", NULL, "spec_spectrum", NULL, "1990",
	"Fuga, La (Spanish) (48K)\0", NULL, "Aventuras AM", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfugalaesRomInfo, SpecfugalaesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fuksoft (sk) (48K)

static struct BurnRomInfo Specfuksofts_48RomDesc[] = {
	{ "Fuksoft (1987)(Sybilasoft)(sk).z80", 0x09bd5, 0xfa01224f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfuksofts_48, Specfuksofts_48, Spectrum)
STD_ROM_FN(Specfuksofts_48)

struct BurnDriver BurnSpecfuksofts_48 = {
	"spec_fuksofts_48", "spec_fuksofts", "spec_spectrum", NULL, "1987",
	"Fuksoft (sk) (48K)\0", NULL, "Sybilasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfuksofts_48RomInfo, Specfuksofts_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fuksoft (sk) (128K)

static struct BurnRomInfo SpecfuksoftRomDesc[] = {
	{ "Fuksoft (1987)(Sybilasoft)(sk)[128K].z80", 0x0a5fb, 0x06cf41a0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfuksoft, Specfuksoft, Spectrum)
STD_ROM_FN(Specfuksoft)

struct BurnDriver BurnSpecfuksoft = {
	"spec_fuksoft", NULL, "spec_spec128", NULL, "1987",
	"Fuksoft (sk) (128K)\0", NULL, "Sybilasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfuksoftRomInfo, SpecfuksoftRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fuksoft II (cs) (128K)

static struct BurnRomInfo Specfuksoft2RomDesc[] = {
	{ "Fuksoft II (1989)(Raxoft)(cs)[128K].z80", 0x08f03, 0x9471f3f9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfuksoft2, Specfuksoft2, Spectrum)
STD_ROM_FN(Specfuksoft2)

struct BurnDriver BurnSpecfuksoft2 = {
	"spec_fuksoft2", NULL, "spec_spec128", NULL, "1989",
	"Fuksoft II (cs) (128K)\0", NULL, "Raxoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfuksoft2RomInfo, Specfuksoft2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Full Throttle (48K)

static struct BurnRomInfo SpecfllthroRomDesc[] = {
	{ "Full Throttle (1984)(Micromega).z80", 0x071e3, 0x9258a5f4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfllthro, Specfllthro, Spectrum)
STD_ROM_FN(Specfllthro)

struct BurnDriver BurnSpecfllthro = {
	"spec_fllthro", NULL, "spec_spectrum", NULL, "1984",
	"Full Throttle (48K)\0", NULL, "Micromega", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfllthroRomInfo, SpecfllthroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Full Throttle II (48K)

static struct BurnRomInfo Specfllthro2RomDesc[] = {
	{ "Full Throttle II (1990)(Zeppelin Games).z80", 0x07f42, 0xbb4cb4f2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfllthro2, Specfllthro2, Spectrum)
STD_ROM_FN(Specfllthro2)

struct BurnDriver BurnSpecfllthro2 = {
	"spec_fllthro2", NULL, "spec_spectrum", NULL, "1990",
	"Full Throttle II (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfllthro2RomInfo, Specfllthro2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Funhouse (48K)

static struct BurnRomInfo SpecfunhouseRomDesc[] = {
	{ "Funhouse (1984)(Pacific Software).z80", 0x09682, 0x42d27790, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfunhouse, Specfunhouse, Spectrum)
STD_ROM_FN(Specfunhouse)

struct BurnDriver BurnSpecfunhouse = {
	"spec_funhouse", NULL, "spec_spectrum", NULL, "1984",
	"Funhouse (48K)\0", NULL, "Pacific Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfunhouseRomInfo, SpecfunhouseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fury, The (128K)

static struct BurnRomInfo SpecfurytheRomDesc[] = {
	{ "Fury, The (1988)(Martech Games)[128K].z80", 0x14773, 0x7e26fdb3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfurythe, Specfurythe, Spectrum)
STD_ROM_FN(Specfurythe)

struct BurnDriver BurnSpecfurythe = {
	"spec_furythe", NULL, "spec_spec128", NULL, "1988",
	"Fury, The (128K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfurytheRomInfo, SpecfurytheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Fussball Manager (German) (48K)

static struct BurnRomInfo SpecfussmanaRomDesc[] = {
	{ "Fussball Manager (1984)(H. Diefenbach)(de).z80", 0x08d16, 0xc74db4d7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfussmana, Specfussmana, Spectrum)
STD_ROM_FN(Specfussmana)

struct BurnDriver BurnSpecfussmana = {
	"spec_fussmana", NULL, "spec_spectrum", NULL, "1984",
	"Fussball Manager (German) (48K)\0", NULL, "H. Diefenbach", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfussmanaRomInfo, SpecfussmanaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Future Games (Part 1 of 2) (48K)

static struct BurnRomInfo SpecfutrgameRomDesc[] = {
	{ "Future Games (1986)(Mastertronic)(Part 1 of 2).z80", 0x09821, 0x8d10506e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfutrgame, Specfutrgame, Spectrum)
STD_ROM_FN(Specfutrgame)

struct BurnDriver BurnSpecfutrgame = {
	"spec_futrgame", NULL, "spec_spectrum", NULL, "1986",
	"Future Games (Part 1 of 2) (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfutrgameRomInfo, SpecfutrgameRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Future Games (Part 2 of 2) (48K)

static struct BurnRomInfo Specfutrgame2RomDesc[] = {
	{ "Future Games (1986)(Mastertronic)(Part 2 of 2).z80", 0x09188, 0xced95fc4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfutrgame2, Specfutrgame2, Spectrum)
STD_ROM_FN(Specfutrgame2)

struct BurnDriver BurnSpecfutrgame2 = {
	"spec_futrgame2", "spec_futrgame", "spec_spectrum", NULL, "1986",
	"Future Games (Part 2 of 2) (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specfutrgame2RomInfo, Specfutrgame2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Future Knight (48K)

static struct BurnRomInfo SpecfutknghtRomDesc[] = {
	{ "Future Knight (1986)(Gremlin Graphics Software).z80", 0x09194, 0xbec66e94, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specfutknght, Specfutknght, Spectrum)
STD_ROM_FN(Specfutknght)

struct BurnDriver BurnSpecfutknght = {
	"spec_futknght", NULL, "spec_spectrum", NULL, "1986",
	"Future Knight (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecfutknghtRomInfo, SpecfutknghtRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// G.I. Hero (48K)

static struct BurnRomInfo SpecgiheroRomDesc[] = {
	{ "G.I. Hero (1988)(Firebird Software).z80", 0x08b44, 0xa532cf92, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgihero, Specgihero, Spectrum)
STD_ROM_FN(Specgihero)

struct BurnDriver BurnSpecgihero = {
	"spec_gihero", NULL, "spec_spectrum", NULL, "1988",
	"G.I. Hero (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgiheroRomInfo, SpecgiheroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gablota (pl) (48K)

static struct BurnRomInfo SpecgablotapRomDesc[] = {
	{ "Gablota (19xx)(-)(pl).z80", 0x0a18a, 0x97f0d372, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgablotap, Specgablotap, Spectrum)
STD_ROM_FN(Specgablotap)

struct BurnDriver BurnSpecgablotap = {
	"spec_gablotap", NULL, "spec_spectrum", NULL, "19xx",
	"Gablota (pl) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgablotapRomInfo, SpecgablotapRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Galactic Attack in Stereo 3D (German) (48K)

static struct BurnRomInfo SpecgaatstddRomDesc[] = {
	{ "Galactic Attack in Stereo 3D (1984)(Olaf Hartwig)(de).z80", 0x024f9, 0x351111be, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgaatstdd, Specgaatstdd, Spectrum)
STD_ROM_FN(Specgaatstdd)

struct BurnDriver BurnSpecgaatstdd = {
	"spec_gaatstdd", NULL, "spec_spectrum", NULL, "1984",
	"Galactic Attack in Stereo 3D (German) (48K)\0", NULL, "Olaf Hartwig", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgaatstddRomInfo, SpecgaatstddRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Galactic Gambler (48K)

static struct BurnRomInfo SpecgalagambRomDesc[] = {
	{ "Galactic Gambler (1984)(Omega Software).z80", 0x0368e, 0x65b7cf88, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgalagamb, Specgalagamb, Spectrum)
STD_ROM_FN(Specgalagamb)

struct BurnDriver BurnSpecgalagamb = {
	"spec_galagamb", NULL, "spec_spectrum", NULL, "1984",
	"Galactic Gambler (48K)\0", NULL, "Omega Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgalagambRomInfo, SpecgalagambRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Galactic Games (48K)

static struct BurnRomInfo SpecgalagameRomDesc[] = {
	{ "Galactic Games (1988)(Activision).z80", 0x03c4f, 0x0a332a1e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgalagame, Specgalagame, Spectrum)
STD_ROM_FN(Specgalagame)

struct BurnDriver BurnSpecgalagame = {
	"spec_galagame", NULL, "spec_spectrum", NULL, "1988",
	"Galactic Games (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgalagameRomInfo, SpecgalagameRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Galactic Gunners (48K)

static struct BurnRomInfo SpecgalagunnRomDesc[] = {
	{ "Galactic Gunners (1987)(Cybexlab Software).z80", 0x07a88, 0xbe4c3c13, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgalagunn, Specgalagunn, Spectrum)
STD_ROM_FN(Specgalagunn)

struct BurnDriver BurnSpecgalagunn = {
	"spec_galagunn", NULL, "spec_spectrum", NULL, "1987",
	"Galactic Gunners (48K)\0", NULL, "Cybexlab Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgalagunnRomInfo, SpecgalagunnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Galactic Patrol (48K)

static struct BurnRomInfo SpecgalapatrRomDesc[] = {
	{ "Galactic Patrol (1983)(CRL Group).z80", 0x02cf8, 0xe994448c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgalapatr, Specgalapatr, Spectrum)
STD_ROM_FN(Specgalapatr)

struct BurnDriver BurnSpecgalapatr = {
	"spec_galapatr", NULL, "spec_spectrum", NULL, "1983",
	"Galactic Patrol (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgalapatrRomInfo, SpecgalapatrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Galaxian (48K)

static struct BurnRomInfo SpecgalaxianRomDesc[] = {
	{ "Galaxian (1984)(Atarisoft).z80", 0x03d8c, 0x8990baef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgalaxian, Specgalaxian, Spectrum)
STD_ROM_FN(Specgalaxian)

struct BurnDriver BurnSpecgalaxian = {
	"spec_galaxian", NULL, "spec_spectrum", NULL, "1984",
	"Galaxian (48K)\0", NULL, "Atarisoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgalaxianRomInfo, SpecgalaxianRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Galaxias (48K)

static struct BurnRomInfo SpecgalaxiasRomDesc[] = {
	{ "Galaxias (1986)(Delta 4 Software).z80", 0x0a290, 0x88a47e72, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgalaxias, Specgalaxias, Spectrum)
STD_ROM_FN(Specgalaxias)

struct BurnDriver BurnSpecgalaxias = {
	"spec_galaxias", NULL, "spec_spectrum", NULL, "1986",
	"Galaxias (48K)\0", NULL, "Delta 4 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgalaxiasRomInfo, SpecgalaxiasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Galaxy Attack (48K)

static struct BurnRomInfo SpecgalaattaRomDesc[] = {
	{ "Galaxy Attack (1983)(Sunshine Books).z80", 0x07451, 0x65a2fbb5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgalaatta, Specgalaatta, Spectrum)
STD_ROM_FN(Specgalaatta)

struct BurnDriver BurnSpecgalaatta = {
	"spec_galaatta", NULL, "spec_spectrum", NULL, "1983",
	"Galaxy Attack (48K)\0", NULL, "Sunshine Books", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgalaattaRomInfo, SpecgalaattaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Galaxy Warlords (48K)

static struct BurnRomInfo SpecgalawarlRomDesc[] = {
	{ "Galaxy Warlords (1983)(R&R Software).z80", 0x02723, 0x6317121a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgalawarl, Specgalawarl, Spectrum)
STD_ROM_FN(Specgalawarl)

struct BurnDriver BurnSpecgalawarl = {
	"spec_galawarl", NULL, "spec_spectrum", NULL, "1983",
	"Galaxy Warlords (48K)\0", NULL, "R&R Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgalawarlRomInfo, SpecgalawarlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Galen (Spanish) (48K)

static struct BurnRomInfo SpecgalenesRomDesc[] = {
	{ "Galen (1989)(Mandragora Software)(es).z80", 0x086aa, 0x5b62bda6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgalenes, Specgalenes, Spectrum)
STD_ROM_FN(Specgalenes)

struct BurnDriver BurnSpecgalenes = {
	"spec_galenes", NULL, "spec_spectrum", NULL, "1989",
	"Galen (Spanish) (48K)\0", NULL, "Mandragora Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgalenesRomInfo, SpecgalenesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Galgje (nl) (48K)

static struct BurnRomInfo SpecgalgjenlRomDesc[] = {
	{ "Galgje (19xx)(-)(nl).z80", 0x0370e, 0x5edf1f83, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgalgjenl, Specgalgjenl, Spectrum)
STD_ROM_FN(Specgalgjenl)

struct BurnDriver BurnSpecgalgjenl = {
	"spec_galgjenl", NULL, "spec_spectrum", NULL, "19xx",
	"Galgje (nl) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgalgjenlRomInfo, SpecgalgjenlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Galipoli (48K)

static struct BurnRomInfo SpecgalipoliRomDesc[] = {
	{ "Galipoli (1986)(CCS).z80", 0x08688, 0xb050b1a7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgalipoli, Specgalipoli, Spectrum)
STD_ROM_FN(Specgalipoli)

struct BurnDriver BurnSpecgalipoli = {
	"spec_galipoli", NULL, "spec_spectrum", NULL, "1986",
	"Galipoli (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgalipoliRomInfo, SpecgalipoliRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Galletron (48K)

static struct BurnRomInfo SpecgalletroRomDesc[] = {
	{ "Galletron (1987)(Bulldog).z80", 0x0731e, 0xff85e6db, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgalletro, Specgalletro, Spectrum)
STD_ROM_FN(Specgalletro)

struct BurnDriver BurnSpecgalletro = {
	"spec_galletro", NULL, "spec_spectrum", NULL, "1987",
	"Galletron (48K)\0", NULL, "Bulldog", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgalletroRomInfo, SpecgalletroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gallipoli (48K)

static struct BurnRomInfo SpecgallipolRomDesc[] = {
	{ "Gallipoli (1986)(CCS).z80", 0x086a8, 0x33eb4697, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgallipol, Specgallipol, Spectrum)
STD_ROM_FN(Specgallipol)

struct BurnDriver BurnSpecgallipol = {
	"spec_gallipol", NULL, "spec_spectrum", NULL, "1986",
	"Gallipoli (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgallipolRomInfo, SpecgallipolRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gamble (48K)

static struct BurnRomInfo SpecgambleRomDesc[] = {
	{ "Gamble (19xx)(Gilad Japhet).z80", 0x02163, 0xa4e6d394, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgamble, Specgamble, Spectrum)
STD_ROM_FN(Specgamble)

struct BurnDriver BurnSpecgamble = {
	"spec_gamble", NULL, "spec_spectrum", NULL, "19xx",
	"Gamble (48K)\0", NULL, "Gilad Japhet", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgambleRomInfo, SpecgambleRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Game for Anything (48K)

static struct BurnRomInfo SpecgameanytRomDesc[] = {
	{ "Game for Anything (1982)(K.B.G. Judson).z80", 0x02251, 0xc095a3a5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgameanyt, Specgameanyt, Spectrum)
STD_ROM_FN(Specgameanyt)

struct BurnDriver BurnSpecgameanyt = {
	"spec_gameanyt", NULL, "spec_spectrum", NULL, "1982",
	"Game for Anything (48K)\0", NULL, "K.B.G. Judson", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgameanytRomInfo, SpecgameanytRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Game Mix (sl) (48K)

static struct BurnRomInfo SpecgamemixsRomDesc[] = {
	{ "Game Mix (1987)(Suzy Soft)(sl).z80", 0x0a89a, 0x29190112, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgamemixs, Specgamemixs, Spectrum)
STD_ROM_FN(Specgamemixs)

struct BurnDriver BurnSpecgamemixs = {
	"spec_gamemixs", NULL, "spec_spectrum", NULL, "1987",
	"Game Mix (sl) (48K)\0", NULL, "Suzy Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgamemixsRomInfo, SpecgamemixsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Game Over (Part 1 of 2) (48K)

static struct BurnRomInfo Specgameover_48RomDesc[] = {
	{ "Game Over (1987)(Imagine Software)(Part 1 of 2)[re-release].z80", 0x081aa, 0x10bd252e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgameover_48, Specgameover_48, Spectrum)
STD_ROM_FN(Specgameover_48)

struct BurnDriver BurnSpecgameover_48 = {
	"spec_gameover_48", "spec_gameover", "spec_spectrum", NULL, "1987",
	"Game Over (Part 1 of 2) (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgameover_48RomInfo, Specgameover_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Game Over (Part 2 of 2) (48K)

static struct BurnRomInfo Specgameover2_48RomDesc[] = {
	{ "Game Over (1987)(Imagine Software)(Part 2 of 2)[re-release].z80", 0x09b5d, 0x2b46abb2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgameover2_48, Specgameover2_48, Spectrum)
STD_ROM_FN(Specgameover2_48)

struct BurnDriver BurnSpecgameover2_48 = {
	"spec_gameover2_48", "spec_gameover", "spec_spectrum", NULL, "1987",
	"Game Over (Part 2 of 2) (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgameover2_48RomInfo, Specgameover2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Game Over (128K)

static struct BurnRomInfo SpecgameoverRomDesc[] = {
	{ "Game Over (1987)(Imagine Software)[128K][re-release].z80", 0x13750, 0x3dcd6f8e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgameover, Specgameover, Spectrum)
STD_ROM_FN(Specgameover)

struct BurnDriver BurnSpecgameover = {
	"spec_gameover", NULL, "spec_spec128", NULL, "1987",
	"Game Over (128K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgameoverRomInfo, SpecgameoverRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Game Over II (Part 1 of 2) (48K)

static struct BurnRomInfo Specgmeover2RomDesc[] = {
	{ "Game Over II (1988)(Electronic Arts)(Part 1 of 2)[re-release of Phantis].z80", 0x09082, 0x007922ac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgmeover2, Specgmeover2, Spectrum)
STD_ROM_FN(Specgmeover2)

struct BurnDriver BurnSpecgmeover2 = {
	"spec_gmeover2", NULL, "spec_spectrum", NULL, "1988",
	"Game Over II (Part 1 of 2) (48K)\0", NULL, "Electronic Arts", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgmeover2RomInfo, Specgmeover2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Game Over II (Part 2 of 2) (48K)

static struct BurnRomInfo Specgmeover22RomDesc[] = {
	{ "Game Over II (1988)(Electronic Arts)(Part 2 of 2)[re-release of Phantis].z80", 0x0a36f, 0x65bd0ab5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgmeover22, Specgmeover22, Spectrum)
STD_ROM_FN(Specgmeover22)

struct BurnDriver BurnSpecgmeover22 = {
	"spec_gmeover22", "spec_gmeover2", "spec_spectrum", NULL, "1988",
	"Game Over II (Part 2 of 2) (48K)\0", NULL, "Electronic Arts", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgmeover22RomInfo, Specgmeover22RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Game Screen I (48K)

static struct BurnRomInfo SpecgamscrRomDesc[] = {
	{ "Game Screen I (19xx)(Software Rebels).z80", 0x0b413, 0xd419ab51, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgamscr, Specgamscr, Spectrum)
STD_ROM_FN(Specgamscr)

struct BurnDriver BurnSpecgamscr = {
	"spec_gamscr", NULL, "spec_spectrum", NULL, "19xx",
	"Game Screen I (48K)\0", NULL, "Software Rebels", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgamscrRomInfo, SpecgamscrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Game Screens II (48K)

static struct BurnRomInfo Specgamscr2RomDesc[] = {
	{ "Game Screens II (19xx)(Software Rebels).z80", 0x0b036, 0x654b79cf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgamscr2, Specgamscr2, Spectrum)
STD_ROM_FN(Specgamscr2)

struct BurnDriver BurnSpecgamscr2 = {
	"spec_gamscr2", NULL, "spec_spectrum", NULL, "19xx",
	"Game Screens II (48K)\0", NULL, "Software Rebels", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgamscr2RomInfo, Specgamscr2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Game Without a Name (48K)

static struct BurnRomInfo SpecgamwitnaRomDesc[] = {
	{ "Game Without a Name (1987)(Dented Designs).z80", 0x09186, 0x5a10ab46, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgamwitna, Specgamwitna, Spectrum)
STD_ROM_FN(Specgamwitna)

struct BurnDriver BurnSpecgamwitna = {
	"spec_gamwitna", NULL, "spec_spectrum", NULL, "1987",
	"Game Without a Name (48K)\0", NULL, "Dented Designs", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgamwitnaRomInfo, SpecgamwitnaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gangplank (48K)

static struct BurnRomInfo SpecgangplanRomDesc[] = {
	{ "Gangplank (1987)(Pirate Software).z80", 0x093b8, 0x37ca6402, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgangplan, Specgangplan, Spectrum)
STD_ROM_FN(Specgangplan)

struct BurnDriver BurnSpecgangplan = {
	"spec_gangplan", NULL, "spec_spectrum", NULL, "1987",
	"Gangplank (48K)\0", NULL, "Pirate Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgangplanRomInfo, SpecgangplanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gangsters (48K)

static struct BurnRomInfo SpecgangsterRomDesc[] = {
	{ "Gangsters (1983)(CCS).z80", 0x0a004, 0x39fd964d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgangster, Specgangster, Spectrum)
STD_ROM_FN(Specgangster)

struct BurnDriver BurnSpecgangster = {
	"spec_gangster", NULL, "spec_spectrum", NULL, "1983",
	"Gangsters (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgangsterRomInfo, SpecgangsterRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ganymede III (German) (48K)

static struct BurnRomInfo SpecgaiiideRomDesc[] = {
	{ "Ganymede III (19xx)(Armin Hoelkin)(de).z80", 0x034c0, 0xf8725dd8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgaiiide, Specgaiiide, Spectrum)
STD_ROM_FN(Specgaiiide)

struct BurnDriver BurnSpecgaiiide = {
	"spec_gaiiide", NULL, "spec_spectrum", NULL, "19xx",
	"Ganymede III (German) (48K)\0", NULL, "Armin Hoelkin", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgaiiideRomInfo, SpecgaiiideRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Garfield - Big, Fat, Hairy Deal (48K)

static struct BurnRomInfo SpecgfbfhdRomDesc[] = {
	{ "Garfield - Big, Fat, Hairy Deal (1988)(The Edge Software).z80", 0x0a61d, 0xa2571fc8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgfbfhd, Specgfbfhd, Spectrum)
STD_ROM_FN(Specgfbfhd)

struct BurnDriver BurnSpecgfbfhd = {
	"spec_gfbfhd", NULL, "spec_spectrum", NULL, "1988",
	"Garfield - Big, Fat, Hairy Deal (48K)\0", NULL, "The Edge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgfbfhdRomInfo, SpecgfbfhdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Garfield - Winter's Tail (48K)

static struct BurnRomInfo Specgarfld_48RomDesc[] = {
	{ "Garfield - Winter's Tail (1990)(The Edge Software).z80", 0x0976e, 0x75006cad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgarfld_48, Specgarfld_48, Spectrum)
STD_ROM_FN(Specgarfld_48)

struct BurnDriver BurnSpecgarfld_48 = {
	"spec_garfld_48", "spec_garfld", "spec_spectrum", NULL, "1990",
	"Garfield - Winter's Tail (48K)\0", NULL, "The Edge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgarfld_48RomInfo, Specgarfld_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Garfield - Winter's Tail (128K)

static struct BurnRomInfo SpecgarfldRomDesc[] = {
	{ "Garfield - Winter's Tail (1990)(The Edge Software)[128K].z80", 0x09ba2, 0x6456b3c3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgarfld, Specgarfld, Spectrum)
STD_ROM_FN(Specgarfld)

struct BurnDriver BurnSpecgarfld = {
	"spec_garfld", NULL, "spec_spec128", NULL, "1990",
	"Garfield - Winter's Tail (128K)\0", NULL, "The Edge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgarfldRomInfo, SpecgarfldRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gary Lineker's Hot-Shot! (48K)

static struct BurnRomInfo SpecglinhtRomDesc[] = {
	{ "Gary Lineker's Hot-Shot! (1988)(Gremlin Graphics Software).z80", 0x08a0a, 0x18e1d943, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specglinht, Specglinht, Spectrum)
STD_ROM_FN(Specglinht)

struct BurnDriver BurnSpecglinht = {
	"spec_glinht", NULL, "spec_spectrum", NULL, "1988",
	"Gary Lineker's Hot-Shot! (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecglinhtRomInfo, SpecglinhtRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gary Lineker's Super Skills (128K)

static struct BurnRomInfo SpecglssRomDesc[] = {
	{ "Gary Lineker's Super Skills (1988)(Gremlin Graphics Software)[128K].z80", 0x12e6f, 0xfcb98fd1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specglss, Specglss, Spectrum)
STD_ROM_FN(Specglss)

struct BurnDriver BurnSpecglss = {
	"spec_glss", NULL, "spec_spec128", NULL, "1988",
	"Gary Lineker's Super Skills (128K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecglssRomInfo, SpecglssRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gary Lineker's Super Star Soccer (48K)

static struct BurnRomInfo SpecglsssRomDesc[] = {
	{ "Gary Lineker's Super Star Soccer (1987)(Gremlin Graphics Software).z80", 0x09c44, 0x700248d9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specglsss, Specglsss, Spectrum)
STD_ROM_FN(Specglsss)

struct BurnDriver BurnSpecglsss = {
	"spec_glsss", NULL, "spec_spectrum", NULL, "1987",
	"Gary Lineker's Super Star Soccer (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecglsssRomInfo, SpecglsssRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gatecrasher (48K)

static struct BurnRomInfo SpecgatecrasRomDesc[] = {
	{ "Gatecrasher (1984)(Quicksilva).z80", 0x0776b, 0xe010e586, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgatecras, Specgatecras, Spectrum)
STD_ROM_FN(Specgatecras)

struct BurnDriver BurnSpecgatecras = {
	"spec_gatecras", NULL, "spec_spectrum", NULL, "1984",
	"Gatecrasher (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgatecrasRomInfo, SpecgatecrasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gates of Garralon, The (48K)

static struct BurnRomInfo SpecgatgarthRomDesc[] = {
	{ "Gates of Garralon, The (1984)(Steven Cox).z80", 0x091b9, 0x1562eed1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgatgarth, Specgatgarth, Spectrum)
STD_ROM_FN(Specgatgarth)

struct BurnDriver BurnSpecgatgarth = {
	"spec_gatgarth", NULL, "spec_spectrum", NULL, "1984",
	"Gates of Garralon, The (48K)\0", NULL, "Steven Cox", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgatgarthRomInfo, SpecgatgarthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gateway to Hell (48K)

static struct BurnRomInfo SpecgatehellRomDesc[] = {
	{ "Gateway to Hell (1987)(Summit Software).z80", 0x07ab5, 0x3e4d3cde, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgatehell, Specgatehell, Spectrum)
STD_ROM_FN(Specgatehell)

struct BurnDriver BurnSpecgatehell = {
	"spec_gatehell", NULL, "spec_spectrum", NULL, "1987",
	"Gateway to Hell (48K)\0", NULL, "Summit Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgatehellRomInfo, SpecgatehellRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gato con Botas, El (Spanish) (128K)

static struct BurnRomInfo SpecgatbotelRomDesc[] = {
	{ "Gato con Botas, El (1989)(Nacho Gonzalez Cutre)(es)[128K].z80", 0x178cf, 0x2ac3f619, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgatbotel, Specgatbotel, Spectrum)
STD_ROM_FN(Specgatbotel)

struct BurnDriver BurnSpecgatbotel = {
	"spec_gatbotel", NULL, "spec_spec128", NULL, "1989",
	"Gato con Botas, El (Spanish) (128K)\0", NULL, "Nacho Gonzalez Cutre", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgatbotelRomInfo, SpecgatbotelRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gazza II (48K)

static struct BurnRomInfo Specgazza2_48RomDesc[] = {
	{ "Gazza II (1991)(Empire Software).z80", 0x080d0, 0x356d0fe3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgazza2_48, Specgazza2_48, Spectrum)
STD_ROM_FN(Specgazza2_48)

struct BurnDriver BurnSpecgazza2_48 = {
	"spec_gazza2_48", "spec_gazza2", "spec_spectrum", NULL, "1991",
	"Gazza II (48K)\0", NULL, "Empire Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgazza2_48RomInfo, Specgazza2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gazza II (128K)

static struct BurnRomInfo Specgazza2RomDesc[] = {
	{ "Gazza II (1991)(Empire Software)[128K].z80", 0x09bca, 0xa6132b0b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgazza2, Specgazza2, Spectrum)
STD_ROM_FN(Specgazza2)

struct BurnDriver BurnSpecgazza2 = {
	"spec_gazza2", NULL, "spec_spec128", NULL, "1991",
	"Gazza II (128K)\0", NULL, "Empire Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgazza2RomInfo, Specgazza2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// GBA Championship Basketball (48K)

static struct BurnRomInfo SpecgbachampRomDesc[] = {
	{ "GBA Championship Basketball (1987)(Gamestar).z80", 0x0a274, 0x14fa0399, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgbachamp, Specgbachamp, Spectrum)
STD_ROM_FN(Specgbachamp)

struct BurnDriver BurnSpecgbachamp = {
	"spec_gbachamp", NULL, "spec_spectrum", NULL, "1987",
	"GBA Championship Basketball (48K)\0", NULL, "Gamestar", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgbachampRomInfo, SpecgbachampRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Geister Fahrer (German) (48K)

static struct BurnRomInfo Specgeisfahr_48RomDesc[] = {
	{ "Geister Fahrer (1983)(Klaus Kopecz)(de).z80", 0x01a10, 0xc4b73d7c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgeisfahr_48, Specgeisfahr_48, Spectrum)
STD_ROM_FN(Specgeisfahr_48)

struct BurnDriver BurnSpecgeisfahr_48 = {
	"spec_geisfahr_48", "spec_geisfahr", "spec_spectrum", NULL, "1983",
	"Geister Fahrer (German) (48K)\0", NULL, "Klaus Kopecz", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgeisfahr_48RomInfo, Specgeisfahr_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Geister Fahrer (German) (128K)

static struct BurnRomInfo SpecgeisfahrRomDesc[] = {
	{ "Geister Fahrer (1983)(Klaus Kopecz)(de)[128K].z80", 0x0281d, 0xb9f0b8b8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgeisfahr, Specgeisfahr, Spectrum)
STD_ROM_FN(Specgeisfahr)

struct BurnDriver BurnSpecgeisfahr = {
	"spec_geisfahr", NULL, "spec_spec128", NULL, "1983",
	"Geister Fahrer (German) (128K)\0", NULL, "Klaus Kopecz", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgeisfahrRomInfo, SpecgeisfahrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gemelos (Spanish) (48K)

static struct BurnRomInfo SpecgemeloseRomDesc[] = {
	{ "Gemelos (1989)(YOX)(es)[needs tape load].z80", 0x016be, 0xa5e2ed86, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgemelose, Specgemelose, Spectrum)
STD_ROM_FN(Specgemelose)

struct BurnDriver BurnSpecgemelose = {
	"spec_gemelose", NULL, "spec_spectrum", NULL, "1989",
	"Gemelos (Spanish) (48K)\0", NULL, "YOX", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgemeloseRomInfo, SpecgemeloseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// General Election (48K)

static struct BurnRomInfo SpecgeneelecRomDesc[] = {
	{ "General Election (1983)(Bug-Byte Software).z80", 0x0a4ae, 0x69f5917d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgeneelec, Specgeneelec, Spectrum)
STD_ROM_FN(Specgeneelec)

struct BurnDriver BurnSpecgeneelec = {
	"spec_geneelec", NULL, "spec_spectrum", NULL, "1983",
	"General Election (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgeneelecRomInfo, SpecgeneelecRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Genesis II - Space Adventure (48K)

static struct BurnRomInfo Specgenesis2RomDesc[] = {
	{ "Genesis II - Space Adventure (1984)(Mikro-Gen).z80", 0x0ae62, 0x4283a781, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgenesis2, Specgenesis2, Spectrum)
STD_ROM_FN(Specgenesis2)

struct BurnDriver BurnSpecgenesis2 = {
	"spec_genesis2", NULL, "spec_spectrum", NULL, "1984",
	"Genesis II - Space Adventure (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgenesis2RomInfo, Specgenesis2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Genghis Khan (48K)

static struct BurnRomInfo SpecgengkhanRomDesc[] = {
	{ "Genghis Khan (1991)(Positive).z80", 0x09d9e, 0x6f34e989, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgengkhan, Specgengkhan, Spectrum)
STD_ROM_FN(Specgengkhan)

struct BurnDriver BurnSpecgengkhan = {
	"spec_gengkhan", NULL, "spec_spectrum", NULL, "1991",
	"Genghis Khan (48K)\0", NULL, "Positive", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgengkhanRomInfo, SpecgengkhanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Genius (cs) (48K)

static struct BurnRomInfo SpecgeniuscsRomDesc[] = {
	{ "Genius (1989)(Busy Software)(cs).z80", 0x02e34, 0x7684d644, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgeniuscs, Specgeniuscs, Spectrum)
STD_ROM_FN(Specgeniuscs)

struct BurnDriver BurnSpecgeniuscs = {
	"spec_geniuscs", NULL, "spec_spectrum", NULL, "1989",
	"Genius (cs) (48K)\0", NULL, "Busy Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgeniuscsRomInfo, SpecgeniuscsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Geoff Capes Strongman (48K)

static struct BurnRomInfo SpecgeocapstRomDesc[] = {
	{ "Geoff Capes Strongman (1985)(Martech Games).z80", 0x08b8d, 0xfb238732, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgeocapst, Specgeocapst, Spectrum)
STD_ROM_FN(Specgeocapst)

struct BurnDriver BurnSpecgeocapst = {
	"spec_geocapst", NULL, "spec_spectrum", NULL, "1985",
	"Geoff Capes Strongman (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgeocapstRomInfo, SpecgeocapstRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gerbil Riot of '67, The (48K)

static struct BurnRomInfo SpecgerriothRomDesc[] = {
	{ "Gerbil Riot of '67, The (1992)(The Guild).z80", 0x092a5, 0x26687b9e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgerrioth, Specgerrioth, Spectrum)
STD_ROM_FN(Specgerrioth)

struct BurnDriver BurnSpecgerrioth = {
	"spec_gerrioth", NULL, "spec_spectrum", NULL, "1992",
	"Gerbil Riot of '67, The (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgerriothRomInfo, SpecgerriothRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gerente, El (Spanish) (48K)

static struct BurnRomInfo SpecgereelesRomDesc[] = {
	{ "Gerente, El (1984)(DIMensionNEW - Idealogic)(es).z80", 0x09f9d, 0x9e33eb20, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgereeles, Specgereeles, Spectrum)
STD_ROM_FN(Specgereeles)

struct BurnDriver BurnSpecgereeles = {
	"spec_gereeles", NULL, "spec_spectrum", NULL, "1984",
	"Gerente, El (Spanish) (48K)\0", NULL, "DIMensionNEW - Idealogic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgereelesRomInfo, SpecgereelesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gerry the Germ (48K)

static struct BurnRomInfo SpecgerrgermRomDesc[] = {
	{ "Gerry the Germ (1985)(Firebird Software).z80", 0x09a44, 0x799b2b80, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgerrgerm, Specgerrgerm, Spectrum)
STD_ROM_FN(Specgerrgerm)

struct BurnDriver BurnSpecgerrgerm = {
	"spec_gerrgerm", NULL, "spec_spectrum", NULL, "1985",
	"Gerry the Germ (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgerrgermRomInfo, SpecgerrgermRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Get Me to the Church on Time! (48K)

static struct BurnRomInfo SpecgemechtiRomDesc[] = {
	{ "Get Me to the Church on Time! (1992)(Zenobi Software).z80", 0x07f54, 0x3bf8e4f4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgemechti, Specgemechti, Spectrum)
STD_ROM_FN(Specgemechti)

struct BurnDriver BurnSpecgemechti = {
	"spec_gemechti", NULL, "spec_spectrum", NULL, "1992",
	"Get Me to the Church on Time! (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgemechtiRomInfo, SpecgemechtiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Get That Emulator (48K)

static struct BurnRomInfo SpecgetthaemRomDesc[] = {
	{ "Get That Emulator (1997)(CSSCGC).z80", 0x054ee, 0xc228e05c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgetthaem, Specgetthaem, Spectrum)
STD_ROM_FN(Specgetthaem)

struct BurnDriver BurnSpecgetthaem = {
	"spec_getthaem", NULL, "spec_spectrum", NULL, "1997",
	"Get That Emulator (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgetthaemRomInfo, SpecgetthaemRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// G-Force (48K)

static struct BurnRomInfo SpecgforceRomDesc[] = {
	{ "G-Force (1983)(Eurobyte).z80", 0x05b41, 0x6ec1c378, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgforce, Specgforce, Spectrum)
STD_ROM_FN(Specgforce)

struct BurnDriver BurnSpecgforce = {
	"spec_gforce", NULL, "spec_spectrum", NULL, "1983",
	"G-Force (48K)\0", NULL, "Eurobyte", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgforceRomInfo, SpecgforceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ghost Hunters (48K)

static struct BurnRomInfo SpecghoshuntRomDesc[] = {
	{ "Ghost Hunters (1987)(Codemasters).z80", 0x0a85f, 0x4364b65d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specghoshunt, Specghoshunt, Spectrum)
STD_ROM_FN(Specghoshunt)

struct BurnDriver BurnSpecghoshunt = {
	"spec_ghoshunt", NULL, "spec_spectrum", NULL, "1987",
	"Ghost Hunters (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecghoshuntRomInfo, SpecghoshuntRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ghost Town (48K)

static struct BurnRomInfo SpecghostownRomDesc[] = {
	{ "Ghost Town (1983)(Virgin Games).z80", 0x0911d, 0x6f62d37a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specghostown, Specghostown, Spectrum)
STD_ROM_FN(Specghostown)

struct BurnDriver BurnSpecghostown = {
	"spec_ghostown", NULL, "spec_spectrum", NULL, "1983",
	"Ghost Town (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecghostownRomInfo, SpecghostownRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ghostbusters (48K)

static struct BurnRomInfo Specghostb_48RomDesc[] = {
	{ "Ghostbusters (1984)(Activision).z80", 0x07940, 0x8002ad90, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specghostb_48, Specghostb_48, Spectrum)
STD_ROM_FN(Specghostb_48)

struct BurnDriver BurnSpecghostb_48 = {
	"spec_ghostb_48", "spec_ghostb", "spec_spectrum", NULL, "1984",
	"Ghostbusters (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specghostb_48RomInfo, Specghostb_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ghostbusters (128K)

static struct BurnRomInfo SpecghostbRomDesc[] = {
	{ "Ghostbusters (1984)(Activision)[128K].z80", 0x110f7, 0x2b3f6071, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specghostb, Specghostb, Spectrum)
STD_ROM_FN(Specghostb)

struct BurnDriver BurnSpecghostb = {
	"spec_ghostb", NULL, "spec_spec128", NULL, "1984",
	"Ghostbusters (128K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecghostbRomInfo, SpecghostbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ghostbusters II (48K)

static struct BurnRomInfo Specghostb2RomDesc[] = {
	{ "Ghostbusters II (1989)(Activision).z80", 0x08f74, 0x018c57e9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specghostb2, Specghostb2, Spectrum)
STD_ROM_FN(Specghostb2)

struct BurnDriver BurnSpecghostb2 = {
	"spec_ghostb2", NULL, "spec_spectrum", NULL, "1989",
	"Ghostbusters II (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specghostb2RomInfo, Specghostb2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ghostly Grange (48K)

static struct BurnRomInfo SpecghosgranRomDesc[] = {
	{ "Ghostly Grange (1987)(Sparklers).z80", 0x06762, 0xf8e0cfa1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specghosgran, Specghosgran, Spectrum)
STD_ROM_FN(Specghosgran)

struct BurnDriver BurnSpecghosgran = {
	"spec_ghosgran", NULL, "spec_spectrum", NULL, "1987",
	"Ghostly Grange (48K)\0", NULL, "Sparklers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecghosgranRomInfo, SpecghosgranRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ghosts (48K)

static struct BurnRomInfo SpecghostsRomDesc[] = {
	{ "Ghosts (1997)(CSSCGC).z80", 0x00d3a, 0x25ddcc3a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specghosts, Specghosts, Spectrum)
STD_ROM_FN(Specghosts)

struct BurnDriver BurnSpecghosts = {
	"spec_ghosts", NULL, "spec_spectrum", NULL, "1997",
	"Ghosts (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecghostsRomInfo, SpecghostsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ghosts 'n' Goblins (48K)

static struct BurnRomInfo Specgng_48RomDesc[] = {
	{ "Ghosts 'n' Goblins (1986)(Elite Systems).z80", 0x0b805, 0xdc252529, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgng_48, Specgng_48, Spectrum)
STD_ROM_FN(Specgng_48)

struct BurnDriver BurnSpecgng_48 = {
	"spec_gng_48", "spec_gng", "spec_spectrum", NULL, "1986",
	"Ghosts 'n' Goblins (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgng_48RomInfo, Specgng_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ghouls 'n' Ghosts (128K)

static struct BurnRomInfo SpecgngRomDesc[] = {
	{ "Ghouls 'n' Ghosts (1989)(U.S. Gold)[128K].z80", 0x1a8d2, 0x1b626fe8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgng, Specgng, Spectrum)
STD_ROM_FN(Specgng)

struct BurnDriver BurnSpecgng = {
	"spec_gng", NULL, "spec_spec128", NULL, "1989",
	"Ghouls 'n' Ghosts (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgngRomInfo, SpecgngRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Giants (48K)

static struct BurnRomInfo SpecgiantsRomDesc[] = {
	{ "Giants (1984)(Edward Beck).z80", 0x08b2d, 0x0d3bcb31, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgiants, Specgiants, Spectrum)
STD_ROM_FN(Specgiants)

struct BurnDriver BurnSpecgiants = {
	"spec_giants", NULL, "spec_spectrum", NULL, "1984",
	"Giants (48K)\0", NULL, "Edward Beck", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgiantsRomInfo, SpecgiantsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Giant's Revenge (48K)

static struct BurnRomInfo SpecgianreveRomDesc[] = {
	{ "Giant's Revenge (1984)(Thor Computer Software).z80", 0x085db, 0x9d8ba9a0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgianreve, Specgianreve, Spectrum)
STD_ROM_FN(Specgianreve)

struct BurnDriver BurnSpecgianreve = {
	"spec_gianreve", NULL, "spec_spectrum", NULL, "1984",
	"Giant's Revenge (48K)\0", NULL, "Thor Computer Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgianreveRomInfo, SpecgianreveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gift from the Gods (48K)

static struct BurnRomInfo SpecgiftgodsRomDesc[] = {
	{ "Gift from the Gods (1984)(Ocean).z80", 0x0a653, 0xa1256a8e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgiftgods, Specgiftgods, Spectrum)
STD_ROM_FN(Specgiftgods)

struct BurnDriver BurnSpecgiftgods = {
	"spec_giftgods", NULL, "spec_spectrum", NULL, "1984",
	"Gift from the Gods (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgiftgodsRomInfo, SpecgiftgodsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gilbert - Escape from Drill (48K)

static struct BurnRomInfo Specgilbert_48RomDesc[] = {
	{ "Gilbert - Escape from Drill (1989)(Again Again).z80", 0x09fbc, 0x2fa5d266, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgilbert_48, Specgilbert_48, Spectrum)
STD_ROM_FN(Specgilbert_48)

struct BurnDriver BurnSpecgilbert_48 = {
	"spec_gilbert_48", "spec_gilbert", "spec_spectrum", NULL, "1989",
	"Gilbert - Escape from Drill (48K)\0", NULL, "Again Again", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgilbert_48RomInfo, Specgilbert_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gilbert - Escape from Drill (128K)

static struct BurnRomInfo SpecgilbertRomDesc[] = {
	{ "Gilbert - Escape from Drill (1989)(Again Again)[128K].z80", 0x0bdf6, 0x8f8eeeb0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgilbert, Specgilbert, Spectrum)
STD_ROM_FN(Specgilbert)

struct BurnDriver BurnSpecgilbert = {
	"spec_gilbert", NULL, "spec_spec128", NULL, "1989",
	"Gilbert - Escape from Drill (128K)\0", NULL, "Again Again", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgilbertRomInfo, SpecgilbertRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gilligan's Gold (48K)

static struct BurnRomInfo SpecgillgoldRomDesc[] = {
	{ "Gilligan's Gold (1984)(Ocean).z80", 0x09f75, 0xbe8c6da5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgillgold, Specgillgold, Spectrum)
STD_ROM_FN(Specgillgold)

struct BurnDriver BurnSpecgillgold = {
	"spec_gillgold", NULL, "spec_spectrum", NULL, "1984",
	"Gilligan's Gold (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgillgoldRomInfo, SpecgillgoldRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Give my Regards to Broad Street (48K)

static struct BurnRomInfo SpecgirebrstRomDesc[] = {
	{ "Give my Regards to Broad Street (1985)(Mind Games).z80", 0x0aa77, 0x054b5657, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgirebrst, Specgirebrst, Spectrum)
STD_ROM_FN(Specgirebrst)

struct BurnDriver BurnSpecgirebrst = {
	"spec_girebrst", NULL, "spec_spectrum", NULL, "1985",
	"Give my Regards to Broad Street (48K)\0", NULL, "Mind Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgirebrstRomInfo, SpecgirebrstRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gize - Intro (48K)

static struct BurnRomInfo SpecgizeRomDesc[] = {
	{ "Gize - Intro (1986)(Xcellent Software).z80", 0x0932f, 0xb04e8420, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgize, Specgize, Spectrum)
STD_ROM_FN(Specgize)

struct BurnDriver BurnSpecgize = {
	"spec_gize", NULL, "spec_spectrum", NULL, "1986",
	"Gize - Intro (48K)\0", NULL, "Xcellent Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgizeRomInfo, SpecgizeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gize (48K)

static struct BurnRomInfo SpecgizegRomDesc[] = {
	{ "Gize (1986)(Xcellent Software).z80", 0x0a2f0, 0x679ab940, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgizeg, Specgizeg, Spectrum)
STD_ROM_FN(Specgizeg)

struct BurnDriver BurnSpecgizeg = {
	"spec_gizeg", "spec_gize", "spec_spectrum", NULL, "1986",
	"Gize (48K)\0", NULL, "Xcellent Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgizegRomInfo, SpecgizegRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gladiator (48K)

static struct BurnRomInfo SpecgladiatoRomDesc[] = {
	{ "Gladiator (1986)(Domark).z80", 0x08de5, 0x5bcab88b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgladiato, Specgladiato, Spectrum)
STD_ROM_FN(Specgladiato)

struct BurnDriver BurnSpecgladiato = {
	"spec_gladiato", NULL, "spec_spectrum", NULL, "1986",
	"Gladiator (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgladiatoRomInfo, SpecgladiatoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gladiator (128K)

static struct BurnRomInfo SpecgladtrRomDesc[] = {
	{ "Gladiator (1986)(Domark)[128K].z80", 0x0c959, 0x26747e04, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgladtr, Specgladtr, Spectrum)
STD_ROM_FN(Specgladtr)

struct BurnDriver BurnSpecgladtr = {
	"spec_gladtr", NULL, "spec_spec128", NULL, "1986",
	"Gladiator (128K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgladtrRomInfo, SpecgladtrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gladiator, The (48K)

static struct BurnRomInfo SpecgladtrthRomDesc[] = {
	{ "Gladiator, The (19xx)(The Guild).z80", 0x0a336, 0x69c894da, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgladtrth, Specgladtrth, Spectrum)
STD_ROM_FN(Specgladtrth)

struct BurnDriver BurnSpecgladtrth = {
	"spec_gladtrth", NULL, "spec_spectrum", NULL, "19xx",
	"Gladiator, The (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgladtrthRomInfo, SpecgladtrthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Glass (48K)

static struct BurnRomInfo SpecglassRomDesc[] = {
	{ "Glass (1985)(Quicksilva).z80", 0x095cd, 0x77a47d9d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specglass, Specglass, Spectrum)
STD_ROM_FN(Specglass)

struct BurnDriver BurnSpecglass = {
	"spec_glass", NULL, "spec_spectrum", NULL, "1985",
	"Glass (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecglassRomInfo, SpecglassRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Glider (48K)

static struct BurnRomInfo SpecgliderRomDesc[] = {
	{ "Glider (1984)(Macmillan Software - Sinclair Research).z80", 0x061d5, 0x4ef34bb6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specglider, Specglider, Spectrum)
STD_ROM_FN(Specglider)

struct BurnDriver BurnSpecglider = {
	"spec_glider", NULL, "spec_spectrum", NULL, "1984",
	"Glider (48K)\0", NULL, "Macmillan Software - Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgliderRomInfo, SpecgliderRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Glider Rider (48K)

static struct BurnRomInfo Specglidride_48RomDesc[] = {
	{ "Glider Rider (1987)(Quicksilva).z80", 0x0a096, 0xd70a3693, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specglidride_48, Specglidride_48, Spectrum)
STD_ROM_FN(Specglidride_48)

struct BurnDriver BurnSpecglidride_48 = {
	"spec_glidride_48", "spec_glidride", "spec_spectrum", NULL, "1987",
	"Glider Rider (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specglidride_48RomInfo, Specglidride_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Glider Rider (128K)

static struct BurnRomInfo SpecglidrideRomDesc[] = {
	{ "Glider Rider (1987)(Quicksilva)[128K].z80", 0x0f600, 0xc735d621, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specglidride, Specglidride, Spectrum)
STD_ROM_FN(Specglidride)

struct BurnDriver BurnSpecglidride = {
	"spec_glidride", NULL, "spec_spec128", NULL, "1987",
	"Glider Rider (128K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecglidrideRomInfo, SpecglidrideRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Globe, The (48K)

static struct BurnRomInfo SpecglobeRomDesc[] = {
	{ "Globe, The (19xx)(Zenobi Software).z80", 0x0a9ac, 0x8ae0b91c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specglobe, Specglobe, Spectrum)
STD_ROM_FN(Specglobe)

struct BurnDriver BurnSpecglobe = {
	"spec_globe", NULL, "spec_spectrum", NULL, "19xx",
	"Globe, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecglobeRomInfo, SpecglobeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Globular Troubles (48K)

static struct BurnRomInfo SpecglobtrouRomDesc[] = {
	{ "Globular Troubles (1987)(Jorgen Bech).z80", 0x09766, 0x7d3f22c6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specglobtrou, Specglobtrou, Spectrum)
STD_ROM_FN(Specglobtrou)

struct BurnDriver BurnSpecglobtrou = {
	"spec_globtrou", NULL, "spec_spectrum", NULL, "1987",
	"Globular Troubles (48K)\0", NULL, "Jorgen Bech", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecglobtrouRomInfo, SpecglobtrouRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// G-LOC (128K)

static struct BurnRomInfo SpecglocRomDesc[] = {
	{ "G-LOC (1992)(U.S. Gold)[128K].z80", 0x16f39, 0xeeae7278, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgloc, Specgloc, Spectrum)
STD_ROM_FN(Specgloc)

struct BurnDriver BurnSpecgloc = {
	"spec_gloc", NULL, "spec_spec128", NULL, "1992",
	"G-LOC (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecglocRomInfo, SpecglocRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Glub (Spanish) (48K)

static struct BurnRomInfo SpecglubesRomDesc[] = {
	{ "Glub (19xx)(EP Software)(es).z80", 0x06589, 0x14dc77b9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specglubes, Specglubes, Spectrum)
STD_ROM_FN(Specglubes)

struct BurnDriver BurnSpecglubes = {
	"spec_glubes", NULL, "spec_spectrum", NULL, "19xx",
	"Glub (Spanish) (48K)\0", NULL, "EP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecglubesRomInfo, SpecglubesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Glug Glug (48K)

static struct BurnRomInfo SpecglugglugRomDesc[] = {
	{ "Glug Glug (1984)(CRL Group).z80", 0x0395c, 0x55f59fd6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specglugglug, Specglugglug, Spectrum)
STD_ROM_FN(Specglugglug)

struct BurnDriver BurnSpecglugglug = {
	"spec_glugglug", NULL, "spec_spectrum", NULL, "1984",
	"Glug Glug (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecglugglugRomInfo, SpecglugglugRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gnasher (48K)

static struct BurnRomInfo SpecgnasherRomDesc[] = {
	{ "Gnasher (1983)(R&R Software).z80", 0x02612, 0xffac0c53, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgnasher, Specgnasher, Spectrum)
STD_ROM_FN(Specgnasher)

struct BurnDriver BurnSpecgnasher = {
	"spec_gnasher", NULL, "spec_spectrum", NULL, "1983",
	"Gnasher (48K)\0", NULL, "R&R Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgnasherRomInfo, SpecgnasherRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gnome Lazies, The (48K)

static struct BurnRomInfo SpecgnolazthRomDesc[] = {
	{ "Gnome Lazies, The (19xx)(Mouse).z80", 0x025a4, 0x25179f1f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgnolazth, Specgnolazth, Spectrum)
STD_ROM_FN(Specgnolazth)

struct BurnDriver BurnSpecgnolazth = {
	"spec_gnolazth", NULL, "spec_spectrum", NULL, "19xx",
	"Gnome Lazies, The (48K)\0", NULL, "Mouse", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgnolazthRomInfo, SpecgnolazthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gnome Ranger (Part 1 of 3) (128K)

static struct BurnRomInfo SpecgnomerRomDesc[] = {
	{ "Gnome Ranger (1987)(Level 9 Computing)(Part 1 of 3)[128K].z80", 0x0c124, 0xef1d8fca, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgnomer, Specgnomer, Spectrum)
STD_ROM_FN(Specgnomer)

struct BurnDriver BurnSpecgnomer = {
	"spec_gnomer", NULL, "spec_spec128", NULL, "1987",
	"Gnome Ranger (Part 1 of 3) (128K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgnomerRomInfo, SpecgnomerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gnome Ranger (Part 2 of 3) (128K)

static struct BurnRomInfo Specgnomer2RomDesc[] = {
	{ "Gnome Ranger (1987)(Level 9 Computing)(Part 2 of 3)[128K].z80", 0x0d24d, 0x12b6eb6e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgnomer2, Specgnomer2, Spectrum)
STD_ROM_FN(Specgnomer2)

struct BurnDriver BurnSpecgnomer2 = {
	"spec_gnomer2", "spec_gnomer", "spec_spec128", NULL, "1987",
	"Gnome Ranger (Part 2 of 3) (128K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgnomer2RomInfo, Specgnomer2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gnome Ranger (Part 3 of 3) (128K)

static struct BurnRomInfo Specgnomer3RomDesc[] = {
	{ "Gnome Ranger (1987)(Level 9 Computing)(Part 3 of 3)[128K].z80", 0x0d4cd, 0x4cafd8ef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgnomer3, Specgnomer3, Spectrum)
STD_ROM_FN(Specgnomer3)

struct BurnDriver BurnSpecgnomer3 = {
	"spec_gnomer3", "spec_gnomer", "spec_spec128", NULL, "1987",
	"Gnome Ranger (Part 3 of 3) (128K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgnomer3RomInfo, Specgnomer3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gnome Ranger II - Ingrid's Back! (Part 1 of 3) (48K)

static struct BurnRomInfo Specgr2ib_48RomDesc[] = {
	{ "Gnome Ranger II - Ingrid's Back! (1989)(Level 9 Computing)(Part 1 of 3).z80", 0x0ac6a, 0xf0a8555e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgr2ib_48, Specgr2ib_48, Spectrum)
STD_ROM_FN(Specgr2ib_48)

struct BurnDriver BurnSpecgr2ib_48 = {
	"spec_gr2ib_48", "spec_gr2ib", "spec_spectrum", NULL, "1989",
	"Gnome Ranger II - Ingrid's Back! (Part 1 of 3) (48K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgr2ib_48RomInfo, Specgr2ib_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gnome Ranger II - Ingrid's Back! (Part 1 of 3) (128K)

static struct BurnRomInfo Specgr2ibRomDesc[] = {
	{ "Gnome Ranger II - Ingrid's Back! (1989)(Level 9 Computing)(Part 1 of 3)[128K].z80", 0x0e9f6, 0x3281363f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgr2ib, Specgr2ib, Spectrum)
STD_ROM_FN(Specgr2ib)

struct BurnDriver BurnSpecgr2ib = {
	"spec_gr2ib", NULL, "spec_spec128", NULL, "1989",
	"Gnome Ranger II - Ingrid's Back! (Part 1 of 3) (128K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgr2ibRomInfo, Specgr2ibRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gnome Ranger II - Ingrid's Back! (Part 2 of 3) (48K)

static struct BurnRomInfo Specgr2ib2_48RomDesc[] = {
	{ "Gnome Ranger II - Ingrid's Back! (1989)(Level 9 Computing)(Part 2 of 3).z80", 0x0aa5c, 0x6bf7a751, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgr2ib2_48, Specgr2ib2_48, Spectrum)
STD_ROM_FN(Specgr2ib2_48)

struct BurnDriver BurnSpecgr2ib2_48 = {
	"spec_gr2ib2_48", "spec_gr2ib", "spec_spectrum", NULL, "1989",
	"Gnome Ranger II - Ingrid's Back! (Part 2 of 3) (48K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgr2ib2_48RomInfo, Specgr2ib2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gnome Ranger II - Ingrid's Back! (Part 2 of 3) (128K)

static struct BurnRomInfo Specgr2ib2RomDesc[] = {
	{ "Gnome Ranger II - Ingrid's Back! (1989)(Level 9 Computing)(Part 2 of 3)[128K].z80", 0x0ea59, 0x8e749666, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgr2ib2, Specgr2ib2, Spectrum)
STD_ROM_FN(Specgr2ib2)

struct BurnDriver BurnSpecgr2ib2 = {
	"spec_gr2ib2", "spec_gr2ib", "spec_spec128", NULL, "1989",
	"Gnome Ranger II - Ingrid's Back! (Part 2 of 3) (128K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgr2ib2RomInfo, Specgr2ib2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gnome Ranger II - Ingrid's Back! (Part 3 of 3) (48K)

static struct BurnRomInfo Specgr2ib3_48RomDesc[] = {
	{ "Gnome Ranger II - Ingrid's Back! (1989)(Level 9 Computing)(Part 3 of 3).z80", 0x0a9f0, 0x30d96779, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgr2ib3_48, Specgr2ib3_48, Spectrum)
STD_ROM_FN(Specgr2ib3_48)

struct BurnDriver BurnSpecgr2ib3_48 = {
	"spec_gr2ib3_48", "spec_gr2ib", "spec_spectrum", NULL, "1989",
	"Gnome Ranger II - Ingrid's Back! (Part 3 of 3) (48K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgr2ib3_48RomInfo, Specgr2ib3_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gnome Ranger II - Ingrid's Back! (Part 3 of 3) (128K)

static struct BurnRomInfo Specgr2ib3RomDesc[] = {
	{ "Gnome Ranger II - Ingrid's Back! (1989)(Level 9 Computing)(Part 3 of 3)[128K].z80", 0x0e4e3, 0x6be7f946, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgr2ib3, Specgr2ib3, Spectrum)
STD_ROM_FN(Specgr2ib3)

struct BurnDriver BurnSpecgr2ib3 = {
	"spec_gr2ib3", "spec_gr2ib", "spec_spec128", NULL, "1989",
	"Gnome Ranger II - Ingrid's Back! (Part 3 of 3) (128K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgr2ib3RomInfo, Specgr2ib3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Go to Hell (48K)

static struct BurnRomInfo SpecgotohellRomDesc[] = {
	{ "Go to Hell (1985)(Triple Six).z80", 0x0886d, 0xfb67deef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgotohell, Specgotohell, Spectrum)
STD_ROM_FN(Specgotohell)

struct BurnDriver BurnSpecgotohell = {
	"spec_gotohell", NULL, "spec_spectrum", NULL, "1985",
	"Go to Hell (48K)\0", NULL, "Triple Six", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgotohellRomInfo, SpecgotohellRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Go to Jail (48K)

static struct BurnRomInfo SpecgotojailRomDesc[] = {
	{ "Go to Jail (1983)(Automata UK).z80", 0x089ca, 0xb580e8b2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgotojail, Specgotojail, Spectrum)
STD_ROM_FN(Specgotojail)

struct BurnDriver BurnSpecgotojail = {
	"spec_gotojail", NULL, "spec_spectrum", NULL, "1983",
	"Go to Jail (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgotojailRomInfo, SpecgotojailRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gob Stopper (48K)

static struct BurnRomInfo SpecgobstoppRomDesc[] = {
	{ "Gob Stopper (1983)(Calisto).z80", 0x08add, 0x7f317c8e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgobstopp, Specgobstopp, Spectrum)
STD_ROM_FN(Specgobstopp)

struct BurnDriver BurnSpecgobstopp = {
	"spec_gobstopp", NULL, "spec_spectrum", NULL, "1983",
	"Gob Stopper (48K)\0", NULL, "Calisto", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgobstoppRomInfo, SpecgobstoppRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Goblin Gazette, The - Issue 1 (48K)

static struct BurnRomInfo SpecgobgazRomDesc[] = {
	{ "Goblin Gazette, The - Issue 1 (1989)(Zenobi Software).z80", 0x0a8d1, 0x26ae40cb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgobgaz, Specgobgaz, Spectrum)
STD_ROM_FN(Specgobgaz)

struct BurnDriver BurnSpecgobgaz = {
	"spec_gobgaz", NULL, "spec_spectrum", NULL, "1989",
	"Goblin Gazette, The - Issue 1 (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgobgazRomInfo, SpecgobgazRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Goblin Gazette, The - Issue 2 (Part 1 of 2) (48K)

static struct BurnRomInfo Specgobgaz2RomDesc[] = {
	{ "Goblin Gazette, The - Issue 2 (1989)(Zenobi Software)(Part 1 of 2).z80", 0x09fb4, 0x21e24afe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgobgaz2, Specgobgaz2, Spectrum)
STD_ROM_FN(Specgobgaz2)

struct BurnDriver BurnSpecgobgaz2 = {
	"spec_gobgaz2", NULL, "spec_spectrum", NULL, "1989",
	"Goblin Gazette, The - Issue 2 (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgobgaz2RomInfo, Specgobgaz2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Goblin Gazette, The - Issue 2 (Part 2 of 2) (48K)

static struct BurnRomInfo Specgobgaz22RomDesc[] = {
	{ "Goblin Gazette, The - Issue 2 (1989)(Zenobi Software)(Part 2 of 2).z80", 0x07b2a, 0xd9581628, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgobgaz22, Specgobgaz22, Spectrum)
STD_ROM_FN(Specgobgaz22)

struct BurnDriver BurnSpecgobgaz22 = {
	"spec_gobgaz22", "spec_gobgaz2", "spec_spectrum", NULL, "1989",
	"Goblin Gazette, The - Issue 2 (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgobgaz22RomInfo, Specgobgaz22RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gods (48K)

static struct BurnRomInfo SpecgodsRomDesc[] = {
	{ "Gods (1989)(Simon & Julia Barnsley).z80", 0x09979, 0x1e1dc640, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgods, Specgods, Spectrum)
STD_ROM_FN(Specgods)

struct BurnDriver BurnSpecgods = {
	"spec_gods", NULL, "spec_spectrum", NULL, "1989",
	"Gods (48K)\0", NULL, "Simon & Julia Barnsley", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgodsRomInfo, SpecgodsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gods of War, The (Part 1 of 3) (48K)

static struct BurnRomInfo Specgodsowar_48RomDesc[] = {
	{ "Gods of War, The (1990)(Zenobi Software)(Part 1 of 3).z80", 0x0a455, 0x4e014259, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgodsowar_48, Specgodsowar_48, Spectrum)
STD_ROM_FN(Specgodsowar_48)

struct BurnDriver BurnSpecgodsowar_48 = {
	"spec_godsowar_48", "spec_godsowar", "spec_spectrum", NULL, "1990",
	"Gods of War, The (Part 1 of 3) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgodsowar_48RomInfo, Specgodsowar_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gods of War, The (Part 2 of 3) (48K)

static struct BurnRomInfo Specgodsowar2_48RomDesc[] = {
	{ "Gods of War, The (1990)(Zenobi Software)(Part 2 of 3).z80", 0x0a4c0, 0x263df3dd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgodsowar2_48, Specgodsowar2_48, Spectrum)
STD_ROM_FN(Specgodsowar2_48)

struct BurnDriver BurnSpecgodsowar2_48 = {
	"spec_godsowar2_48", "spec_godsowar", "spec_spectrum", NULL, "1990",
	"Gods of War, The (Part 2 of 3) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgodsowar2_48RomInfo, Specgodsowar2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gods of War, The (Part 3 of 3) (48K)

static struct BurnRomInfo Specgodsowar3_48RomDesc[] = {
	{ "Gods of War, The (1990)(Zenobi Software)(Part 3 of 3).z80", 0x0a40b, 0xd47214d7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgodsowar3_48, Specgodsowar3_48, Spectrum)
STD_ROM_FN(Specgodsowar3_48)

struct BurnDriver BurnSpecgodsowar3_48 = {
	"spec_godsowar3_48", "spec_godsowar", "spec_spectrum", NULL, "1990",
	"Gods of War, The (Part 3 of 3) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgodsowar3_48RomInfo, Specgodsowar3_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gods of War, The (128K)

static struct BurnRomInfo SpecgodsowarRomDesc[] = {
	{ "Gods of War, The (1990)(Zenobi Software)[128K].z80", 0x1d835, 0xa34b8b2e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgodsowar, Specgodsowar, Spectrum)
STD_ROM_FN(Specgodsowar)

struct BurnDriver BurnSpecgodsowar = {
	"spec_godsowar", NULL, "spec_spec128", NULL, "1990",
	"Gods of War, The (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgodsowarRomInfo, SpecgodsowarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Godzilla - The Atomar Nightmare (48K)

static struct BurnRomInfo SpecgodzillaRomDesc[] = {
	{ "Godzilla - The Atomar Nightmare (1995)(Tiger's Claw).z80", 0x01279, 0x9005b6a1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgodzilla, Specgodzilla, Spectrum)
STD_ROM_FN(Specgodzilla)

struct BurnDriver BurnSpecgodzilla = {
	"spec_godzilla", NULL, "spec_spectrum", NULL, "1995",
	"Godzilla - The Atomar Nightmare (48K)\0", NULL, "Tiger's Claw", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgodzillaRomInfo, SpecgodzillaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gold Digger (48K)

static struct BurnRomInfo SpecgolddiggRomDesc[] = {
	{ "Gold Digger (1983)(Blaby Computer Games).z80", 0x0250a, 0xf638710c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgolddigg, Specgolddigg, Spectrum)
STD_ROM_FN(Specgolddigg)

struct BurnDriver BurnSpecgolddigg = {
	"spec_golddigg", NULL, "spec_spectrum", NULL, "1983",
	"Gold Digger (48K)\0", NULL, "Blaby Computer Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgolddiggRomInfo, SpecgolddiggRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gold Stadt (German) (Aqua Soft) (48K)

static struct BurnRomInfo SpecgoldstdaRomDesc[] = {
	{ "Gold Stadt (1984)(Aqua Soft)(de).z80", 0x072b2, 0x40f23a7f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgoldstda, Specgoldstda, Spectrum)
STD_ROM_FN(Specgoldstda)

struct BurnDriver BurnSpecgoldstda = {
	"spec_goldstda", NULL, "spec_spectrum", NULL, "1984",
	"Gold Stadt (German) (Aqua Soft) (48K)\0", NULL, "Aqua Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgoldstdaRomInfo, SpecgoldstdaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gold Stadt (German) (Sun Soft) (48K)

static struct BurnRomInfo SpecgoldstdsRomDesc[] = {
	{ "Gold Stadt (1984)(Sun Soft)(de)[re-release].z80", 0x077a4, 0x37b150aa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgoldstds, Specgoldstds, Spectrum)
STD_ROM_FN(Specgoldstds)

struct BurnDriver BurnSpecgoldstds = {
	"spec_goldstds", NULL, "spec_spectrum", NULL, "1984",
	"Gold Stadt (German) (Sun Soft) (48K)\0", NULL, "Sun Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgoldstdsRomInfo, SpecgoldstdsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Golden Arrow (48K)

static struct BurnRomInfo SpecgoldarroRomDesc[] = {
	{ "Golden Arrow (1984)(M. Price Kayem Partnership).z80", 0x071a4, 0x955a26c4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgoldarro, Specgoldarro, Spectrum)
STD_ROM_FN(Specgoldarro)

struct BurnDriver BurnSpecgoldarro = {
	"spec_goldarro", NULL, "spec_spectrum", NULL, "1984",
	"Golden Arrow (48K)\0", NULL, "M. Price Kayem Partnership", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgoldarroRomInfo, SpecgoldarroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Golden Basket (Spanish) (48K)

static struct BurnRomInfo SpecgoldbaskRomDesc[] = {
	{ "Golden Basket (1990)(Opera Soft)(es)[passworded].z80", 0x09ad7, 0x1cd9c23d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgoldbask, Specgoldbask, Spectrum)
STD_ROM_FN(Specgoldbask)

struct BurnDriver BurnSpecgoldbask = {
	"spec_goldbask", NULL, "spec_spectrum", NULL, "1990",
	"Golden Basket (Spanish) (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgoldbaskRomInfo, SpecgoldbaskRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Golden Chalice, The (48K)

static struct BurnRomInfo SpecgolchathRomDesc[] = {
	{ "Golden Chalice, The (1984)(RM Software).z80", 0x08adc, 0xd230c41c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgolchath, Specgolchath, Spectrum)
STD_ROM_FN(Specgolchath)

struct BurnDriver BurnSpecgolchath = {
	"spec_golchath", NULL, "spec_spectrum", NULL, "1984",
	"Golden Chalice, The (48K)\0", NULL, "RM Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgolchathRomInfo, SpecgolchathRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Golden Cobra, The (48K)

static struct BurnRomInfo SpecgolcobthRomDesc[] = {
	{ "Golden Cobra, The (1985)(Chezron Software).z80", 0x0a244, 0xa41672ff, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgolcobth, Specgolcobth, Spectrum)
STD_ROM_FN(Specgolcobth)

struct BurnDriver BurnSpecgolcobth = {
	"spec_golcobth", NULL, "spec_spectrum", NULL, "1985",
	"Golden Cobra, The (48K)\0", NULL, "Chezron Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgolcobthRomInfo, SpecgolcobthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Golden Locket, The - Intro (48K)

static struct BurnRomInfo SpecgoldlockRomDesc[] = {
	{ "Golden Locket, The - Intro (1993)(Zenobi Software).z80", 0x01250, 0x99a3df9d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgoldlock, Specgoldlock, Spectrum)
STD_ROM_FN(Specgoldlock)

struct BurnDriver BurnSpecgoldlock = {
	"spec_goldlock", NULL, "spec_spectrum", NULL, "1993",
	"Golden Locket, The - Intro (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgoldlockRomInfo, SpecgoldlockRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Golden Locket, The (48K)

static struct BurnRomInfo SpecgoldlockgRomDesc[] = {
	{ "Golden Locket, The (1993)(Zenobi Software).z80", 0x0a3b2, 0xdc20b843, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgoldlockg, Specgoldlockg, Spectrum)
STD_ROM_FN(Specgoldlockg)

struct BurnDriver BurnSpecgoldlockg = {
	"spec_goldlockg", "spec_goldlock", "spec_spectrum", NULL, "1993",
	"Golden Locket, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgoldlockgRomInfo, SpecgoldlockgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Golden Pyramid, The (48K)

static struct BurnRomInfo SpecgolpyrthRomDesc[] = {
	{ "Golden Pyramid, The (1991)(Zenobi Software).z80", 0x09bce, 0xcbed8853, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgolpyrth, Specgolpyrth, Spectrum)
STD_ROM_FN(Specgolpyrth)

struct BurnDriver BurnSpecgolpyrth = {
	"spec_golpyrth", NULL, "spec_spectrum", NULL, "1991",
	"Golden Pyramid, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgolpyrthRomInfo, SpecgolpyrthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Golden Rose, The (48K)

static struct BurnRomInfo SpecgolrosthRomDesc[] = {
	{ "Golden Rose, The (1984)(Adam Enterprises).z80", 0x08cbb, 0x59a3c3ac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgolrosth, Specgolrosth, Spectrum)
STD_ROM_FN(Specgolrosth)

struct BurnDriver BurnSpecgolrosth = {
	"spec_golrosth", NULL, "spec_spectrum", NULL, "1984",
	"Golden Rose, The (48K)\0", NULL, "Adam Enterprises", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgolrosthRomInfo, SpecgolrosthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Golden Sword of Bhakhor, The (Part 1 of 3) (48K)

static struct BurnRomInfo SpecgoldswrdbRomDesc[] = {
	{ "Golden Sword of Bhakhor, The (1991)(Zenobi Software)(Part 1 of 3).z80", 0x0957e, 0x41cb7be4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgoldswrdb, Specgoldswrdb, Spectrum)
STD_ROM_FN(Specgoldswrdb)

struct BurnDriver BurnSpecgoldswrdb = {
	"spec_goldswrdb", NULL, "spec_spectrum", NULL, "1991",
	"Golden Sword of Bhakhor, The (Part 1 of 3) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgoldswrdbRomInfo, SpecgoldswrdbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Golden Sword of Bhakhor, The (Part 2 of 3) (48K)

static struct BurnRomInfo Specgoldswrdb2RomDesc[] = {
	{ "Golden Sword of Bhakhor, The (1991)(Zenobi Software)(Part 2 of 3).z80", 0x0a99a, 0x747d8774, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgoldswrdb2, Specgoldswrdb2, Spectrum)
STD_ROM_FN(Specgoldswrdb2)

struct BurnDriver BurnSpecgoldswrdb2 = {
	"spec_goldswrdb2", "spec_goldswrdb", "spec_spectrum", NULL, "1991",
	"Golden Sword of Bhakhor, The (Part 2 of 3) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgoldswrdb2RomInfo, Specgoldswrdb2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Golden Sword of Bhakhor, The (Part 3 of 3) (48K)

static struct BurnRomInfo Specgoldswrdb3RomDesc[] = {
	{ "Golden Sword of Bhakhor, The (1991)(Zenobi Software)(Part 3 of 3).z80", 0x097ae, 0x104f901f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgoldswrdb3, Specgoldswrdb3, Spectrum)
STD_ROM_FN(Specgoldswrdb3)

struct BurnDriver BurnSpecgoldswrdb3 = {
	"spec_goldswrdb3", "spec_goldswrdb", "spec_spectrum", NULL, "1991",
	"Golden Sword of Bhakhor, The (Part 3 of 3) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgoldswrdb3RomInfo, Specgoldswrdb3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Goldgraber (German) (48K)

static struct BurnRomInfo SpecgoldgrabRomDesc[] = {
	{ "Goldgraber (1983)(Thoralf Klatt)(de).z80", 0x09bb9, 0x51453623, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgoldgrab, Specgoldgrab, Spectrum)
STD_ROM_FN(Specgoldgrab)

struct BurnDriver BurnSpecgoldgrab = {
	"spec_goldgrab", NULL, "spec_spectrum", NULL, "1983",
	"Goldgraber (German) (48K)\0", NULL, "Thoralf Klatt", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgoldgrabRomInfo, SpecgoldgrabRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Goldwood (48K)

static struct BurnRomInfo SpecgoldwoodRomDesc[] = {
	{ "Goldwood (19xx)(Xcellent Software).z80", 0x0a655, 0x48b01638, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgoldwood, Specgoldwood, Spectrum)
STD_ROM_FN(Specgoldwood)

struct BurnDriver BurnSpecgoldwood = {
	"spec_goldwood", NULL, "spec_spectrum", NULL, "19xx",
	"Goldwood (48K)\0", NULL, "Xcellent Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgoldwoodRomInfo, SpecgoldwoodRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Golf (48K)

static struct BurnRomInfo SpecgolfRomDesc[] = {
	{ "Golf (1983)(Virgin Games).z80", 0x079bb, 0x1c443e02, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgolf, Specgolf, Spectrum)
STD_ROM_FN(Specgolf)

struct BurnDriver BurnSpecgolf = {
	"spec_golf", NULL, "spec_spectrum", NULL, "1983",
	"Golf (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgolfRomInfo, SpecgolfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Golf (Spanish) (48K)

static struct BurnRomInfo SpecgolfesRomDesc[] = {
	{ "Golf (19xx)(-)(es).z80", 0x007f8, 0x547af4c0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgolfes, Specgolfes, Spectrum)
STD_ROM_FN(Specgolfes)

struct BurnDriver BurnSpecgolfes = {
	"spec_golfes", NULL, "spec_spectrum", NULL, "19xx",
	"Golf (Spanish) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgolfesRomInfo, SpecgolfesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Golfing World (48K)

static struct BurnRomInfo SpecgolfworlRomDesc[] = {
	{ "Golfing World (1983)(CP Software).z80", 0x05dcf, 0x4acfb336, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgolfworl, Specgolfworl, Spectrum)
STD_ROM_FN(Specgolfworl)

struct BurnDriver BurnSpecgolfworl = {
	"spec_golfworl", NULL, "spec_spectrum", NULL, "1983",
	"Golfing World (48K)\0", NULL, "CP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgolfworlRomInfo, SpecgolfworlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gomoku (German) (48K)

static struct BurnRomInfo SpecgomokudeRomDesc[] = {
	{ "Gomoku (1984)(Scsibrany Software)(de).z80", 0x03cf1, 0xa131eeff, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgomokude, Specgomokude, Spectrum)
STD_ROM_FN(Specgomokude)

struct BurnDriver BurnSpecgomokude = {
	"spec_gomokude", NULL, "spec_spectrum", NULL, "1984",
	"Gomoku (German) (48K)\0", NULL, "Scsibrany Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgomokudeRomInfo, SpecgomokudeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gonzzalezz (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo Specgonzzale_48RomDesc[] = {
	{ "Gonzzalezz (1989)(Opera Soft)(es)(Part 1 of 2).z80", 0x08f73, 0xdaff823a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgonzzale_48, Specgonzzale_48, Spectrum)
STD_ROM_FN(Specgonzzale_48)

struct BurnDriver BurnSpecgonzzale_48 = {
	"spec_gonzzale_48", "spec_gonzzale", "spec_spectrum", NULL, "1989",
	"Gonzzalezz (Spanish) (Part 1 of 2) (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgonzzale_48RomInfo, Specgonzzale_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gonzzalezz (Spanish) (Part 1 of 2) (128K)

static struct BurnRomInfo SpecgonzzaleRomDesc[] = {
	{ "Gonzzalezz (1989)(Opera Soft)(es)(Part 1 of 2)[128K].z80", 0x09210, 0x1f8d4617, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgonzzale, Specgonzzale, Spectrum)
STD_ROM_FN(Specgonzzale)

struct BurnDriver BurnSpecgonzzale = {
	"spec_gonzzale", NULL, "spec_spec128", NULL, "1989",
	"Gonzzalezz (Spanish) (Part 1 of 2) (128K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgonzzaleRomInfo, SpecgonzzaleRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gonzzalezz (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specgonzzale2_48RomDesc[] = {
	{ "Gonzzalezz (1989)(Opera Soft)(es)(Part 2 of 2).z80", 0x09773, 0x135dff81, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgonzzale2_48, Specgonzzale2_48, Spectrum)
STD_ROM_FN(Specgonzzale2_48)

struct BurnDriver BurnSpecgonzzale2_48 = {
	"spec_gonzzale2_48", "spec_gonzzale", "spec_spectrum", NULL, "1989",
	"Gonzzalezz (Spanish) (Part 2 of 2) (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgonzzale2_48RomInfo, Specgonzzale2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gonzzalezz (Spanish) (Part 2 of 2) (128K)

static struct BurnRomInfo Specgonzzale2RomDesc[] = {
	{ "Gonzzalezz (1989)(Opera Soft)(es)(Part 2 of 2)[128K].z80", 0x098a0, 0x3ac997f7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgonzzale2, Specgonzzale2, Spectrum)
STD_ROM_FN(Specgonzzale2)

struct BurnDriver BurnSpecgonzzale2 = {
	"spec_gonzzale2", "spec_gonzzale", "spec_spec128", NULL, "1989",
	"Gonzzalezz (Spanish) (Part 2 of 2) (128K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgonzzale2RomInfo, Specgonzzale2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Goody (Spanish) (48K)

static struct BurnRomInfo SpecgoodyesRomDesc[] = {
	{ "Goody (1987)(Opera Soft)(es).z80", 0x0a641, 0xe73ea04f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgoodyes, Specgoodyes, Spectrum)
STD_ROM_FN(Specgoodyes)

struct BurnDriver BurnSpecgoodyes = {
	"spec_goodyes", NULL, "spec_spectrum", NULL, "1987",
	"Goody (Spanish) (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgoodyesRomInfo, SpecgoodyesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Goolf (48K)

static struct BurnRomInfo SpecgoolfRomDesc[] = {
	{ "Goolf (1984)(Green Fish Software Enterprise).z80", 0x05b1f, 0xc1dce2bf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgoolf, Specgoolf, Spectrum)
STD_ROM_FN(Specgoolf)

struct BurnDriver BurnSpecgoolf = {
	"spec_goolf", NULL, "spec_spectrum", NULL, "1984",
	"Goolf (48K)\0", NULL, "Green Fish Software Enterprise", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgoolfRomInfo, SpecgoolfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Goolf's Exit (48K)

static struct BurnRomInfo SpecgoolexitRomDesc[] = {
	{ "Goolf's Exit (1986)(Green Fish Software Enterprise).z80", 0x07de9, 0x285246d1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgoolexit, Specgoolexit, Spectrum)
STD_ROM_FN(Specgoolexit)

struct BurnDriver BurnSpecgoolexit = {
	"spec_goolexit", NULL, "spec_spectrum", NULL, "1986",
	"Goolf's Exit (48K)\0", NULL, "Green Fish Software Enterprise", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgoolexitRomInfo, SpecgoolexitRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Goolf's Return (48K)

static struct BurnRomInfo SpecgoolretuRomDesc[] = {
	{ "Goolf's Return (1984)(Green Fish Software Enterprise).z80", 0x064e1, 0x0ca492da, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgoolretu, Specgoolretu, Spectrum)
STD_ROM_FN(Specgoolretu)

struct BurnDriver BurnSpecgoolretu = {
	"spec_goolretu", NULL, "spec_spectrum", NULL, "1984",
	"Goolf's Return (48K)\0", NULL, "Green Fish Software Enterprise", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgoolretuRomInfo, SpecgoolretuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Goonies, The (48K)

static struct BurnRomInfo SpecgoontheRomDesc[] = {
	{ "Goonies, The (1986)(U.S. Gold).z80", 0x0a33d, 0x885bb0f6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgoonthe, Specgoonthe, Spectrum)
STD_ROM_FN(Specgoonthe)

struct BurnDriver BurnSpecgoonthe = {
	"spec_goonthe", NULL, "spec_spectrum", NULL, "1986",
	"Goonies, The (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgoontheRomInfo, SpecgoontheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gordello Incident, The - Intro (Part 1 of 2) (48K)

static struct BurnRomInfo SpecgointhinRomDesc[] = {
	{ "Gordello Incident, The - Intro (1989)(Tartan Software)(Part 1 of 2).z80", 0x03f94, 0xd74981f7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgointhin, Specgointhin, Spectrum)
STD_ROM_FN(Specgointhin)

struct BurnDriver BurnSpecgointhin = {
	"spec_gointhin", NULL, "spec_spectrum", NULL, "1989",
	"Gordello Incident, The - Intro (Part 1 of 2) (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgointhinRomInfo, SpecgointhinRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gordello Incident, The - Intro (Part 2 of 2) (48K)

static struct BurnRomInfo Specgointhin2RomDesc[] = {
	{ "Gordello Incident, The - Intro (1989)(Tartan Software)(Part 2 of 2).z80", 0x01b20, 0xd829eb3b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgointhin2, Specgointhin2, Spectrum)
STD_ROM_FN(Specgointhin2)

struct BurnDriver BurnSpecgointhin2 = {
	"spec_gointhin2", "spec_gointhin", "spec_spectrum", NULL, "1989",
	"Gordello Incident, The - Intro (Part 2 of 2) (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgointhin2RomInfo, Specgointhin2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gordello Incident, The (Part 1 of 2) (48K)

static struct BurnRomInfo SpecgointhingRomDesc[] = {
	{ "Gordello Incident, The (1989)(Tartan Software)(Part 1 of 2).z80", 0x0a7e9, 0x8aeba71d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgointhing, Specgointhing, Spectrum)
STD_ROM_FN(Specgointhing)

struct BurnDriver BurnSpecgointhing = {
	"spec_gointhing", NULL, "spec_spectrum", NULL, "1989",
	"Gordello Incident, The (Part 1 of 2) (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgointhingRomInfo, SpecgointhingRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gordello Incident, The (Part 2 of 2) (48K)

static struct BurnRomInfo Specgointhing2RomDesc[] = {
	{ "Gordello Incident, The (1989)(Tartan Software)(Part 2 of 2).z80", 0x0aa38, 0xba0327b0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgointhing2, Specgointhing2, Spectrum)
STD_ROM_FN(Specgointhing2)

struct BurnDriver BurnSpecgointhing2 = {
	"spec_gointhing2", "spec_gointhin", "spec_spectrum", NULL, "1989",
	"Gordello Incident, The (Part 2 of 2) (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgointhing2RomInfo, Specgointhing2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gorgon (48K)

static struct BurnRomInfo SpecgorgonRomDesc[] = {
	{ "Gorgon (1983)(Phipps Associates).z80", 0x067cd, 0x60e5743a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgorgon, Specgorgon, Spectrum)
STD_ROM_FN(Specgorgon)

struct BurnDriver BurnSpecgorgon = {
	"spec_gorgon", NULL, "spec_spectrum", NULL, "1983",
	"Gorgon (48K)\0", NULL, "Phipps Associates", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgorgonRomInfo, SpecgorgonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gotcha (48K)

static struct BurnRomInfo SpecgotchaRomDesc[] = {
	{ "Gotcha (1983)(Blaby Computer Games).z80", 0x06291, 0x6039f6f7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgotcha, Specgotcha, Spectrum)
STD_ROM_FN(Specgotcha)

struct BurnDriver BurnSpecgotcha = {
	"spec_gotcha", NULL, "spec_spectrum", NULL, "1983",
	"Gotcha (48K)\0", NULL, "Blaby Computer Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgotchaRomInfo, SpecgotchaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gothik (48K)

static struct BurnRomInfo SpecgothikRomDesc[] = {
	{ "Gothik (1987)(Firebird Software).z80", 0x093c6, 0x21391a32, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgothik, Specgothik, Spectrum)
STD_ROM_FN(Specgothik)

struct BurnDriver BurnSpecgothik = {
	"spec_gothik", NULL, "spec_spectrum", NULL, "1987",
	"Gothik (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgothikRomInfo, SpecgothikRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// GP Motocross (Spanish) (48K)

static struct BurnRomInfo SpecgpmotocrRomDesc[] = {
	{ "GP Motocross (1985)(Ventamatic)(es).z80", 0x07027, 0xa9ce34d6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgpmotocr, Specgpmotocr, Spectrum)
STD_ROM_FN(Specgpmotocr)

struct BurnDriver BurnSpecgpmotocr = {
	"spec_gpmotocr", NULL, "spec_spectrum", NULL, "1985",
	"GP Motocross (Spanish) (48K)\0", NULL, "Ventamatic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgpmotocrRomInfo, SpecgpmotocrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grabbed by the Ghoulies! (48K)

static struct BurnRomInfo SpecgrabghouRomDesc[] = {
	{ "Grabbed by the Ghoulies! (1993)(FSF Adventures).z80", 0x09234, 0x9593ec9c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrabghou, Specgrabghou, Spectrum)
STD_ROM_FN(Specgrabghou)

struct BurnDriver BurnSpecgrabghou = {
	"spec_grabghou", NULL, "spec_spectrum", NULL, "1993",
	"Grabbed by the Ghoulies! (48K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgrabghouRomInfo, SpecgrabghouRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Graham Gooch's Test Cricket (48K)

static struct BurnRomInfo SpecgrgotecrRomDesc[] = {
	{ "Graham Gooch's Test Cricket (1986)(Audiogenic Software).z80", 0x06586, 0x68eae67f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrgotecr, Specgrgotecr, Spectrum)
STD_ROM_FN(Specgrgotecr)

struct BurnDriver BurnSpecgrgotecr = {
	"spec_grgotecr", NULL, "spec_spectrum", NULL, "1986",
	"Graham Gooch's Test Cricket (48K)\0", NULL, "Audiogenic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgrgotecrRomInfo, SpecgrgotecrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gran Juego de Inteligencia (Spanish) (48K)

static struct BurnRomInfo SpecgrajueinRomDesc[] = {
	{ "Gran Juego de Inteligencia (19xx)(-)(es).z80", 0x01115, 0x75ea76af, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrajuein, Specgrajuein, Spectrum)
STD_ROM_FN(Specgrajuein)

struct BurnDriver BurnSpecgrajuein = {
	"spec_grajuein", NULL, "spec_spectrum", NULL, "19xx",
	"Gran Juego de Inteligencia (Spanish) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgrajueinRomInfo, SpecgrajueinRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grand National (48K)

static struct BurnRomInfo SpecgrannatiRomDesc[] = {
	{ "Grand National (1985)(Elite Systems).z80", 0x07a52, 0xfbb2a4c4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrannati, Specgrannati, Spectrum)
STD_ROM_FN(Specgrannati)

struct BurnDriver BurnSpecgrannati = {
	"spec_grannati", NULL, "spec_spectrum", NULL, "1985",
	"Grand National (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgrannatiRomInfo, SpecgrannatiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grand Prix (48K)

static struct BurnRomInfo SpecgranprixRomDesc[] = {
	{ "Grand Prix (1989)(D&H Games).z80", 0x095d7, 0xf06219fd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgranprix, Specgranprix, Spectrum)
STD_ROM_FN(Specgranprix)

struct BurnDriver BurnSpecgranprix = {
	"spec_granprix", NULL, "spec_spectrum", NULL, "1989",
	"Grand Prix (48K)\0", NULL, "D&H Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgranprixRomInfo, SpecgranprixRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grand Prix Challenge (48K)

static struct BurnRomInfo SpecgraprichRomDesc[] = {
	{ "Grand Prix Challenge (1992)(Challenge Software).z80", 0x09cfa, 0xf434d32f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgraprich, Specgraprich, Spectrum)
STD_ROM_FN(Specgraprich)

struct BurnDriver BurnSpecgraprich = {
	"spec_graprich", NULL, "spec_spectrum", NULL, "1992",
	"Grand Prix Challenge (48K)\0", NULL, "Challenge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgraprichRomInfo, SpecgraprichRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grand Prix Circuit (128K)

static struct BurnRomInfo SpecgrapriciRomDesc[] = {
	{ "Grand Prix Circuit (1990)(Accolade)[128K].z80", 0x0eba3, 0x1203a59d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgraprici, Specgraprici, Spectrum)
STD_ROM_FN(Specgraprici)

struct BurnDriver BurnSpecgraprici = {
	"spec_graprici", NULL, "spec_spec128", NULL, "1990",
	"Grand Prix Circuit (128K)\0", NULL, "Accolade", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgrapriciRomInfo, SpecgrapriciRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grand Prix Driver (48K)

static struct BurnRomInfo SpecgrapridrRomDesc[] = {
	{ "Grand Prix Driver (1983)(Britannia Software).z80", 0x06486, 0x9b46414a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrapridr, Specgrapridr, Spectrum)
STD_ROM_FN(Specgrapridr)

struct BurnDriver BurnSpecgrapridr = {
	"spec_grapridr", NULL, "spec_spectrum", NULL, "1983",
	"Grand Prix Driver (48K)\0", NULL, "Britannia Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgrapridrRomInfo, SpecgrapridrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grand Prix Manager (48K)

static struct BurnRomInfo SpecgraprimaRomDesc[] = {
	{ "Grand Prix Manager (1984)(Silicon Joy).z80", 0x09941, 0x72bddcc2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgraprima, Specgraprima, Spectrum)
STD_ROM_FN(Specgraprima)

struct BurnDriver BurnSpecgraprima = {
	"spec_graprima", NULL, "spec_spectrum", NULL, "1984",
	"Grand Prix Manager (48K)\0", NULL, "Silicon Joy", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgraprimaRomInfo, SpecgraprimaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grand Prix Simulator (48K)

static struct BurnRomInfo SpecgpsimRomDesc[] = {
	{ "Grand Prix Simulator (1987)(Codemasters).z80", 0x0a285, 0x43c8e200, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgpsim, Specgpsim, Spectrum)
STD_ROM_FN(Specgpsim)

struct BurnDriver BurnSpecgpsim = {
	"spec_gpsim", NULL, "spec_spectrum", NULL, "1987",
	"Grand Prix Simulator (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgpsimRomInfo, SpecgpsimRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grand Prix Simulator 2 (48K)

static struct BurnRomInfo Specgpsim2_48RomDesc[] = {
	{ "Grand Prix Simulator 2 (1989)(Codemasters).z80", 0x0ab74, 0x41fa2e73, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgpsim2_48, Specgpsim2_48, Spectrum)
STD_ROM_FN(Specgpsim2_48)

struct BurnDriver BurnSpecgpsim2_48 = {
	"spec_gpsim2_48", "spec_gpsim2", "spec_spectrum", NULL, "1989",
	"Grand Prix Simulator 2 (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgpsim2_48RomInfo, Specgpsim2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grand Prix Simulator 2 (128K)

static struct BurnRomInfo Specgpsim2RomDesc[] = {
	{ "Grand Prix Simulator 2 (1989)(Codemasters)[128K].z80", 0x0c093, 0xa786116a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgpsim2, Specgpsim2, Spectrum)
STD_ROM_FN(Specgpsim2)

struct BurnDriver BurnSpecgpsim2 = {
	"spec_gpsim2", NULL, "spec_spec128", NULL, "1989",
	"Grand Prix Simulator 2 (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgpsim2RomInfo, Specgpsim2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grand Prix Tennis (48K)

static struct BurnRomInfo SpecgrapriteRomDesc[] = {
	{ "Grand Prix Tennis (1988)(Mastertronic Added Dimension).z80", 0x069f1, 0x7f34472f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgraprite, Specgraprite, Spectrum)
STD_ROM_FN(Specgraprite)

struct BurnDriver BurnSpecgraprite = {
	"spec_graprite", NULL, "spec_spectrum", NULL, "1988",
	"Grand Prix Tennis (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgrapriteRomInfo, SpecgrapriteRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grange Hill (48K)

static struct BurnRomInfo Specgranhill_48RomDesc[] = {
	{ "Grange Hill (1987)(Argus Press Software).z80", 0x09ed8, 0xf9a7bed3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgranhill_48, Specgranhill_48, Spectrum)
STD_ROM_FN(Specgranhill_48)

struct BurnDriver BurnSpecgranhill_48 = {
	"spec_granhill_48", "spec_granhill", "spec_spectrum", NULL, "1987",
	"Grange Hill (48K)\0", NULL, "Argus Press Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgranhill_48RomInfo, Specgranhill_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grange Hill (128K)

static struct BurnRomInfo SpecgranhillRomDesc[] = {
	{ "Grange Hill (1987)(Argus Press Software)[128K].z80", 0x0ec5b, 0x06506a7c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgranhill, Specgranhill, Spectrum)
STD_ROM_FN(Specgranhill)

struct BurnDriver BurnSpecgranhill = {
	"spec_granhill", NULL, "spec_spec128", NULL, "1987",
	"Grange Hill (128K)\0", NULL, "Argus Press Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgranhillRomInfo, SpecgranhillRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Great Britain Limited (48K)

static struct BurnRomInfo SpecgrebriliRomDesc[] = {
	{ "Great Britain Limited (1982)(Hessel Software).z80", 0x05e9d, 0x166501b5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrebrili, Specgrebrili, Spectrum)
STD_ROM_FN(Specgrebrili)

struct BurnDriver BurnSpecgrebrili = {
	"spec_grebrili", NULL, "spec_spectrum", NULL, "1982",
	"Great Britain Limited (48K)\0", NULL, "Hessel Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgrebriliRomInfo, SpecgrebriliRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Great Escape, The (48K)

static struct BurnRomInfo SpecgreatescRomDesc[] = {
	{ "Great Escape, The (1986)(Ocean).z80", 0x0aada, 0x7af1372a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgreatesc, Specgreatesc, Spectrum)
STD_ROM_FN(Specgreatesc)

struct BurnDriver BurnSpecgreatesc = {
	"spec_greatesc", NULL, "spec_spectrum", NULL, "1986",
	"Great Escape, The (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgreatescRomInfo, SpecgreatescRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Great Fire of London, The (Rabbit Software) (48K)

static struct BurnRomInfo SpecgrtfrlrRomDesc[] = {
	{ "Great Fire of London, The (1985)(Rabbit Software).z80", 0x09543, 0x5e7f7a60, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrtfrlr, Specgrtfrlr, Spectrum)
STD_ROM_FN(Specgrtfrlr)

struct BurnDriver BurnSpecgrtfrlr = {
	"spec_grtfrlr", NULL, "spec_spectrum", NULL, "1985",
	"Great Fire of London, The (Rabbit Software) (48K)\0", NULL, "Rabbit Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgrtfrlrRomInfo, SpecgrtfrlrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Great Fire of London, The (Vaxalon) (48K)

static struct BurnRomInfo SpecgrtfrlvRomDesc[] = {
	{ "Great Fire of London, The (1995)(Vaxalon).z80", 0x026b5, 0xd27241dd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrtfrlv, Specgrtfrlv, Spectrum)
STD_ROM_FN(Specgrtfrlv)

struct BurnDriver BurnSpecgrtfrlv = {
	"spec_grtfrlv", NULL, "spec_spectrum", NULL, "1995",
	"Great Fire of London, The (Vaxalon) (48K)\0", NULL, "Vaxalon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgrtfrlvRomInfo, SpecgrtfrlvRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Great Gurianos (48K)

static struct BurnRomInfo SpecgreaguriRomDesc[] = {
	{ "Great Gurianos (1987)(Encore).z80", 0x098b1, 0x2a96de1d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgreaguri, Specgreaguri, Spectrum)
STD_ROM_FN(Specgreaguri)

struct BurnDriver BurnSpecgreaguri = {
	"spec_greaguri", NULL, "spec_spectrum", NULL, "1987",
	"Great Gurianos (48K)\0", NULL, "Encore", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgreaguriRomInfo, SpecgreaguriRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Great Space Race, The (48K)

static struct BurnRomInfo SpecgrtspdrcRomDesc[] = {
	{ "Great Space Race, The (1984)(Legend).z80", 0x083a8, 0xa5825c23, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrtspdrc, Specgrtspdrc, Spectrum)
STD_ROM_FN(Specgrtspdrc)

struct BurnDriver BurnSpecgrtspdrc = {
	"spec_grtspdrc", NULL, "spec_spectrum", NULL, "1984",
	"Great Space Race, The (48K)\0", NULL, "Legend", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgrtspdrcRomInfo, SpecgrtspdrcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grebit (48K)

static struct BurnRomInfo SpecgrebitRomDesc[] = {
	{ "Grebit (1992)(Alternative Software).z80", 0x03d9a, 0x9f8097ce, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrebit, Specgrebit, Spectrum)
STD_ROM_FN(Specgrebit)

struct BurnDriver BurnSpecgrebit = {
	"spec_grebit", NULL, "spec_spectrum", NULL, "1992",
	"Grebit (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgrebitRomInfo, SpecgrebitRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Greedy Gulch (48K)

static struct BurnRomInfo SpecgreegulcRomDesc[] = {
	{ "Greedy Gulch (1983)(Phipps Associates).z80", 0x07c02, 0x041666be, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgreegulc, Specgreegulc, Spectrum)
STD_ROM_FN(Specgreegulc)

struct BurnDriver BurnSpecgreegulc = {
	"spec_greegulc", NULL, "spec_spectrum", NULL, "1983",
	"Greedy Gulch (48K)\0", NULL, "Phipps Associates", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgreegulcRomInfo, SpecgreegulcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Green Beret (48K)

static struct BurnRomInfo Specgberet_48RomDesc[] = {
	{ "Green Beret (1986)(Imagine Software).z80", 0x0ad53, 0x55f36544, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgberet_48, Specgberet_48, Spectrum)
STD_ROM_FN(Specgberet_48)

struct BurnDriver BurnSpecgberet_48 = {
	"spec_gberet_48", "spec_gberet", "spec_spectrum", NULL, "1986",
	"Green Beret (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgberet_48RomInfo, Specgberet_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Green Beret (128K)

static struct BurnRomInfo SpecgberetRomDesc[] = {
	{ "Green Beret (1986)(Imagine Software)[128K].z80", 0x0b5b3, 0x1b61d4ab, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgberet, Specgberet, Spectrum)
STD_ROM_FN(Specgberet)

struct BurnDriver BurnSpecgberet = {
	"spec_gberet", NULL, "spec_spec128", NULL, "1986",
	"Green Beret (128K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgberetRomInfo, SpecgberetRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Green Death, The (48K)

static struct BurnRomInfo SpecgredeathRomDesc[] = {
	{ "Green Death, The (1988)(Casventures).z80", 0x09628, 0x05464adc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgredeath, Specgredeath, Spectrum)
STD_ROM_FN(Specgredeath)

struct BurnDriver BurnSpecgredeath = {
	"spec_gredeath", NULL, "spec_spectrum", NULL, "1988",
	"Green Death, The (48K)\0", NULL, "Casventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgredeathRomInfo, SpecgredeathRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Green Door (48K)

static struct BurnRomInfo SpecgreedoorRomDesc[] = {
	{ "Green Door (1988)(Tartan Software).z80", 0x0a217, 0xbbf1af2c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgreedoor, Specgreedoor, Spectrum)
STD_ROM_FN(Specgreedoor)

struct BurnDriver BurnSpecgreedoor = {
	"spec_greedoor", NULL, "spec_spectrum", NULL, "1988",
	"Green Door (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgreedoorRomInfo, SpecgreedoorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Green Sonja (48K)

static struct BurnRomInfo SpecgreesonjRomDesc[] = {
	{ "Green Sonja (1991)(Psychaedelic Hedgehog Software).z80", 0x066e5, 0x988095b0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgreesonj, Specgreesonj, Spectrum)
STD_ROM_FN(Specgreesonj)

struct BurnDriver BurnSpecgreesonj = {
	"spec_greesonj", NULL, "spec_spectrum", NULL, "1991",
	"Green Sonja (48K)\0", NULL, "Psychaedelic Hedgehog Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgreesonjRomInfo, SpecgreesonjRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gregory Loses his Clock (48K)

static struct BurnRomInfo SpecgrelosclRomDesc[] = {
	{ "Gregory Loses his Clock (1989)(Mastertronic Plus).z80", 0x097a3, 0x66facd00, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgreloscl, Specgreloscl, Spectrum)
STD_ROM_FN(Specgreloscl)

struct BurnDriver BurnSpecgreloscl = {
	"spec_greloscl", NULL, "spec_spectrum", NULL, "1989",
	"Gregory Loses his Clock (48K)\0", NULL, "Mastertronic Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgrelosclRomInfo, SpecgrelosclRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grell and Falla (1987) (48K)

static struct BurnRomInfo Specgrelfall_48RomDesc[] = {
	{ "Grell and Falla (1987)(Codemasters).z80", 0x0ac2d, 0x8d864576, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrelfall_48, Specgrelfall_48, Spectrum)
STD_ROM_FN(Specgrelfall_48)

struct BurnDriver BurnSpecgrelfall_48 = {
	"spec_grelfall_48", "spec_grelfall", "spec_spectrum", NULL, "1987",
	"Grell and Falla (1987) (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgrelfall_48RomInfo, Specgrelfall_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grell and Falla (1987) (128K)

static struct BurnRomInfo SpecgrelfallRomDesc[] = {
	{ "Grell and Falla (1987)(Codemasters)[128K].z80", 0x1865e, 0xf0fdc765, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrelfall, Specgrelfall, Spectrum)
STD_ROM_FN(Specgrelfall)

struct BurnDriver BurnSpecgrelfall = {
	"spec_grelfall", NULL, "spec_spec128", NULL, "1987",
	"Grell and Falla (1987) (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgrelfallRomInfo, SpecgrelfallRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grell and Falla (1992) (48K)

static struct BurnRomInfo Specgrelfall2RomDesc[] = {
	{ "Grell and Falla (1992)(Codemasters).z80", 0x0ac2e, 0x7e19ef34, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrelfall2, Specgrelfall2, Spectrum)
STD_ROM_FN(Specgrelfall2)

struct BurnDriver BurnSpecgrelfall2 = {
	"spec_grelfall2", "spec_grelfall", "spec_spectrum", NULL, "1992",
	"Grell and Falla (1992) (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgrelfall2RomInfo, Specgrelfall2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gremlins - The Adventure (48K)

static struct BurnRomInfo Specgrmlnadv_48RomDesc[] = {
	{ "Gremlins - The Adventure (1985)(Adventure International).z80", 0x0b114, 0x7049389f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrmlnadv_48, Specgrmlnadv_48, Spectrum)
STD_ROM_FN(Specgrmlnadv_48)

struct BurnDriver BurnSpecgrmlnadv_48 = {
	"spec_grmlnadv_48", "spec_grmlnadv", "spec_spectrum", NULL, "1985",
	"Gremlins - The Adventure (48K)\0", NULL, "Adventure International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgrmlnadv_48RomInfo, Specgrmlnadv_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gremlins - The Adventure (Spanish) (48K)

static struct BurnRomInfo SpecgrmlnadvRomDesc[] = {
	{ "Gremlins - The Adventure (1985)(Erbe Software)(es)[re-release].z80", 0x09ece, 0x128fed87, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrmlnadv, Specgrmlnadv, Spectrum)
STD_ROM_FN(Specgrmlnadv)

struct BurnDriver BurnSpecgrmlnadv = {
	"spec_grmlnadv", NULL, "spec_spectrum", NULL, "1985",
	"Gremlins - The Adventure (Spanish) (48K)\0", NULL, "Erbe Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgrmlnadvRomInfo, SpecgrmlnadvRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gremlins (48K)

static struct BurnRomInfo SpecgremlinsRomDesc[] = {
	{ "Gremlins (1984)(Thor Computer Software)[speech].z80", 0x039d0, 0x755dee9d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgremlins, Specgremlins, Spectrum)
STD_ROM_FN(Specgremlins)

struct BurnDriver BurnSpecgremlins = {
	"spec_gremlins", NULL, "spec_spectrum", NULL, "1984",
	"Gremlins (48K)\0", NULL, "Thor Computer Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgremlinsRomInfo, SpecgremlinsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Greyfell (48K)

static struct BurnRomInfo SpecgreyfellRomDesc[] = {
	{ "Greyfell (1987)(Starlight Software).z80", 0x0a892, 0xcfbc6f88, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgreyfell, Specgreyfell, Spectrum)
STD_ROM_FN(Specgreyfell)

struct BurnDriver BurnSpecgreyfell = {
	"spec_greyfell", NULL, "spec_spectrum", NULL, "1987",
	"Greyfell (48K)\0", NULL, "Starlight Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgreyfellRomInfo, SpecgreyfellRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gricko (sr) (48K)

static struct BurnRomInfo SpecgrickosrRomDesc[] = {
	{ "Gricko (1982)(R&R Software)(sr).z80", 0x029ad, 0x64b77bf6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrickosr, Specgrickosr, Spectrum)
STD_ROM_FN(Specgrickosr)

struct BurnDriver BurnSpecgrickosr = {
	"spec_grickosr", NULL, "spec_spectrum", NULL, "1982",
	"Gricko (sr) (48K)\0", NULL, "R&R Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgrickosrRomInfo, SpecgrickosrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grid Iron 2 (48K)

static struct BurnRomInfo Specgridirn2RomDesc[] = {
	{ "Grid Iron 2 (1989)(Alternative Software).z80", 0x08413, 0xce1b62c4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgridirn2, Specgridirn2, Spectrum)
STD_ROM_FN(Specgridirn2)

struct BurnDriver BurnSpecgridirn2 = {
	"spec_gridirn2", NULL, "spec_spectrum", NULL, "1989",
	"Grid Iron 2 (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgridirn2RomInfo, Specgridirn2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grid Patrol (48K)

static struct BurnRomInfo SpecgridpatrRomDesc[] = {
	{ "Grid Patrol (1984)(MC Lothlorien).z80", 0x02f03, 0x22542faf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgridpatr, Specgridpatr, Spectrum)
STD_ROM_FN(Specgridpatr)

struct BurnDriver BurnSpecgridpatr = {
	"spec_gridpatr", NULL, "spec_spectrum", NULL, "1984",
	"Grid Patrol (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgridpatrRomInfo, SpecgridpatrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grid Quest (48K)

static struct BurnRomInfo SpecgridquesRomDesc[] = {
	{ "Grid Quest (1984)(Voyager Software).z80", 0x01cca, 0x13107f16, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgridques, Specgridques, Spectrum)
STD_ROM_FN(Specgridques)

struct BurnDriver BurnSpecgridques = {
	"spec_gridques", NULL, "spec_spectrum", NULL, "1984",
	"Grid Quest (48K)\0", NULL, "Voyager Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgridquesRomInfo, SpecgridquesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grid Run (48K)

static struct BurnRomInfo SpecgridrunRomDesc[] = {
	{ "Grid Run (1983)(Arcade Software).z80", 0x04d6c, 0x72479046, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgridrun, Specgridrun, Spectrum)
STD_ROM_FN(Specgridrun)

struct BurnDriver BurnSpecgridrun = {
	"spec_gridrun", NULL, "spec_spectrum", NULL, "1983",
	"Grid Run (48K)\0", NULL, "Arcade Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgridrunRomInfo, SpecgridrunRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grid Trap (48K)

static struct BurnRomInfo SpecgridtrapRomDesc[] = {
	{ "Grid Trap (1986)(LiveWire Software).z80", 0x07630, 0x11615050, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgridtrap, Specgridtrap, Spectrum)
STD_ROM_FN(Specgridtrap)

struct BurnDriver BurnSpecgridtrap = {
	"spec_gridtrap", NULL, "spec_spectrum", NULL, "1986",
	"Grid Trap (48K)\0", NULL, "LiveWire Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgridtrapRomInfo, SpecgridtrapRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gridrunner 2 - Matrix (48K)

static struct BurnRomInfo Specgridrun2RomDesc[] = {
	{ "Gridrunner 2 - Matrix (1984)(Salamander Software).z80", 0x03697, 0x7669e699, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgridrun2, Specgridrun2, Spectrum)
STD_ROM_FN(Specgridrun2)

struct BurnDriver BurnSpecgridrun2 = {
	"spec_gridrun2", NULL, "spec_spectrum", NULL, "1984",
	"Gridrunner 2 - Matrix (48K)\0", NULL, "Salamander Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgridrun2RomInfo, Specgridrun2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grosse Draisinenrennen, Das (German) (48K)

static struct BurnRomInfo SpecgrodradaRomDesc[] = {
	{ "Grosse Draisinenrennen, Das (19xx)(Paulin)(de).z80", 0x02505, 0x81180b6c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrodrada, Specgrodrada, Spectrum)
STD_ROM_FN(Specgrodrada)

struct BurnDriver BurnSpecgrodrada = {
	"spec_grodrada", NULL, "spec_spectrum", NULL, "19xx",
	"Grosse Draisinenrennen, Das (German) (48K)\0", NULL, "Paulin", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgrodradaRomInfo, SpecgrodradaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Groucho (48K)

static struct BurnRomInfo SpecgrouchoRomDesc[] = {
	{ "Groucho (1983)(Automata UK).z80", 0x0abb9, 0x3f4299de, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgroucho, Specgroucho, Spectrum)
STD_ROM_FN(Specgroucho)

struct BurnDriver BurnSpecgroucho = {
	"spec_groucho", NULL, "spec_spectrum", NULL, "1983",
	"Groucho (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgrouchoRomInfo, SpecgrouchoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ground Strike (48K)

static struct BurnRomInfo SpecgroustriRomDesc[] = {
	{ "Ground Strike (1997)(CSSCGC).z80", 0x00aee, 0x0897d362, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgroustri, Specgroustri, Spectrum)
STD_ROM_FN(Specgroustri)

struct BurnDriver BurnSpecgroustri = {
	"spec_groustri", NULL, "spec_spectrum", NULL, "1997",
	"Ground Strike (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgroustriRomInfo, SpecgroustriRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Growing Pains of Adrian Mole, The (Part 1 of 4) (48K)

static struct BurnRomInfo Specgrowpam_48RomDesc[] = {
	{ "Growing Pains of Adrian Mole, The (1987)(Virgin Games)(Part 1 of 4).z80", 0x09ac8, 0x7724f5bb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrowpam_48, Specgrowpam_48, Spectrum)
STD_ROM_FN(Specgrowpam_48)

struct BurnDriver BurnSpecgrowpam_48 = {
	"spec_growpam_48", "spec_growpam", "spec_spectrum", NULL, "1987",
	"Growing Pains of Adrian Mole, The (Part 1 of 4) (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgrowpam_48RomInfo, Specgrowpam_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Growing Pains of Adrian Mole, The (Part 1 of 4) (128K)

static struct BurnRomInfo SpecgrowpamRomDesc[] = {
	{ "Growing Pains of Adrian Mole, The (1987)(Virgin Games)(Part 1 of 4)[128K].z80", 0x0b0d0, 0x9709325a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrowpam, Specgrowpam, Spectrum)
STD_ROM_FN(Specgrowpam)

struct BurnDriver BurnSpecgrowpam = {
	"spec_growpam", NULL, "spec_spec128", NULL, "1987",
	"Growing Pains of Adrian Mole, The (Part 1 of 4) (128K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgrowpamRomInfo, SpecgrowpamRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Growing Pains of Adrian Mole, The (Part 2 of 4) (48K)

static struct BurnRomInfo Specgrowpam2_48RomDesc[] = {
	{ "Growing Pains of Adrian Mole, The (1987)(Virgin Games)(Part 2 of 4).z80", 0x09e48, 0x14a5dff1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrowpam2_48, Specgrowpam2_48, Spectrum)
STD_ROM_FN(Specgrowpam2_48)

struct BurnDriver BurnSpecgrowpam2_48 = {
	"spec_growpam2_48", "spec_growpam", "spec_spectrum", NULL, "1987",
	"Growing Pains of Adrian Mole, The (Part 2 of 4) (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgrowpam2_48RomInfo, Specgrowpam2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Growing Pains of Adrian Mole, The (Part 3 of 4) (48K)

static struct BurnRomInfo Specgrowpam3_48RomDesc[] = {
	{ "Growing Pains of Adrian Mole, The (1987)(Virgin Games)(Part 3 of 4).z80", 0x09ea7, 0x535748f6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrowpam3_48, Specgrowpam3_48, Spectrum)
STD_ROM_FN(Specgrowpam3_48)

struct BurnDriver BurnSpecgrowpam3_48 = {
	"spec_growpam3_48", "spec_growpam", "spec_spectrum", NULL, "1987",
	"Growing Pains of Adrian Mole, The (Part 3 of 4) (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgrowpam3_48RomInfo, Specgrowpam3_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Growing Pains of Adrian Mole, The (Part 4 of 4) (48K)

static struct BurnRomInfo Specgrowpam4_48RomDesc[] = {
	{ "Growing Pains of Adrian Mole, The (1987)(Virgin Games)(Part 4 of 4).z80", 0x09cba, 0x844784d1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrowpam4_48, Specgrowpam4_48, Spectrum)
STD_ROM_FN(Specgrowpam4_48)

struct BurnDriver BurnSpecgrowpam4_48 = {
	"spec_growpam4_48", "spec_growpam", "spec_spectrum", NULL, "1987",
	"Growing Pains of Adrian Mole, The (Part 4 of 4) (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgrowpam4_48RomInfo, Specgrowpam4_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grue-Knapped! (48K)

static struct BurnRomInfo SpecgrueknapRomDesc[] = {
	{ "Grue-Knapped! (1990)(FSF Adventures).z80", 0x09465, 0xf0291698, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrueknap, Specgrueknap, Spectrum)
STD_ROM_FN(Specgrueknap)

struct BurnDriver BurnSpecgrueknap = {
	"spec_grueknap", NULL, "spec_spectrum", NULL, "1990",
	"Grue-Knapped! (48K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgrueknapRomInfo, SpecgrueknapRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Grumpy Gumphrey Supersleuth (48K)

static struct BurnRomInfo SpecgrugumsuRomDesc[] = {
	{ "Grumpy Gumphrey Supersleuth (1985)(Gremlin Graphics Software).z80", 0x0a760, 0x1aaa163a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrugumsu, Specgrugumsu, Spectrum)
STD_ROM_FN(Specgrugumsu)

struct BurnDriver BurnSpecgrugumsu = {
	"spec_grugumsu", NULL, "spec_spectrum", NULL, "1985",
	"Grumpy Gumphrey Supersleuth (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgrugumsuRomInfo, SpecgrugumsuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gruta del Oraculo, La (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecgrutoracRomDesc[] = {
	{ "Gruta del Oraculo, La (1990)(Javi)(es)(Part 1 of 2).z80", 0x0a087, 0xa588ede9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrutorac, Specgrutorac, Spectrum)
STD_ROM_FN(Specgrutorac)

struct BurnDriver BurnSpecgrutorac = {
	"spec_grutorac", NULL, "spec_spectrum", NULL, "1990",
	"Gruta del Oraculo, La (Spanish) (Part 1 of 2) (48K)\0", NULL, "Javi", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgrutoracRomInfo, SpecgrutoracRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gruta del Oraculo, La (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specgrutorac2RomDesc[] = {
	{ "Gruta del Oraculo, La (1990)(Javi)(es)(Part 2 of 2).z80", 0x0a10d, 0x685f43d3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgrutorac2, Specgrutorac2, Spectrum)
STD_ROM_FN(Specgrutorac2)

struct BurnDriver BurnSpecgrutorac2 = {
	"spec_grutorac2", "spec_grutorac", "spec_spectrum", NULL, "1990",
	"Gruta del Oraculo, La (Spanish) (Part 2 of 2) (48K)\0", NULL, "Javi", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgrutorac2RomInfo, Specgrutorac2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gryzor (48K)

static struct BurnRomInfo Specgryzor_48RomDesc[] = {
	{ "Gryzor (1987)(Ocean).z80", 0x08fb8, 0x8024e81b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgryzor_48, Specgryzor_48, Spectrum)
STD_ROM_FN(Specgryzor_48)

struct BurnDriver BurnSpecgryzor_48 = {
	"spec_gryzor_48", "spec_gryzor", "spec_spectrum", NULL, "1987",
	"Gryzor (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgryzor_48RomInfo, Specgryzor_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gryzor (128K)

static struct BurnRomInfo SpecgryzorRomDesc[] = {
	{ "Gryzor (1987)(Ocean)[128K].z80", 0x19b7d, 0x1c8c9d01, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgryzor, Specgryzor, Spectrum)
STD_ROM_FN(Specgryzor)

struct BurnDriver BurnSpecgryzor = {
	"spec_gryzor", NULL, "spec_spec128", NULL, "1987",
	"Gryzor (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgryzorRomInfo, SpecgryzorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Guadalcanal (Part 1 of 3) (48K)

static struct BurnRomInfo SpecguadalcRomDesc[] = {
	{ "Guadalcanal (1987)(Activision)(Part 1 of 3).z80", 0x07f09, 0x380646b3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specguadalc, Specguadalc, Spectrum)
STD_ROM_FN(Specguadalc)

struct BurnDriver BurnSpecguadalc = {
	"spec_guadalc", NULL, "spec_spectrum", NULL, "1987",
	"Guadalcanal (Part 1 of 3) (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecguadalcRomInfo, SpecguadalcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Guadalcanal (Part 2 of 3) (48K)

static struct BurnRomInfo Specguadalc2RomDesc[] = {
	{ "Guadalcanal (1987)(Activision)(Part 2 of 3).z80", 0x07f81, 0xf9dcc7ad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specguadalc2, Specguadalc2, Spectrum)
STD_ROM_FN(Specguadalc2)

struct BurnDriver BurnSpecguadalc2 = {
	"spec_guadalc2", "spec_guadalc", "spec_spectrum", NULL, "1987",
	"Guadalcanal (Part 2 of 3) (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specguadalc2RomInfo, Specguadalc2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Guadalcanal (Part 3 of 3) (48K)

static struct BurnRomInfo Specguadalc3RomDesc[] = {
	{ "Guadalcanal (1987)(Activision)(Part 3 of 3).z80", 0x080ba, 0x1d9fc466, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specguadalc3, Specguadalc3, Spectrum)
STD_ROM_FN(Specguadalc3)

struct BurnDriver BurnSpecguadalc3 = {
	"spec_guadalc3", "spec_guadalc", "spec_spectrum", NULL, "1987",
	"Guadalcanal (Part 3 of 3) (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specguadalc3RomInfo, Specguadalc3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Guardian Angel, The (48K)

static struct BurnRomInfo SpecgardanglRomDesc[] = {
	{ "Guardian Angel, The (1990)(Dinamic Software)[aka Freddy Hardest in South Manhattan].z80", 0x09c85, 0x54a38d3a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgardangl, Specgardangl, Spectrum)
STD_ROM_FN(Specgardangl)

struct BurnDriver BurnSpecgardangl = {
	"spec_gardangl", NULL, "spec_spectrum", NULL, "1990",
	"Guardian Angel, The (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgardanglRomInfo, SpecgardanglRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Guardian II - Revenge of the Mutants (48K)

static struct BurnRomInfo Specguardn2RomDesc[] = {
	{ "Guardian II - Revenge of the Mutants (1990)(Hi-Tec Software).z80", 0x05273, 0x104e91b5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specguardn2, Specguardn2, Spectrum)
STD_ROM_FN(Specguardn2)

struct BurnDriver BurnSpecguardn2 = {
	"spec_guardn2", NULL, "spec_spectrum", NULL, "1990",
	"Guardian II - Revenge of the Mutants (48K)\0", NULL, "Hi-Tec Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specguardn2RomInfo, Specguardn2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Guardian, The (PSS) (48K)

static struct BurnRomInfo SpecguradnpsRomDesc[] = {
	{ "Guardian, The (1983)(PSS).z80", 0x03029, 0x19618966, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specguradnps, Specguradnps, Spectrum)
STD_ROM_FN(Specguradnps)

struct BurnDriver BurnSpecguradnps = {
	"spec_guradnps", NULL, "spec_spectrum", NULL, "1983",
	"Guardian, The (PSS) (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecguradnpsRomInfo, SpecguradnpsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Guardian, The (The Guild) (48K)

static struct BurnRomInfo SpecguardntgRomDesc[] = {
	{ "Guardian, The (19xx)(The Guild).z80", 0x09982, 0x7c3e45f6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specguardntg, Specguardntg, Spectrum)
STD_ROM_FN(Specguardntg)

struct BurnDriver BurnSpecguardntg = {
	"spec_guardntg", NULL, "spec_spectrum", NULL, "19xx",
	"Guardian, The (The Guild) (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecguardntgRomInfo, SpecguardntgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Guerra de las Vajillas, La (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecgvajillRomDesc[] = {
	{ "Guerra de las Vajillas, La (1988)(Dinamic Software)(es)(Part 1 of 2).z80", 0x0b187, 0xf67fce36, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgvajill, Specgvajill, Spectrum)
STD_ROM_FN(Specgvajill)

struct BurnDriver BurnSpecgvajill = {
	"spec_gvajill", NULL, "spec_spectrum", NULL, "1988",
	"Guerra de las Vajillas, La (Spanish) (Part 1 of 2) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgvajillRomInfo, SpecgvajillRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Guerra de las Vajillas, La (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specgvajill2RomDesc[] = {
	{ "Guerra de las Vajillas, La (1988)(Dinamic Software)(es)(Part 2 of 2).z80", 0x0b19b, 0x5ac4c4da, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgvajill2, Specgvajill2, Spectrum)
STD_ROM_FN(Specgvajill2)

struct BurnDriver BurnSpecgvajill2 = {
	"spec_gvajill2", "spec_gvajill", "spec_spectrum", NULL, "1988",
	"Guerra de las Vajillas, La (Spanish) (Part 2 of 2) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgvajill2RomInfo, Specgvajill2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Guerrilla War (128K)

static struct BurnRomInfo SpecguerwarRomDesc[] = {
	{ "Guerrilla War (1988)(Imagine Software)[128K].z80", 0x16388, 0xaf3aabbe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specguerwar, Specguerwar, Spectrum)
STD_ROM_FN(Specguerwar)

struct BurnDriver BurnSpecguerwar = {
	"spec_guerwar", NULL, "spec_spec128", NULL, "1988",
	"Guerrilla War (128K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecguerwarRomInfo, SpecguerwarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Guess the Number (48K)

static struct BurnRomInfo SpecguesnumbRomDesc[] = {
	{ "Guess the Number (1995)(Vaxalon).z80", 0x00c0d, 0xd1d99cfb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specguesnumb, Specguesnumb, Spectrum)
STD_ROM_FN(Specguesnumb)

struct BurnDriver BurnSpecguesnumb = {
	"spec_guesnumb", NULL, "spec_spectrum", NULL, "1995",
	"Guess the Number (48K)\0", NULL, "Vaxalon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecguesnumbRomInfo, SpecguesnumbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Guido (48K)

static struct BurnRomInfo SpecguidoRomDesc[] = {
	{ "Guido (1984)(Blaby Computer Games).z80", 0x06347, 0xe88e8a95, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specguido, Specguido, Spectrum)
STD_ROM_FN(Specguido)

struct BurnDriver BurnSpecguido = {
	"spec_guido", NULL, "spec_spectrum", NULL, "1984",
	"Guido (48K)\0", NULL, "Blaby Computer Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecguidoRomInfo, SpecguidoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gunboat (48K)

static struct BurnRomInfo SpecgunboatRomDesc[] = {
	{ "Gunboat (1987)(Piranha).z80", 0x09edf, 0x92cd2b43, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgunboat, Specgunboat, Spectrum)
STD_ROM_FN(Specgunboat)

struct BurnDriver BurnSpecgunboat = {
	"spec_gunboat", NULL, "spec_spectrum", NULL, "1987",
	"Gunboat (48K)\0", NULL, "Piranha", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgunboatRomInfo, SpecgunboatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gunfright (48K)

static struct BurnRomInfo SpecgunfrighRomDesc[] = {
	{ "Gunfright (1985)(Ultimate Play The Game).z80", 0x08945, 0xc1252b61, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgunfrigh, Specgunfrigh, Spectrum)
STD_ROM_FN(Specgunfrigh)

struct BurnDriver BurnSpecgunfrigh = {
	"spec_gunfrigh", NULL, "spec_spectrum", NULL, "1985",
	"Gunfright (48K)\0", NULL, "Ultimate Play The Game", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgunfrighRomInfo, SpecgunfrighRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gunlaw (48K)

static struct BurnRomInfo SpecgunlawRomDesc[] = {
	{ "Gunlaw (1983)(Vortex Software).z80", 0x0528b, 0x145ba34d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgunlaw, Specgunlaw, Spectrum)
STD_ROM_FN(Specgunlaw)

struct BurnDriver BurnSpecgunlaw = {
	"spec_gunlaw", NULL, "spec_spectrum", NULL, "1983",
	"Gunlaw (48K)\0", NULL, "Vortex Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgunlawRomInfo, SpecgunlawRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gunpowder, Treason and Plot (128K)

static struct BurnRomInfo SpecguntreplRomDesc[] = {
	{ "Gunpowder, Treason and Plot (1988)(Redwood Designs)[t][128K].z80", 0x0abb7, 0x81098b86, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specguntrepl, Specguntrepl, Spectrum)
STD_ROM_FN(Specguntrepl)

struct BurnDriver BurnSpecguntrepl = {
	"spec_guntrepl", NULL, "spec_spec128", NULL, "1988",
	"Gunpowder, Treason and Plot (128K)\0", NULL, "Redwood Designs", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecguntreplRomInfo, SpecguntreplRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gunrunner (48K)

static struct BurnRomInfo SpecgunrunneRomDesc[] = {
	{ "Gunrunner (1987)(Hewson Consultants).z80", 0x0a144, 0xad14b26d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgunrunne, Specgunrunne, Spectrum)
STD_ROM_FN(Specgunrunne)

struct BurnDriver BurnSpecgunrunne = {
	"spec_gunrunne", NULL, "spec_spectrum", NULL, "1987",
	"Gunrunner (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgunrunneRomInfo, SpecgunrunneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gunship (48K)

static struct BurnRomInfo Specgunship_48RomDesc[] = {
	{ "Gunship (1987)(Microprose Software).z80", 0x098b9, 0xd95d453a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgunship_48, Specgunship_48, Spectrum)
STD_ROM_FN(Specgunship_48)

struct BurnDriver BurnSpecgunship_48 = {
	"spec_gunship_48", "spec_gunship", "spec_spectrum", NULL, "1987",
	"Gunship (48K)\0", NULL, "Microprose Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgunship_48RomInfo, Specgunship_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gunship (128K)

static struct BurnRomInfo SpecgunshipRomDesc[] = {
	{ "Gunship (1987)(Microprose Software)[128K].z80", 0x1973e, 0x924992f2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgunship, Specgunship, Spectrum)
STD_ROM_FN(Specgunship)

struct BurnDriver BurnSpecgunship = {
	"spec_gunship", NULL, "spec_spec128", NULL, "1987",
	"Gunship (128K)\0", NULL, "Microprose Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgunshipRomInfo, SpecgunshipRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gunstar (48K)

static struct BurnRomInfo SpecgunstarRomDesc[] = {
	{ "Gunstar (1987)(Firebird Software).z80", 0x08c9e, 0x56bcc92d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgunstar, Specgunstar, Spectrum)
STD_ROM_FN(Specgunstar)

struct BurnDriver BurnSpecgunstar = {
	"spec_gunstar", NULL, "spec_spectrum", NULL, "1987",
	"Gunstar (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgunstarRomInfo, SpecgunstarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gutz (48K)

static struct BurnRomInfo SpecgutzRomDesc[] = {
	{ "Gutz (1988)(Ocean).z80", 0x0ad85, 0xab426fd4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgutz, Specgutz, Spectrum)
STD_ROM_FN(Specgutz)

struct BurnDriver BurnSpecgutz = {
	"spec_gutz", NULL, "spec_spectrum", NULL, "1988",
	"Gutz (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgutzRomInfo, SpecgutzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gwain the Haffling (Spanish) (48K)

static struct BurnRomInfo SpecgwaihaffRomDesc[] = {
	{ "Gwain the Haffling (1990)(Panic Software)(es).z80", 0x09a24, 0x8a849bb3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgwaihaff, Specgwaihaff, Spectrum)
STD_ROM_FN(Specgwaihaff)

struct BurnDriver BurnSpecgwaihaff = {
	"spec_gwaihaff", NULL, "spec_spectrum", NULL, "1990",
	"Gwain the Haffling (Spanish) (48K)\0", NULL, "Panic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgwaihaffRomInfo, SpecgwaihaffRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gyron - Atrium (48K)

static struct BurnRomInfo SpecgyronatRomDesc[] = {
	{ "Gyron - Atrium (1985)(Firebird Software).z80", 0x0a353, 0x02224286, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgyronat, Specgyronat, Spectrum)
STD_ROM_FN(Specgyronat)

struct BurnDriver BurnSpecgyronat = {
	"spec_gyronat", "spec_gyron", "spec_spectrum", NULL, "1985",
	"Gyron - Atrium (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgyronatRomInfo, SpecgyronatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gyron - Intro (48K)

static struct BurnRomInfo SpecgyronRomDesc[] = {
	{ "Gyron - Intro (1985)(Firebird Software).z80", 0x04841, 0x1e6ecca1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgyron, Specgyron, Spectrum)
STD_ROM_FN(Specgyron)

struct BurnDriver BurnSpecgyron = {
	"spec_gyron", NULL, "spec_spectrum", NULL, "1985",
	"Gyron - Intro (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgyronRomInfo, SpecgyronRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gyron - Necropolis (48K)

static struct BurnRomInfo SpecgyronnecRomDesc[] = {
	{ "Gyron - Necropolis (1985)(Firebird Software).z80", 0x0a460, 0x6e0d8436, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgyronnec, Specgyronnec, Spectrum)
STD_ROM_FN(Specgyronnec)

struct BurnDriver BurnSpecgyronnec = {
	"spec_gyronnec", "spec_gyron", "spec_spectrum", NULL, "1985",
	"Gyron - Necropolis (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgyronnecRomInfo, SpecgyronnecRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gyroscope (48K)

static struct BurnRomInfo SpecgyroscopRomDesc[] = {
	{ "Gyroscope (1985)(Melbourne House).z80", 0x0ad77, 0xcb34c8f4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgyroscop, Specgyroscop, Spectrum)
STD_ROM_FN(Specgyroscop)

struct BurnDriver BurnSpecgyroscop = {
	"spec_gyroscop", NULL, "spec_spectrum", NULL, "1985",
	"Gyroscope (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecgyroscopRomInfo, SpecgyroscopRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Gyroscope II (48K)

static struct BurnRomInfo Specgyroscp2RomDesc[] = {
	{ "Gyroscope II (1987)(Color Magic).z80", 0x07da0, 0x628635af, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specgyroscp2, Specgyroscp2, Spectrum)
STD_ROM_FN(Specgyroscp2)

struct BurnDriver BurnSpecgyroscp2 = {
	"spec_gyroscp2", NULL, "spec_spectrum", NULL, "1987",
	"Gyroscope II (48K)\0", NULL, "Color Magic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specgyroscp2RomInfo, Specgyroscp2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// H.A.R.D. - Heavy Armed Roboid Destroyer (48K)

static struct BurnRomInfo SpechardhardRomDesc[] = {
	{ "H.A.R.D. - Heavy Armed Roboid Destroyer (1986)(IJK Software).z80", 0x03e75, 0x1c29e8fd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechardhard, Spechardhard, Spectrum)
STD_ROM_FN(Spechardhard)

struct BurnDriver BurnSpechardhard = {
	"spec_hardhard", NULL, "spec_spectrum", NULL, "1986",
	"H.A.R.D. - Heavy Armed Roboid Destroyer (48K)\0", NULL, "IJK Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechardhardRomInfo, SpechardhardRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// H.A.T.E. - Hostile All Terrain Encounter (48K)

static struct BurnRomInfo SpechatehateRomDesc[] = {
	{ "H.A.T.E. - Hostile All Terrain Encounter (1989)(Gremlin Graphics Software).z80", 0x0a176, 0x21ff36ab, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechatehate, Spechatehate, Spectrum)
STD_ROM_FN(Spechatehate)

struct BurnDriver BurnSpechatehate = {
	"spec_hatehate", NULL, "spec_spectrum", NULL, "1989",
	"H.A.T.E. - Hostile All Terrain Encounter (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechatehateRomInfo, SpechatehateRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Habilit (Spanish) (48K)

static struct BurnRomInfo SpechabiliteRomDesc[] = {
	{ "Habilit (1988)(Iber Soft)(es).z80", 0x040fc, 0xb1ddf717, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechabilite, Spechabilite, Spectrum)
STD_ROM_FN(Spechabilite)

struct BurnDriver BurnSpechabilite = {
	"spec_habilite", NULL, "spec_spectrum", NULL, "1988",
	"Habilit (Spanish) (48K)\0", NULL, "Iber Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechabiliteRomInfo, SpechabiliteRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hacker (48K)

static struct BurnRomInfo SpechackerRomDesc[] = {
	{ "Hacker (1985)(Activision).z80", 0x08d40, 0xe16c3055, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechacker, Spechacker, Spectrum)
STD_ROM_FN(Spechacker)

struct BurnDriver BurnSpechacker = {
	"spec_hacker", NULL, "spec_spectrum", NULL, "1985",
	"Hacker (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechackerRomInfo, SpechackerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hacker II - The Doomsday Papers (48K)

static struct BurnRomInfo Spechacker2RomDesc[] = {
	{ "Hacker II - The Doomsday Papers (1987)(Activision).z80", 0x082df, 0xe2f4dcaa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechacker2, Spechacker2, Spectrum)
STD_ROM_FN(Spechacker2)

struct BurnDriver BurnSpechacker2 = {
	"spec_hacker2", NULL, "spec_spectrum", NULL, "1987",
	"Hacker II - The Doomsday Papers (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechacker2RomInfo, Spechacker2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hades Nebula (48K)

static struct BurnRomInfo SpechadenebuRomDesc[] = {
	{ "Hades Nebula (1987)(Nexus Productions).z80", 0x0a690, 0x46b5747d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechadenebu, Spechadenebu, Spectrum)
STD_ROM_FN(Spechadenebu)

struct BurnDriver BurnSpechadenebu = {
	"spec_hadenebu", NULL, "spec_spectrum", NULL, "1987",
	"Hades Nebula (48K)\0", NULL, "Nexus Productions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechadenebuRomInfo, SpechadenebuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Halaga (48K)

static struct BurnRomInfo SpechalagaRomDesc[] = {
	{ "Halaga (1985)(Interceptor Micros Software).z80", 0x0648f, 0xc5eb02e1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechalaga, Spechalaga, Spectrum)
STD_ROM_FN(Spechalaga)

struct BurnDriver BurnSpechalaga = {
	"spec_halaga", NULL, "spec_spectrum", NULL, "1985",
	"Halaga (48K)\0", NULL, "Interceptor Micros Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechalagaRomInfo, SpechalagaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Halls of the Things (48K)

static struct BurnRomInfo SpechallthnRomDesc[] = {
	{ "Halls of the Things (1983)(Crystal Computing).z80", 0x0509a, 0xac6eb540, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechallthn, Spechallthn, Spectrum)
STD_ROM_FN(Spechallthn)

struct BurnDriver BurnSpechallthn = {
	"spec_hallthn", NULL, "spec_spectrum", NULL, "1983",
	"Halls of the Things (48K)\0", NULL, "Crystal Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechallthnRomInfo, SpechallthnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Halls of the Things II - Return of the Things (48K)

static struct BurnRomInfo Spechallthn2RomDesc[] = {
	{ "Halls of the Things II - Return of the Things (1984)(Design Design Software).z80", 0x05a69, 0x78603d24, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechallthn2, Spechallthn2, Spectrum)
STD_ROM_FN(Spechallthn2)

struct BurnDriver BurnSpechallthn2 = {
	"spec_hallthn2", NULL, "spec_spectrum", NULL, "1984",
	"Halls of the Things II - Return of the Things (48K)\0", NULL, "Design Design Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechallthn2RomInfo, Spechallthn2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Halls of the Things Remix (48K)

static struct BurnRomInfo SpechallthnrRomDesc[] = {
	{ "Halls of the Things Remix (1986)(Design Design Software).z80", 0x045d5, 0x91dc9d9b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechallthnr, Spechallthnr, Spectrum)
STD_ROM_FN(Spechallthnr)

struct BurnDriver BurnSpechallthnr = {
	"spec_hallthnr", NULL, "spec_spectrum", NULL, "1986",
	"Halls of the Things Remix (48K)\0", NULL, "Design Design Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechallthnrRomInfo, SpechallthnrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hammer Boy (Part 2 of 2) (48K)

static struct BurnRomInfo SpechammboyRomDesc[] = {
	{ "Hammer Boy (1991)(Dinamic Software)(Part 2 of 2).z80", 0x0b496, 0xdad4e447, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechammboy, Spechammboy, Spectrum)
STD_ROM_FN(Spechammboy)

struct BurnDriver BurnSpechammboy = {
	"spec_hammboy", NULL, "spec_spectrum", NULL, "1991",
	"Hammer Boy (Part 2 of 2) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechammboyRomInfo, SpechammboyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hammer of Grimmold, The (48K)

static struct BurnRomInfo SpechammgrimRomDesc[] = {
	{ "Hammer of Grimmold, The (1991)(Zenobi Software)[re-release].z80", 0x097ad, 0x85ccf608, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechammgrim, Spechammgrim, Spectrum)
STD_ROM_FN(Spechammgrim)

struct BurnDriver BurnSpechammgrim = {
	"spec_hammgrim", NULL, "spec_spectrum", NULL, "1991",
	"Hammer of Grimmold, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechammgrimRomInfo, SpechammgrimRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hammer of Grimmold, The v2 (48K)

static struct BurnRomInfo Spechammgrm2RomDesc[] = {
	{ "Hammer of Grimmold, The v2 (1991)(Zenobi Software)[re-release].z80", 0x0a8a7, 0x825b8e8a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechammgrm2, Spechammgrm2, Spectrum)
STD_ROM_FN(Spechammgrm2)

struct BurnDriver BurnSpechammgrm2 = {
	"spec_hammgrm2", NULL, "spec_spectrum", NULL, "1991",
	"Hammer of Grimmold, The v2 (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechammgrm2RomInfo, Spechammgrm2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hammerfist (48K)

static struct BurnRomInfo SpechammfistRomDesc[] = {
	{ "Hammerfist (1990)(Activision).z80", 0x09db6, 0x6ca21398, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechammfist, Spechammfist, Spectrum)
STD_ROM_FN(Spechammfist)

struct BurnDriver BurnSpechammfist = {
	"spec_hammfist", NULL, "spec_spectrum", NULL, "1990",
	"Hammerfist (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechammfistRomInfo, SpechammfistRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hamon IV - Return to Home (demo) (128K)

static struct BurnRomInfo SpechaivretuRomDesc[] = {
	{ "Hamon IV - Return to Home (demo) (1997)(Ascendancy)[128K].z80", 0x176cc, 0x215259a1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechaivretu, Spechaivretu, Spectrum)
STD_ROM_FN(Spechaivretu)

struct BurnDriver BurnSpechaivretu = {
	"spec_haivretu", NULL, "spec_spec128", NULL, "1997",
	"Hamon IV - Return to Home (demo) (128K)\0", NULL, "Ascendancy", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechaivretuRomInfo, SpechaivretuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hampa 1930 (Spanish) (48K)

static struct BurnRomInfo Spechampa193RomDesc[] = {
	{ "Hampa 1930 (1990)(J. Izquierdo - L. Calvo)(es).z80", 0x0b081, 0xd1e6b9f0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechampa193, Spechampa193, Spectrum)
STD_ROM_FN(Spechampa193)

struct BurnDriver BurnSpechampa193 = {
	"spec_hampa193", NULL, "spec_spectrum", NULL, "1990",
	"Hampa 1930 (Spanish) (48K)\0", NULL, "J. Izquierdo - L. Calvo", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechampa193RomInfo, Spechampa193RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hampstead (Spanish) (48K)

static struct BurnRomInfo SpechampsteasRomDesc[] = {
	{ "Hampstead (1984)(Melbourne House)(es).z80", 0x089f0, 0xf1705112, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechampsteas, Spechampsteas, Spectrum)
STD_ROM_FN(Spechampsteas)

struct BurnDriver BurnSpechampsteas = {
	"spec_hampsteas", "spec_hampstea", "spec_spectrum", NULL, "1984",
	"Hampstead (Spanish) (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechampsteasRomInfo, SpechampsteasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hampstead (48K)

static struct BurnRomInfo SpechampsteaRomDesc[] = {
	{ "Hampstead (1984)(Melbourne House).z80", 0x09967, 0xc0d36881, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechampstea, Spechampstea, Spectrum)
STD_ROM_FN(Spechampstea)

struct BurnDriver BurnSpechampstea = {
	"spec_hampstea", NULL, "spec_spectrum", NULL, "1984",
	"Hampstead (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechampsteaRomInfo, SpechampsteaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hampton's Caught (48K)

static struct BurnRomInfo SpechampcaugRomDesc[] = {
	{ "Hampton's Caught (1984)(B.Sides Software).z80", 0x07d62, 0x90bc9f2e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechampcaug, Spechampcaug, Spectrum)
STD_ROM_FN(Spechampcaug)

struct BurnDriver BurnSpechampcaug = {
	"spec_hampcaug", NULL, "spec_spectrum", NULL, "1984",
	"Hampton's Caught (48K)\0", NULL, "B.Sides Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechampcaugRomInfo, SpechampcaugRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hamte Damte (48K)

static struct BurnRomInfo SpechamtdamtRomDesc[] = {
	{ "Hamte Damte (1988)(Cross Technics).z80", 0x0aeee, 0x2b393e96, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechamtdamt, Spechamtdamt, Spectrum)
STD_ROM_FN(Spechamtdamt)

struct BurnDriver BurnSpechamtdamt = {
	"spec_hamtdamt", NULL, "spec_spectrum", NULL, "1988",
	"Hamte Damte (48K)\0", NULL, "Cross Technics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechamtdamtRomInfo, SpechamtdamtRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Handicap Golf (48K)

static struct BurnRomInfo SpechandgolfRomDesc[] = {
	{ "Handicap Golf (1984)(CRL Group).z80", 0x0a6a1, 0xca6f72ad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechandgolf, Spechandgolf, Spectrum)
STD_ROM_FN(Spechandgolf)

struct BurnDriver BurnSpechandgolf = {
	"spec_handgolf", NULL, "spec_spectrum", NULL, "1984",
	"Handicap Golf (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechandgolfRomInfo, SpechandgolfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Handy Andy (48K)

static struct BurnRomInfo SpechandandyRomDesc[] = {
	{ "Handy Andy (1984)(CRL Group).z80", 0x02083, 0xc89e4f50, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechandandy, Spechandandy, Spectrum)
STD_ROM_FN(Spechandandy)

struct BurnDriver BurnSpechandandy = {
	"spec_handandy", NULL, "spec_spectrum", NULL, "1984",
	"Handy Andy (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechandandyRomInfo, SpechandandyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hangman (48K)

static struct BurnRomInfo SpechangmanRomDesc[] = {
	{ "Hangman (1996)(CSSCGC).z80", 0x02590, 0x7ba4a719, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechangman, Spechangman, Spectrum)
STD_ROM_FN(Spechangman)

struct BurnDriver BurnSpechangman = {
	"spec_hangman", NULL, "spec_spectrum", NULL, "1996",
	"Hangman (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechangmanRomInfo, SpechangmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hanoi King (48K)

static struct BurnRomInfo SpechanokingRomDesc[] = {
	{ "Hanoi King (1983)(Contrast Software).z80", 0x02fd3, 0x31904396, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechanoking, Spechanoking, Spectrum)
STD_ROM_FN(Spechanoking)

struct BurnDriver BurnSpechanoking = {
	"spec_hanoking", NULL, "spec_spectrum", NULL, "1983",
	"Hanoi King (48K)\0", NULL, "Contrast Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechanokingRomInfo, SpechanokingRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hanois Torn (sv) (48K)

static struct BurnRomInfo SpechanotornRomDesc[] = {
	{ "Hanois Torn (19xx)(Clas Kristiansson)(sv).z80", 0x02857, 0x40aeddfa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechanotorn, Spechanotorn, Spectrum)
STD_ROM_FN(Spechanotorn)

struct BurnDriver BurnSpechanotorn = {
	"spec_hanotorn", NULL, "spec_spectrum", NULL, "19xx",
	"Hanois Torn (sv) (48K)\0", NULL, "Clas Kristiansson", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechanotornRomInfo, SpechanotornRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Happiest Days of Your Life, The (48K)

static struct BurnRomInfo SpechadayoliRomDesc[] = {
	{ "Happiest Days of Your Life, The (1986)(Firebird Software).z80", 0x09d43, 0x12d046f3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechadayoli, Spechadayoli, Spectrum)
STD_ROM_FN(Spechadayoli)

struct BurnDriver BurnSpechadayoli = {
	"spec_hadayoli", NULL, "spec_spectrum", NULL, "1986",
	"Happiest Days of Your Life, The (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechadayoliRomInfo, SpechadayoliRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hard Drivin' (128K)

static struct BurnRomInfo SpecharddrivRomDesc[] = {
	{ "Hard Drivin' (1989)(Domark)[128K].z80", 0x0adaa, 0xafe65244, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specharddriv, Specharddriv, Spectrum)
STD_ROM_FN(Specharddriv)

struct BurnDriver BurnSpecharddriv = {
	"spec_harddriv", NULL, "spec_spec128", NULL, "1989",
	"Hard Drivin' (128K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecharddrivRomInfo, SpecharddrivRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hardball (48K)

static struct BurnRomInfo SpechardballRomDesc[] = {
	{ "Hardball (1986)(Advance Software).z80", 0x09baa, 0x9ffa3df8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechardball, Spechardball, Spectrum)
STD_ROM_FN(Spechardball)

struct BurnDriver BurnSpechardball = {
	"spec_hardball", NULL, "spec_spectrum", NULL, "1986",
	"Hardball (48K)\0", NULL, "Advance Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechardballRomInfo, SpechardballRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hare Raiser (Part 1 of 2) (48K)

static struct BurnRomInfo SpechareraisRomDesc[] = {
	{ "Hare Raiser (1984)(Haresoft)(Part 1 of 2).z80", 0x02660, 0x25ce43da, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specharerais, Specharerais, Spectrum)
STD_ROM_FN(Specharerais)

struct BurnDriver BurnSpecharerais = {
	"spec_harerais", NULL, "spec_spectrum", NULL, "1984",
	"Hare Raiser (Part 1 of 2) (48K)\0", NULL, "Haresoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechareraisRomInfo, SpechareraisRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hare Raiser (Part 2 of 2) (48K)

static struct BurnRomInfo Specharerais2RomDesc[] = {
	{ "Hare Raiser (1984)(Haresoft)(Part 2 of 2).z80", 0x02253, 0x2ecb49d9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specharerais2, Specharerais2, Spectrum)
STD_ROM_FN(Specharerais2)

struct BurnDriver BurnSpecharerais2 = {
	"spec_harerais2", "spec_harerais", "spec_spectrum", NULL, "1984",
	"Hare Raiser (Part 2 of 2) (48K)\0", NULL, "Haresoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specharerais2RomInfo, Specharerais2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Harlequin (48K)

static struct BurnRomInfo SpecharlequiRomDesc[] = {
	{ "Harlequin (1985)(Mr. Micro).z80", 0x05d13, 0x6311ba72, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specharlequi, Specharlequi, Spectrum)
STD_ROM_FN(Specharlequi)

struct BurnDriver BurnSpecharlequi = {
	"spec_harlequi", NULL, "spec_spectrum", NULL, "1985",
	"Harlequin (48K)\0", NULL, "Mr. Micro", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecharlequiRomInfo, SpecharlequiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Harry Goes Home (48K)

static struct BurnRomInfo SpechargoehoRomDesc[] = {
	{ "Harry Goes Home (1984)(Pulsonic).z80", 0x01a5a, 0x17dbe352, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechargoeho, Spechargoeho, Spectrum)
STD_ROM_FN(Spechargoeho)

struct BurnDriver BurnSpechargoeho = {
	"spec_hargoeho", NULL, "spec_spectrum", NULL, "1984",
	"Harry Goes Home (48K)\0", NULL, "Pulsonic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechargoehoRomInfo, SpechargoehoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Harry Hare's Lair (48K)

static struct BurnRomInfo SpecharharlaRomDesc[] = {
	{ "Harry Hare's Lair (1985)(Artic Computing).z80", 0x08c0e, 0x7d99d5bf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specharharla, Specharharla, Spectrum)
STD_ROM_FN(Specharharla)

struct BurnDriver BurnSpecharharla = {
	"spec_harharla", NULL, "spec_spectrum", NULL, "1985",
	"Harry Hare's Lair (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecharharlaRomInfo, SpecharharlaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Harvey Headbanger (48K)

static struct BurnRomInfo SpecharvheadRomDesc[] = {
	{ "Harvey Headbanger (1986)(Firebird Software).z80", 0x054dc, 0x1e3b151f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specharvhead, Specharvhead, Spectrum)
STD_ROM_FN(Specharvhead)

struct BurnDriver BurnSpecharvhead = {
	"spec_harvhead", NULL, "spec_spectrum", NULL, "1986",
	"Harvey Headbanger (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecharvheadRomInfo, SpecharvheadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Haunted Hedges (48K)

static struct BurnRomInfo SpechaunhedgRomDesc[] = {
	{ "Haunted Hedges (1983)(Micromega).z80", 0x04fd4, 0x19d457b6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechaunhedg, Spechaunhedg, Spectrum)
STD_ROM_FN(Spechaunhedg)

struct BurnDriver BurnSpechaunhedg = {
	"spec_haunhedg", NULL, "spec_spectrum", NULL, "1983",
	"Haunted Hedges (48K)\0", NULL, "Micromega", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechaunhedgRomInfo, SpechaunhedgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Haushaltsbuchfuehrung (German) (48K)

static struct BurnRomInfo SpechaushaltRomDesc[] = {
	{ "Haushaltsbuchfuehrung (19xx)(-)(de).z80", 0x0189a, 0xabe648cc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechaushalt, Spechaushalt, Spectrum)
STD_ROM_FN(Spechaushalt)

struct BurnDriver BurnSpechaushalt = {
	"spec_haushalt", NULL, "spec_spectrum", NULL, "19xx",
	"Haushaltsbuchfuehrung (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechaushaltRomInfo, SpechaushaltRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Havoc (128K)

static struct BurnRomInfo SpechavocRomDesc[] = {
	{ "Havoc (1990)(Players Premier Software)[128K].z80", 0x0bbdc, 0x510c85ea, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechavoc, Spechavoc, Spectrum)
STD_ROM_FN(Spechavoc)

struct BurnDriver BurnSpechavoc = {
	"spec_havoc", NULL, "spec_spec128", NULL, "1990",
	"Havoc (128K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechavocRomInfo, SpechavocRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hawk Storm (48K)

static struct BurnRomInfo Spechawkstrm_48RomDesc[] = {
	{ "Hawk Storm (1991)(Players Premier Software).z80", 0x0934f, 0xfdfe1766, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechawkstrm_48, Spechawkstrm_48, Spectrum)
STD_ROM_FN(Spechawkstrm_48)

struct BurnDriver BurnSpechawkstrm_48 = {
	"spec_hawkstrm_48", "spec_hawkstrm", "spec_spectrum", NULL, "1991",
	"Hawk Storm (48K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechawkstrm_48RomInfo, Spechawkstrm_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hawk Storm (128K)

static struct BurnRomInfo SpechawkstrmRomDesc[] = {
	{ "Hawk Storm (1991)(Players Premier Software)[128K].z80", 0x0a04a, 0xf38d5e3c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechawkstrm, Spechawkstrm, Spectrum)
STD_ROM_FN(Spechawkstrm)

struct BurnDriver BurnSpechawkstrm = {
	"spec_hawkstrm", NULL, "spec_spec128", NULL, "1991",
	"Hawk Storm (128K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechawkstrmRomInfo, SpechawkstrmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Head Coach (48K)

static struct BurnRomInfo SpecheadcoacRomDesc[] = {
	{ "Head Coach (1986)(Addictive Games).z80", 0x0a1e8, 0xaeeff586, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specheadcoac, Specheadcoac, Spectrum)
STD_ROM_FN(Specheadcoac)

struct BurnDriver BurnSpecheadcoac = {
	"spec_headcoac", NULL, "spec_spectrum", NULL, "1986",
	"Head Coach (48K)\0", NULL, "Addictive Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecheadcoacRomInfo, SpecheadcoacRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Head over Heels (48K)

static struct BurnRomInfo Specheadheel_48RomDesc[] = {
	{ "Head over Heels (1987)(Ocean).z80", 0x0a88d, 0x0e74c53b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specheadheel_48, Specheadheel_48, Spectrum)
STD_ROM_FN(Specheadheel_48)

struct BurnDriver BurnSpecheadheel_48 = {
	"spec_headheel_48", "spec_headheel", "spec_spectrum", NULL, "1987",
	"Head over Heels (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specheadheel_48RomInfo, Specheadheel_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Head over Heels (128K)

static struct BurnRomInfo SpecheadheelRomDesc[] = {
	{ "Head over Heels (1987)(Ocean)[128K].z80", 0x0c5a5, 0x9f148037, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specheadheel, Specheadheel, Spectrum)
STD_ROM_FN(Specheadheel)

struct BurnDriver BurnSpecheadheel = {
	"spec_headheel", NULL, "spec_spec128", NULL, "1987",
	"Head over Heels (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecheadheelRomInfo, SpecheadheelRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Head Start (48K)

static struct BurnRomInfo SpecheadstarRomDesc[] = {
	{ "Head Start (1987)(Bug-Byte Software).z80", 0x09529, 0xd1b30f88, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specheadstar, Specheadstar, Spectrum)
STD_ROM_FN(Specheadstar)

struct BurnDriver BurnSpecheadstar = {
	"spec_headstar", NULL, "spec_spectrum", NULL, "1987",
	"Head Start (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecheadstarRomInfo, SpecheadstarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Headbangers Heaven (48K)

static struct BurnRomInfo SpecheadheavRomDesc[] = {
	{ "Headbangers Heaven (1983)(Llamasoft).z80", 0x03522, 0x9338c75e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specheadheav, Specheadheav, Spectrum)
STD_ROM_FN(Specheadheav)

struct BurnDriver BurnSpecheadheav = {
	"spec_headheav", NULL, "spec_spectrum", NULL, "1983",
	"Headbangers Heaven (48K)\0", NULL, "Llamasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecheadheavRomInfo, SpecheadheavRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Heart Broken - Adventure 3 (48K)

static struct BurnRomInfo Spechrtbrka3RomDesc[] = {
	{ "Heart Broken - Adventure 3 (1989)(Atlantis Software).z80", 0x0a58b, 0x7d4596cc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechrtbrka3, Spechrtbrka3, Spectrum)
STD_ROM_FN(Spechrtbrka3)

struct BurnDriver BurnSpechrtbrka3 = {
	"spec_hrtbrka3", NULL, "spec_spectrum", NULL, "1989",
	"Heart Broken - Adventure 3 (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechrtbrka3RomInfo, Spechrtbrka3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Heart Broken (48K)

static struct BurnRomInfo SpechrtbbrknRomDesc[] = {
	{ "Heart Broken (1989)(Atlantis Software).z80", 0x0a391, 0xed8b78f5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechrtbbrkn, Spechrtbbrkn, Spectrum)
STD_ROM_FN(Spechrtbbrkn)

struct BurnDriver BurnSpechrtbbrkn = {
	"spec_hrtbbrkn", NULL, "spec_spectrum", NULL, "1989",
	"Heart Broken (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechrtbbrknRomInfo, SpechrtbbrknRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Heartland (48K)

static struct BurnRomInfo SpecheartlanRomDesc[] = {
	{ "Heartland (1986)(Odin Computer Graphics).z80", 0x090a6, 0xbcc7e803, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specheartlan, Specheartlan, Spectrum)
STD_ROM_FN(Specheartlan)

struct BurnDriver BurnSpecheartlan = {
	"spec_heartlan", NULL, "spec_spectrum", NULL, "1986",
	"Heartland (48K)\0", NULL, "Odin Computer Graphics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecheartlanRomInfo, SpecheartlanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Heathrow International Air Traffic Control (48K)

static struct BurnRomInfo SpecheinaitrRomDesc[] = {
	{ "Heathrow International Air Traffic Control (1985)(Hewson Consultants).z80", 0x03953, 0x1b28a5e9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specheinaitr, Specheinaitr, Spectrum)
STD_ROM_FN(Specheinaitr)

struct BurnDriver BurnSpecheinaitr = {
	"spec_heinaitr", NULL, "spec_spectrum", NULL, "1985",
	"Heathrow International Air Traffic Control (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecheinaitrRomInfo, SpecheinaitrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Heavy on the Magick (48K)

static struct BurnRomInfo SpecheavmagiRomDesc[] = {
	{ "Heavy on the Magick (1986)(Gargoyle Games).z80", 0x0ab9c, 0x0050f5da, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specheavmagi, Specheavmagi, Spectrum)
STD_ROM_FN(Specheavmagi)

struct BurnDriver BurnSpecheavmagi = {
	"spec_heavmagi", NULL, "spec_spectrum", NULL, "1986",
	"Heavy on the Magick (48K)\0", NULL, "Gargoyle Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecheavmagiRomInfo, SpecheavmagiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hedda's Revenge (128K)

static struct BurnRomInfo SpecheddreveRomDesc[] = {
	{ "Hedda's Revenge (19xx)(Adventure Probe Software)[128K].z80", 0x0d642, 0x76259522, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specheddreve, Specheddreve, Spectrum)
STD_ROM_FN(Specheddreve)

struct BurnDriver BurnSpecheddreve = {
	"spec_heddreve", NULL, "spec_spec128", NULL, "19xx",
	"Hedda's Revenge (128K)\0", NULL, "Adventure Probe Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecheddreveRomInfo, SpecheddreveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Heilige Rustung des Antiriad, Die (German) (48K)

static struct BurnRomInfo SpecheruandiRomDesc[] = {
	{ "Heilige Rustung des Antiriad, Die (1986)(-)(de)[aka Sacred Armour of Antiriad, The].z80", 0x09e02, 0x31e07555, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specheruandi, Specheruandi, Spectrum)
STD_ROM_FN(Specheruandi)

struct BurnDriver BurnSpecheruandi = {
	"spec_heruandi", NULL, "spec_spectrum", NULL, "1986",
	"Heilige Rustung des Antiriad, Die (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecheruandiRomInfo, SpecheruandiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Heist 2012 (48K)

static struct BurnRomInfo Specheist201RomDesc[] = {
	{ "Heist 2012 (1987)(Firebird Software).z80", 0x08a75, 0x1b54a9a4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specheist201, Specheist201, Spectrum)
STD_ROM_FN(Specheist201)

struct BurnDriver BurnSpecheist201 = {
	"spec_heist201", NULL, "spec_spectrum", NULL, "1987",
	"Heist 2012 (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specheist201RomInfo, Specheist201RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Heli 2 (48K)

static struct BurnRomInfo Specheli2RomDesc[] = {
	{ "Heli 2 (1985)(Thomas Bernhart).z80", 0x01b52, 0xaa906e9a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specheli2, Specheli2, Spectrum)
STD_ROM_FN(Specheli2)

struct BurnDriver BurnSpecheli2 = {
	"spec_heli2", NULL, "spec_spectrum", NULL, "1985",
	"Heli 2 (48K)\0", NULL, "Thomas Bernhart", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specheli2RomInfo, Specheli2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Helichopper (48K)

static struct BurnRomInfo SpechelichopRomDesc[] = {
	{ "Helichopper (1985)(Firebird Software).z80", 0x08480, 0x28c9aa3f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechelichop, Spechelichop, Spectrum)
STD_ROM_FN(Spechelichop)

struct BurnDriver BurnSpechelichop = {
	"spec_helichop", NULL, "spec_spectrum", NULL, "1985",
	"Helichopper (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechelichopRomInfo, SpechelichopRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Helikopter (Russian) (48K)

static struct BurnRomInfo SpechelikoptRomDesc[] = {
	{ "Helikopter (1994)(JanSoft)(ru).z80", 0x026f6, 0xf4d29520, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechelikopt, Spechelikopt, Spectrum)
STD_ROM_FN(Spechelikopt)

struct BurnDriver BurnSpechelikopt = {
	"spec_helikopt", NULL, "spec_spectrum", NULL, "1994",
	"Helikopter (Russian) (48K)\0", NULL, "JanSoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechelikoptRomInfo, SpechelikoptRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Helikoptertengeralattjaro Vadasz (hu) (48K)

static struct BurnRomInfo SpechelivadaRomDesc[] = {
	{ "Helikoptertengeralattjaro Vadasz (1998)(Laszlo Nyitrai)(hu).z80", 0x037f1, 0x664bc529, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechelivada, Spechelivada, Spectrum)
STD_ROM_FN(Spechelivada)

struct BurnDriver BurnSpechelivada = {
	"spec_helivada", NULL, "spec_spectrum", NULL, "1998",
	"Helikoptertengeralattjaro Vadasz (hu) (48K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechelivadaRomInfo, SpechelivadaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hellfire (48K)

static struct BurnRomInfo SpechellfireRomDesc[] = {
	{ "Hellfire (1985)(Melbourne House).z80", 0x096a6, 0x954688f4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechellfire, Spechellfire, Spectrum)
STD_ROM_FN(Spechellfire)

struct BurnDriver BurnSpechellfire = {
	"spec_hellfire", NULL, "spec_spectrum", NULL, "1985",
	"Hellfire (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechellfireRomInfo, SpechellfireRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hellfire Attack (48K)

static struct BurnRomInfo SpechellfattRomDesc[] = {
	{ "Hellfire Attack (1989)(Martech Games).z80", 0x06fe2, 0x1bc34e90, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechellfatt, Spechellfatt, Spectrum)
STD_ROM_FN(Spechellfatt)

struct BurnDriver BurnSpechellfatt = {
	"spec_hellfatt", NULL, "spec_spectrum", NULL, "1989",
	"Hellfire Attack (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechellfattRomInfo, SpechellfattRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Helm, The (48K)

static struct BurnRomInfo SpechelmRomDesc[] = {
	{ "Helm, The (1985)(Firebird Software).z80", 0x0ab40, 0x3b1fcc2f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechelm, Spechelm, Spectrum)
STD_ROM_FN(Spechelm)

struct BurnDriver BurnSpechelm = {
	"spec_helm", NULL, "spec_spectrum", NULL, "1985",
	"Helm, The (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechelmRomInfo, SpechelmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Helter Skelter - Editor (48K)

static struct BurnRomInfo SpecheltskeleRomDesc[] = {
	{ "Helter Skelter - Editor (1990)(Audiogenic Software).z80", 0x0691b, 0x8c53ee28, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specheltskele, Specheltskele, Spectrum)
STD_ROM_FN(Specheltskele)

struct BurnDriver BurnSpecheltskele = {
	"spec_heltskele", "spec_heltskel", "spec_spectrum", NULL, "1990",
	"Helter Skelter - Editor (48K)\0", NULL, "Audiogenic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecheltskeleRomInfo, SpecheltskeleRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Helter Skelter (48K)

static struct BurnRomInfo SpecheltskelRomDesc[] = {
	{ "Helter Skelter (1990)(Audiogenic Software).z80", 0x0a5c9, 0x3f8f6a69, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specheltskel, Specheltskel, Spectrum)
STD_ROM_FN(Specheltskel)

struct BurnDriver BurnSpecheltskel = {
	"spec_heltskel", NULL, "spec_spectrum", NULL, "1990",
	"Helter Skelter (48K)\0", NULL, "Audiogenic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecheltskelRomInfo, SpecheltskelRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Helvera - Mistress of the Park (48K)

static struct BurnRomInfo SpechelmispaRomDesc[] = {
	{ "Helvera - Mistress of the Park (1993)(FSF Adventures).z80", 0x09320, 0xd8f3fcb3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechelmispa, Spechelmispa, Spectrum)
STD_ROM_FN(Spechelmispa)

struct BurnDriver BurnSpechelmispa = {
	"spec_helmispa", NULL, "spec_spectrum", NULL, "1993",
	"Helvera - Mistress of the Park (48K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechelmispaRomInfo, SpechelmispaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Henry's Hoard (48K)

static struct BurnRomInfo SpechenrhoarRomDesc[] = {
	{ "Henry's Hoard (1985)(Alternative Software).z80", 0x07a94, 0x59e95eec, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechenrhoar, Spechenrhoar, Spectrum)
STD_ROM_FN(Spechenrhoar)

struct BurnDriver BurnSpechenrhoar = {
	"spec_henrhoar", NULL, "spec_spectrum", NULL, "1985",
	"Henry's Hoard (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechenrhoarRomInfo, SpechenrhoarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Herbert's Dummy Run (48K)

static struct BurnRomInfo SpecherdumruRomDesc[] = {
	{ "Herbert's Dummy Run (1985)(Mikro-Gen).z80", 0x09436, 0xb3f5e598, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specherdumru, Specherdumru, Spectrum)
STD_ROM_FN(Specherdumru)

struct BurnDriver BurnSpecherdumru = {
	"spec_herdumru", NULL, "spec_spectrum", NULL, "1985",
	"Herbert's Dummy Run (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecherdumruRomInfo, SpecherdumruRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hercules - Slayer of the Damned (48K)

static struct BurnRomInfo Specherslada_48RomDesc[] = {
	{ "Hercules - Slayer of the Damned (1988)(Gremlin Graphics Software).z80", 0x0a651, 0x234e953e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specherslada_48, Specherslada_48, Spectrum)
STD_ROM_FN(Specherslada_48)

struct BurnDriver BurnSpecherslada_48 = {
	"spec_herslada_48", "spec_herslada", "spec_spectrum", NULL, "1988",
	"Hercules - Slayer of the Damned (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specherslada_48RomInfo, Specherslada_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hercules - Slayer of the Damned (128K)

static struct BurnRomInfo SpechersladaRomDesc[] = {
	{ "Hercules - Slayer of the Damned (1988)(Gremlin Graphics Software)[128K].z80", 0x17c6f, 0x58b28530, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specherslada, Specherslada, Spectrum)
STD_ROM_FN(Specherslada)

struct BurnDriver BurnSpecherslada = {
	"spec_herslada", NULL, "spec_spec128", NULL, "1988",
	"Hercules - Slayer of the Damned (128K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechersladaRomInfo, SpechersladaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hercules (48K)

static struct BurnRomInfo SpecherculesRomDesc[] = {
	{ "Hercules (1986)(Alpha-Omega Software).z80", 0x09b51, 0xa9f464fd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechercules, Spechercules, Spectrum)
STD_ROM_FN(Spechercules)

struct BurnDriver BurnSpechercules = {
	"spec_hercules", NULL, "spec_spectrum", NULL, "1986",
	"Hercules (48K)\0", NULL, "Alpha-Omega Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecherculesRomInfo, SpecherculesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Here be Tygers - Intro (48K)

static struct BurnRomInfo SpecherebetgRomDesc[] = {
	{ "Here be Tygers - Intro (1985)(Automata UK).z80", 0x021f7, 0xd63ab066, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specherebetg, Specherebetg, Spectrum)
STD_ROM_FN(Specherebetg)

struct BurnDriver BurnSpecherebetg = {
	"spec_herebetg", NULL, "spec_spectrum", NULL, "1985",
	"Here be Tygers - Intro (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecherebetgRomInfo, SpecherebetgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Here be Tygers (48K)

static struct BurnRomInfo SpecherebetggRomDesc[] = {
	{ "Here be Tygers (1985)(Automata UK).z80", 0x08e70, 0x5d0880a4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specherebetgg, Specherebetgg, Spectrum)
STD_ROM_FN(Specherebetgg)

struct BurnDriver BurnSpecherebetgg = {
	"spec_herebetgg", "spec_herebetg", "spec_spectrum", NULL, "1985",
	"Here be Tygers (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecherebetggRomInfo, SpecherebetggRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Here Comes the Sun (48K)

static struct BurnRomInfo SpechercomsuRomDesc[] = {
	{ "Here Comes the Sun (1983)(Alligata Software).z80", 0x0a6f9, 0x025cf15f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechercomsu, Spechercomsu, Spectrum)
STD_ROM_FN(Spechercomsu)

struct BurnDriver BurnSpechercomsu = {
	"spec_hercomsu", NULL, "spec_spectrum", NULL, "1983",
	"Here Comes the Sun (48K)\0", NULL, "Alligata Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechercomsuRomInfo, SpechercomsuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Heresville (Spanish) (48K)

static struct BurnRomInfo SpecheresvilRomDesc[] = {
	{ "Heresville (1990)(Wazertown Works)(es).z80", 0x09125, 0x91e679af, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specheresvil, Specheresvil, Spectrum)
STD_ROM_FN(Specheresvil)

struct BurnDriver BurnSpecheresvil = {
	"spec_heresvil", NULL, "spec_spectrum", NULL, "1990",
	"Heresville (Spanish) (48K)\0", NULL, "Wazertown Works", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecheresvilRomInfo, SpecheresvilRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hermitage, The (Part 1 of 2) (48K)

static struct BurnRomInfo SpechermtgeRomDesc[] = {
	{ "Hermitage, The (1989)(Pegasus Developments)(Part 1 of 2).z80", 0x09864, 0x18c99e19, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechermtge, Spechermtge, Spectrum)
STD_ROM_FN(Spechermtge)

struct BurnDriver BurnSpechermtge = {
	"spec_hermtge", NULL, "spec_spectrum", NULL, "1989",
	"Hermitage, The (Part 1 of 2) (48K)\0", NULL, "Pegasus Developments", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechermtgeRomInfo, SpechermtgeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hermitage, The (Part 2 of 2) (48K)

static struct BurnRomInfo Spechermtge2RomDesc[] = {
	{ "Hermitage, The (1989)(Pegasus Developments)(Part 2 of 2).z80", 0x08a89, 0x6da98087, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechermtge2, Spechermtge2, Spectrum)
STD_ROM_FN(Spechermtge2)

struct BurnDriver BurnSpechermtge2 = {
	"spec_hermtge2", "spec_hermtge", "spec_spectrum", NULL, "1989",
	"Hermitage, The (Part 2 of 2) (48K)\0", NULL, "Pegasus Developments", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechermtge2RomInfo, Spechermtge2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hero (48K)

static struct BurnRomInfo SpecheroRomDesc[] = {
	{ "Hero (1984)(Activision).z80", 0x06b3b, 0x70ce1b4b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechero, Spechero, Spectrum)
STD_ROM_FN(Spechero)

struct BurnDriver BurnSpechero = {
	"spec_hero", NULL, "spec_spectrum", NULL, "1984",
	"Hero (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecheroRomInfo, SpecheroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hero Quest - Return of the Witch Lord (128K)

static struct BurnRomInfo SpechequrewiRomDesc[] = {
	{ "Hero Quest - Return of the Witch Lord (1991)(Gremlin Graphics Software)[128K].z80", 0x14cd2, 0xb56904a5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechequrewi, Spechequrewi, Spectrum)
STD_ROM_FN(Spechequrewi)

struct BurnDriver BurnSpechequrewi = {
	"spec_hequrewi", NULL, "spec_spec128", NULL, "1991",
	"Hero Quest - Return of the Witch Lord (128K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechequrewiRomInfo, SpechequrewiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hero Quest (128K)

static struct BurnRomInfo SpecheroquesRomDesc[] = {
	{ "Hero Quest (1991)(Gremlin Graphics Software)[128K].z80", 0x17421, 0x9bbf7376, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specheroques, Specheroques, Spectrum)
STD_ROM_FN(Specheroques)

struct BurnDriver BurnSpecheroques = {
	"spec_heroques", NULL, "spec_spec128", NULL, "1991",
	"Hero Quest (128K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecheroquesRomInfo, SpecheroquesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hero Quest (48K)

static struct BurnRomInfo Specheroques_48RomDesc[] = {
	{ "Hero Quest (1991)(Gremlin Graphics Software)[incomplete].z80", 0x0a438, 0xd1ecd67e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specheroques_48, Specheroques_48, Spectrum)
STD_ROM_FN(Specheroques_48)

struct BurnDriver BurnSpecheroques_48 = {
	"spec_heroques_48", "spec_heroques", "spec_spectrum", NULL, "1991",
	"Hero Quest (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specheroques_48RomInfo, Specheroques_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Heroes '92 (cs) (128K)

static struct BurnRomInfo Specheroes92RomDesc[] = {
	{ "Heroes '92 (1992)(Proxima Software)(cs)[128K].z80", 0x0f298, 0xda60c15a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specheroes92, Specheroes92, Spectrum)
STD_ROM_FN(Specheroes92)

struct BurnDriver BurnSpecheroes92 = {
	"spec_heroes92", NULL, "spec_spec128", NULL, "1992",
	"Heroes '92 (cs) (128K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specheroes92RomInfo, Specheroes92RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Heroes of Karn (48K)

static struct BurnRomInfo SpecherokarnRomDesc[] = {
	{ "Heroes of Karn (1984)(Interceptor Micros Software).z80", 0x099e3, 0xe1218e1d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specherokarn, Specherokarn, Spectrum)
STD_ROM_FN(Specherokarn)

struct BurnDriver BurnSpecherokarn = {
	"spec_herokarn", NULL, "spec_spectrum", NULL, "1984",
	"Heroes of Karn (48K)\0", NULL, "Interceptor Micros Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecherokarnRomInfo, SpecherokarnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Heroes of the Lance (48K)

static struct BurnRomInfo SpecherolancRomDesc[] = {
	{ "Heroes of the Lance (1988)(U.S. Gold).z80", 0x0a59d, 0xa423a1d9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specherolanc, Specherolanc, Spectrum)
STD_ROM_FN(Specherolanc)

struct BurnDriver BurnSpecherolanc = {
	"spec_herolanc", NULL, "spec_spectrum", NULL, "1988",
	"Heroes of the Lance (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecherolancRomInfo, SpecherolancRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Herrgarden (sv) (48K)

static struct BurnRomInfo SpecherrgardRomDesc[] = {
	{ "Herrgarden (19xx)(Xcellent Software)(sv).z80", 0x04bbf, 0x92b11af8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specherrgard, Specherrgard, Spectrum)
STD_ROM_FN(Specherrgard)

struct BurnDriver BurnSpecherrgard = {
	"spec_herrgard", NULL, "spec_spectrum", NULL, "19xx",
	"Herrgarden (sv) (48K)\0", NULL, "Xcellent Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecherrgardRomInfo, SpecherrgardRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hexagonal Museum, The - Intro (48K)

static struct BurnRomInfo SpechexmusmRomDesc[] = {
	{ "Hexagonal Museum, The - Intro (1984)(Double Play Adventures).z80", 0x01baf, 0x85d52d98, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechexmusm, Spechexmusm, Spectrum)
STD_ROM_FN(Spechexmusm)

struct BurnDriver BurnSpechexmusm = {
	"spec_hexmusm", NULL, "spec_spectrum", NULL, "1984",
	"Hexagonal Museum, The - Intro (48K)\0", NULL, "Double Play Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechexmusmRomInfo, SpechexmusmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hexagonal Museum, The (48K)

static struct BurnRomInfo SpechexmusmgRomDesc[] = {
	{ "Hexagonal Museum, The (1984)(Double Play Adventures).z80", 0x05316, 0x8b4e3bcf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechexmusmg, Spechexmusmg, Spectrum)
STD_ROM_FN(Spechexmusmg)

struct BurnDriver BurnSpechexmusmg = {
	"spec_hexmusmg", "spec_hexmusm", "spec_spectrum", NULL, "1984",
	"Hexagonal Museum, The (48K)\0", NULL, "Double Play Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechexmusmgRomInfo, SpechexmusmgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hexxagon (Russian) (48K)

static struct BurnRomInfo SpechexxagonRomDesc[] = {
	{ "Hexxagon (1994)(WE Group)(ru).z80", 0x0755a, 0xe8e6b591, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechexxagon, Spechexxagon, Spectrum)
STD_ROM_FN(Spechexxagon)

struct BurnDriver BurnSpechexxagon = {
	"spec_hexxagon", NULL, "spec_spectrum", NULL, "1994",
	"Hexxagon (Russian) (48K)\0", NULL, "WE Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechexxagonRomInfo, SpechexxagonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hi Lo (48K)

static struct BurnRomInfo SpechiloRomDesc[] = {
	{ "Hi Lo (19xx)(-).z80", 0x01a86, 0x38d56226, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechilo, Spechilo, Spectrum)
STD_ROM_FN(Spechilo)

struct BurnDriver BurnSpechilo = {
	"spec_hilo", NULL, "spec_spectrum", NULL, "19xx",
	"Hi Lo (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechiloRomInfo, SpechiloRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hidden City (48K)

static struct BurnRomInfo SpechiddcityRomDesc[] = {
	{ "Hidden City (1983)(Bytewell).z80", 0x05e81, 0x68d40042, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechiddcity, Spechiddcity, Spectrum)
STD_ROM_FN(Spechiddcity)

struct BurnDriver BurnSpechiddcity = {
	"spec_hiddcity", NULL, "spec_spectrum", NULL, "1983",
	"Hidden City (48K)\0", NULL, "Bytewell", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechiddcityRomInfo, SpechiddcityRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hide and Seek (48K)

static struct BurnRomInfo SpechideseekRomDesc[] = {
	{ "Hide and Seek (1997)(Adventure Probe Software).z80", 0x09250, 0xbf3edd08, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechideseek, Spechideseek, Spectrum)
STD_ROM_FN(Spechideseek)

struct BurnDriver BurnSpechideseek = {
	"spec_hideseek", NULL, "spec_spectrum", NULL, "1997",
	"Hide and Seek (48K)\0", NULL, "Adventure Probe Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechideseekRomInfo, SpechideseekRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hideous (48K)

static struct BurnRomInfo SpechideousRomDesc[] = {
	{ "Hideous (1992)(Alternative Software).z80", 0x06962, 0x6979d844, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechideous, Spechideous, Spectrum)
STD_ROM_FN(Spechideous)

struct BurnDriver BurnSpechideous = {
	"spec_hideous", NULL, "spec_spectrum", NULL, "1992",
	"Hideous (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechideousRomInfo, SpechideousRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hideous, The (Spanish) (Part 1 of 3) (48K)

static struct BurnRomInfo SpechideoussRomDesc[] = {
	{ "Hideous, The (1991)(Year Zero Soft)(es)(Part 1 of 3).z80", 0x09298, 0x4b26e49c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechideouss, Spechideouss, Spectrum)
STD_ROM_FN(Spechideouss)

struct BurnDriver BurnSpechideouss = {
	"spec_hideouss", NULL, "spec_spectrum", NULL, "1991",
	"Hideous, The (Spanish) (Part 1 of 3) (48K)\0", NULL, "Year Zero Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechideoussRomInfo, SpechideoussRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hideous, The (Spanish) (Part 2 of 3) (48K)

static struct BurnRomInfo Spechideouss2RomDesc[] = {
	{ "Hideous, The (1991)(Year Zero Soft)(es)(Part 2 of 3).z80", 0x099f1, 0x2b6dee44, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechideouss2, Spechideouss2, Spectrum)
STD_ROM_FN(Spechideouss2)

struct BurnDriver BurnSpechideouss2 = {
	"spec_hideouss2", "spec_hideouss", "spec_spectrum", NULL, "1991",
	"Hideous, The (Spanish) (Part 2 of 3) (48K)\0", NULL, "Year Zero Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechideouss2RomInfo, Spechideouss2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hideous, The (Spanish) (Part 3 of 3) (48K)

static struct BurnRomInfo Spechideouss3RomDesc[] = {
	{ "Hideous, The (1991)(Year Zero Soft)(es)(Part 3 of 3).z80", 0x09de7, 0x5bcdacef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechideouss3, Spechideouss3, Spectrum)
STD_ROM_FN(Spechideouss3)

struct BurnDriver BurnSpechideouss3 = {
	"spec_hideouss3", "spec_hideouss", "spec_spectrum", NULL, "1991",
	"Hideous, The (Spanish) (Part 3 of 3) (48K)\0", NULL, "Year Zero Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechideouss3RomInfo, Spechideouss3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// High Frontier (48K)

static struct BurnRomInfo SpechighfronRomDesc[] = {
	{ "High Frontier (1987)(Activision).z80", 0x07abd, 0xc5b8ef33, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechighfron, Spechighfron, Spectrum)
STD_ROM_FN(Spechighfron)

struct BurnDriver BurnSpechighfron = {
	"spec_highfron", NULL, "spec_spectrum", NULL, "1987",
	"High Frontier (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechighfronRomInfo, SpechighfronRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// High Steel (48K)

static struct BurnRomInfo Spechighstl_48RomDesc[] = {
	{ "High Steel (1989)(Screen 7).z80", 0x0c01e, 0x815ed865, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechighstl_48, Spechighstl_48, Spectrum)
STD_ROM_FN(Spechighstl_48)

struct BurnDriver BurnSpechighstl_48 = {
	"spec_highstl_48", "spec_highstl", "spec_spectrum", NULL, "1989",
	"High Steel (48K)\0", NULL, "Screen 7", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechighstl_48RomInfo, Spechighstl_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// High Steel (128K)

static struct BurnRomInfo SpechighstlRomDesc[] = {
	{ "High Steel (1989)(Screen 7)[128K].z80", 0x09f60, 0x21d65c23, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechighstl, Spechighstl, Spectrum)
STD_ROM_FN(Spechighstl)

struct BurnDriver BurnSpechighstl = {
	"spec_highstl", NULL, "spec_spec128", NULL, "1989",
	"High Steel (128K)\0", NULL, "Screen 7", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechighstlRomInfo, SpechighstlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Highlander (Part 1 of 3) (48K)

static struct BurnRomInfo SpechighlndrRomDesc[] = {
	{ "Highlander (1986)(Ocean)(Part 1 of 3).z80", 0x08feb, 0x23927ce8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechighlndr, Spechighlndr, Spectrum)
STD_ROM_FN(Spechighlndr)

struct BurnDriver BurnSpechighlndr = {
	"spec_highlndr", NULL, "spec_spectrum", NULL, "1986",
	"Highlander (Part 1 of 3) (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechighlndrRomInfo, SpechighlndrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Highlander (Part 2 of 3) (48K)

static struct BurnRomInfo Spechighlndr2RomDesc[] = {
	{ "Highlander (1986)(Ocean)(Part 2 of 3).z80", 0x08c98, 0xdf344db1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechighlndr2, Spechighlndr2, Spectrum)
STD_ROM_FN(Spechighlndr2)

struct BurnDriver BurnSpechighlndr2 = {
	"spec_highlndr2", "spec_highlndr", "spec_spectrum", NULL, "1986",
	"Highlander (Part 2 of 3) (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechighlndr2RomInfo, Spechighlndr2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Highlander (Part 3 of 3) (48K)

static struct BurnRomInfo Spechighlndr3RomDesc[] = {
	{ "Highlander (1986)(Ocean)(Part 3 of 3).z80", 0x08e7c, 0x46e6f8c6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechighlndr3, Spechighlndr3, Spectrum)
STD_ROM_FN(Spechighlndr3)

struct BurnDriver BurnSpechighlndr3 = {
	"spec_highlndr3", "spec_highlndr", "spec_spectrum", NULL, "1986",
	"Highlander (Part 3 of 3) (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechighlndr3RomInfo, Spechighlndr3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Highrise Harry (48K)

static struct BurnRomInfo SpechighharrRomDesc[] = {
	{ "Highrise Harry (1983)(Blaby Computer Games).z80", 0x0536e, 0x4847c533, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechighharr, Spechighharr, Spectrum)
STD_ROM_FN(Spechighharr)

struct BurnDriver BurnSpechighharr = {
	"spec_highharr", NULL, "spec_spectrum", NULL, "1983",
	"Highrise Harry (48K)\0", NULL, "Blaby Computer Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechighharrRomInfo, SpechighharrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Highway Encounter (48K)

static struct BurnRomInfo SpechighencoRomDesc[] = {
	{ "Highway Encounter (1985)(Vortex Software).z80", 0x0a36c, 0x7946eec7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechighenco, Spechighenco, Spectrum)
STD_ROM_FN(Spechighenco)

struct BurnDriver BurnSpechighenco = {
	"spec_highenco", NULL, "spec_spectrum", NULL, "1985",
	"Highway Encounter (48K)\0", NULL, "Vortex Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechighencoRomInfo, SpechighencoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hijack (48K)

static struct BurnRomInfo SpechijackRomDesc[] = {
	{ "Hijack (1986)(Electric Dreams Software).z80", 0x099a8, 0x34680b8c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechijack, Spechijack, Spectrum)
STD_ROM_FN(Spechijack)

struct BurnDriver BurnSpechijack = {
	"spec_hijack", NULL, "spec_spectrum", NULL, "1986",
	"Hijack (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechijackRomInfo, SpechijackRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hi-Lo (48K)

static struct BurnRomInfo Spechilo2RomDesc[] = {
	{ "Hi-Lo (19xx)(-).z80", 0x02822, 0x4433ef6a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechilo2, Spechilo2, Spectrum)
STD_ROM_FN(Spechilo2)

struct BurnDriver BurnSpechilo2 = {
	"spec_hilo2", NULL, "spec_spectrum", NULL, "19xx",
	"Hi-Lo (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechilo2RomInfo, Spechilo2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Historias de Medialand (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpechistmediRomDesc[] = {
	{ "Historias de Medialand (1987)(JSJ Soft)(es)(Part 1 of 2).z80", 0x09cd1, 0x74881fb4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechistmedi, Spechistmedi, Spectrum)
STD_ROM_FN(Spechistmedi)

struct BurnDriver BurnSpechistmedi = {
	"spec_histmedi", NULL, "spec_spectrum", NULL, "1987",
	"Historias de Medialand (Spanish) (Part 1 of 2) (48K)\0", NULL, "JSJ Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechistmediRomInfo, SpechistmediRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Historias de Medialand (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Spechistmedi2RomDesc[] = {
	{ "Historias de Medialand (1987)(JSJ Soft)(es)(Part 2 of 2).z80", 0x09c20, 0x3e10f3a1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechistmedi2, Spechistmedi2, Spectrum)
STD_ROM_FN(Spechistmedi2)

struct BurnDriver BurnSpechistmedi2 = {
	"spec_histmedi2", "spec_histmedi", "spec_spectrum", NULL, "1987",
	"Historias de Medialand (Spanish) (Part 2 of 2) (48K)\0", NULL, "JSJ Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechistmedi2RomInfo, Spechistmedi2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hit (48K)

static struct BurnRomInfo SpechitRomDesc[] = {
	{ "Hit (1989)(Zenobi Software).z80", 0x0a5a3, 0x73390673, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechit, Spechit, Spectrum)
STD_ROM_FN(Spechit)

struct BurnDriver BurnSpechit = {
	"spec_hit", NULL, "spec_spectrum", NULL, "1989",
	"Hit (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechitRomInfo, SpechitRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hit Squad, The (48K)

static struct BurnRomInfo SpechitsquadRomDesc[] = {
	{ "Hit Squad, The (1988)(Codemasters).z80", 0x09cbc, 0x8afa17ab, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechitsquad, Spechitsquad, Spectrum)
STD_ROM_FN(Spechitsquad)

struct BurnDriver BurnSpechitsquad = {
	"spec_hitsquad", NULL, "spec_spectrum", NULL, "1988",
	"Hit Squad, The (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechitsquadRomInfo, SpechitsquadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hitch Hikers Guide to the Galaxy, The (48K)

static struct BurnRomInfo SpechhggRomDesc[] = {
	{ "Hitch Hikers Guide to the Galaxy, The (1985)(Estuary Software Products).z80", 0x07bd4, 0x8e49145c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechhgg, Spechhgg, Spectrum)
STD_ROM_FN(Spechhgg)

struct BurnDriver BurnSpechhgg = {
	"spec_hhgg", NULL, "spec_spectrum", NULL, "1985",
	"Hitch Hikers Guide to the Galaxy, The (48K)\0", NULL, "Estuary Software Products", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechhggRomInfo, SpechhggRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hive (48K)

static struct BurnRomInfo SpechiveRomDesc[] = {
	{ "Hive (1987)(Firebird Software).z80", 0x093c5, 0x61fcece7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechive, Spechive, Spectrum)
STD_ROM_FN(Spechive)

struct BurnDriver BurnSpechive = {
	"spec_hive", NULL, "spec_spectrum", NULL, "1987",
	"Hive (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechiveRomInfo, SpechiveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hledac - Cesta za Zlatem Mayu (cs) (48K)

static struct BurnRomInfo SpechlcezlmaRomDesc[] = {
	{ "Hledac - Cesta za Zlatem Mayu (1987)(Kybso)(cs).z80", 0x05a04, 0x489fd3b7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechlcezlma, Spechlcezlma, Spectrum)
STD_ROM_FN(Spechlcezlma)

struct BurnDriver BurnSpechlcezlma = {
	"spec_hlcezlma", NULL, "spec_spectrum", NULL, "1987",
	"Hledac - Cesta za Zlatem Mayu (cs) (48K)\0", NULL, "Kybso", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechlcezlmaRomInfo, SpechlcezlmaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hobbit, The v1.0 (48K)

static struct BurnRomInfo Spechobbit2RomDesc[] = {
	{ "Hobbit, The v1.0 (1982)(Melbourne House).z80", 0x0a4c3, 0x46c20d35, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechobbit2, Spechobbit2, Spectrum)
STD_ROM_FN(Spechobbit2)

struct BurnDriver BurnSpechobbit2 = {
	"spec_hobbit2", "spec_hobbit", "spec_spectrum", NULL, "1982",
	"Hobbit, The v1.0 (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechobbit2RomInfo, Spechobbit2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hobbit, The v1.2 (48K)

static struct BurnRomInfo SpechobbitRomDesc[] = {
	{ "Hobbit, The v1.2 (1982)(Melbourne House).z80", 0x0b1ee, 0x10231c84, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechobbit, Spechobbit, Spectrum)
STD_ROM_FN(Spechobbit)

struct BurnDriver BurnSpechobbit = {
	"spec_hobbit", NULL, "spec_spectrum", NULL, "1982",
	"Hobbit, The v1.2 (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechobbitRomInfo, SpechobbitRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hobble Hunter, The (48K)

static struct BurnRomInfo SpechobhunthRomDesc[] = {
	{ "Hobble Hunter, The (1989)(Compass Software).z80", 0x092dc, 0x50b0e63f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechobhunth, Spechobhunth, Spectrum)
STD_ROM_FN(Spechobhunth)

struct BurnDriver BurnSpechobhunth = {
	"spec_hobhunth", NULL, "spec_spectrum", NULL, "1989",
	"Hobble Hunter, The (48K)\0", NULL, "Compass Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechobhunthRomInfo, SpechobhunthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hob's Hoard (Part 1 of 2) (48K)

static struct BurnRomInfo SpechobhoardRomDesc[] = {
	{ "Hob's Hoard (1991)(Zenobi Software)(Part 1 of 2).z80", 0x0a9c0, 0xeb68e176, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechobhoard, Spechobhoard, Spectrum)
STD_ROM_FN(Spechobhoard)

struct BurnDriver BurnSpechobhoard = {
	"spec_hobhoard", NULL, "spec_spectrum", NULL, "1991",
	"Hob's Hoard (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechobhoardRomInfo, SpechobhoardRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hob's Hoard (Part 2 of 2) (48K)

static struct BurnRomInfo Spechobhoard2RomDesc[] = {
	{ "Hob's Hoard (1991)(Zenobi Software)(Part 2 of 2).z80", 0x0a9ad, 0x10964a51, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechobhoard2, Spechobhoard2, Spectrum)
STD_ROM_FN(Spechobhoard2)

struct BurnDriver BurnSpechobhoard2 = {
	"spec_hobhoard2", "spec_hobhoard", "spec_spectrum", NULL, "1991",
	"Hob's Hoard (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechobhoard2RomInfo, Spechobhoard2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hockey (48K)

static struct BurnRomInfo SpechockeyRomDesc[] = {
	{ "Hockey (1997)(CSSCGC).z80", 0x00dbc, 0x8f1c9224, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechockey, Spechockey, Spectrum)
STD_ROM_FN(Spechockey)

struct BurnDriver BurnSpechockey = {
	"spec_hockey", NULL, "spec_spectrum", NULL, "1997",
	"Hockey (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechockeyRomInfo, SpechockeyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hocus Focus (48K)

static struct BurnRomInfo SpechocufocuRomDesc[] = {
	{ "Hocus Focus (1986)(Quicksilva).z80", 0x09537, 0xd64bf85e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechocufocu, Spechocufocu, Spectrum)
STD_ROM_FN(Spechocufocu)

struct BurnDriver BurnSpechocufocu = {
	"spec_hocufocu", NULL, "spec_spectrum", NULL, "1986",
	"Hocus Focus (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechocufocuRomInfo, SpechocufocuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Holdmentes (hu) (128K)

static struct BurnRomInfo SpecholdmentRomDesc[] = {
	{ "Holdmentes (1998)(Laszlo Nyitrai)(hu)[128K].z80", 0x03445, 0xcf36cc8e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specholdment, Specholdment, Spectrum)
STD_ROM_FN(Specholdment)

struct BurnDriver BurnSpecholdment = {
	"spec_holdment", NULL, "spec_spec128", NULL, "1998",
	"Holdmentes (hu) (128K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecholdmentRomInfo, SpecholdmentRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Holiday in Sumaria (48K)

static struct BurnRomInfo SpecholisumaRomDesc[] = {
	{ "Holiday in Sumaria (1987)(Pirate Software).z80", 0x093aa, 0x1e135612, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specholisuma, Specholisuma, Spectrum)
STD_ROM_FN(Specholisuma)

struct BurnDriver BurnSpecholisuma = {
	"spec_holisuma", NULL, "spec_spectrum", NULL, "1987",
	"Holiday in Sumaria (48K)\0", NULL, "Pirate Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecholisumaRomInfo, SpecholisumaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hollow, The v2 (48K)

static struct BurnRomInfo SpechollthevRomDesc[] = {
	{ "Hollow, The v2 (1985)(Gilsoft International).z80", 0x096e9, 0xe584fb4f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechollthev, Spechollthev, Spectrum)
STD_ROM_FN(Spechollthev)

struct BurnDriver BurnSpechollthev = {
	"spec_hollthev", NULL, "spec_spectrum", NULL, "1985",
	"Hollow, The v2 (48K)\0", NULL, "Gilsoft International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechollthevRomInfo, SpechollthevRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hollywood Poker (48K)

static struct BurnRomInfo SpechollpokeRomDesc[] = {
	{ "Hollywood Poker (1987)(Diamond Games).z80", 0x08823, 0x16feef1c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechollpoke, Spechollpoke, Spectrum)
STD_ROM_FN(Spechollpoke)

struct BurnDriver BurnSpechollpoke = {
	"spec_hollpoke", NULL, "spec_spectrum", NULL, "1987",
	"Hollywood Poker (48K)\0", NULL, "Diamond Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechollpokeRomInfo, SpechollpokeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Holy Grail (48K)

static struct BurnRomInfo SpecholygraiRomDesc[] = {
	{ "Holy Grail (1984)(W. Kerr).z80", 0x023f8, 0x2ddd2091, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specholygrai, Specholygrai, Spectrum)
STD_ROM_FN(Specholygrai)

struct BurnDriver BurnSpecholygrai = {
	"spec_holygrai", NULL, "spec_spectrum", NULL, "1984",
	"Holy Grail (48K)\0", NULL, "W. Kerr", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecholygraiRomInfo, SpecholygraiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Home Hungaroring (hu) (48K)

static struct BurnRomInfo SpechomehungRomDesc[] = {
	{ "Home Hungaroring (1986)(Kerszi)(hu).z80", 0x072e5, 0x1a5d41b4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechomehung, Spechomehung, Spectrum)
STD_ROM_FN(Spechomehung)

struct BurnDriver BurnSpechomehung = {
	"spec_homehung", NULL, "spec_spectrum", NULL, "1986",
	"Home Hungaroring (hu) (48K)\0", NULL, "Kerszi", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechomehungRomInfo, SpechomehungRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Home Knitter, The (48K)

static struct BurnRomInfo SpechomknithRomDesc[] = {
	{ "Home Knitter, The (1984)(Meadowmarsh Software).z80", 0x086ed, 0x92d54e8a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechomknith, Spechomknith, Spectrum)
STD_ROM_FN(Spechomknith)

struct BurnDriver BurnSpechomknith = {
	"spec_homknith", NULL, "spec_spectrum", NULL, "1984",
	"Home Knitter, The (48K)\0", NULL, "Meadowmarsh Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechomknithRomInfo, SpechomknithRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Honba za Pokladem (cs) (128K)

static struct BurnRomInfo SpechonbpoklRomDesc[] = {
	{ "Honba za Pokladem (1993)(Proxima Software)(cs)[128K].z80", 0x078b0, 0x13a47718, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechonbpokl, Spechonbpokl, Spectrum)
STD_ROM_FN(Spechonbpokl)

struct BurnDriver BurnSpechonbpokl = {
	"spec_honbpokl", NULL, "spec_spec128", NULL, "1993",
	"Honba za Pokladem (cs) (128K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechonbpoklRomInfo, SpechonbpoklRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Honest Joe (48K)

static struct BurnRomInfo SpechonejoeRomDesc[] = {
	{ "Honest Joe (1999)(CSSCGC).z80", 0x06d6e, 0x7eb60a45, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechonejoe, Spechonejoe, Spectrum)
STD_ROM_FN(Spechonejoe)

struct BurnDriver BurnSpechonejoe = {
	"spec_honejoe", NULL, "spec_spectrum", NULL, "1999",
	"Honest Joe (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechonejoeRomInfo, SpechonejoeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hong Kong Phooey (48K)

static struct BurnRomInfo SpechonkonphRomDesc[] = {
	{ "Hong Kong Phooey (1990)(Hi-Tec Software).z80", 0x09214, 0x58e6bda9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechonkonph, Spechonkonph, Spectrum)
STD_ROM_FN(Spechonkonph)

struct BurnDriver BurnSpechonkonph = {
	"spec_honkonph", NULL, "spec_spectrum", NULL, "1990",
	"Hong Kong Phooey (48K)\0", NULL, "Hi-Tec Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechonkonphRomInfo, SpechonkonphRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hopper (48K)

static struct BurnRomInfo SpechopperRomDesc[] = {
	{ "Hopper (1983)(PSS).z80", 0x01d7f, 0x35fba052, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechopper, Spechopper, Spectrum)
STD_ROM_FN(Spechopper)

struct BurnDriver BurnSpechopper = {
	"spec_hopper", NULL, "spec_spectrum", NULL, "1983",
	"Hopper (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechopperRomInfo, SpechopperRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hopper Copper (48K)

static struct BurnRomInfo SpechoppcoppRomDesc[] = {
	{ "Hopper Copper (1988)(Silverbird Software).z80", 0x051cd, 0x2e500455, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechoppcopp, Spechoppcopp, Spectrum)
STD_ROM_FN(Spechoppcopp)

struct BurnDriver BurnSpechoppcopp = {
	"spec_hoppcopp", NULL, "spec_spectrum", NULL, "1988",
	"Hopper Copper (48K)\0", NULL, "Silverbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechoppcoppRomInfo, SpechoppcoppRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hopping Mad (48K)

static struct BurnRomInfo SpechoppmadRomDesc[] = {
	{ "Hopping Mad (1988)(Elite Systems).z80", 0x0805a, 0xa5ffcdb0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechoppmad, Spechoppmad, Spectrum)
STD_ROM_FN(Spechoppmad)

struct BurnDriver BurnSpechoppmad = {
	"spec_hoppmad", NULL, "spec_spectrum", NULL, "1988",
	"Hopping Mad (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechoppmadRomInfo, SpechoppmadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Horace Goes Seal Culling (48K)

static struct BurnRomInfo SpechoracescRomDesc[] = {
	{ "Horace Goes Seal Culling (1997)(CSSCGC).z80", 0x0149d, 0xb5737afc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechoracesc, Spechoracesc, Spectrum)
STD_ROM_FN(Spechoracesc)

struct BurnDriver BurnSpechoracesc = {
	"spec_horacesc", NULL, "spec_spectrum", NULL, "1997",
	"Horace Goes Seal Culling (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechoracescRomInfo, SpechoracescRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Horace Goes Skiing (48K)

static struct BurnRomInfo SpechoraceskRomDesc[] = {
	{ "Horace Goes Skiing (1982)(Sinclair Research).z80", 0x0c01e, 0x02cd124b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechoracesk, Spechoracesk, Spectrum)
STD_ROM_FN(Spechoracesk)

struct BurnDriver BurnSpechoracesk = {
	"spec_horacesk", NULL, "spec_spectrum", NULL, "1982",
	"Horace Goes Skiing (48K)\0", NULL, "Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechoraceskRomInfo, SpechoraceskRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Horacio y las Aranas (Spanish) (48K)

static struct BurnRomInfo SpechoraaranRomDesc[] = {
	{ "Horacio y las Aranas (1982)(Investronica)(es)[aka Horace & the Spiders].z80", 0x0c01e, 0x7b80dcec, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechoraaran, Spechoraaran, Spectrum)
STD_ROM_FN(Spechoraaran)

struct BurnDriver BurnSpechoraaran = {
	"spec_horaaran", NULL, "spec_spectrum", NULL, "1982",
	"Horacio y las Aranas (Spanish) (48K)\0", NULL, "Investronica", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechoraaranRomInfo, SpechoraaranRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hormigas (Spanish) (48K)

static struct BurnRomInfo SpechormigasRomDesc[] = {
	{ "Hormigas (1983)(Microbyte)(es)[aka Ant Attack].z80", 0x0c01e, 0xab66e2e0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechormigas, Spechormigas, Spectrum)
STD_ROM_FN(Spechormigas)

struct BurnDriver BurnSpechormigas = {
	"spec_hormigas", NULL, "spec_spectrum", NULL, "1983",
	"Hormigas (Spanish) (48K)\0", NULL, "Microbyte", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechormigasRomInfo, SpechormigasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Horseplay (48K)

static struct BurnRomInfo SpechorseplaRomDesc[] = {
	{ "Horseplay (2002)(Naffsoft).z80", 0x01319, 0x7d289fda, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechorsepla, Spechorsepla, Spectrum)
STD_ROM_FN(Spechorsepla)

struct BurnDriver BurnSpechorsepla = {
	"spec_horsepla", NULL, "spec_spectrum", NULL, "2002",
	"Horseplay (48K)\0", NULL, "Naffsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechorseplaRomInfo, SpechorseplaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hospital, The (48K)

static struct BurnRomInfo SpechospitalRomDesc[] = {
	{ "Hospital, The (1994)(Zenobi Software).z80", 0x06692, 0x35ec66c9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechospital, Spechospital, Spectrum)
STD_ROM_FN(Spechospital)

struct BurnDriver BurnSpechospital = {
	"spec_hospital", NULL, "spec_spectrum", NULL, "1994",
	"Hospital, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechospitalRomInfo, SpechospitalRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hotch Potch (48K)

static struct BurnRomInfo SpechotcpotcRomDesc[] = {
	{ "Hotch Potch (1985)(Mastertronic).z80", 0x077bb, 0xc30ae1e0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechotcpotc, Spechotcpotc, Spectrum)
STD_ROM_FN(Spechotcpotc)

struct BurnDriver BurnSpechotcpotc = {
	"spec_hotcpotc", NULL, "spec_spectrum", NULL, "1985",
	"Hotch Potch (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechotcpotcRomInfo, SpechotcpotcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hot-Rod (48K)

static struct BurnRomInfo SpechotrodRomDesc[] = {
	{ "Hot-Rod (1990)(Activision).z80", 0x0769f, 0x11ee814f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechotrod, Spechotrod, Spectrum)
STD_ROM_FN(Spechotrod)

struct BurnDriver BurnSpechotrod = {
	"spec_hotrod", NULL, "spec_spectrum", NULL, "1990",
	"Hot-Rod (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechotrodRomInfo, SpechotrodRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hotshot (128K)

static struct BurnRomInfo SpechotshotRomDesc[] = {
	{ "Hotshot (1988)(Addictive Games)[128K].z80", 0x0973f, 0x46e7c1ac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechotshot, Spechotshot, Spectrum)
STD_ROM_FN(Spechotshot)

struct BurnDriver BurnSpechotshot = {
	"spec_hotshot", NULL, "spec_spec128", NULL, "1988",
	"Hotshot (128K)\0", NULL, "Addictive Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechotshotRomInfo, SpechotshotRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// House Jack Built, The (48K)

static struct BurnRomInfo SpechojabuthRomDesc[] = {
	{ "House Jack Built, The (1984)(Thor Computer Software).z80", 0x08da5, 0x94c3610d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechojabuth, Spechojabuth, Spectrum)
STD_ROM_FN(Spechojabuth)

struct BurnDriver BurnSpechojabuth = {
	"spec_hojabuth", NULL, "spec_spectrum", NULL, "1984",
	"House Jack Built, The (48K)\0", NULL, "Thor Computer Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechojabuthRomInfo, SpechojabuthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// House of Orion (48K)

static struct BurnRomInfo SpechousorioRomDesc[] = {
	{ "House of Orion (1984)(Dave Newton).z80", 0x098a8, 0x086419a2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechousorio, Spechousorio, Spectrum)
STD_ROM_FN(Spechousorio)

struct BurnDriver BurnSpechousorio = {
	"spec_housorio", NULL, "spec_spectrum", NULL, "1984",
	"House of Orion (48K)\0", NULL, "Dave Newton", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechousorioRomInfo, SpechousorioRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// House of Shadows, The (48K)

static struct BurnRomInfo SpechoushathRomDesc[] = {
	{ "House of Shadows, The (1983)(Shadow Software).z80", 0x0971a, 0xaf529cb7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechoushath, Spechoushath, Spectrum)
STD_ROM_FN(Spechoushath)

struct BurnDriver BurnSpechoushath = {
	"spec_houshath", NULL, "spec_spectrum", NULL, "1983",
	"House of Shadows, The (48K)\0", NULL, "Shadow Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechoushathRomInfo, SpechoushathRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// House of the Living Dead, The (48K)

static struct BurnRomInfo SpecholidethRomDesc[] = {
	{ "House of the Living Dead, The (1984)(Phipps Associates).z80", 0x05ab0, 0x73eab086, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specholideth, Specholideth, Spectrum)
STD_ROM_FN(Specholideth)

struct BurnDriver BurnSpecholideth = {
	"spec_holideth", NULL, "spec_spectrum", NULL, "1984",
	"House of the Living Dead, The (48K)\0", NULL, "Phipps Associates", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecholidethRomInfo, SpecholidethRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// House on Damned Hill, The (48K)

static struct BurnRomInfo SpechodahithRomDesc[] = {
	{ "House on Damned Hill, The (1984)(Century City Software).z80", 0x0a27b, 0x845bfbb1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechodahith, Spechodahith, Spectrum)
STD_ROM_FN(Spechodahith)

struct BurnDriver BurnSpechodahith = {
	"spec_hodahith", NULL, "spec_spectrum", NULL, "1984",
	"House on Damned Hill, The (48K)\0", NULL, "Century City Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechodahithRomInfo, SpechodahithRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// House on the Tor, The (Part 1 of 2) (48K)

static struct BurnRomInfo SpechotothpaRomDesc[] = {
	{ "House on the Tor, The (1990)(Zenobi Software)(Part 1 of 2).z80", 0x0986e, 0xb3d5fedd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechotothpa, Spechotothpa, Spectrum)
STD_ROM_FN(Spechotothpa)

struct BurnDriver BurnSpechotothpa = {
	"spec_hotothpa", NULL, "spec_spectrum", NULL, "1990",
	"House on the Tor, The (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechotothpaRomInfo, SpechotothpaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// House, The (48K)

static struct BurnRomInfo SpechoustheRomDesc[] = {
	{ "House, The (1994)(Zenobi Software).z80", 0x099bd, 0x0876f774, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechousthe, Spechousthe, Spectrum)
STD_ROM_FN(Spechousthe)

struct BurnDriver BurnSpechousthe = {
	"spec_housthe", NULL, "spec_spectrum", NULL, "1994",
	"House, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechoustheRomInfo, SpechoustheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hover Droid (48K)

static struct BurnRomInfo SpechovedroiRomDesc[] = {
	{ "Hover Droid (1987)(Stew Fordyce).z80", 0x08b8c, 0x7722d84b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechovedroi, Spechovedroi, Spectrum)
STD_ROM_FN(Spechovedroi)

struct BurnDriver BurnSpechovedroi = {
	"spec_hovedroi", NULL, "spec_spectrum", NULL, "1987",
	"Hover Droid (48K)\0", NULL, "Stew Fordyce", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechovedroiRomInfo, SpechovedroiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hoverkraft (German) (48K)

static struct BurnRomInfo SpechoverkraRomDesc[] = {
	{ "Hoverkraft (1985)(Andreas Zallmann Software)(de).z80", 0x01659, 0x53c39fbf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechoverkra, Spechoverkra, Spectrum)
STD_ROM_FN(Spechoverkra)

struct BurnDriver BurnSpechoverkra = {
	"spec_hoverkra", NULL, "spec_spectrum", NULL, "1985",
	"Hoverkraft (German) (48K)\0", NULL, "Andreas Zallmann Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechoverkraRomInfo, SpechoverkraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// How to be a Complete Bastard (48K)

static struct BurnRomInfo Spechowbast_48RomDesc[] = {
	{ "How to be a Complete Bastard (1987)(Virgin Games).z80", 0x0a37f, 0x559834ba, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechowbast_48, Spechowbast_48, Spectrum)
STD_ROM_FN(Spechowbast_48)

struct BurnDriver BurnSpechowbast_48 = {
	"spec_howbast_48", "spec_howbast", "spec_spectrum", NULL, "1987",
	"How to be a Complete Bastard (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechowbast_48RomInfo, Spechowbast_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// How to be a Complete Bastard (128K)

static struct BurnRomInfo SpechowbastRomDesc[] = {
	{ "How to be a Complete Bastard (1987)(Virgin Games)[128K].z80", 0x0e728, 0x7460da43, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechowbast, Spechowbast, Spectrum)
STD_ROM_FN(Spechowbast)

struct BurnDriver BurnSpechowbast = {
	"spec_howbast", NULL, "spec_spec128", NULL, "1987",
	"How to be a Complete Bastard (128K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechowbastRomInfo, SpechowbastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// How to be a Hero (48K)

static struct BurnRomInfo Spechowhero_48RomDesc[] = {
	{ "How to be a Hero (1987)(Mastertronic Added Dimension).z80", 0x07e1b, 0xbf8226b2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechowhero_48, Spechowhero_48, Spectrum)
STD_ROM_FN(Spechowhero_48)

struct BurnDriver BurnSpechowhero_48 = {
	"spec_howhero_48", "spec_howhero", "spec_spectrum", NULL, "1987",
	"How to be a Hero (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechowhero_48RomInfo, Spechowhero_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// How to be a Hero (128K)

static struct BurnRomInfo SpechowheroRomDesc[] = {
	{ "How to be a Hero (1987)(Mastertronic Added Dimension)[128K].z80", 0x082c6, 0x0405688b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechowhero, Spechowhero, Spectrum)
STD_ROM_FN(Spechowhero)

struct BurnDriver BurnSpechowhero = {
	"spec_howhero", NULL, "spec_spec128", NULL, "1987",
	"How to be a Hero (128K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechowheroRomInfo, SpechowheroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Howard the Duck (48K)

static struct BurnRomInfo SpechowaduckRomDesc[] = {
	{ "Howard the Duck (1987)(Activision).z80", 0x09df3, 0x6f09351c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechowaduck, Spechowaduck, Spectrum)
STD_ROM_FN(Spechowaduck)

struct BurnDriver BurnSpechowaduck = {
	"spec_howaduck", NULL, "spec_spectrum", NULL, "1987",
	"Howard the Duck (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechowaduckRomInfo, SpechowaduckRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Howzat (48K)

static struct BurnRomInfo SpechowzatRomDesc[] = {
	{ "Howzat (1984)(Wyvern Software).z80", 0x0723c, 0x33b6de10, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechowzat, Spechowzat, Spectrum)
STD_ROM_FN(Spechowzat)

struct BurnDriver BurnSpechowzat = {
	"spec_howzat", NULL, "spec_spectrum", NULL, "1984",
	"Howzat (48K)\0", NULL, "Wyvern Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechowzatRomInfo, SpechowzatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// HRH - Her Royal Highness (48K)

static struct BurnRomInfo SpechrhhrhRomDesc[] = {
	{ "HRH - Her Royal Highness (1986)(8th Day Software).z80", 0x0ab00, 0x777ce9e2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechrhhrh, Spechrhhrh, Spectrum)
STD_ROM_FN(Spechrhhrh)

struct BurnDriver BurnSpechrhhrh = {
	"spec_hrhhrh", NULL, "spec_spectrum", NULL, "1986",
	"HRH - Her Royal Highness (48K)\0", NULL, "8th Day Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechrhhrhRomInfo, SpechrhhrhRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// HRH - Her Royal Highness v2 (48K)

static struct BurnRomInfo Spechrhhrh2RomDesc[] = {
	{ "HRH - Her Royal Highness v2 (1986)(8th Day Software).z80", 0x0ac85, 0xb0030e0c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechrhhrh2, Spechrhhrh2, Spectrum)
STD_ROM_FN(Spechrhhrh2)

struct BurnDriver BurnSpechrhhrh2 = {
	"spec_hrhhrh2", NULL, "spec_spectrum", NULL, "1986",
	"HRH - Her Royal Highness v2 (48K)\0", NULL, "8th Day Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechrhhrh2RomInfo, Spechrhhrh2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hubert (48K)

static struct BurnRomInfo SpechubertRomDesc[] = {
	{ "Hubert (1984)(Blaby Computer Games).z80", 0x05610, 0x6fb370c5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechubert, Spechubert, Spectrum)
STD_ROM_FN(Spechubert)

struct BurnDriver BurnSpechubert = {
	"spec_hubert", NULL, "spec_spectrum", NULL, "1984",
	"Hubert (48K)\0", NULL, "Blaby Computer Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechubertRomInfo, SpechubertRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hudson Hawk (128K)

static struct BurnRomInfo SpechudshawkRomDesc[] = {
	{ "Hudson Hawk (1991)(Ocean)[128K].z80", 0x1b3e8, 0xf4da3ad0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechudshawk, Spechudshawk, Spectrum)
STD_ROM_FN(Spechudshawk)

struct BurnDriver BurnSpechudshawk = {
	"spec_hudshawk", NULL, "spec_spec128", NULL, "1991",
	"Hudson Hawk (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechudshawkRomInfo, SpechudshawkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Huida de Ciro, La (Spanish) (48K)

static struct BurnRomInfo SpechuicirlaRomDesc[] = {
	{ "Huida de Ciro, La (19xx)(EP Software)(es).z80", 0x09570, 0xd61aef3f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechuicirla, Spechuicirla, Spectrum)
STD_ROM_FN(Spechuicirla)

struct BurnDriver BurnSpechuicirla = {
	"spec_huicirla", NULL, "spec_spectrum", NULL, "19xx",
	"Huida de Ciro, La (Spanish) (48K)\0", NULL, "EP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechuicirlaRomInfo, SpechuicirlaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Human Killing Machine (128K)

static struct BurnRomInfo SpechmnkmRomDesc[] = {
	{ "Human Killing Machine (1988)(U.S. Gold)[128K].z80", 0x1669e, 0x053cf7a3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechmnkm, Spechmnkm, Spectrum)
STD_ROM_FN(Spechmnkm)

struct BurnDriver BurnSpechmnkm = {
	"spec_hmnkm", NULL, "spec_spec128", NULL, "1988",
	"Human Killing Machine (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechmnkmRomInfo, SpechmnkmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Human Killing Machine (48K)

static struct BurnRomInfo Spechmnkm_48RomDesc[] = {
	{ "Human Killing Machine (1988)(U.S. Gold)[incomplete].z80", 0x0639e, 0x89ed2277, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechmnkm_48, Spechmnkm_48, Spectrum)
STD_ROM_FN(Spechmnkm_48)

struct BurnDriver BurnSpechmnkm_48 = {
	"spec_hmnkm_48", "spec_hmnkm", "spec_spectrum", NULL, "1988",
	"Human Killing Machine (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechmnkm_48RomInfo, Spechmnkm_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hummer House of Horror (48K)

static struct BurnRomInfo SpechumhouhoRomDesc[] = {
	{ "Hummer House of Horror (1983)(Lasersound).z80", 0x093a9, 0xf41ff4a6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechumhouho, Spechumhouho, Spectrum)
STD_ROM_FN(Spechumhouho)

struct BurnDriver BurnSpechumhouho = {
	"spec_humhouho", NULL, "spec_spectrum", NULL, "1983",
	"Hummer House of Horror (48K)\0", NULL, "Lasersound", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechumhouhoRomInfo, SpechumhouhoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Humphrey (Spanish) (48K)

static struct BurnRomInfo SpechumphreyRomDesc[] = {
	{ "Humphrey (1988)(Zigurat Software)(es).z80", 0x09bb5, 0xf5e5ee9d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechumphrey, Spechumphrey, Spectrum)
STD_ROM_FN(Spechumphrey)

struct BurnDriver BurnSpechumphrey = {
	"spec_humphrey", NULL, "spec_spectrum", NULL, "1988",
	"Humphrey (Spanish) (48K)\0", NULL, "Zigurat Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechumphreyRomInfo, SpechumphreyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Humpty Dumpty (48K)

static struct BurnRomInfo SpechdumptyRomDesc[] = {
	{ "Humpty Dumpty (1984)(Firefly Software).z80", 0x06a9c, 0xb6189cf0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechdumpty, Spechdumpty, Spectrum)
STD_ROM_FN(Spechdumpty)

struct BurnDriver BurnSpechdumpty = {
	"spec_hdumpty", NULL, "spec_spectrum", NULL, "1984",
	"Humpty Dumpty (48K)\0", NULL, "Firefly Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechdumptyRomInfo, SpechdumptyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Humpty Dumpty in the Garden (48K)

static struct BurnRomInfo SpechdumpgRomDesc[] = {
	{ "Humpty Dumpty in the Garden (1984)(Artic Computing).z80", 0x075f7, 0xad12af24, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechdumpg, Spechdumpg, Spectrum)
STD_ROM_FN(Spechdumpg)

struct BurnDriver BurnSpechdumpg = {
	"spec_hdumpg", NULL, "spec_spectrum", NULL, "1984",
	"Humpty Dumpty in the Garden (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechdumpgRomInfo, SpechdumpgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Humpty Dumpty Meets the Fuzzie Wuzzies (48K)

static struct BurnRomInfo SpechdumpfwRomDesc[] = {
	{ "Humpty Dumpty Meets the Fuzzie Wuzzies (1984)(Artic Computing).z80", 0x082ad, 0x22b13b50, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechdumpfw, Spechdumpfw, Spectrum)
STD_ROM_FN(Spechdumpfw)

struct BurnDriver BurnSpechdumpfw = {
	"spec_hdumpfw", NULL, "spec_spectrum", NULL, "1984",
	"Humpty Dumpty Meets the Fuzzie Wuzzies (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechdumpfwRomInfo, SpechdumpfwRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Humpty Dumpty Mystery, The (48K)

static struct BurnRomInfo SpechdumpmRomDesc[] = {
	{ "Humpty Dumpty Mystery, The (1983)(Widgit Software).z80", 0x08e5c, 0x17a8eaa3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechdumpm, Spechdumpm, Spectrum)
STD_ROM_FN(Spechdumpm)

struct BurnDriver BurnSpechdumpm = {
	"spec_hdumpm", NULL, "spec_spectrum", NULL, "1983",
	"Humpty Dumpty Mystery, The (48K)\0", NULL, "Widgit Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechdumpmRomInfo, SpechdumpmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hunchback - The Adventure (Part 1 of 3) (48K)

static struct BurnRomInfo SpechunchbcaRomDesc[] = {
	{ "Hunchback - The Adventure (1986)(Ocean)(Part 1 of 3).z80", 0x09999, 0xd8f415fe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechunchbca, Spechunchbca, Spectrum)
STD_ROM_FN(Spechunchbca)

struct BurnDriver BurnSpechunchbca = {
	"spec_hunchbca", NULL, "spec_spectrum", NULL, "1986",
	"Hunchback - The Adventure (Part 1 of 3) (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechunchbcaRomInfo, SpechunchbcaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hunchback - The Adventure (Part 2 of 3) (48K)

static struct BurnRomInfo Spechunchbca2RomDesc[] = {
	{ "Hunchback - The Adventure (1986)(Ocean)(Part 2 of 3).z80", 0x09ede, 0x911f2205, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechunchbca2, Spechunchbca2, Spectrum)
STD_ROM_FN(Spechunchbca2)

struct BurnDriver BurnSpechunchbca2 = {
	"spec_hunchbca2", "spec_hunchbca", "spec_spectrum", NULL, "1986",
	"Hunchback - The Adventure (Part 2 of 3) (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechunchbca2RomInfo, Spechunchbca2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hunchback - The Adventure (Part 3 of 3) (48K)

static struct BurnRomInfo Spechunchbca3RomDesc[] = {
	{ "Hunchback - The Adventure (1986)(Ocean)(Part 3 of 3).z80", 0x0a7ed, 0x0e124dac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechunchbca3, Spechunchbca3, Spectrum)
STD_ROM_FN(Spechunchbca3)

struct BurnDriver BurnSpechunchbca3 = {
	"spec_hunchbca3", "spec_hunchbca", "spec_spectrum", NULL, "1986",
	"Hunchback - The Adventure (Part 3 of 3) (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechunchbca3RomInfo, Spechunchbca3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hunchback (48K)

static struct BurnRomInfo SpechunchbacRomDesc[] = {
	{ "Hunchback (1984)(Ocean).z80", 0x07c76, 0xa7dde347, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechunchbac, Spechunchbac, Spectrum)
STD_ROM_FN(Spechunchbac)

struct BurnDriver BurnSpechunchbac = {
	"spec_hunchbac", NULL, "spec_spectrum", NULL, "1984",
	"Hunchback (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechunchbacRomInfo, SpechunchbacRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hunchback 84 (48K)

static struct BurnRomInfo Spechnchbc84RomDesc[] = {
	{ "Hunchback 84 (1999)(CSSCGC).z80", 0x05bd3, 0x08224e0c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechnchbc84, Spechnchbc84, Spectrum)
STD_ROM_FN(Spechnchbc84)

struct BurnDriver BurnSpechnchbc84 = {
	"spec_hnchbc84", NULL, "spec_spectrum", NULL, "1999",
	"Hunchback 84 (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechnchbc84RomInfo, Spechnchbc84RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hunchback II - Quasimodo's Revenge (48K)

static struct BurnRomInfo Spechnchbac2RomDesc[] = {
	{ "Hunchback II - Quasimodo's Revenge (1985)(Ocean).z80", 0x09254, 0x36eb410c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechnchbac2, Spechnchbac2, Spectrum)
STD_ROM_FN(Spechnchbac2)

struct BurnDriver BurnSpechnchbac2 = {
	"spec_hnchbac2", NULL, "spec_spectrum", NULL, "1985",
	"Hunchback II - Quasimodo's Revenge (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechnchbac2RomInfo, Spechnchbac2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hunchy (48K)

static struct BurnRomInfo SpechunchyRomDesc[] = {
	{ "Hunchy (1983)(Mr. Micro).z80", 0x08a76, 0x7b8b12e2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechunchy, Spechunchy, Spectrum)
STD_ROM_FN(Spechunchy)

struct BurnDriver BurnSpechunchy = {
	"spec_hunchy", NULL, "spec_spectrum", NULL, "1983",
	"Hunchy (48K)\0", NULL, "Mr. Micro", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechunchyRomInfo, SpechunchyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hundra (Spanish) (48K)

static struct BurnRomInfo SpechundraesRomDesc[] = {
	{ "Hundra (1987)(Dinamic Software)(es).z80", 0x0c01e, 0xede6a487, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechundraes, Spechundraes, Spectrum)
STD_ROM_FN(Spechundraes)

struct BurnDriver BurnSpechundraes = {
	"spec_hundraes", NULL, "spec_spectrum", NULL, "1987",
	"Hundra (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechundraesRomInfo, SpechundraesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hundra (48K)

static struct BurnRomInfo SpechundraRomDesc[] = {
	{ "Hundra (1988)(Mastertronic)[re-release].z80", 0x0b069, 0xdd9fd45d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechundra, Spechundra, Spectrum)
STD_ROM_FN(Spechundra)

struct BurnDriver BurnSpechundra = {
	"spec_hundra", NULL, "spec_spectrum", NULL, "1988",
	"Hundra (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechundraRomInfo, SpechundraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hungry Horace (48K)

static struct BurnRomInfo SpechhoraceRomDesc[] = {
	{ "Hungry Horace (1982)(Sinclair Research).z80", 0x0c01e, 0x767e1be2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechhorace, Spechhorace, Spectrum)
STD_ROM_FN(Spechhorace)

struct BurnDriver BurnSpechhorace = {
	"spec_hhorace", NULL, "spec_spectrum", NULL, "1982",
	"Hungry Horace (48K)\0", NULL, "Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechhoraceRomInfo, SpechhoraceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hunt for Red October, The - Based on the Book (128K)

static struct BurnRomInfo SpechuntroctRomDesc[] = {
	{ "Hunt for Red October, The - Based on the Book (1988)(Grandslam Entertainments)[128K].z80", 0x0df9a, 0xf2f97e1d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechuntroct, Spechuntroct, Spectrum)
STD_ROM_FN(Spechuntroct)

struct BurnDriver BurnSpechuntroct = {
	"spec_huntroct", NULL, "spec_spec128", NULL, "1988",
	"Hunt for Red October, The - Based on the Book (128K)\0", NULL, "Grandslam Entertainments", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechuntroctRomInfo, SpechuntroctRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hunter (David Rushall) (48K)

static struct BurnRomInfo SpechunterdrRomDesc[] = {
	{ "Hunter (1984)(David Rushall).z80", 0x0560f, 0x89bd9893, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechunterdr, Spechunterdr, Spectrum)
STD_ROM_FN(Spechunterdr)

struct BurnDriver BurnSpechunterdr = {
	"spec_hunterdr", NULL, "spec_spectrum", NULL, "1984",
	"Hunter (David Rushall) (48K)\0", NULL, "David Rushall", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechunterdrRomInfo, SpechunterdrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hunter (Atlantis Software) (48K)

static struct BurnRomInfo SpechunterasRomDesc[] = {
	{ "Hunter (1991)(Atlantis Software).z80", 0x098bb, 0x4d2b38b4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechunteras, Spechunteras, Spectrum)
STD_ROM_FN(Spechunteras)

struct BurnDriver BurnSpechunteras = {
	"spec_hunteras", NULL, "spec_spectrum", NULL, "1991",
	"Hunter (Atlantis Software) (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechunterasRomInfo, SpechunterasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hunter II - Olympus-Mons (48K)

static struct BurnRomInfo Spechunter2RomDesc[] = {
	{ "Hunter II - Olympus-Mons (1985)(David Rushall).z80", 0x064a0, 0x0066e0a0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechunter2, Spechunter2, Spectrum)
STD_ROM_FN(Spechunter2)

struct BurnDriver BurnSpechunter2 = {
	"spec_hunter2", NULL, "spec_spectrum", NULL, "1985",
	"Hunter II - Olympus-Mons (48K)\0", NULL, "David Rushall", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechunter2RomInfo, Spechunter2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hunter III - The Final Straw (48K)

static struct BurnRomInfo Spechunter3RomDesc[] = {
	{ "Hunter III - The Final Straw (1986)(David Rushall).z80", 0x08b17, 0xc3c8cbcf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechunter3, Spechunter3, Spectrum)
STD_ROM_FN(Spechunter3)

struct BurnDriver BurnSpechunter3 = {
	"spec_hunter3", NULL, "spec_spectrum", NULL, "1986",
	"Hunter III - The Final Straw (48K)\0", NULL, "David Rushall", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechunter3RomInfo, Spechunter3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hunter-Killer (48K)

static struct BurnRomInfo SpechuntkillRomDesc[] = {
	{ "Hunter-Killer (1983)(Protek Computing).z80", 0x072c2, 0x0a7eeba3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechuntkill, Spechuntkill, Spectrum)
STD_ROM_FN(Spechuntkill)

struct BurnDriver BurnSpechuntkill = {
	"spec_huntkill", NULL, "spec_spectrum", NULL, "1983",
	"Hunter-Killer (48K)\0", NULL, "Protek Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechuntkillRomInfo, SpechuntkillRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hustler Plays Pool, The (48K)

static struct BurnRomInfo SpechuplpothRomDesc[] = {
	{ "Hustler Plays Pool, The (1983)(Omega Software).z80", 0x089b1, 0x8078693a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechuplpoth, Spechuplpoth, Spectrum)
STD_ROM_FN(Spechuplpoth)

struct BurnDriver BurnSpechuplpoth = {
	"spec_huplpoth", NULL, "spec_spectrum", NULL, "1983",
	"Hustler Plays Pool, The (48K)\0", NULL, "Omega Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechuplpothRomInfo, SpechuplpothRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Huxley Pig (Part 1 of 2) (48K)

static struct BurnRomInfo Spechuxpig_48RomDesc[] = {
	{ "Huxley Pig (1991)(Alternative Software)(Part 1 of 2).z80", 0x09e44, 0xa147b973, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechuxpig_48, Spechuxpig_48, Spectrum)
STD_ROM_FN(Spechuxpig_48)

struct BurnDriver BurnSpechuxpig_48 = {
	"spec_huxpig_48", "spec_huxpig", "spec_spectrum", NULL, "1991",
	"Huxley Pig (Part 1 of 2) (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechuxpig_48RomInfo, Spechuxpig_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Huxley Pig (Part 1 of 2) (128K)

static struct BurnRomInfo SpechuxpigRomDesc[] = {
	{ "Huxley Pig (1991)(Alternative Software)(Part 1 of 2)[128K].z80", 0x0a3e7, 0xbedcea69, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechuxpig, Spechuxpig, Spectrum)
STD_ROM_FN(Spechuxpig)

struct BurnDriver BurnSpechuxpig = {
	"spec_huxpig", NULL, "spec_spec128", NULL, "1991",
	"Huxley Pig (Part 1 of 2) (128K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechuxpigRomInfo, SpechuxpigRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Huxley Pig (Part 2 of 2) (48K)

static struct BurnRomInfo Spechuxpig2_48RomDesc[] = {
	{ "Huxley Pig (1991)(Alternative Software)(Part 2 of 2).z80", 0x05926, 0x1f5d3a08, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechuxpig2_48, Spechuxpig2_48, Spectrum)
STD_ROM_FN(Spechuxpig2_48)

struct BurnDriver BurnSpechuxpig2_48 = {
	"spec_huxpig2_48", "spec_huxpig", "spec_spectrum", NULL, "1991",
	"Huxley Pig (Part 2 of 2) (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechuxpig2_48RomInfo, Spechuxpig2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hydrofool (48K)

static struct BurnRomInfo Spechydrofoo_48RomDesc[] = {
	{ "Hydrofool (1987)(Faster Than Light).z80", 0x08c36, 0x3b177aca, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechydrofoo_48, Spechydrofoo_48, Spectrum)
STD_ROM_FN(Spechydrofoo_48)

struct BurnDriver BurnSpechydrofoo_48 = {
	"spec_hydrofoo_48", "spec_hydrofoo", "spec_spectrum", NULL, "1987",
	"Hydrofool (48K)\0", NULL, "Faster Than Light", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechydrofoo_48RomInfo, Spechydrofoo_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hydrofool (128K)

static struct BurnRomInfo SpechydrofooRomDesc[] = {
	{ "Hydrofool (1987)(Faster Than Light)[128K].z80", 0x0a176, 0x4bb528aa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechydrofoo, Spechydrofoo, Spectrum)
STD_ROM_FN(Spechydrofoo)

struct BurnDriver BurnSpechydrofoo = {
	"spec_hydrofoo", NULL, "spec_spec128", NULL, "1987",
	"Hydrofool (128K)\0", NULL, "Faster Than Light", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechydrofooRomInfo, SpechydrofooRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hypa Raid (48K)

static struct BurnRomInfo SpechyparaidRomDesc[] = {
	{ "Hypa Raid (1986)(Atlantis Software).z80", 0x0a426, 0x431fe5fe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechyparaid, Spechyparaid, Spectrum)
STD_ROM_FN(Spechyparaid)

struct BurnDriver BurnSpechyparaid = {
	"spec_hyparaid", NULL, "spec_spectrum", NULL, "1986",
	"Hypa Raid (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechyparaidRomInfo, SpechyparaidRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hypaball (48K)

static struct BurnRomInfo SpechypaballRomDesc[] = {
	{ "Hypaball (1986)(Odin Computer Graphics).z80", 0x07f93, 0x7a0fcd55, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechypaball, Spechypaball, Spectrum)
STD_ROM_FN(Spechypaball)

struct BurnDriver BurnSpechypaball = {
	"spec_hypaball", NULL, "spec_spectrum", NULL, "1986",
	"Hypaball (48K)\0", NULL, "Odin Computer Graphics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechypaballRomInfo, SpechypaballRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hyperaction (48K)

static struct BurnRomInfo SpechyperactRomDesc[] = {
	{ "Hyperaction (1984)(Silversoft).z80", 0x0582d, 0x67ee560c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechyperact, Spechyperact, Spectrum)
STD_ROM_FN(Spechyperact)

struct BurnDriver BurnSpechyperact = {
	"spec_hyperact", NULL, "spec_spectrum", NULL, "1984",
	"Hyperaction (48K)\0", NULL, "Silversoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechyperactRomInfo, SpechyperactRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hyperaction (alt) (48K)

static struct BurnRomInfo SpechyperactaRomDesc[] = {
	{ "Hyperaction (1984)(Silversoft)[different font].z80", 0x05484, 0x6e0e9219, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechyperacta, Spechyperacta, Spectrum)
STD_ROM_FN(Spechyperacta)

struct BurnDriver BurnSpechyperacta = {
	"spec_hyperacta", "spec_hyperact", "spec_spectrum", NULL, "1984",
	"Hyperaction (alt) (48K)\0", NULL, "Silversoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechyperactaRomInfo, SpechyperactaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hyperblaster (48K)

static struct BurnRomInfo SpechyperblaRomDesc[] = {
	{ "Hyperblaster (1984)(MC Lothlorien).z80", 0x080d0, 0x9f0c2862, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechyperbla, Spechyperbla, Spectrum)
STD_ROM_FN(Spechyperbla)

struct BurnDriver BurnSpechyperbla = {
	"spec_hyperbla", NULL, "spec_spectrum", NULL, "1984",
	"Hyperblaster (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechyperblaRomInfo, SpechyperblaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hyperbowl (48K)

static struct BurnRomInfo SpechyperbowRomDesc[] = {
	{ "Hyperbowl (1986)(Mastertronic).z80", 0x06c19, 0x2a2212db, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechyperbow, Spechyperbow, Spectrum)
STD_ROM_FN(Spechyperbow)

struct BurnDriver BurnSpechyperbow = {
	"spec_hyperbow", NULL, "spec_spectrum", NULL, "1986",
	"Hyperbowl (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechyperbowRomInfo, SpechyperbowRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hypertron (48K)

static struct BurnRomInfo SpechypertroRomDesc[] = {
	{ "Hypertron (1987)(Scorpio Gamesworld).z80", 0x06b0c, 0x6329fbdc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechypertro, Spechypertro, Spectrum)
STD_ROM_FN(Spechypertro)

struct BurnDriver BurnSpechypertro = {
	"spec_hypertro", NULL, "spec_spectrum", NULL, "1987",
	"Hypertron (48K)\0", NULL, "Scorpio Gamesworld", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechypertroRomInfo, SpechypertroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hypsys (Part 1 of 2) (48K)

static struct BurnRomInfo SpechypsysRomDesc[] = {
	{ "Hypsys (1989)(Techno Arts)(Part 1 of 2).z80", 0x0a053, 0xf4db1da5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechypsys, Spechypsys, Spectrum)
STD_ROM_FN(Spechypsys)

struct BurnDriver BurnSpechypsys = {
	"spec_hypsys", NULL, "spec_spectrum", NULL, "1989",
	"Hypsys (Part 1 of 2) (48K)\0", NULL, "Techno Arts", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechypsysRomInfo, SpechypsysRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hypsys (Part 2 of 2) (48K)

static struct BurnRomInfo Spechypsys2RomDesc[] = {
	{ "Hypsys (1989)(Techno Arts)(Part 2 of 2).z80", 0x09b8e, 0x323610c1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechypsys2, Spechypsys2, Spectrum)
STD_ROM_FN(Spechypsys2)

struct BurnDriver BurnSpechypsys2 = {
	"spec_hypsys2", "spec_hypsys", "spec_spectrum", NULL, "1989",
	"Hypsys (Part 2 of 2) (48K)\0", NULL, "Techno Arts", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spechypsys2RomInfo, Spechypsys2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hysteria - Thalbert Dock Mix (48K)

static struct BurnRomInfo SpechythdomiRomDesc[] = {
	{ "Hysteria - Thalbert Dock Mix (1987)(Software Projects).z80", 0x0abbe, 0x02fc6f5e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechythdomi, Spechythdomi, Spectrum)
STD_ROM_FN(Spechythdomi)

struct BurnDriver BurnSpechythdomi = {
	"spec_hythdomi", NULL, "spec_spectrum", NULL, "1987",
	"Hysteria - Thalbert Dock Mix (48K)\0", NULL, "Software Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechythdomiRomInfo, SpechythdomiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Hysteria (48K)

static struct BurnRomInfo SpechysteriaRomDesc[] = {
	{ "Hysteria (1987)(Software Projects).z80", 0x0a202, 0x31c1fb36, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spechysteria, Spechysteria, Spectrum)
STD_ROM_FN(Spechysteria)

struct BurnDriver BurnSpechysteria = {
	"spec_hysteria", NULL, "spec_spectrum", NULL, "1987",
	"Hysteria (48K)\0", NULL, "Software Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpechysteriaRomInfo, SpechysteriaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// I of the Mask (48K)

static struct BurnRomInfo SpecioftmaskRomDesc[] = {
	{ "I of the Mask (1985)(Electric Dreams Software).z80", 0x08cd0, 0xd0e8da06, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specioftmask, Specioftmask, Spectrum)
STD_ROM_FN(Specioftmask)

struct BurnDriver BurnSpecioftmask = {
	"spec_ioftmask", NULL, "spec_spectrum", NULL, "1985",
	"I of the Mask (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecioftmaskRomInfo, SpecioftmaskRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// I, Ball (48K)

static struct BurnRomInfo SpeciballRomDesc[] = {
	{ "I, Ball (1987)(Firebird Software).z80", 0x0a9d9, 0x975fb546, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speciball, Speciball, Spectrum)
STD_ROM_FN(Speciball)

struct BurnDriver BurnSpeciball = {
	"spec_iball", NULL, "spec_spectrum", NULL, "1987",
	"I, Ball (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeciballRomInfo, SpeciballRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// I, Ball II - Quest for the Past (48K)

static struct BurnRomInfo Speciball2RomDesc[] = {
	{ "I, Ball II - Quest for the Past (1987)(Firebird Software).z80", 0x09b7e, 0xc0ce2e80, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speciball2, Speciball2, Spectrum)
STD_ROM_FN(Speciball2)

struct BurnDriver BurnSpeciball2 = {
	"spec_iball2", NULL, "spec_spectrum", NULL, "1987",
	"I, Ball II - Quest for the Past (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speciball2RomInfo, Speciball2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// I.C.U.P.S. (48K)

static struct BurnRomInfo SpecicupsRomDesc[] = {
	{ "I.C.U.P.S. (1985)(Thor Computer Software).z80", 0x09c9f, 0x52ce63f1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specicups, Specicups, Spectrum)
STD_ROM_FN(Specicups)

struct BurnDriver BurnSpecicups = {
	"spec_icups", NULL, "spec_spectrum", NULL, "1985",
	"I.C.U.P.S. (48K)\0", NULL, "Thor Computer Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecicupsRomInfo, SpecicupsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ian Botham's Test Match (48K)

static struct BurnRomInfo SpecianbothtRomDesc[] = {
	{ "Ian Botham's Test Match (1985)(Tynesoft).z80", 0x046f5, 0x17b4cf58, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specianbotht, Specianbotht, Spectrum)
STD_ROM_FN(Specianbotht)

struct BurnDriver BurnSpecianbotht = {
	"spec_ianbotht", NULL, "spec_spectrum", NULL, "1985",
	"Ian Botham's Test Match (48K)\0", NULL, "Tynesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecianbothtRomInfo, SpecianbothtRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ian's Night Out (48K)

static struct BurnRomInfo SpeciannigouRomDesc[] = {
	{ "Ian's Night Out (19xx)(Software Projects).z80", 0x05174, 0x323329f5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speciannigou, Speciannigou, Spectrum)
STD_ROM_FN(Speciannigou)

struct BurnDriver BurnSpeciannigou = {
	"spec_iannigou", NULL, "spec_spectrum", NULL, "19xx",
	"Ian's Night Out (48K)\0", NULL, "Software Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeciannigouRomInfo, SpeciannigouRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ice Attack (48K)

static struct BurnRomInfo SpeciceattacRomDesc[] = {
	{ "Ice Attack (1986)(K'Soft).z80", 0x01d51, 0xbb283bf9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speciceattac, Speciceattac, Spectrum)
STD_ROM_FN(Speciceattac)

struct BurnDriver BurnSpeciceattac = {
	"spec_iceattac", NULL, "spec_spectrum", NULL, "1986",
	"Ice Attack (48K)\0", NULL, "K'Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeciceattacRomInfo, SpeciceattacRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ice Station Zero (48K)

static struct BurnRomInfo SpecicestazeRomDesc[] = {
	{ "Ice Station Zero (1985)(8th Day Software).z80", 0x08c1a, 0xa101a79e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specicestaze, Specicestaze, Spectrum)
STD_ROM_FN(Specicestaze)

struct BurnDriver BurnSpecicestaze = {
	"spec_icestaze", NULL, "spec_spectrum", NULL, "1985",
	"Ice Station Zero (48K)\0", NULL, "8th Day Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecicestazeRomInfo, SpecicestazeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ice Station Zero v3 (48K)

static struct BurnRomInfo Specicestaz3RomDesc[] = {
	{ "Ice Station Zero v3 (1985)(8th Day Software).z80", 0x0abb6, 0x354f8387, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specicestaz3, Specicestaz3, Spectrum)
STD_ROM_FN(Specicestaz3)

struct BurnDriver BurnSpecicestaz3 = {
	"spec_icestaz3", NULL, "spec_spectrum", NULL, "1985",
	"Ice Station Zero v3 (48K)\0", NULL, "8th Day Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specicestaz3RomInfo, Specicestaz3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ice Temple, The (48K)

static struct BurnRomInfo SpecicetempRomDesc[] = {
	{ "Ice Temple, The (1986)(Bubblebus Software).z80", 0x09982, 0x88f884f7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specicetemp, Specicetemp, Spectrum)
STD_ROM_FN(Specicetemp)

struct BurnDriver BurnSpecicetemp = {
	"spec_icetemp", NULL, "spec_spectrum", NULL, "1986",
	"Ice Temple, The (48K)\0", NULL, "Bubblebus Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecicetempRomInfo, SpecicetempRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ice-Breaker (Spanish) (48K)

static struct BurnRomInfo SpecicebreakRomDesc[] = {
	{ "Ice-Breaker (1990)(Topo Soft)(es)[cr][needs tape load].z80", 0x0ada1, 0x8ab5d698, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specicebreak, Specicebreak, Spectrum)
STD_ROM_FN(Specicebreak)

struct BurnDriver BurnSpecicebreak = {
	"spec_icebreak", NULL, "spec_spectrum", NULL, "1990",
	"Ice-Breaker (Spanish) (48K)\0", NULL, "Topo Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecicebreakRomInfo, SpecicebreakRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Icicle Works (48K)

static struct BurnRomInfo SpecicicworkRomDesc[] = {
	{ "Icicle Works (1985)(Statesoft).z80", 0x096a0, 0xa793dd9e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specicicwork, Specicicwork, Spectrum)
STD_ROM_FN(Specicicwork)

struct BurnDriver BurnSpecicicwork = {
	"spec_icicwork", NULL, "spec_spectrum", NULL, "1985",
	"Icicle Works (48K)\0", NULL, "Statesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecicicworkRomInfo, SpecicicworkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// ID (48K)

static struct BurnRomInfo SpecidRomDesc[] = {
	{ "ID (1986)(CRL Group).z80", 0x08074, 0x0a4da186, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specid, Specid, Spectrum)
STD_ROM_FN(Specid)

struct BurnDriver BurnSpecid = {
	"spec_id", NULL, "spec_spectrum", NULL, "1986",
	"ID (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecidRomInfo, SpecidRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Idiliar (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecidiliarRomDesc[] = {
	{ "Idiliar (1991)(Grupo Creators Union)(es)(Part 1 of 2).z80", 0x09b0f, 0xd0d4bfa8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specidiliar, Specidiliar, Spectrum)
STD_ROM_FN(Specidiliar)

struct BurnDriver BurnSpecidiliar = {
	"spec_idiliar", NULL, "spec_spectrum", NULL, "1991",
	"Idiliar (Spanish) (Part 1 of 2) (48K)\0", NULL, "Grupo Creators Union", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecidiliarRomInfo, SpecidiliarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Idiliar (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specidiliar2RomDesc[] = {
	{ "Idiliar (1991)(Grupo Creators Union)(es)(Part 2 of 2).z80", 0x09cd6, 0xadc584d6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specidiliar2, Specidiliar2, Spectrum)
STD_ROM_FN(Specidiliar2)

struct BurnDriver BurnSpecidiliar2 = {
	"spec_idiliar2", "spec_idiliar", "spec_spectrum", NULL, "1991",
	"Idiliar (Spanish) (Part 2 of 2) (48K)\0", NULL, "Grupo Creators Union", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specidiliar2RomInfo, Specidiliar2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ikari Warriors (48K)

static struct BurnRomInfo SpecikarwarrRomDesc[] = {
	{ "Ikari Warriors (1988)(Elite Systems).z80", 0x09f91, 0x1900d14f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specikarwarr, Specikarwarr, Spectrum)
STD_ROM_FN(Specikarwarr)

struct BurnDriver BurnSpecikarwarr = {
	"spec_ikarwarr", NULL, "spec_spectrum", NULL, "1988",
	"Ikari Warriors (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecikarwarrRomInfo, SpecikarwarrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ikaros (German) (48K)

static struct BurnRomInfo SpecikarosdeRomDesc[] = {
	{ "Ikaros (19xx)(Theodore Blitsas)(de).z80", 0x01304, 0xf55e561c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specikarosde, Specikarosde, Spectrum)
STD_ROM_FN(Specikarosde)

struct BurnDriver BurnSpecikarosde = {
	"spec_ikarosde", NULL, "spec_spectrum", NULL, "19xx",
	"Ikaros (German) (48K)\0", NULL, "Theodore Blitsas", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecikarosdeRomInfo, SpecikarosdeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ile Maudite, L' - Intro (fr) (48K)

static struct BurnRomInfo SpecilemaudRomDesc[] = {
	{ "Ile Maudite, L' - Intro (1984)(Loriciels)(fr).z80", 0x01333, 0x3c3d7fde, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specilemaud, Specilemaud, Spectrum)
STD_ROM_FN(Specilemaud)

struct BurnDriver BurnSpecilemaud = {
	"spec_ilemaud", NULL, "spec_spectrum", NULL, "1984",
	"Ile Maudite, L' - Intro (fr) (48K)\0", NULL, "Loriciels", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecilemaudRomInfo, SpecilemaudRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ile Maudite, L' (fr) (48K)

static struct BurnRomInfo SpecilemaudgRomDesc[] = {
	{ "Ile Maudite, L' (1984)(Loriciels)(fr).z80", 0x09f10, 0x20a03941, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specilemaudg, Specilemaudg, Spectrum)
STD_ROM_FN(Specilemaudg)

struct BurnDriver BurnSpecilemaudg = {
	"spec_ilemaudg", "spec_ilemaud", "spec_spectrum", NULL, "1984",
	"Ile Maudite, L' (fr) (48K)\0", NULL, "Loriciels", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecilemaudgRomInfo, SpecilemaudgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Illustrator, The VA00 (48K)

static struct BurnRomInfo Specilthva00RomDesc[] = {
	{ "Illustrator, The VA00 (1984)(Gilsoft International).z80", 0x0385b, 0x770b654a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specilthva00, Specilthva00, Spectrum)
STD_ROM_FN(Specilthva00)

struct BurnDriver BurnSpecilthva00 = {
	"spec_ilthva00", NULL, "spec_spectrum", NULL, "1984",
	"Illustrator, The VA00 (48K)\0", NULL, "Gilsoft International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specilthva00RomInfo, Specilthva00RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Imagination (48K)

static struct BurnRomInfo SpecimaginatRomDesc[] = {
	{ "Imagination (1987)(Firebird Software).z80", 0x0ac00, 0xf58d824f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specimaginat, Specimaginat, Spectrum)
STD_ROM_FN(Specimaginat)

struct BurnDriver BurnSpecimaginat = {
	"spec_imaginat", NULL, "spec_spectrum", NULL, "1987",
	"Imagination (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecimaginatRomInfo, SpecimaginatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Imagine Puzzle (48K)

static struct BurnRomInfo SpecimagpuzzRomDesc[] = {
	{ "Imagine Puzzle (1995)(Vaxalon).z80", 0x02423, 0x0df0a252, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specimagpuzz, Specimagpuzz, Spectrum)
STD_ROM_FN(Specimagpuzz)

struct BurnDriver BurnSpecimagpuzz = {
	"spec_imagpuzz", NULL, "spec_spectrum", NULL, "1995",
	"Imagine Puzzle (48K)\0", NULL, "Vaxalon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecimagpuzzRomInfo, SpecimagpuzzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Immortality Rules OK (48K)

static struct BurnRomInfo SpecimruokRomDesc[] = {
	{ "Immortality Rules OK (1987)(Deltoid Developments).z80", 0x0a4fd, 0xecc15fbb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specimruok, Specimruok, Spectrum)
STD_ROM_FN(Specimruok)

struct BurnDriver BurnSpecimruok = {
	"spec_imruok", NULL, "spec_spectrum", NULL, "1987",
	"Immortality Rules OK (48K)\0", NULL, "Deltoid Developments", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecimruokRomInfo, SpecimruokRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Impact (48K)

static struct BurnRomInfo SpecimpactzRomDesc[] = {
	{ "Impact (1992)(Zenobi Software).z80", 0x08f12, 0x5a962d60, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specimpactz, Specimpactz, Spectrum)
STD_ROM_FN(Specimpactz)

struct BurnDriver BurnSpecimpactz = {
	"spec_impactz", NULL, "spec_spectrum", NULL, "1992",
	"Impact (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecimpactzRomInfo, SpecimpactzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Impact! (48K)

static struct BurnRomInfo SpecimpactaRomDesc[] = {
	{ "Impact! (1988)(Audiogenic Software).z80", 0x07524, 0xb3232ebb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specimpacta, Specimpacta, Spectrum)
STD_ROM_FN(Specimpacta)

struct BurnDriver BurnSpecimpacta = {
	"spec_impacta", NULL, "spec_spectrum", NULL, "1988",
	"Impact! (48K)\0", NULL, "Audiogenic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecimpactaRomInfo, SpecimpactaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Imperator (Russian) (48K)

static struct BurnRomInfo SpecimperatoRomDesc[] = {
	{ "Imperator (1990)(Victory Computing)(ru).z80", 0x084e0, 0x54c02780, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specimperato, Specimperato, Spectrum)
STD_ROM_FN(Specimperato)

struct BurnDriver BurnSpecimperato = {
	"spec_imperato", NULL, "spec_spectrum", NULL, "1990",
	"Imperator (Russian) (48K)\0", NULL, "Victory Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecimperatoRomInfo, SpecimperatoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Implosion (48K)

static struct BurnRomInfo Specimplosio_48RomDesc[] = {
	{ "Implosion (1987)(Cascade Games).z80", 0x09454, 0x50970b63, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specimplosio_48, Specimplosio_48, Spectrum)
STD_ROM_FN(Specimplosio_48)

struct BurnDriver BurnSpecimplosio_48 = {
	"spec_implosio_48", "spec_implosio", "spec_spectrum", NULL, "1987",
	"Implosion (48K)\0", NULL, "Cascade Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specimplosio_48RomInfo, Specimplosio_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Implosion (128K)

static struct BurnRomInfo SpecimplosioRomDesc[] = {
	{ "Implosion (1987)(Cascade Games)[128K].z80", 0x073a0, 0x8c52dfbb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specimplosio, Specimplosio, Spectrum)
STD_ROM_FN(Specimplosio)

struct BurnDriver BurnSpecimplosio = {
	"spec_implosio", NULL, "spec_spec128", NULL, "1987",
	"Implosion (128K)\0", NULL, "Cascade Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecimplosioRomInfo, SpecimplosioRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Impossaball (48K)

static struct BurnRomInfo SpecimpossabRomDesc[] = {
	{ "Impossaball (1987)(Hewson Consultants).z80", 0x0a69f, 0x96bad912, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specimpossab, Specimpossab, Spectrum)
STD_ROM_FN(Specimpossab)

struct BurnDriver BurnSpecimpossab = {
	"spec_impossab", NULL, "spec_spectrum", NULL, "1987",
	"Impossaball (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecimpossabRomInfo, SpecimpossabRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Impossamole - Part 1 - Klondike (48K)

static struct BurnRomInfo SpecimpsmoleRomDesc[] = {
	{ "Impossamole - Part 1 - Klondike (1990)(Gremlin Graphics Software).z80", 0x09233, 0x4cb066ee, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specimpsmole, Specimpsmole, Spectrum)
STD_ROM_FN(Specimpsmole)

struct BurnDriver BurnSpecimpsmole = {
	"spec_impsmole", NULL, "spec_spectrum", NULL, "1990",
	"Impossamole - Part 1 - Klondike (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecimpsmoleRomInfo, SpecimpsmoleRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Impossamole - Part 2 - Orient (48K)

static struct BurnRomInfo Specimpsmole2RomDesc[] = {
	{ "Impossamole - Part 2 - Orient (1990)(Gremlin Graphics Software).z80", 0x08ff1, 0x0367ed7d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specimpsmole2, Specimpsmole2, Spectrum)
STD_ROM_FN(Specimpsmole2)

struct BurnDriver BurnSpecimpsmole2 = {
	"spec_impsmole2", "spec_impsmole", "spec_spectrum", NULL, "1990",
	"Impossamole - Part 2 - Orient (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specimpsmole2RomInfo, Specimpsmole2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Impossamole - Part 3 - Amazon (48K)

static struct BurnRomInfo Specimpsmole3RomDesc[] = {
	{ "Impossamole - Part 3 - Amazon (1990)(Gremlin Graphics Software).z80", 0x08f24, 0xc2b01e78, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specimpsmole3, Specimpsmole3, Spectrum)
STD_ROM_FN(Specimpsmole3)

struct BurnDriver BurnSpecimpsmole3 = {
	"spec_impsmole3", "spec_impsmole", "spec_spectrum", NULL, "1990",
	"Impossamole - Part 3 - Amazon (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specimpsmole3RomInfo, Specimpsmole3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Impossamole - Part 4 - Iceland (48K)

static struct BurnRomInfo Specimpsmole4RomDesc[] = {
	{ "Impossamole - Part 4 - Iceland (1990)(Gremlin Graphics Software).z80", 0x08f89, 0xfb397b69, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specimpsmole4, Specimpsmole4, Spectrum)
STD_ROM_FN(Specimpsmole4)

struct BurnDriver BurnSpecimpsmole4 = {
	"spec_impsmole4", "spec_impsmole", "spec_spectrum", NULL, "1990",
	"Impossamole - Part 4 - Iceland (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specimpsmole4RomInfo, Specimpsmole4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Impossible Mission (48K)

static struct BurnRomInfo SpecimpmssnRomDesc[] = {
	{ "Impossible Mission (1985)(U.S. Gold).z80", 0x08f59, 0x94d1251d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specimpmssn, Specimpmssn, Spectrum)
STD_ROM_FN(Specimpmssn)

struct BurnDriver BurnSpecimpmssn = {
	"spec_impmssn", NULL, "spec_spectrum", NULL, "1985",
	"Impossible Mission (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecimpmssnRomInfo, SpecimpmssnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Impossible Mission II (48K)

static struct BurnRomInfo Specimpmssn2RomDesc[] = {
	{ "Impossible Mission II (1988)(U.S. Gold).z80", 0x0ace0, 0xea95490a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specimpmssn2, Specimpmssn2, Spectrum)
STD_ROM_FN(Specimpmssn2)

struct BurnDriver BurnSpecimpmssn2 = {
	"spec_impmssn2", NULL, "spec_spectrum", NULL, "1988",
	"Impossible Mission II (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specimpmssn2RomInfo, Specimpmssn2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Impulse (48K)

static struct BurnRomInfo SpecimpulseRomDesc[] = {
	{ "Impulse (1983)(-).z80", 0x036ec, 0x637f8053, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specimpulse, Specimpulse, Spectrum)
STD_ROM_FN(Specimpulse)

struct BurnDriver BurnSpecimpulse = {
	"spec_impulse", NULL, "spec_spectrum", NULL, "1983",
	"Impulse (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecimpulseRomInfo, SpecimpulseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// In Search of Angels (48K)

static struct BurnRomInfo SpecinsrchanRomDesc[] = {
	{ "In Search of Angels (1985)(8th Day Software).z80", 0x08b67, 0x52a27363, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinsrchan, Specinsrchan, Spectrum)
STD_ROM_FN(Specinsrchan)

struct BurnDriver BurnSpecinsrchan = {
	"spec_insrchan", NULL, "spec_spectrum", NULL, "1985",
	"In Search of Angels (48K)\0", NULL, "8th Day Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecinsrchanRomInfo, SpecinsrchanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// In Search of Angels v2 (48K)

static struct BurnRomInfo Specinsrcha2RomDesc[] = {
	{ "In Search of Angels v2 (1985)(8th Day Software).z80", 0x0a3ab, 0xdc27f663, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinsrcha2, Specinsrcha2, Spectrum)
STD_ROM_FN(Specinsrcha2)

struct BurnDriver BurnSpecinsrcha2 = {
	"spec_insrcha2", NULL, "spec_spectrum", NULL, "1985",
	"In Search of Angels v2 (48K)\0", NULL, "8th Day Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specinsrcha2RomInfo, Specinsrcha2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Incredible Adventure (48K)

static struct BurnRomInfo SpecincradveRomDesc[] = {
	{ "Incredible Adventure (1984)(CRL Group).z80", 0x09bdc, 0xe1adab62, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specincradve, Specincradve, Spectrum)
STD_ROM_FN(Specincradve)

struct BurnDriver BurnSpecincradve = {
	"spec_incradve", NULL, "spec_spectrum", NULL, "1984",
	"Incredible Adventure (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecincradveRomInfo, SpecincradveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Incredible Shrinking Fireman, The (48K)

static struct BurnRomInfo SpecincshrfRomDesc[] = {
	{ "Incredible Shrinking Fireman, The (1986)(Mastertronic).z80", 0x08d68, 0x7061d0e3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specincshrf, Specincshrf, Spectrum)
STD_ROM_FN(Specincshrf)

struct BurnDriver BurnSpecincshrf = {
	"spec_incshrf", NULL, "spec_spectrum", NULL, "1986",
	"Incredible Shrinking Fireman, The (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecincshrfRomInfo, SpecincshrfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Incredible Shrinking Sphere (48K)

static struct BurnRomInfo Specincshrsp_48RomDesc[] = {
	{ "Incredible Shrinking Sphere (1989)(Electric Dreams Software).z80", 0x08378, 0x0aaadbfd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specincshrsp_48, Specincshrsp_48, Spectrum)
STD_ROM_FN(Specincshrsp_48)

struct BurnDriver BurnSpecincshrsp_48 = {
	"spec_incshrsp_48", "spec_incshrsp", "spec_spectrum", NULL, "1989",
	"Incredible Shrinking Sphere (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specincshrsp_48RomInfo, Specincshrsp_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Incredible Shrinking Sphere (128K)

static struct BurnRomInfo SpecincshrspRomDesc[] = {
	{ "Incredible Shrinking Sphere (1989)(Electric Dreams Software)[128K].z80", 0x089d9, 0xe6c5b0c9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specincshrsp, Specincshrsp, Spectrum)
STD_ROM_FN(Specincshrsp)

struct BurnDriver BurnSpecincshrsp = {
	"spec_incshrsp", NULL, "spec_spec128", NULL, "1989",
	"Incredible Shrinking Sphere (128K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecincshrspRomInfo, SpecincshrspRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Indiana Jones - A Chram Zkazy (cs) (48K)

static struct BurnRomInfo SpecijonesczRomDesc[] = {
	{ "Indiana Jones - A Chram Zkazy (1985)(Proxima Software)(cs).z80", 0x06b35, 0x9eff37b7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specijonescz, Specijonescz, Spectrum)
STD_ROM_FN(Specijonescz)

struct BurnDriver BurnSpecijonescz = {
	"spec_ijonescz", NULL, "spec_spectrum", NULL, "1985",
	"Indiana Jones - A Chram Zkazy (cs) (48K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecijonesczRomInfo, SpecijonesczRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Indiana Jones 2 (cs) (48K)

static struct BurnRomInfo Specijones2RomDesc[] = {
	{ "Indiana Jones 2 (1987)(Proxima Software)(cs).z80", 0x06183, 0x4b8c3b8a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specijones2, Specijones2, Spectrum)
STD_ROM_FN(Specijones2)

struct BurnDriver BurnSpecijones2 = {
	"spec_ijones2", NULL, "spec_spectrum", NULL, "1987",
	"Indiana Jones 2 (cs) (48K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specijones2RomInfo, Specijones2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Indiana Jones 3 (cs) (48K)

static struct BurnRomInfo Specijones3RomDesc[] = {
	{ "Indiana Jones 3 (1990)(Proxima Software)(cs).z80", 0x09b79, 0xaef2991b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specijones3, Specijones3, Spectrum)
STD_ROM_FN(Specijones3)

struct BurnDriver BurnSpecijones3 = {
	"spec_ijones3", NULL, "spec_spectrum", NULL, "1990",
	"Indiana Jones 3 (cs) (48K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specijones3RomInfo, Specijones3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Indiana Jones 4 - A Zlata Soska Keltu (cs) (48K)

static struct BurnRomInfo Specijones5RomDesc[] = {
	{ "Indiana Jones 4 - A Zlata Soska Keltu (1990)(Proxima Software)(cs).z80", 0x08116, 0x94867bde, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specijones5, Specijones5, Spectrum)
STD_ROM_FN(Specijones5)

struct BurnDriver BurnSpecijones5 = {
	"spec_ijones5", NULL, "spec_spectrum", NULL, "1990",
	"Indiana Jones 4 - A Zlata Soska Keltu (cs) (48K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specijones5RomInfo, Specijones5RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Indiana Jones and the Temple of Doom (128K)

static struct BurnRomInfo SpecijonestodRomDesc[] = {
	{ "Indiana Jones and the Temple of Doom (1987)(U.S. Gold)[128K].z80", 0x09a0b, 0x9336ea93, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specijonestod, Specijonestod, Spectrum)
STD_ROM_FN(Specijonestod)

struct BurnDriver BurnSpecijonestod = {
	"spec_ijonestod", NULL, "spec_spec128", NULL, "1987",
	"Indiana Jones and the Temple of Doom (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecijonestodRomInfo, SpecijonestodRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Indoor Bowling (48K)

static struct BurnRomInfo SpecindobowlRomDesc[] = {
	{ "Indoor Bowling (1987)(Alligata Software).z80", 0x04b2e, 0x16871dd3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specindobowl, Specindobowl, Spectrum)
STD_ROM_FN(Specindobowl)

struct BurnDriver BurnSpecindobowl = {
	"spec_indobowl", NULL, "spec_spectrum", NULL, "1987",
	"Indoor Bowling (48K)\0", NULL, "Alligata Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecindobowlRomInfo, SpecindobowlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Indoor Soccer (48K)

static struct BurnRomInfo SpecindrsoccrRomDesc[] = {
	{ "Indoor Soccer (1986)(Magnificent 7 Software).z80", 0x070ed, 0x85a1a21f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specindrsoccr, Specindrsoccr, Spectrum)
STD_ROM_FN(Specindrsoccr)

struct BurnDriver BurnSpecindrsoccr = {
	"spec_indrsoccr", NULL, "spec_spectrum", NULL, "1986",
	"Indoor Soccer (48K)\0", NULL, "Magnificent 7 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecindrsoccrRomInfo, SpecindrsoccrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Indoor Sports (48K)

static struct BurnRomInfo Specidnsprts_48RomDesc[] = {
	{ "Indoor Sports (1987)(Advance Software).z80", 0x0322b, 0x1c479027, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specidnsprts_48, Specidnsprts_48, Spectrum)
STD_ROM_FN(Specidnsprts_48)

struct BurnDriver BurnSpecidnsprts_48 = {
	"spec_idnsprts_48", "spec_idnsprts", "spec_spectrum", NULL, "1987",
	"Indoor Sports (48K)\0", NULL, "Advance Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specidnsprts_48RomInfo, Specidnsprts_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Indoor Sports (128K)

static struct BurnRomInfo SpecidnsprtsRomDesc[] = {
	{ "Indoor Sports (1987)(Advance Software)[128K].z80", 0x037c2, 0xa03b52a4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specidnsprts, Specidnsprts, Spectrum)
STD_ROM_FN(Specidnsprts)

struct BurnDriver BurnSpecidnsprts = {
	"spec_idnsprts", NULL, "spec_spec128", NULL, "1987",
	"Indoor Sports (128K)\0", NULL, "Advance Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecidnsprtsRomInfo, SpecidnsprtsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Infection (128K)

static struct BurnRomInfo SpecinfectnRomDesc[] = {
	{ "Infection (1989)(Virgin Mastertronic)[128K][unpublished].z80", 0x09dfa, 0x25ffe071, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinfectn, Specinfectn, Spectrum)
STD_ROM_FN(Specinfectn)

struct BurnDriver BurnSpecinfectn = {
	"spec_infectn", NULL, "spec_spec128", NULL, "1989",
	"Infection (128K)\0", NULL, "Virgin Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecinfectnRomInfo, SpecinfectnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Infection (48K)

static struct BurnRomInfo Specinfectn_48RomDesc[] = {
	{ "Infection (1989)(Virgin Mastertronic)[unpublished].z80", 0x08df5, 0x3717df8a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinfectn_48, Specinfectn_48, Spectrum)
STD_ROM_FN(Specinfectn_48)

struct BurnDriver BurnSpecinfectn_48 = {
	"spec_infectn_48", "spec_infectn", "spec_spectrum", NULL, "1989",
	"Infection (48K)\0", NULL, "Virgin Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specinfectn_48RomInfo, Specinfectn_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Infiltrator (48K)

static struct BurnRomInfo SpecinfiltraRomDesc[] = {
	{ "Infiltrator (1986)(U.S. Gold).z80", 0x08b7a, 0xa7c1d35e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinfiltra, Specinfiltra, Spectrum)
STD_ROM_FN(Specinfiltra)

struct BurnDriver BurnSpecinfiltra = {
	"spec_infiltra", NULL, "spec_spectrum", NULL, "1986",
	"Infiltrator (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecinfiltraRomInfo, SpecinfiltraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Infrared (48K)

static struct BurnRomInfo SpecinfraredRomDesc[] = {
	{ "Infrared (1982)(ACS Software).z80", 0x026fa, 0xfec4c597, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinfrared, Specinfrared, Spectrum)
STD_ROM_FN(Specinfrared)

struct BurnDriver BurnSpecinfrared = {
	"spec_infrared", NULL, "spec_spectrum", NULL, "1982",
	"Infrared (48K)\0", NULL, "ACS Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecinfraredRomInfo, SpecinfraredRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Inheritance, The (Part 1 of 3) (48K)

static struct BurnRomInfo SpecinheritnRomDesc[] = {
	{ "Inheritance, The (1987)(Infogrames)(Part 1 of 3).z80", 0x0a20b, 0xa2515365, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinheritn, Specinheritn, Spectrum)
STD_ROM_FN(Specinheritn)

struct BurnDriver BurnSpecinheritn = {
	"spec_inheritn", NULL, "spec_spectrum", NULL, "1987",
	"Inheritance, The (Part 1 of 3) (48K)\0", NULL, "Infogrames", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecinheritnRomInfo, SpecinheritnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Inheritance, The (Part 2 of 3) (48K)

static struct BurnRomInfo Specinheritn2RomDesc[] = {
	{ "Inheritance, The (1987)(Infogrames)(Part 2 of 3).z80", 0x0979a, 0x28403dda, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinheritn2, Specinheritn2, Spectrum)
STD_ROM_FN(Specinheritn2)

struct BurnDriver BurnSpecinheritn2 = {
	"spec_inheritn2", "spec_inheritn", "spec_spectrum", NULL, "1987",
	"Inheritance, The (Part 2 of 3) (48K)\0", NULL, "Infogrames", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specinheritn2RomInfo, Specinheritn2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Inheritance, The (Part 3 of 3) (48K)

static struct BurnRomInfo Specinheritn3RomDesc[] = {
	{ "Inheritance, The (1987)(Infogrames)(Part 3 of 3).z80", 0x09830, 0xc8e225d6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinheritn3, Specinheritn3, Spectrum)
STD_ROM_FN(Specinheritn3)

struct BurnDriver BurnSpecinheritn3 = {
	"spec_inheritn3", "spec_inheritn", "spec_spectrum", NULL, "1987",
	"Inheritance, The (Part 3 of 3) (48K)\0", NULL, "Infogrames", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specinheritn3RomInfo, Specinheritn3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Inhumanos, Los (Spanish) (48K)

static struct BurnRomInfo SpecinhuloseRomDesc[] = {
	{ "Inhumanos, Los (1990)(Delta Software)(es).z80", 0x09aab, 0x18c98c79, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinhulose, Specinhulose, Spectrum)
STD_ROM_FN(Specinhulose)

struct BurnDriver BurnSpecinhulose = {
	"spec_inhulose", NULL, "spec_spectrum", NULL, "1990",
	"Inhumanos, Los (Spanish) (48K)\0", NULL, "Delta Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecinhuloseRomInfo, SpecinhuloseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Inka-Tempel (German) (48K)

static struct BurnRomInfo SpecinkatempRomDesc[] = {
	{ "Inka-Tempel (1983)(F+K Ware)(de).z80", 0x02c77, 0x559b1795, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinkatemp, Specinkatemp, Spectrum)
STD_ROM_FN(Specinkatemp)

struct BurnDriver BurnSpecinkatemp = {
	"spec_inkatemp", NULL, "spec_spectrum", NULL, "1983",
	"Inka-Tempel (German) (48K)\0", NULL, "F+K Ware", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecinkatempRomInfo, SpecinkatempRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Inner Lakes, The (48K)

static struct BurnRomInfo SpecinnlakthRomDesc[] = {
	{ "Inner Lakes, The (1988)(Essential Myth).z80", 0x09d43, 0x1adc2435, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinnlakth, Specinnlakth, Spectrum)
STD_ROM_FN(Specinnlakth)

struct BurnDriver BurnSpecinnlakth = {
	"spec_innlakth", NULL, "spec_spectrum", NULL, "1988",
	"Inner Lakes, The (48K)\0", NULL, "Essential Myth", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecinnlakthRomInfo, SpecinnlakthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Insector Hecti in The Interchange (48K)

static struct BurnRomInfo SpecinhethinRomDesc[] = {
	{ "Insector Hecti in The Interchange (1991)(Hi-Tec Software)[t +3].z80", 0x0a2b1, 0xda8cb207, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinhethin, Specinhethin, Spectrum)
STD_ROM_FN(Specinhethin)

struct BurnDriver BurnSpecinhethin = {
	"spec_inhethin", NULL, "spec_spectrum", NULL, "1991",
	"Insector Hecti in The Interchange (48K)\0", NULL, "Hi-Tec Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecinhethinRomInfo, SpecinhethinRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Inside Outing (48K)

static struct BurnRomInfo SpecinsioutiRomDesc[] = {
	{ "Inside Outing (1988)(The Edge Software).z80", 0x0abf4, 0xe8846257, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinsiouti, Specinsiouti, Spectrum)
STD_ROM_FN(Specinsiouti)

struct BurnDriver BurnSpecinsiouti = {
	"spec_insiouti", NULL, "spec_spectrum", NULL, "1988",
	"Inside Outing (48K)\0", NULL, "The Edge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecinsioutiRomInfo, SpecinsioutiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Inspector Flukeit (48K)

static struct BurnRomInfo SpecinspflukRomDesc[] = {
	{ "Inspector Flukeit (1986)(Top Ten Software).z80", 0x0a19d, 0x04c719d1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinspfluk, Specinspfluk, Spectrum)
STD_ROM_FN(Specinspfluk)

struct BurnDriver BurnSpecinspfluk = {
	"spec_inspfluk", NULL, "spec_spectrum", NULL, "1986",
	"Inspector Flukeit (48K)\0", NULL, "Top Ten Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecinspflukRomInfo, SpecinspflukRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Inspector Gadget and the Circus of Fear (48K)

static struct BurnRomInfo SpecingacifeRomDesc[] = {
	{ "Inspector Gadget and the Circus of Fear (1987)(Melbourne House).z80", 0x09a0c, 0xda099515, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specingacife, Specingacife, Spectrum)
STD_ROM_FN(Specingacife)

struct BurnDriver BurnSpecingacife = {
	"spec_ingacife", NULL, "spec_spectrum", NULL, "1987",
	"Inspector Gadget and the Circus of Fear (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecingacifeRomInfo, SpecingacifeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Insurgency (48K)

static struct BurnRomInfo SpecinsurgenRomDesc[] = {
	{ "Insurgency (1984)(CCS).z80", 0x04639, 0xdd591846, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinsurgen, Specinsurgen, Spectrum)
STD_ROM_FN(Specinsurgen)

struct BurnDriver BurnSpecinsurgen = {
	"spec_insurgen", NULL, "spec_spectrum", NULL, "1984",
	"Insurgency (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecinsurgenRomInfo, SpecinsurgenRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Intensity (48K)

static struct BurnRomInfo SpecintensitRomDesc[] = {
	{ "Intensity (1988)(Firebird Software).z80", 0x081cf, 0x12218ef8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specintensit, Specintensit, Spectrum)
STD_ROM_FN(Specintensit)

struct BurnDriver BurnSpecintensit = {
	"spec_intensit", NULL, "spec_spectrum", NULL, "1988",
	"Intensity (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecintensitRomInfo, SpecintensitRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Intergalactic Cage Match (48K)

static struct BurnRomInfo SpecintcagmaRomDesc[] = {
	{ "Intergalactic Cage Match (1988)(Entertainment USA).z80", 0x095d2, 0x23cdd7c4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specintcagma, Specintcagma, Spectrum)
STD_ROM_FN(Specintcagma)

struct BurnDriver BurnSpecintcagma = {
	"spec_intcagma", NULL, "spec_spectrum", NULL, "1988",
	"Intergalactic Cage Match (48K)\0", NULL, "Entertainment USA", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecintcagmaRomInfo, SpecintcagmaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// International 3D Tennis (128K)

static struct BurnRomInfo SpecintdtennRomDesc[] = {
	{ "International 3D Tennis (1990)(Palace Software)[128K].z80", 0x0ff2c, 0x1f56fa51, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specintdtenn, Specintdtenn, Spectrum)
STD_ROM_FN(Specintdtenn)

struct BurnDriver BurnSpecintdtenn = {
	"spec_intdtenn", NULL, "spec_spec128", NULL, "1990",
	"International 3D Tennis (128K)\0", NULL, "Palace Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecintdtennRomInfo, SpecintdtennRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// International 5-a-Side Football (48K)

static struct BurnRomInfo SpecintsidfoRomDesc[] = {
	{ "International 5-a-Side Football (1992)(Zeppelin Games).z80", 0x0704b, 0xcee1cf70, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specintsidfo, Specintsidfo, Spectrum)
STD_ROM_FN(Specintsidfo)

struct BurnDriver BurnSpecintsidfo = {
	"spec_intsidfo", NULL, "spec_spectrum", NULL, "1992",
	"International 5-a-Side Football (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecintsidfoRomInfo, SpecintsidfoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// International Cricket (48K)

static struct BurnRomInfo SpecintecricRomDesc[] = {
	{ "International Cricket (1986)(Spartan Sport Association).z80", 0x07131, 0xa9e3f371, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specintecric, Specintecric, Spectrum)
STD_ROM_FN(Specintecric)

struct BurnDriver BurnSpecintecric = {
	"spec_intecric", NULL, "spec_spectrum", NULL, "1986",
	"International Cricket (48K)\0", NULL, "Spartan Sport Association", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecintecricRomInfo, SpecintecricRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// International Football (48K)

static struct BurnRomInfo SpecintefootRomDesc[] = {
	{ "International Football (1989)(Cult Games).z80", 0x089a0, 0x5cdde251, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specintefoot, Specintefoot, Spectrum)
STD_ROM_FN(Specintefoot)

struct BurnDriver BurnSpecintefoot = {
	"spec_intefoot", NULL, "spec_spectrum", NULL, "1989",
	"International Football (48K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecintefootRomInfo, SpecintefootRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// International Karate (Part 1 of 2) (48K)

static struct BurnRomInfo SpecintnkartRomDesc[] = {
	{ "International Karate (1985)(System 3 Software)(Part 1 of 2).z80", 0x08aac, 0x791ebfde, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specintnkart, Specintnkart, Spectrum)
STD_ROM_FN(Specintnkart)

struct BurnDriver BurnSpecintnkart = {
	"spec_intnkart", NULL, "spec_spectrum", NULL, "1985",
	"International Karate (Part 1 of 2) (48K)\0", NULL, "System 3 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecintnkartRomInfo, SpecintnkartRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// International Karate (Part 2 of 2) (48K)

static struct BurnRomInfo Specintnkart2RomDesc[] = {
	{ "International Karate (1985)(System 3 Software)(Part 2 of 2).z80", 0x08ac4, 0xd00b690e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specintnkart2, Specintnkart2, Spectrum)
STD_ROM_FN(Specintnkart2)

struct BurnDriver BurnSpecintnkart2 = {
	"spec_intnkart2", "spec_intnkart", "spec_spectrum", NULL, "1985",
	"International Karate (Part 2 of 2) (48K)\0", NULL, "System 3 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specintnkart2RomInfo, Specintnkart2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// International Karate+ (48K)

static struct BurnRomInfo Specintnkarp_48RomDesc[] = {
	{ "International Karate+ (1987)(System 3 Software).z80", 0x0987d, 0x052c17b2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specintnkarp_48, Specintnkarp_48, Spectrum)
STD_ROM_FN(Specintnkarp_48)

struct BurnDriver BurnSpecintnkarp_48 = {
	"spec_intnkarp_48", "spec_intnkarp", "spec_spectrum", NULL, "1987",
	"International Karate+ (48K)\0", NULL, "System 3 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specintnkarp_48RomInfo, Specintnkarp_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// International Karate+ (128K)

static struct BurnRomInfo SpecintnkarpRomDesc[] = {
	{ "International Karate+ (1987)(System 3 Software)[128K].z80", 0x0adc5, 0xcd47bf49, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specintnkarp, Specintnkarp, Spectrum)
STD_ROM_FN(Specintnkarp)

struct BurnDriver BurnSpecintnkarp = {
	"spec_intnkarp", NULL, "spec_spec128", NULL, "1987",
	"International Karate+ (128K)\0", NULL, "System 3 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecintnkarpRomInfo, SpecintnkarpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// International Manager (Part 1 of 2) (48K)

static struct BurnRomInfo SpecintmngrRomDesc[] = {
	{ "International Manager (1986)(D&H Games)(Part 1 of 2).z80", 0x07a8c, 0x6a75794b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specintmngr, Specintmngr, Spectrum)
STD_ROM_FN(Specintmngr)

struct BurnDriver BurnSpecintmngr = {
	"spec_intmngr", NULL, "spec_spectrum", NULL, "1986",
	"International Manager (Part 1 of 2) (48K)\0", NULL, "D&H Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecintmngrRomInfo, SpecintmngrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// International Manager (Part 2 of 2) (48K)

static struct BurnRomInfo Specintmngr2RomDesc[] = {
	{ "International Manager (1986)(D&H Games)(Part 2 of 2).z80", 0x0967f, 0xfdc1bbf0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specintmngr2, Specintmngr2, Spectrum)
STD_ROM_FN(Specintmngr2)

struct BurnDriver BurnSpecintmngr2 = {
	"spec_intmngr2", "spec_intmngr", "spec_spectrum", NULL, "1986",
	"International Manager (Part 2 of 2) (48K)\0", NULL, "D&H Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specintmngr2RomInfo, Specintmngr2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// International Match Day (128K)

static struct BurnRomInfo SpecintmatdaRomDesc[] = {
	{ "International Match Day (1987)(Ocean)[128K].z80", 0x15cd5, 0x43925781, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specintmatda, Specintmatda, Spectrum)
STD_ROM_FN(Specintmatda)

struct BurnDriver BurnSpecintmatda = {
	"spec_intmatda", NULL, "spec_spec128", NULL, "1987",
	"International Match Day (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecintmatdaRomInfo, SpecintmatdaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// International Rugby (48K)

static struct BurnRomInfo SpecinterugbRomDesc[] = {
	{ "International Rugby (1987)(Blue Ribbon Software)[re-release].z80", 0x069b0, 0x45a1436d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinterugb, Specinterugb, Spectrum)
STD_ROM_FN(Specinterugb)

struct BurnDriver BurnSpecinterugb = {
	"spec_interugb", NULL, "spec_spectrum", NULL, "1987",
	"International Rugby (48K)\0", NULL, "Blue Ribbon Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecinterugbRomInfo, SpecinterugbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// International Rugby Simulator (48K)

static struct BurnRomInfo SpecintrugsiRomDesc[] = {
	{ "International Rugby Simulator (1988)(Codemasters).z80", 0x084f3, 0xfa13575d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specintrugsi, Specintrugsi, Spectrum)
STD_ROM_FN(Specintrugsi)

struct BurnDriver BurnSpecintrugsi = {
	"spec_intrugsi", NULL, "spec_spectrum", NULL, "1988",
	"International Rugby Simulator (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecintrugsiRomInfo, SpecintrugsiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// International Speedway (48K)

static struct BurnRomInfo SpecintespeeRomDesc[] = {
	{ "International Speedway (1988)(Silverbird Software).z80", 0x0855f, 0x8e651b30, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specintespee, Specintespee, Spectrum)
STD_ROM_FN(Specintespee)

struct BurnDriver BurnSpecintespee = {
	"spec_intespee", NULL, "spec_spectrum", NULL, "1988",
	"International Speedway (48K)\0", NULL, "Silverbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecintespeeRomInfo, SpecintespeeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Interpide (da) (48K)

static struct BurnRomInfo SpecinterpidRomDesc[] = {
	{ "Interpide (1983)(ZX-Power)(da).z80", 0x0314b, 0xc1a71f41, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinterpid, Specinterpid, Spectrum)
STD_ROM_FN(Specinterpid)

struct BurnDriver BurnSpecinterpid = {
	"spec_interpid", NULL, "spec_spectrum", NULL, "1983",
	"Interpide (da) (48K)\0", NULL, "ZX-Power", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecinterpidRomInfo, SpecinterpidRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Into Africa (48K)

static struct BurnRomInfo SpecintoafriRomDesc[] = {
	{ "Into Africa (1987)(Rack-It).z80", 0x08d0b, 0x0b671a8d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specintoafri, Specintoafri, Spectrum)
STD_ROM_FN(Specintoafri)

struct BurnDriver BurnSpecintoafri = {
	"spec_intoafri", NULL, "spec_spectrum", NULL, "1987",
	"Into Africa (48K)\0", NULL, "Rack-It", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecintoafriRomInfo, SpecintoafriRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Into the Eagle's Nest (48K)

static struct BurnRomInfo Specinteagn_48RomDesc[] = {
	{ "Into the Eagle's Nest (1987)(Pandora).z80", 0x07635, 0xcdba827b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinteagn_48, Specinteagn_48, Spectrum)
STD_ROM_FN(Specinteagn_48)

struct BurnDriver BurnSpecinteagn_48 = {
	"spec_inteagn_48", "spec_inteagn", "spec_spectrum", NULL, "1987",
	"Into the Eagle's Nest (48K)\0", NULL, "Pandora", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specinteagn_48RomInfo, Specinteagn_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Into the Eagle's Nest (128K)

static struct BurnRomInfo SpecinteagnRomDesc[] = {
	{ "Into the Eagle's Nest (1987)(Pandora)[128K].z80", 0x097cf, 0xbc1ea176, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinteagn, Specinteagn, Spectrum)
STD_ROM_FN(Specinteagn)

struct BurnDriver BurnSpecinteagn = {
	"spec_inteagn", NULL, "spec_spec128", NULL, "1987",
	"Into the Eagle's Nest (128K)\0", NULL, "Pandora", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecinteagnRomInfo, SpecinteagnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Into the Mystic (48K)

static struct BurnRomInfo SpecintomystRomDesc[] = {
	{ "Into the Mystic (1991)(River Software).z80", 0x09898, 0x3f42c6a3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specintomyst, Specintomyst, Spectrum)
STD_ROM_FN(Specintomyst)

struct BurnDriver BurnSpecintomyst = {
	"spec_intomyst", NULL, "spec_spectrum", NULL, "1991",
	"Into the Mystic (48K)\0", NULL, "River Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecintomystRomInfo, SpecintomystRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Intruder Alert (48K)

static struct BurnRomInfo SpecintralerRomDesc[] = {
	{ "Intruder Alert (1989)(Compass Software).z80", 0x0936c, 0xd30606f1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specintraler, Specintraler, Spectrum)
STD_ROM_FN(Specintraler)

struct BurnDriver BurnSpecintraler = {
	"spec_intraler", NULL, "spec_spectrum", NULL, "1989",
	"Intruder Alert (48K)\0", NULL, "Compass Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecintralerRomInfo, SpecintralerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Intruder Alert II - Invaders from Planet X (48K)

static struct BurnRomInfo Specintralr2RomDesc[] = {
	{ "Intruder Alert II - Invaders from Planet X (1991)(Compass Software).z80", 0x0a0be, 0x9b2f5337, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specintralr2, Specintralr2, Spectrum)
STD_ROM_FN(Specintralr2)

struct BurnDriver BurnSpecintralr2 = {
	"spec_intralr2", NULL, "spec_spectrum", NULL, "1991",
	"Intruder Alert II - Invaders from Planet X (48K)\0", NULL, "Compass Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specintralr2RomInfo, Specintralr2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Invaders (48K)

static struct BurnRomInfo SpecinvadersRomDesc[] = {
	{ "Invaders (1997)(CSSCGC).z80", 0x019e7, 0x50d17bd3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinvaders, Specinvaders, Spectrum)
STD_ROM_FN(Specinvaders)

struct BurnDriver BurnSpecinvaders = {
	"spec_invaders", NULL, "spec_spectrum", NULL, "1997",
	"Invaders (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecinvadersRomInfo, SpecinvadersRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Invaders (Spanish) (48K)

static struct BurnRomInfo SpecinvaderssRomDesc[] = {
	{ "Invaders (19xx)(-)(es).z80", 0x02118, 0xa59a83c4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinvaderss, Specinvaderss, Spectrum)
STD_ROM_FN(Specinvaderss)

struct BurnDriver BurnSpecinvaderss = {
	"spec_invaderss", "spec_invaders", "spec_spectrum", NULL, "19xx",
	"Invaders (Spanish) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecinvaderssRomInfo, SpecinvaderssRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Invasion - Strategy One (ASP Software) (48K)

static struct BurnRomInfo Specinvst1asRomDesc[] = {
	{ "Invasion - Strategy One (1984)(ASP Software).z80", 0x06de1, 0x044872d9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinvst1as, Specinvst1as, Spectrum)
STD_ROM_FN(Specinvst1as)

struct BurnDriver BurnSpecinvst1as = {
	"spec_invst1as", NULL, "spec_spectrum", NULL, "1984",
	"Invasion - Strategy One (ASP Software) (48K)\0", NULL, "ASP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specinvst1asRomInfo, Specinvst1asRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Invasion - Strategy One (Argus Press Software) (48K)

static struct BurnRomInfo Specinvst1argRomDesc[] = {
	{ "Invasion - Strategy One (1986)(Argus Press Software)[re-release].z80", 0x06e1e, 0x5b2e49db, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinvst1arg, Specinvst1arg, Spectrum)
STD_ROM_FN(Specinvst1arg)

struct BurnDriver BurnSpecinvst1arg = {
	"spec_invst1arg", "spec_invstr1as", "spec_spectrum", NULL, "1986",
	"Invasion - Strategy One (Argus Press Software) (48K)\0", NULL, "Argus Press Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specinvst1argRomInfo, Specinvst1argRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Invasion (48K)

static struct BurnRomInfo SpecinvasionRomDesc[] = {
	{ "Invasion (1987)(Bulldog).z80", 0x06683, 0x82d88119, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinvasion, Specinvasion, Spectrum)
STD_ROM_FN(Specinvasion)

struct BurnDriver BurnSpecinvasion = {
	"spec_invasion", NULL, "spec_spectrum", NULL, "1987",
	"Invasion (48K)\0", NULL, "Bulldog", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecinvasionRomInfo, SpecinvasionRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Invasion Force (48K)

static struct BurnRomInfo SpecinvaforcRomDesc[] = {
	{ "Invasion Force (1990)(CCS).z80", 0x09367, 0x1753f832, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinvaforc, Specinvaforc, Spectrum)
STD_ROM_FN(Specinvaforc)

struct BurnDriver BurnSpecinvaforc = {
	"spec_invaforc", NULL, "spec_spectrum", NULL, "1990",
	"Invasion Force (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecinvaforcRomInfo, SpecinvaforcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Invasion of the Body Snatchas! (48K)

static struct BurnRomInfo Specinvbodsn_48RomDesc[] = {
	{ "Invasion of the Body Snatchas! (1984)(Crystal Computing).z80", 0x05316, 0x1aa75d45, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinvbodsn_48, Specinvbodsn_48, Spectrum)
STD_ROM_FN(Specinvbodsn_48)

struct BurnDriver BurnSpecinvbodsn_48 = {
	"spec_invbodsn_48", "spec_invbodsn", "spec_spectrum", NULL, "1984",
	"Invasion of the Body Snatchas! (48K)\0", NULL, "Crystal Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specinvbodsn_48RomInfo, Specinvbodsn_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Invasion of the Body Snatchas! (128K)

static struct BurnRomInfo SpecinvbodsnRomDesc[] = {
	{ "Invasion of the Body Snatchas! (1984)(Crystal Computing)[128K].z80", 0x05ead, 0xadc37590, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinvbodsn, Specinvbodsn, Spectrum)
STD_ROM_FN(Specinvbodsn)

struct BurnDriver BurnSpecinvbodsn = {
	"spec_invbodsn", NULL, "spec_spec128", NULL, "1984",
	"Invasion of the Body Snatchas! (128K)\0", NULL, "Crystal Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecinvbodsnRomInfo, SpecinvbodsnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Invincible Island - Hints (48K)

static struct BurnRomInfo SpecinvislndhRomDesc[] = {
	{ "Invincible Island - Hints (1983)(Richard Shepherd Software).z80", 0x01105, 0x3b741ea8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinvislndh, Specinvislndh, Spectrum)
STD_ROM_FN(Specinvislndh)

struct BurnDriver BurnSpecinvislndh = {
	"spec_invislndh", "spec_inviisla", "spec_spectrum", NULL, "1983",
	"Invincible Island - Hints (48K)\0", NULL, "Richard Shepherd Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecinvislndhRomInfo, SpecinvislndhRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Invincible Island (48K)

static struct BurnRomInfo SpecinvislndRomDesc[] = {
	{ "Invincible Island (1983)(Richard Shepherd Software).z80", 0x0a06c, 0xd97d2ee0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specinvislnd, Specinvislnd, Spectrum)
STD_ROM_FN(Specinvislnd)

struct BurnDriver BurnSpecinvislnd = {
	"spec_invislnd", NULL, "spec_spectrum", NULL, "1983",
	"Invincible Island (48K)\0", NULL, "Richard Shepherd Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecinvislndRomInfo, SpecinvislndRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Iron Soldier (48K)

static struct BurnRomInfo SpecironsoldRomDesc[] = {
	{ "Iron Soldier (1989)(Players Premier Software).z80", 0x099f4, 0xbd48f236, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specironsold, Specironsold, Spectrum)
STD_ROM_FN(Specironsold)

struct BurnDriver BurnSpecironsold = {
	"spec_ironsold", NULL, "spec_spectrum", NULL, "1989",
	"Iron Soldier (48K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecironsoldRomInfo, SpecironsoldRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Isla de los Secretos, La (Spanish) (128K)

static struct BurnRomInfo SpecislseclaRomDesc[] = {
	{ "Isla de los Secretos, La (1985)(Les Hogarth)(es)[128K].z80", 0x06146, 0x75be0fa2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specislsecla, Specislsecla, Spectrum)
STD_ROM_FN(Specislsecla)

struct BurnDriver BurnSpecislsecla = {
	"spec_islsecla", NULL, "spec_spec128", NULL, "1985",
	"Isla de los Secretos, La (Spanish) (128K)\0", NULL, "Les Hogarth", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecislseclaRomInfo, SpecislseclaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Island of Dr. Destructo, The (48K)

static struct BurnRomInfo SpecisdrdethRomDesc[] = {
	{ "Island of Dr. Destructo, The (1987)(Bulldog).z80", 0x0a118, 0xe65bafae, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specisdrdeth, Specisdrdeth, Spectrum)
STD_ROM_FN(Specisdrdeth)

struct BurnDriver BurnSpecisdrdeth = {
	"spec_isdrdeth", NULL, "spec_spectrum", NULL, "1987",
	"Island of Dr. Destructo, The (48K)\0", NULL, "Bulldog", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecisdrdethRomInfo, SpecisdrdethRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Island, The (Virgin Games) (48K)

static struct BurnRomInfo SpecislandvgRomDesc[] = {
	{ "Island, The (1983)(Virgin Games).z80", 0x090a9, 0x6a50da6b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specislandvg, Specislandvg, Spectrum)
STD_ROM_FN(Specislandvg)

struct BurnDriver BurnSpecislandvg = {
	"spec_islandvg", NULL, "spec_spectrum", NULL, "1983",
	"Island, The (Virgin Games) (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecislandvgRomInfo, SpecislandvgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Island, The (Crystal Computing) (48K)

static struct BurnRomInfo SpecislandccRomDesc[] = {
	{ "Island, The (1984)(Crystal Computing).z80", 0x05812, 0xf4a6b000, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specislandcc, Specislandcc, Spectrum)
STD_ROM_FN(Specislandcc)

struct BurnDriver BurnSpecislandcc = {
	"spec_islandcc", NULL, "spec_spectrum", NULL, "1984",
	"Island, The (Crystal Computing) (48K)\0", NULL, "Crystal Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecislandccRomInfo, SpecislandccRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Italia '90 - World Cup Soccer (48K)

static struct BurnRomInfo SpecitwocusoRomDesc[] = {
	{ "Italia '90 - World Cup Soccer (1989)(Virgin Games).z80", 0x071ae, 0x7999143e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specitwocuso, Specitwocuso, Spectrum)
STD_ROM_FN(Specitwocuso)

struct BurnDriver BurnSpecitwocuso = {
	"spec_itwocuso", NULL, "spec_spectrum", NULL, "1989",
	"Italia '90 - World Cup Soccer (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecitwocusoRomInfo, SpecitwocusoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Italian Supercar (48K)

static struct BurnRomInfo SpecitalsupeRomDesc[] = {
	{ "Italian Supercar (1990)(Codemasters).z80", 0x09c48, 0x57f23fde, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specitalsupe, Specitalsupe, Spectrum)
STD_ROM_FN(Specitalsupe)

struct BurnDriver BurnSpecitalsupe = {
	"spec_italsupe", NULL, "spec_spectrum", NULL, "1990",
	"Italian Supercar (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecitalsupeRomInfo, SpecitalsupeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Itasundorious (48K)

static struct BurnRomInfo SpecitasundoRomDesc[] = {
	{ "Itasundorious (1983)(Hudson Soft).z80", 0x02c65, 0xaf383a0d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specitasundo, Specitasundo, Spectrum)
STD_ROM_FN(Specitasundo)

struct BurnDriver BurnSpecitasundo = {
	"spec_itasundo", NULL, "spec_spectrum", NULL, "1983",
	"Itasundorious (48K)\0", NULL, "Hudson Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecitasundoRomInfo, SpecitasundoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// It's a Knockout (48K)

static struct BurnRomInfo SpecitsaknocRomDesc[] = {
	{ "It's a Knockout (1986)(Ocean).z80", 0x09334, 0xec28524f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specitsaknoc, Specitsaknoc, Spectrum)
STD_ROM_FN(Specitsaknoc)

struct BurnDriver BurnSpecitsaknoc = {
	"spec_itsaknoc", NULL, "spec_spectrum", NULL, "1986",
	"It's a Knockout (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecitsaknocRomInfo, SpecitsaknocRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// It's Only Rock 'n' Roll (48K)

static struct BurnRomInfo SpecitonroroRomDesc[] = {
	{ "It's Only Rock 'n' Roll (1983)(K-Tel Productions).z80", 0x0a680, 0xfc59f285, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specitonroro, Specitonroro, Spectrum)
STD_ROM_FN(Specitonroro)

struct BurnDriver BurnSpecitonroro = {
	"spec_itonroro", NULL, "spec_spectrum", NULL, "1983",
	"It's Only Rock 'n' Roll (48K)\0", NULL, "K-Tel Productions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecitonroroRomInfo, SpecitonroroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ivan 'Ironman' Stewart's Super Off Road Racer (48K)

static struct BurnRomInfo Specironman_48RomDesc[] = {
	{ "Ivan 'Ironman' Stewart's Super Off Road Racer (1990)(Virgin Games).z80", 0x08cbf, 0x85841cb9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specironman_48, Specironman_48, Spectrum)
STD_ROM_FN(Specironman_48)

struct BurnDriver BurnSpecironman_48 = {
	"spec_ironman_48", "spec_ironman", "spec_spectrum", NULL, "1990",
	"Ivan 'Ironman' Stewart's Super Off Road Racer (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specironman_48RomInfo, Specironman_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ivan 'Ironman' Stewart's Super Off Road Racer (128K)

static struct BurnRomInfo SpecironmanRomDesc[] = {
	{ "Ivan 'Ironman' Stewart's Super Off Road Racer (1990)(Virgin Games)[128K].z80", 0x0932d, 0x1b98e2aa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specironman, Specironman, Spectrum)
STD_ROM_FN(Specironman)

struct BurnDriver BurnSpecironman = {
	"spec_ironman", NULL, "spec_spec128", NULL, "1990",
	"Ivan 'Ironman' Stewart's Super Off Road Racer (128K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecironmanRomInfo, SpecironmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Iwo Jima (48K)

static struct BurnRomInfo SpeciwojimaRomDesc[] = {
	{ "Iwo Jima (1986)(PSS).z80", 0x07f76, 0xbd0684db, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speciwojima, Speciwojima, Spectrum)
STD_ROM_FN(Speciwojima)

struct BurnDriver BurnSpeciwojima = {
	"spec_iwojima", NULL, "spec_spectrum", NULL, "1986",
	"Iwo Jima (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeciwojimaRomInfo, SpeciwojimaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jabato (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecjabatoRomDesc[] = {
	{ "Jabato (1989)(Aventuras AD)(es)(Part 1 of 2).z80", 0x0a577, 0x2476a7f0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjabato, Specjabato, Spectrum)
STD_ROM_FN(Specjabato)

struct BurnDriver BurnSpecjabato = {
	"spec_jabato", NULL, "spec_spectrum", NULL, "1989",
	"Jabato (Spanish) (Part 1 of 2) (48K)\0", NULL, "Aventuras AD", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjabatoRomInfo, SpecjabatoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jabato (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specjabato2RomDesc[] = {
	{ "Jabato (1989)(Aventuras AD)(es)(Part 2 of 2).z80", 0x09f86, 0x7233637a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjabato2, Specjabato2, Spectrum)
STD_ROM_FN(Specjabato2)

struct BurnDriver BurnSpecjabato2 = {
	"spec_jabato2", "spec_jabato", "spec_spectrum", NULL, "1989",
	"Jabato (Spanish) (Part 2 of 2) (48K)\0", NULL, "Aventuras AD", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjabato2RomInfo, Specjabato2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jack and the Beanstalk (Thor Computer Software) (48K)

static struct BurnRomInfo SpecjckbnthRomDesc[] = {
	{ "Jack and the Beanstalk (1984)(Thor Computer Software).z80", 0x08719, 0xd92640a5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjckbnth, Specjckbnth, Spectrum)
STD_ROM_FN(Specjckbnth)

struct BurnDriver BurnSpecjckbnth = {
	"spec_jckbnth", NULL, "spec_spectrum", NULL, "1984",
	"Jack and the Beanstalk (Thor Computer Software) (48K)\0", NULL, "Thor Computer Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjckbnthRomInfo, SpecjckbnthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jack and the Beanstalk (River Software) (48K)

static struct BurnRomInfo SpecjckbnrsRomDesc[] = {
	{ "Jack and the Beanstalk (1988)(River Software).z80", 0x096e6, 0x9c804049, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjckbnrs, Specjckbnrs, Spectrum)
STD_ROM_FN(Specjckbnrs)

struct BurnDriver BurnSpecjckbnrs = {
	"spec_jckbnrs", NULL, "spec_spectrum", NULL, "1988",
	"Jack and the Beanstalk (River Software) (48K)\0", NULL, "River Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjckbnrsRomInfo, SpecjckbnrsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jack Charlton's Match Fishing (48K)

static struct BurnRomInfo SpecjachmafiRomDesc[] = {
	{ "Jack Charlton's Match Fishing (1985)(Alligata Software).z80", 0x094c3, 0x0a63de5d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjachmafi, Specjachmafi, Spectrum)
STD_ROM_FN(Specjachmafi)

struct BurnDriver BurnSpecjachmafi = {
	"spec_jachmafi", NULL, "spec_spectrum", NULL, "1985",
	"Jack Charlton's Match Fishing (48K)\0", NULL, "Alligata Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjachmafiRomInfo, SpecjachmafiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jack in Magicland (48K)

static struct BurnRomInfo SpecjackmagiRomDesc[] = {
	{ "Jack in Magicland (1985)(Turtle Software).z80", 0x08b48, 0x1aef1366, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjackmagi, Specjackmagi, Spectrum)
STD_ROM_FN(Specjackmagi)

struct BurnDriver BurnSpecjackmagi = {
	"spec_jackmagi", NULL, "spec_spectrum", NULL, "1985",
	"Jack in Magicland (48K)\0", NULL, "Turtle Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjackmagiRomInfo, SpecjackmagiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jack the Nipper (48K)

static struct BurnRomInfo SpecjacknipRomDesc[] = {
	{ "Jack the Nipper (1986)(Gremlin Graphics Software).z80", 0x0925c, 0xfaf6a6cf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjacknip, Specjacknip, Spectrum)
STD_ROM_FN(Specjacknip)

struct BurnDriver BurnSpecjacknip = {
	"spec_jacknip", NULL, "spec_spectrum", NULL, "1986",
	"Jack the Nipper (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjacknipRomInfo, SpecjacknipRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jack the Nipper II - In Coconut Capers (48K)

static struct BurnRomInfo Specjacknip2RomDesc[] = {
	{ "Jack the Nipper II - In Coconut Capers (1987)(Gremlin Graphics Software).z80", 0x0a876, 0xdc5995ff, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjacknip2, Specjacknip2, Spectrum)
STD_ROM_FN(Specjacknip2)

struct BurnDriver BurnSpecjacknip2 = {
	"spec_jacknip2", NULL, "spec_spectrum", NULL, "1987",
	"Jack the Nipper II - In Coconut Capers (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjacknip2RomInfo, Specjacknip2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jack the Ripper (Part 1 of 3) (48K)

static struct BurnRomInfo SpecjackrippRomDesc[] = {
	{ "Jack the Ripper (1987)(CRL Group)(Part 1 of 3).z80", 0x09719, 0x1c4b3118, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjackripp, Specjackripp, Spectrum)
STD_ROM_FN(Specjackripp)

struct BurnDriver BurnSpecjackripp = {
	"spec_jackripp", NULL, "spec_spectrum", NULL, "1987",
	"Jack the Ripper (Part 1 of 3) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjackrippRomInfo, SpecjackrippRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jack the Ripper (Part 2 of 3) (48K)

static struct BurnRomInfo Specjackripp2RomDesc[] = {
	{ "Jack the Ripper (1987)(CRL Group)(Part 2 of 3).z80", 0x0964c, 0x956703b4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjackripp2, Specjackripp2, Spectrum)
STD_ROM_FN(Specjackripp2)

struct BurnDriver BurnSpecjackripp2 = {
	"spec_jackripp2", "spec_jackripp", "spec_spectrum", NULL, "1987",
	"Jack the Ripper (Part 2 of 3) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjackripp2RomInfo, Specjackripp2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jack the Ripper (Part 3 of 3) (48K)

static struct BurnRomInfo Specjackripp3RomDesc[] = {
	{ "Jack the Ripper (1987)(CRL Group)(Part 3 of 3).z80", 0x09305, 0x055d377d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjackripp3, Specjackripp3, Spectrum)
STD_ROM_FN(Specjackripp3)

struct BurnDriver BurnSpecjackripp3 = {
	"spec_jackripp3", "spec_jackripp", "spec_spectrum", NULL, "1987",
	"Jack the Ripper (Part 3 of 3) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjackripp3RomInfo, Specjackripp3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jack the Ripper (Spanish) (Part 1 of 3) (48K)

static struct BurnRomInfo SpecjackrippsRomDesc[] = {
	{ "Jack the Ripper (1987)(Fran Morell)(es)(Part 1 of 3)[re-release].z80", 0x08b6c, 0x7cae0d3b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjackripps, Specjackripps, Spectrum)
STD_ROM_FN(Specjackripps)

struct BurnDriver BurnSpecjackripps = {
	"spec_jackripps", "spec_jackripp", "spec_spectrum", NULL, "1987",
	"Jack the Ripper (Spanish) (Part 1 of 3) (48K)\0", NULL, "Fran Morell", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjackrippsRomInfo, SpecjackrippsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jack the Ripper (Spanish) (Part 2 of 3) (48K)

static struct BurnRomInfo Specjackripps2RomDesc[] = {
	{ "Jack the Ripper (1987)(Fran Morell)(es)(Part 2 of 3)[re-release].z80", 0x08a1f, 0x0f08e7be, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjackripps2, Specjackripps2, Spectrum)
STD_ROM_FN(Specjackripps2)

struct BurnDriver BurnSpecjackripps2 = {
	"spec_jackripps2", "spec_jackripp", "spec_spectrum", NULL, "1987",
	"Jack the Ripper (Spanish) (Part 2 of 3) (48K)\0", NULL, "Fran Morell", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjackripps2RomInfo, Specjackripps2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jack the Ripper (Spanish) (Part 3 of 3) (48K)

static struct BurnRomInfo Specjackripps3RomDesc[] = {
	{ "Jack the Ripper (1987)(Fran Morell)(es)(Part 3 of 3)[re-release].z80", 0x088a8, 0xc296b8b8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjackripps3, Specjackripps3, Spectrum)
STD_ROM_FN(Specjackripps3)

struct BurnDriver BurnSpecjackripps3 = {
	"spec_jackripps3", "spec_jackripp", "spec_spectrum", NULL, "1987",
	"Jack the Ripper (Spanish) (Part 3 of 3) (48K)\0", NULL, "Fran Morell", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjackripps3RomInfo, Specjackripps3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jackpot (48K)

static struct BurnRomInfo SpecjackpotRomDesc[] = {
	{ "Jackpot (1982)(CRL Group).z80", 0x09254, 0x2c28d9ce, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjackpot, Specjackpot, Spectrum)
STD_ROM_FN(Specjackpot)

struct BurnDriver BurnSpecjackpot = {
	"spec_jackpot", NULL, "spec_spectrum", NULL, "1982",
	"Jackpot (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjackpotRomInfo, SpecjackpotRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jackpot (sv) (48K)

static struct BurnRomInfo SpecjackpotsRomDesc[] = {
	{ "Jackpot (1984)(Software of Sweden)(sv).z80", 0x06362, 0x6f44c6ed, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjackpots, Specjackpots, Spectrum)
STD_ROM_FN(Specjackpots)

struct BurnDriver BurnSpecjackpots = {
	"spec_jackpots", NULL, "spec_spectrum", NULL, "1984",
	"Jackpot (sv) (48K)\0", NULL, "Software of Sweden", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjackpotsRomInfo, SpecjackpotsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jackpot (German) (48K)

static struct BurnRomInfo SpecjackpotdRomDesc[] = {
	{ "Jackpot (19xx)(-)(de).z80", 0x0366c, 0x9f5f63d8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjackpotd, Specjackpotd, Spectrum)
STD_ROM_FN(Specjackpotd)

struct BurnDriver BurnSpecjackpotd = {
	"spec_jackpotd", NULL, "spec_spectrum", NULL, "19xx",
	"Jackpot (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjackpotdRomInfo, SpecjackpotdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jackson City (Spanish) (48K)

static struct BurnRomInfo SpecjackcityRomDesc[] = {
	{ "Jackson City (1990)(G.LL. Software)(es).z80", 0x0a016, 0x0e926f3f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjackcity, Specjackcity, Spectrum)
STD_ROM_FN(Specjackcity)

struct BurnDriver BurnSpecjackcity = {
	"spec_jackcity", NULL, "spec_spectrum", NULL, "1990",
	"Jackson City (Spanish) (48K)\0", NULL, "G.LL. Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjackcityRomInfo, SpecjackcityRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jade Necklace, The (River Software) (48K)

static struct BurnRomInfo SpecjdneckrsRomDesc[] = {
	{ "Jade Necklace, The (1987)(River Software).z80", 0x0906e, 0xd081ece7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjdneckrs, Specjdneckrs, Spectrum)
STD_ROM_FN(Specjdneckrs)

struct BurnDriver BurnSpecjdneckrs = {
	"spec_jdneckrs", NULL, "spec_spectrum", NULL, "1987",
	"Jade Necklace, The (River Software) (48K)\0", NULL, "River Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjdneckrsRomInfo, SpecjdneckrsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jade Necklace, The (Zenobi Software) (48K)

static struct BurnRomInfo SpecjdneckzsRomDesc[] = {
	{ "Jade Necklace, The (1991)(Zenobi Software)[re-release].z80", 0x09896, 0xe1641924, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjdneckzs, Specjdneckzs, Spectrum)
STD_ROM_FN(Specjdneckzs)

struct BurnDriver BurnSpecjdneckzs = {
	"spec_jdneckzs", "spec_jdneckrs", "spec_spectrum", NULL, "1991",
	"Jade Necklace, The (Zenobi Software) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjdneckzsRomInfo, SpecjdneckzsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jade Stone, The - Part 1 - Nulon to Vibran (Marlin Games)(48K)

static struct BurnRomInfo SpecjadestnmRomDesc[] = {
	{ "Jade Stone, The - Part 1 - Nulon to Vibran (1987)(Marlin Games).z80", 0x09019, 0x0cbf75d5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjadestnm, Specjadestnm, Spectrum)
STD_ROM_FN(Specjadestnm)

struct BurnDriver BurnSpecjadestnm = {
	"spec_jadestnm", NULL, "spec_spectrum", NULL, "1987",
	"Jade Stone, The - Part 1 - Nulon to Vibran (Marlin Games)(48K)\0", NULL, "Marlin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjadestnmRomInfo, SpecjadestnmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jade Stone, The - Part 1 - Nulon to Vibran (Zenobi Software) (48K)

static struct BurnRomInfo SpecjadestnzRomDesc[] = {
	{ "Jade Stone, The - Part 1 - Nulon to Vibran (1987)(Zenobi Software)[re-release].z80", 0x09177, 0x205dc172, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjadestnz, Specjadestnz, Spectrum)
STD_ROM_FN(Specjadestnz)

struct BurnDriver BurnSpecjadestnz = {
	"spec_jadestnz", "spec_jadestnm", "spec_spectrum", NULL, "1987",
	"Jade Stone, The - Part 1 - Nulon to Vibran (Zenobi Software) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjadestnzRomInfo, SpecjadestnzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jade Stone, The - Part 2 - Vibran to Kradoom (Marlin Games) (48K)

static struct BurnRomInfo Specjadestnm2RomDesc[] = {
	{ "Jade Stone, The - Part 2 - Vibran to Kradoom (1987)(Marlin Games).z80", 0x090c8, 0x49e0c614, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjadestnm2, Specjadestnm2, Spectrum)
STD_ROM_FN(Specjadestnm2)

struct BurnDriver BurnSpecjadestnm2 = {
	"spec_jadestnm2", "spec_jadestnm", "spec_spectrum", NULL, "1987",
	"Jade Stone, The - Part 2 - Vibran to Kradoom (Marlin Games) (48K)\0", NULL, "Marlin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjadestnm2RomInfo, Specjadestnm2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jade Stone, The - Part 2 - Vibran to Kradoom (Zenobi Software) (48K)

static struct BurnRomInfo Specjadestnz2RomDesc[] = {
	{ "Jade Stone, The - Part 2 - Vibran to Kradoom (1987)(Zenobi Software)[re-release].z80", 0x0908e, 0x631a46ae, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjadestnz2, Specjadestnz2, Spectrum)
STD_ROM_FN(Specjadestnz2)

struct BurnDriver BurnSpecjadestnz2 = {
	"spec_jadestnz2", "spec_jadestnm", "spec_spectrum", NULL, "1987",
	"Jade Stone, The - Part 2 - Vibran to Kradoom (Zenobi Software) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjadestnz2RomInfo, Specjadestnz2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jahangir Khan's World Championship Squash (128K)

static struct BurnRomInfo SpecjakhwochRomDesc[] = {
	{ "Jahangir Khan's World Championship Squash (1991)(Krisalis Software)[128K].z80", 0x12090, 0xafaf6a2e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjakhwoch, Specjakhwoch, Spectrum)
STD_ROM_FN(Specjakhwoch)

struct BurnDriver BurnSpecjakhwoch = {
	"spec_jakhwoch", NULL, "spec_spec128", NULL, "1991",
	"Jahangir Khan's World Championship Squash (128K)\0", NULL, "Krisalis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjakhwochRomInfo, SpecjakhwochRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jai Alai (Spanish) (48K)

static struct BurnRomInfo SpecjaialaieRomDesc[] = {
	{ "Jai Alai (1991)(Opera Soft)(es).z80", 0x09fb3, 0x32c8f8da, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjaialaie, Specjaialaie, Spectrum)
STD_ROM_FN(Specjaialaie)

struct BurnDriver BurnSpecjaialaie = {
	"spec_jaialaie", NULL, "spec_spectrum", NULL, "1991",
	"Jai Alai (Spanish) (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjaialaieRomInfo, SpecjaialaieRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jail Break (B. Williams) (48K)

static struct BurnRomInfo SpecjailbrkbRomDesc[] = {
	{ "Jail Break (1983)(B. Williams).z80", 0x02a26, 0xd252bcb2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjailbrkb, Specjailbrkb, Spectrum)
STD_ROM_FN(Specjailbrkb)

struct BurnDriver BurnSpecjailbrkb = {
	"spec_jailbrkb", NULL, "spec_spectrum", NULL, "1983",
	"Jail Break (B. Williams) (48K)\0", NULL, "B. Williams", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjailbrkbRomInfo, SpecjailbrkbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jail Break (Konami) (48K)

static struct BurnRomInfo SpecjailbrkRomDesc[] = {
	{ "Jail Break (1987)(Konami).z80", 0x0af6f, 0x9ee208aa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjailbrk, Specjailbrk, Spectrum)
STD_ROM_FN(Specjailbrk)

struct BurnDriver BurnSpecjailbrk = {
	"spec_jailbrk", NULL, "spec_spectrum", NULL, "1987",
	"Jail Break (Konami) (48K)\0", NULL, "Konami", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjailbrkRomInfo, SpecjailbrkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jakten i Knackebrohult (sv) (48K)

static struct BurnRomInfo SpecjaktknacRomDesc[] = {
	{ "Jakten i Knackebrohult (19xx)(Xcellent Software)(sv).z80", 0x07003, 0x93e8bd11, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjaktknac, Specjaktknac, Spectrum)
STD_ROM_FN(Specjaktknac)

struct BurnDriver BurnSpecjaktknac = {
	"spec_jaktknac", NULL, "spec_spectrum", NULL, "19xx",
	"Jakten i Knackebrohult (sv) (48K)\0", NULL, "Xcellent Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjaktknacRomInfo, SpecjaktknacRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// James Bond - Octopussy (sk) (128K)

static struct BurnRomInfo SpecjambonocRomDesc[] = {
	{ "James Bond - Octopussy (1992)(Ultrasoft)(sk)[128K][incomplete].z80", 0x04e02, 0x1f59fc88, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjambonoc, Specjambonoc, Spectrum)
STD_ROM_FN(Specjambonoc)

struct BurnDriver BurnSpecjambonoc = {
	"spec_jambonoc", NULL, "spec_spec128", NULL, "1992",
	"James Bond - Octopussy (sk) (128K)\0", NULL, "Ultrasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjambonocRomInfo, SpecjambonocRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jangler (48K)

static struct BurnRomInfo SpecjanglerRomDesc[] = {
	{ "Jangler (1984)(Profisoft).z80", 0x043c4, 0xac13ab4b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjangler, Specjangler, Spectrum)
STD_ROM_FN(Specjangler)

struct BurnDriver BurnSpecjangler = {
	"spec_jangler", NULL, "spec_spectrum", NULL, "1984",
	"Jangler (48K)\0", NULL, "Profisoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjanglerRomInfo, SpecjanglerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jason (Spanish) (48K)

static struct BurnRomInfo SpecjasonesRomDesc[] = {
	{ "Jason (1992)(SOS)(es).z80", 0x08889, 0xb2e1d684, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjasones, Specjasones, Spectrum)
STD_ROM_FN(Specjasones)

struct BurnDriver BurnSpecjasones = {
	"spec_jasones", NULL, "spec_spectrum", NULL, "1992",
	"Jason (Spanish) (48K)\0", NULL, "SOS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjasonesRomInfo, SpecjasonesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jason's Gem (48K)

static struct BurnRomInfo SpecjasogemRomDesc[] = {
	{ "Jason's Gem (1985)(Mastertronic).z80", 0x06861, 0x387f6cd1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjasogem, Specjasogem, Spectrum)
STD_ROM_FN(Specjasogem)

struct BurnDriver BurnSpecjasogem = {
	"spec_jasogem", NULL, "spec_spectrum", NULL, "1985",
	"Jason's Gem (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjasogemRomInfo, SpecjasogemRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jasper (48K)

static struct BurnRomInfo SpecjasperRomDesc[] = {
	{ "Jasper (1984)(Micromega).z80", 0x08200, 0x1adb1b45, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjasper, Specjasper, Spectrum)
STD_ROM_FN(Specjasper)

struct BurnDriver BurnSpecjasper = {
	"spec_jasper", NULL, "spec_spectrum", NULL, "1984",
	"Jasper (48K)\0", NULL, "Micromega", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjasperRomInfo, SpecjasperRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jaws (48K)

static struct BurnRomInfo SpecjawsRomDesc[] = {
	{ "Jaws (1989)(Screen 7).z80", 0x09c57, 0x6194be95, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjaws, Specjaws, Spectrum)
STD_ROM_FN(Specjaws)

struct BurnDriver BurnSpecjaws = {
	"spec_jaws", NULL, "spec_spectrum", NULL, "1989",
	"Jaws (48K)\0", NULL, "Screen 7", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjawsRomInfo, SpecjawsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jedy (48K)

static struct BurnRomInfo SpecjedyRomDesc[] = {
	{ "Jedy (1983)(M.K. Circuits).z80", 0x06d0a, 0xa5c79d51, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjedy, Specjedy, Spectrum)
STD_ROM_FN(Specjedy)

struct BurnDriver BurnSpecjedy = {
	"spec_jedy", NULL, "spec_spectrum", NULL, "1983",
	"Jedy (48K)\0", NULL, "M.K. Circuits", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjedyRomInfo, SpecjedyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jericho 2 (48K)

static struct BurnRomInfo Specjericho2RomDesc[] = {
	{ "Jericho 2 (1984)(Elephant Software).z80", 0x04718, 0xfd184d9c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjericho2, Specjericho2, Spectrum)
STD_ROM_FN(Specjericho2)

struct BurnDriver BurnSpecjericho2 = {
	"spec_jericho2", NULL, "spec_spectrum", NULL, "1984",
	"Jericho 2 (48K)\0", NULL, "Elephant Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjericho2RomInfo, Specjericho2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jericho Road (48K)

static struct BurnRomInfo SpecjeriroadRomDesc[] = {
	{ "Jericho Road (1984)(Shards Software).z80", 0x0a243, 0x77c2851c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjeriroad, Specjeriroad, Spectrum)
STD_ROM_FN(Specjeriroad)

struct BurnDriver BurnSpecjeriroad = {
	"spec_jeriroad", NULL, "spec_spectrum", NULL, "1984",
	"Jericho Road (48K)\0", NULL, "Shards Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjeriroadRomInfo, SpecjeriroadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jerrybuilder (48K)

static struct BurnRomInfo SpecjerrybuiRomDesc[] = {
	{ "Jerrybuilder (1984)(Ron Ridge).z80", 0x0834a, 0x665970f5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjerrybui, Specjerrybui, Spectrum)
STD_ROM_FN(Specjerrybui)

struct BurnDriver BurnSpecjerrybui = {
	"spec_jerrybui", NULL, "spec_spectrum", NULL, "1984",
	"Jerrybuilder (48K)\0", NULL, "Ron Ridge", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjerrybuiRomInfo, SpecjerrybuiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jester Quest (Part 1 of 2) (48K)

static struct BurnRomInfo Specjestqst_48RomDesc[] = {
	{ "Jester Quest (1988)(Zenobi Software)(Part 1 of 2)[re-release].z80", 0x094e5, 0xaccb1a21, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjestqst_48, Specjestqst_48, Spectrum)
STD_ROM_FN(Specjestqst_48)

struct BurnDriver BurnSpecjestqst_48 = {
	"spec_jestqst_48", "spec_jestqst", "spec_spectrum", NULL, "1988",
	"Jester Quest (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjestqst_48RomInfo, Specjestqst_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jester Quest (Part 2 of 2) (48K)

static struct BurnRomInfo Specjestqst2_48RomDesc[] = {
	{ "Jester Quest (1988)(Zenobi Software)(Part 2 of 2)[re-release].z80", 0x0949e, 0x76636a7e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjestqst2_48, Specjestqst2_48, Spectrum)
STD_ROM_FN(Specjestqst2_48)

struct BurnDriver BurnSpecjestqst2_48 = {
	"spec_jestqst2_48", "spec_jestqst", "spec_spectrum", NULL, "1988",
	"Jester Quest (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjestqst2_48RomInfo, Specjestqst2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jester Quest (128K)

static struct BurnRomInfo SpecjestqstRomDesc[] = {
	{ "Jester Quest (1988)(Zenobi Software)[128K][re-release].z80", 0x1da08, 0x520fc004, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjestqst, Specjestqst, Spectrum)
STD_ROM_FN(Specjestqst)

struct BurnDriver BurnSpecjestqst = {
	"spec_jestqst", NULL, "spec_spec128", NULL, "1988",
	"Jester Quest (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjestqstRomInfo, SpecjestqstRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jester's Jaunt (Part 1 of 2) (48K)

static struct BurnRomInfo SpecjestjuntRomDesc[] = {
	{ "Jester's Jaunt (1991)(Zenobi Software)(Part 1 of 2).z80", 0x09043, 0x39997f80, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjestjunt, Specjestjunt, Spectrum)
STD_ROM_FN(Specjestjunt)

struct BurnDriver BurnSpecjestjunt = {
	"spec_jestjunt", NULL, "spec_spectrum", NULL, "1991",
	"Jester's Jaunt (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjestjuntRomInfo, SpecjestjuntRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jester's Jaunt (Part 2 of 2) (48K)

static struct BurnRomInfo Specjestjunt2RomDesc[] = {
	{ "Jester's Jaunt (1991)(Zenobi Software)(Part 2 of 2).z80", 0x091b0, 0x2d682974, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjestjunt2, Specjestjunt2, Spectrum)
STD_ROM_FN(Specjestjunt2)

struct BurnDriver BurnSpecjestjunt2 = {
	"spec_jestjunt2", "spec_jestjunt", "spec_spectrum", NULL, "1991",
	"Jester's Jaunt (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjestjunt2RomInfo, Specjestjunt2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Bike Simulator - Expert (48K)

static struct BurnRomInfo SpecjetbksimeRomDesc[] = {
	{ "Jet Bike Simulator - Expert (1988)(Codemasters Plus).z80", 0x093f4, 0x980932d8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjetbksime, Specjetbksime, Spectrum)
STD_ROM_FN(Specjetbksime)

struct BurnDriver BurnSpecjetbksime = {
	"spec_jetbksime", "spec_jetbksim", "spec_spectrum", NULL, "1988",
	"Jet Bike Simulator - Expert (48K)\0", NULL, "Codemasters Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjetbksimeRomInfo, SpecjetbksimeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Bike Simulator - Standard (48K)

static struct BurnRomInfo SpecjetbksimRomDesc[] = {
	{ "Jet Bike Simulator - Standard (1988)(Codemasters Plus).z80", 0x09237, 0x387eb657, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjetbksim, Specjetbksim, Spectrum)
STD_ROM_FN(Specjetbksim)

struct BurnDriver BurnSpecjetbksim = {
	"spec_jetbksim", NULL, "spec_spectrum", NULL, "1988",
	"Jet Bike Simulator - Standard (48K)\0", NULL, "Codemasters Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjetbksimRomInfo, SpecjetbksimRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - A Bulgarian Requiem (48K)

static struct BurnRomInfo SpecjswillbrRomDesc[] = {
	{ "Jet Set Willy - A Bulgarian Requiem (2000)(Adban de Corcy).z80", 0x0974b, 0x32da8e49, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswillbr, Specjswillbr, Spectrum)
STD_ROM_FN(Specjswillbr)

struct BurnDriver BurnSpecjswillbr = {
	"spec_jswillbr", NULL, "spec_spectrum", NULL, "2000",
	"Jet Set Willy - A Bulgarian Requiem (48K)\0", NULL, "Adban de Corcy", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswillbrRomInfo, SpecjswillbrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - Dup Moor en T' Panat (48K)

static struct BurnRomInfo SpecjswilldpRomDesc[] = {
	{ "Jet Set Willy - Dup Moor en T' Panat (2002)(Nick Aldridge).z80", 0x0837d, 0x2a3ffb99, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswilldp, Specjswilldp, Spectrum)
STD_ROM_FN(Specjswilldp)

struct BurnDriver BurnSpecjswilldp = {
	"spec_jswilldp", NULL, "spec_spectrum", NULL, "2002",
	"Jet Set Willy - Dup Moor en T' Panat (48K)\0", NULL, "Nick Aldridge", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswilldpRomInfo, SpecjswilldpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - Editor MkII (48K)

static struct BurnRomInfo SpecjswilledRomDesc[] = {
	{ "Jet Set Willy - Editor MkII (1984)(Softricks).z80", 0x08dd8, 0x2e6b1dd4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswilled, Specjswilled, Spectrum)
STD_ROM_FN(Specjswilled)

struct BurnDriver BurnSpecjswilled = {
	"spec_jswilled", NULL, "spec_spectrum", NULL, "1984",
	"Jet Set Willy - Editor MkII (48K)\0", NULL, "Softricks", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswilledRomInfo, SpecjswilledRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - Editor v2 (48K)

static struct BurnRomInfo Specjswille2RomDesc[] = {
	{ "Jet Set Willy - Editor v2 (1984)(Spectrum Electronics).z80", 0x08895, 0xdba3dafc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswille2, Specjswille2, Spectrum)
STD_ROM_FN(Specjswille2)

struct BurnDriver BurnSpecjswille2 = {
	"spec_jswille2", NULL, "spec_spectrum", NULL, "1984",
	"Jet Set Willy - Editor v2 (48K)\0", NULL, "Spectrum Electronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjswille2RomInfo, Specjswille2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - Fantasy World Willy (128K)

static struct BurnRomInfo SpecjswillfwRomDesc[] = {
	{ "Jet Set Willy - Fantasy World Willy (2002)(BaSe1 PrOdUcTiOnZ)[128K].z80", 0x08790, 0xcc73bffd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswillfw, Specjswillfw, Spectrum)
STD_ROM_FN(Specjswillfw)

struct BurnDriver BurnSpecjswillfw = {
	"spec_jswillfw", NULL, "spec_spec128", NULL, "2002",
	"Jet Set Willy - Fantasy World Willy (128K)\0", NULL, "BaSe1 PrOdUcTiOnZ", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswillfwRomInfo, SpecjswillfwRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - Ivy (48K)

static struct BurnRomInfo SpecjswillivRomDesc[] = {
	{ "Jet Set Willy - Ivy (1998)(Filsoft)[needs tape load].z80", 0x01312, 0x2bf225f0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswilliv, Specjswilliv, Spectrum)
STD_ROM_FN(Specjswilliv)

struct BurnDriver BurnSpecjswilliv = {
	"spec_jswilliv", NULL, "spec_spectrum", NULL, "1998",
	"Jet Set Willy - Ivy (48K)\0", NULL, "Filsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswillivRomInfo, SpecjswillivRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - Jet Set Emily - Baby on the Go (48K)

static struct BurnRomInfo SpecjswilljsRomDesc[] = {
	{ "Jet Set Willy - Jet Set Emily - Baby on the Go (2002)(Doctor Who).z80", 0x08bf3, 0xd21a3d9b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswilljs, Specjswilljs, Spectrum)
STD_ROM_FN(Specjswilljs)

struct BurnDriver BurnSpecjswilljs = {
	"spec_jswilljs", NULL, "spec_spectrum", NULL, "2002",
	"Jet Set Willy - Jet Set Emily - Baby on the Go (48K)\0", NULL, "Doctor Who", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswilljsRomInfo, SpecjswilljsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - JJ (48K)

static struct BurnRomInfo SpecjswilljjRomDesc[] = {
	{ "Jet Set Willy - JJ (1999)(Geoff Eddy)[t].z80", 0x08be3, 0x19349feb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswilljj, Specjswilljj, Spectrum)
STD_ROM_FN(Specjswilljj)

struct BurnDriver BurnSpecjswilljj = {
	"spec_jswilljj", NULL, "spec_spectrum", NULL, "1999",
	"Jet Set Willy - JJ (48K)\0", NULL, "Geoff Eddy", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswilljjRomInfo, SpecjswilljjRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - Join the Jetset (48K)

static struct BurnRomInfo SpecjswilljoRomDesc[] = {
	{ "Jet Set Willy - Join the Jetset (1985)(Halsoft)[t].z80", 0x09093, 0x727a545c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswilljo, Specjswilljo, Spectrum)
STD_ROM_FN(Specjswilljo)

struct BurnDriver BurnSpecjswilljo = {
	"spec_jswilljo", NULL, "spec_spectrum", NULL, "1985",
	"Jet Set Willy - Join the Jetset (48K)\0", NULL, "Halsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswilljoRomInfo, SpecjswilljoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - Maria vs Some Bastards (48K)

static struct BurnRomInfo SpecjswillmaRomDesc[] = {
	{ "Jet Set Willy - Maria vs Some Bastards (2001)(Manic Miner Technologies).z80", 0x06d61, 0x3d853988, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswillma, Specjswillma, Spectrum)
STD_ROM_FN(Specjswillma)

struct BurnDriver BurnSpecjswillma = {
	"spec_jswillma", NULL, "spec_spectrum", NULL, "2001",
	"Jet Set Willy - Maria vs Some Bastards (48K)\0", NULL, "Manic Miner Technologies", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswillmaRomInfo, SpecjswillmaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - Maria's Revenge (48K)

static struct BurnRomInfo SpecjswillmrRomDesc[] = {
	{ "Jet Set Willy - Maria's Revenge (2004)(Mat Doughty).z80", 0x0719b, 0x5f424124, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswillmr, Specjswillmr, Spectrum)
STD_ROM_FN(Specjswillmr)

struct BurnDriver BurnSpecjswillmr = {
	"spec_jswillmr", NULL, "spec_spectrum", NULL, "2004",
	"Jet Set Willy - Maria's Revenge (48K)\0", NULL, "Mat Doughty", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswillmrRomInfo, SpecjswillmrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - Mr. Top Hat (48K)

static struct BurnRomInfo SpecjswillthRomDesc[] = {
	{ "Jet Set Willy - Mr. Top Hat (2003)(Nick Aldridge).z80", 0x0825f, 0xbd58d0a2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswillth, Specjswillth, Spectrum)
STD_ROM_FN(Specjswillth)

struct BurnDriver BurnSpecjswillth = {
	"spec_jswillth", NULL, "spec_spectrum", NULL, "2003",
	"Jet Set Willy - Mr. Top Hat (48K)\0", NULL, "Nick Aldridge", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswillthRomInfo, SpecjswillthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - Stupid (48K)

static struct BurnRomInfo SpecjswillstRomDesc[] = {
	{ "Jet Set Willy - Stupid (2001)(Nick Aldridge).z80", 0x087c0, 0x7cd732c7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswillst, Specjswillst, Spectrum)
STD_ROM_FN(Specjswillst)

struct BurnDriver BurnSpecjswillst = {
	"spec_jswillst", NULL, "spec_spectrum", NULL, "2001",
	"Jet Set Willy - Stupid (48K)\0", NULL, "Nick Aldridge", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswillstRomInfo, SpecjswillstRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - The '96 Remix (48K)

static struct BurnRomInfo Specjswill96RomDesc[] = {
	{ "Jet Set Willy - The '96 Remix (1996)(Paul Howard).z80", 0x07352, 0x1c19623a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswill96, Specjswill96, Spectrum)
STD_ROM_FN(Specjswill96)

struct BurnDriver BurnSpecjswill96 = {
	"spec_jswill96", NULL, "spec_spectrum", NULL, "1996",
	"Jet Set Willy - The '96 Remix (48K)\0", NULL, "Paul Howard", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjswill96RomInfo, Specjswill96RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - The Continuing Adventures (48K)

static struct BurnRomInfo SpecjswillcaRomDesc[] = {
	{ "Jet Set Willy - The Continuing Adventures (1985)(Adam Britton).z80", 0x080ba, 0x3f45d870, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswillca, Specjswillca, Spectrum)
STD_ROM_FN(Specjswillca)

struct BurnDriver BurnSpecjswillca = {
	"spec_jswillca", NULL, "spec_spectrum", NULL, "1985",
	"Jet Set Willy - The Continuing Adventures (48K)\0", NULL, "Adam Britton", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswillcaRomInfo, SpecjswillcaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - The Deadly Mission (48K)

static struct BurnRomInfo SpecjswilldmRomDesc[] = {
	{ "Jet Set Willy - The Deadly Mission (1985)(Adam Britton).z80", 0x08052, 0x18e8ad06, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswilldm, Specjswilldm, Spectrum)
STD_ROM_FN(Specjswilldm)

struct BurnDriver BurnSpecjswilldm = {
	"spec_jswilldm", NULL, "spec_spectrum", NULL, "1985",
	"Jet Set Willy - The Deadly Mission (48K)\0", NULL, "Adam Britton", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswilldmRomInfo, SpecjswilldmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - The DrUnKeN mAsTeR (48K)

static struct BurnRomInfo SpecjswilldrRomDesc[] = {
	{ "Jet Set Willy - The DrUnKeN mAsTeR (2002)(BaSe1 PrOdUcTiOnZ).z80", 0x087ad, 0x8a1dbb85, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswilldr, Specjswilldr, Spectrum)
STD_ROM_FN(Specjswilldr)

struct BurnDriver BurnSpecjswilldr = {
	"spec_jswilldr", NULL, "spec_spectrum", NULL, "2002",
	"Jet Set Willy - The DrUnKeN mAsTeR (48K)\0", NULL, "BaSe1 PrOdUcTiOnZ", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswilldrRomInfo, SpecjswilldrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - The Hacker (48K)

static struct BurnRomInfo SpecjswillhaRomDesc[] = {
	{ "Jet Set Willy - The Hacker (1999)(Geoff Eddy).z80", 0x08855, 0x44d92608, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswillha, Specjswillha, Spectrum)
STD_ROM_FN(Specjswillha)

struct BurnDriver BurnSpecjswillha = {
	"spec_jswillha", NULL, "spec_spectrum", NULL, "1999",
	"Jet Set Willy - The Hacker (48K)\0", NULL, "Geoff Eddy", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswillhaRomInfo, SpecjswillhaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - The Sun is no Longer Producing Heat (48K)

static struct BurnRomInfo SpecjswillsuRomDesc[] = {
	{ "Jet Set Willy - The Sun is no Longer Producing Heat (2002)(Nick Aldridge).z80", 0x0814f, 0xb17b65e8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswillsu, Specjswillsu, Spectrum)
STD_ROM_FN(Specjswillsu)

struct BurnDriver BurnSpecjswillsu = {
	"spec_jswillsu", NULL, "spec_spectrum", NULL, "2002",
	"Jet Set Willy - The Sun is no Longer Producing Heat (48K)\0", NULL, "Nick Aldridge", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswillsuRomInfo, SpecjswillsuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - Wet Sunday Afternoon Graphical Remix (48K)

static struct BurnRomInfo SpecjswillwsRomDesc[] = {
	{ "Jet Set Willy - Wet Sunday Afternoon Graphical Remix (2001)(Darren McCowan).z80", 0x075df, 0xbcef089f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswillws, Specjswillws, Spectrum)
STD_ROM_FN(Specjswillws)

struct BurnDriver BurnSpecjswillws = {
	"spec_jswillws", NULL, "spec_spectrum", NULL, "2001",
	"Jet Set Willy - Wet Sunday Afternoon Graphical Remix (48K)\0", NULL, "Darren McCowan", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswillwsRomInfo, SpecjswillwsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - Willy In Space (48K)

static struct BurnRomInfo SpecjswillspRomDesc[] = {
	{ "Jet Set Willy - Willy In Space (1997)(Halsoft)[t +2].z80", 0x0854d, 0xd6d9590b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswillsp, Specjswillsp, Spectrum)
STD_ROM_FN(Specjswillsp)

struct BurnDriver BurnSpecjswillsp = {
	"spec_jswillsp", NULL, "spec_spectrum", NULL, "1997",
	"Jet Set Willy - Willy In Space (48K)\0", NULL, "Halsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswillspRomInfo, SpecjswillspRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - Willy vs the Vampire Lord (48K)

static struct BurnRomInfo SpecjswillvlRomDesc[] = {
	{ "Jet Set Willy - Willy vs the Vampire Lord (2001)(Lee Tatlock).z80", 0x06d1c, 0x5dd36ba2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswillvl, Specjswillvl, Spectrum)
STD_ROM_FN(Specjswillvl)

struct BurnDriver BurnSpecjswillvl = {
	"spec_jswillvl", NULL, "spec_spectrum", NULL, "2001",
	"Jet Set Willy - Willy vs the Vampire Lord (48K)\0", NULL, "Lee Tatlock", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswillvlRomInfo, SpecjswillvlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - Willy's Afterlife v2.00 (48K)

static struct BurnRomInfo SpecjswillwaRomDesc[] = {
	{ "Jet Set Willy - Willy's Afterlife v2.00 (2000)(Adban de Corcy).z80", 0x08e33, 0x61ff1708, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswillwa, Specjswillwa, Spectrum)
STD_ROM_FN(Specjswillwa)

struct BurnDriver BurnSpecjswillwa = {
	"spec_jswillwa", NULL, "spec_spectrum", NULL, "2000",
	"Jet Set Willy - Willy's Afterlife v2.00 (48K)\0", NULL, "Adban de Corcy", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswillwaRomInfo, SpecjswillwaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - Willy's Holiday (48K)

static struct BurnRomInfo SpecjswillwhRomDesc[] = {
	{ "Jet Set Willy - Willy's Holiday (1985)(Adam Britton).z80", 0x090a8, 0x17065ab1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswillwh, Specjswillwh, Spectrum)
STD_ROM_FN(Specjswillwh)

struct BurnDriver BurnSpecjswillwh = {
	"spec_jswillwh", NULL, "spec_spectrum", NULL, "1985",
	"Jet Set Willy - Willy's Holiday (48K)\0", NULL, "Adam Britton", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswillwhRomInfo, SpecjswillwhRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy - Willy's New Hat (48K)

static struct BurnRomInfo SpecjswillnhRomDesc[] = {
	{ "Jet Set Willy - Willy's New Hat (1985)(-).z80", 0x0698d, 0x9e3a6ed6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswillnh, Specjswillnh, Spectrum)
STD_ROM_FN(Specjswillnh)

struct BurnDriver BurnSpecjswillnh = {
	"spec_jswillnh", NULL, "spec_spectrum", NULL, "1985",
	"Jet Set Willy - Willy's New Hat (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswillnhRomInfo, SpecjswillnhRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy (48K)

static struct BurnRomInfo SpecjswillyRomDesc[] = {
	{ "Jet Set Willy (1984)(Software Projects).z80", 0x0c01e, 0x06cfad72, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswilly, Specjswilly, Spectrum)
STD_ROM_FN(Specjswilly)

struct BurnDriver BurnSpecjswilly = {
	"spec_jswilly", NULL, "spec_spectrum", NULL, "1984",
	"Jet Set Willy (48K)\0", NULL, "Software Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjswillyRomInfo, SpecjswillyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy 1-1 (48K)

static struct BurnRomInfo Specjswill11RomDesc[] = {
	{ "Jet Set Willy 1-1 (2000)(Nick Aldridge).z80", 0x06d10, 0xf93081f6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswill11, Specjswill11, Spectrum)
STD_ROM_FN(Specjswill11)

struct BurnDriver BurnSpecjswill11 = {
	"spec_jswill11", NULL, "spec_spectrum", NULL, "2000",
	"Jet Set Willy 1-1 (48K)\0", NULL, "Nick Aldridge", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjswill11RomInfo, Specjswill11RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy II - The Final Frontier (48K)

static struct BurnRomInfo Specjswilly2RomDesc[] = {
	{ "Jet Set Willy II - The Final Frontier (1985)(Software Projects).z80", 0x0a5d6, 0xfdf35d51, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswilly2, Specjswilly2, Spectrum)
STD_ROM_FN(Specjswilly2)

struct BurnDriver BurnSpecjswilly2 = {
	"spec_jswilly2", NULL, "spec_spectrum", NULL, "1985",
	"Jet Set Willy II - The Final Frontier (48K)\0", NULL, "Software Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjswilly2RomInfo, Specjswilly2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy II - The Final Frontier (end) (48K)

static struct BurnRomInfo Specjswilly2eRomDesc[] = {
	{ "Jet Set Willy II - The Final Frontier (1985)(Software Projects)[end].z80", 0x09f58, 0x27f2f88b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswilly2e, Specjswilly2e, Spectrum)
STD_ROM_FN(Specjswilly2e)

struct BurnDriver BurnSpecjswilly2e = {
	"spec_jswilly2e", "spec_jswilly2", "spec_spectrum", NULL, "1985",
	"Jet Set Willy II - The Final Frontier (end) (48K)\0", NULL, "Software Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjswilly2eRomInfo, Specjswilly2eRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy III (48K)

static struct BurnRomInfo Specjswilly3RomDesc[] = {
	{ "Jet Set Willy III (1985)(MB - APG Software).z80", 0x08061, 0xbde7b5ae, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswilly3, Specjswilly3, Spectrum)
STD_ROM_FN(Specjswilly3)

struct BurnDriver BurnSpecjswilly3 = {
	"spec_jswilly3", NULL, "spec_spectrum", NULL, "1985",
	"Jet Set Willy III (48K)\0", NULL, "MB - APG Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjswilly3RomInfo, Specjswilly3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet Set Willy IV - The Four Remix (48K)

static struct BurnRomInfo Specjswilly4RomDesc[] = {
	{ "Jet Set Willy IV - The Four Remix (1999)(Geoff Eddy).z80", 0x074f9, 0x4cc1e90c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjswilly4, Specjswilly4, Spectrum)
STD_ROM_FN(Specjswilly4)

struct BurnDriver BurnSpecjswilly4 = {
	"spec_jswilly4", NULL, "spec_spectrum", NULL, "1999",
	"Jet Set Willy IV - The Four Remix (48K)\0", NULL, "Geoff Eddy", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjswilly4RomInfo, Specjswilly4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet-Man Silly (cs) (48K)

static struct BurnRomInfo SpecjetmansiRomDesc[] = {
	{ "Jet-Man Silly (1993)(Proxima Software)(cs).z80", 0x04d04, 0xe7270347, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjetmansi, Specjetmansi, Spectrum)
STD_ROM_FN(Specjetmansi)

struct BurnDriver BurnSpecjetmansi = {
	"spec_jetmansi", NULL, "spec_spectrum", NULL, "1993",
	"Jet-Man Silly (cs) (48K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjetmansiRomInfo, SpecjetmansiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jetsons, The (128K)

static struct BurnRomInfo SpecjetsonsRomDesc[] = {
	{ "Jetsons, The (1992)(Hi-Tec Software)[128K].z80", 0x1a1c3, 0x2394a5b6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjetsons, Specjetsons, Spectrum)
STD_ROM_FN(Specjetsons)

struct BurnDriver BurnSpecjetsons = {
	"spec_jetsons", NULL, "spec_spec128", NULL, "1992",
	"Jetsons, The (128K)\0", NULL, "Hi-Tec Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjetsonsRomInfo, SpecjetsonsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jet-Story (48K)

static struct BurnRomInfo SpecjetstoryRomDesc[] = {
	{ "Jet-Story (1988)(Ultrasoft).z80", 0x0853f, 0x59aade97, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjetstory, Specjetstory, Spectrum)
STD_ROM_FN(Specjetstory)

struct BurnDriver BurnSpecjetstory = {
	"spec_jetstory", NULL, "spec_spectrum", NULL, "1988",
	"Jet-Story (48K)\0", NULL, "Ultrasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjetstoryRomInfo, SpecjetstoryRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jewels of Babylon, The (48K)

static struct BurnRomInfo SpecjewbabthRomDesc[] = {
	{ "Jewels of Babylon, The (1985)(Interceptor Micros Software).z80", 0x0a828, 0x3b53949e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjewbabth, Specjewbabth, Spectrum)
STD_ROM_FN(Specjewbabth)

struct BurnDriver BurnSpecjewbabth = {
	"spec_jewbabth", NULL, "spec_spectrum", NULL, "1985",
	"Jewels of Babylon, The (48K)\0", NULL, "Interceptor Micros Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjewbabthRomInfo, SpecjewbabthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jewels of Darkness Trilogy I - Colossal Adventure (48K)

static struct BurnRomInfo SpecjewdarkRomDesc[] = {
	{ "Jewels of Darkness Trilogy I - Colossal Adventure (1983)(Level 9 Computing).z80", 0x079f9, 0x1d135d8a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjewdark, Specjewdark, Spectrum)
STD_ROM_FN(Specjewdark)

struct BurnDriver BurnSpecjewdark = {
	"spec_jewdark", NULL, "spec_spectrum", NULL, "1983",
	"Jewels of Darkness Trilogy I - Colossal Adventure (48K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjewdarkRomInfo, SpecjewdarkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jewels of Darkness Trilogy II - Adventure Quest (48K)

static struct BurnRomInfo Specjewdark2RomDesc[] = {
	{ "Jewels of Darkness Trilogy II - Adventure Quest (1983)(Level 9 Computing).z80", 0x0676a, 0xc25cb8df, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjewdark2, Specjewdark2, Spectrum)
STD_ROM_FN(Specjewdark2)

struct BurnDriver BurnSpecjewdark2 = {
	"spec_jewdark2", "spec_jewdark", "spec_spectrum", NULL, "1983",
	"Jewels of Darkness Trilogy II - Adventure Quest (48K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjewdark2RomInfo, Specjewdark2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jewels of Darkness Trilogy II - Adventure Quest v2 (48K)

static struct BurnRomInfo Specjewdark3RomDesc[] = {
	{ "Jewels of Darkness Trilogy II - Adventure Quest v2 (1983)(Level 9 Computing).z80", 0x0727f, 0x3af954d2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjewdark3, Specjewdark3, Spectrum)
STD_ROM_FN(Specjewdark3)

struct BurnDriver BurnSpecjewdark3 = {
	"spec_jewdark3", "spec_jewdark", "spec_spectrum", NULL, "1983",
	"Jewels of Darkness Trilogy II - Adventure Quest v2 (48K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjewdark3RomInfo, Specjewdark3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jewels of Darkness Trilogy III - Dungeon Adventure (48K)

static struct BurnRomInfo Specjewdark4RomDesc[] = {
	{ "Jewels of Darkness Trilogy III - Dungeon Adventure (1983)(Level 9 Computing).z80", 0x07bce, 0x9546c0af, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjewdark4, Specjewdark4, Spectrum)
STD_ROM_FN(Specjewdark4)

struct BurnDriver BurnSpecjewdark4 = {
	"spec_jewdark4", "spec_jewdark", "spec_spectrum", NULL, "1983",
	"Jewels of Darkness Trilogy III - Dungeon Adventure (48K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjewdark4RomInfo, Specjewdark4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jewels of Power (48K)

static struct BurnRomInfo SpecjewepoweRomDesc[] = {
	{ "Jewels of Power (19xx)(-).z80", 0x0aa7c, 0x756190fc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjewepowe, Specjewepowe, Spectrum)
STD_ROM_FN(Specjewepowe)

struct BurnDriver BurnSpecjewepowe = {
	"spec_jewepowe", NULL, "spec_spectrum", NULL, "19xx",
	"Jewels of Power (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjewepoweRomInfo, SpecjewepoweRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jimmy's Soccer Manager (48K)

static struct BurnRomInfo SpecjimsocmaRomDesc[] = {
	{ "Jimmy's Soccer Manager (1991)(Beyond Belief).z80", 0x09d23, 0x27dae269, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjimsocma, Specjimsocma, Spectrum)
STD_ROM_FN(Specjimsocma)

struct BurnDriver BurnSpecjimsocma = {
	"spec_jimsocma", NULL, "spec_spectrum", NULL, "1991",
	"Jimmy's Soccer Manager (48K)\0", NULL, "Beyond Belief", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjimsocmaRomInfo, SpecjimsocmaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jmeno Ruze (cs) (128K)

static struct BurnRomInfo SpecjmenruzeRomDesc[] = {
	{ "Jmeno Ruze (1991)(Proxima Software)(cs)[128K].z80", 0x199bd, 0x129b0ddd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjmenruze, Specjmenruze, Spectrum)
STD_ROM_FN(Specjmenruze)

struct BurnDriver BurnSpecjmenruze = {
	"spec_jmenruze", NULL, "spec_spec128", NULL, "1991",
	"Jmeno Ruze (cs) (128K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjmenruzeRomInfo, SpecjmenruzeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jock and the Time Rings (48K)

static struct BurnRomInfo SpecjoctimriRomDesc[] = {
	{ "Jock and the Time Rings (1985)(Atlantis Software).z80", 0x09226, 0x10f68a71, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjoctimri, Specjoctimri, Spectrum)
STD_ROM_FN(Specjoctimri)

struct BurnDriver BurnSpecjoctimri = {
	"spec_joctimri", NULL, "spec_spectrum", NULL, "1985",
	"Jock and the Time Rings (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjoctimriRomInfo, SpecjoctimriRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jocky Wilson's Compendium of Darts (48K)

static struct BurnRomInfo SpecjowicodaRomDesc[] = {
	{ "Jocky Wilson's Compendium of Darts (1991)(Zeppelin Games).z80", 0x08764, 0x3fff1702, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjowicoda, Specjowicoda, Spectrum)
STD_ROM_FN(Specjowicoda)

struct BurnDriver BurnSpecjowicoda = {
	"spec_jowicoda", NULL, "spec_spectrum", NULL, "1991",
	"Jocky Wilson's Compendium of Darts (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjowicodaRomInfo, SpecjowicodaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jocky Wilson's Darts Challenge (48K)

static struct BurnRomInfo SpecjowidachRomDesc[] = {
	{ "Jocky Wilson's Darts Challenge (1989)(Zeppelin Games).z80", 0x08233, 0x2a6d712c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjowidach, Specjowidach, Spectrum)
STD_ROM_FN(Specjowidach)

struct BurnDriver BurnSpecjowidach = {
	"spec_jowidach", NULL, "spec_spectrum", NULL, "1989",
	"Jocky Wilson's Darts Challenge (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjowidachRomInfo, SpecjowidachRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Joe Blade (48K)

static struct BurnRomInfo SpecjoebldRomDesc[] = {
	{ "Joe Blade (1987)(Players Software).z80", 0x097f4, 0xea391957, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjoebld, Specjoebld, Spectrum)
STD_ROM_FN(Specjoebld)

struct BurnDriver BurnSpecjoebld = {
	"spec_joebld", NULL, "spec_spectrum", NULL, "1987",
	"Joe Blade (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjoebldRomInfo, SpecjoebldRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Joe Blade 4 (48K)

static struct BurnRomInfo Specjoebld4RomDesc[] = {
	{ "Joe Blade 4 (1991)(Players Premier Software).z80", 0x099ce, 0xc6909c76, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjoebld4, Specjoebld4, Spectrum)
STD_ROM_FN(Specjoebld4)

struct BurnDriver BurnSpecjoebld4 = {
	"spec_joebld4", NULL, "spec_spectrum", NULL, "1991",
	"Joe Blade 4 (48K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjoebld4RomInfo, Specjoebld4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Joe Blade II (48K)

static struct BurnRomInfo Specjoebld2_48RomDesc[] = {
	{ "Joe Blade II (1988)(Players Software).z80", 0x09b61, 0x382b3651, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjoebld2_48, Specjoebld2_48, Spectrum)
STD_ROM_FN(Specjoebld2_48)

struct BurnDriver BurnSpecjoebld2_48 = {
	"spec_joebld2_48", "spec_joebld2", "spec_spectrum", NULL, "1988",
	"Joe Blade II (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjoebld2_48RomInfo, Specjoebld2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Joe Blade II (128K)

static struct BurnRomInfo Specjoebld2RomDesc[] = {
	{ "Joe Blade II (1988)(Players Software)[128K].z80", 0x0bb13, 0x20a19599, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjoebld2, Specjoebld2, Spectrum)
STD_ROM_FN(Specjoebld2)

struct BurnDriver BurnSpecjoebld2 = {
	"spec_joebld2", NULL, "spec_spec128", NULL, "1988",
	"Joe Blade II (128K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjoebld2RomInfo, Specjoebld2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Joe Blade III (48K)

static struct BurnRomInfo Specjoebld3RomDesc[] = {
	{ "Joe Blade III (1989)(Players Premier Software)[t].z80", 0x0930d, 0x15c34926, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjoebld3, Specjoebld3, Spectrum)
STD_ROM_FN(Specjoebld3)

struct BurnDriver BurnSpecjoebld3 = {
	"spec_joebld3", NULL, "spec_spectrum", NULL, "1989",
	"Joe Blade III (48K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjoebld3RomInfo, Specjoebld3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jogger (German) (48K)

static struct BurnRomInfo SpecjoggerdeRomDesc[] = {
	{ "Jogger (19xx)(-)(de).z80", 0x00f21, 0x027c0e66, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjoggerde, Specjoggerde, Spectrum)
STD_ROM_FN(Specjoggerde)

struct BurnDriver BurnSpecjoggerde = {
	"spec_joggerde", NULL, "spec_spectrum", NULL, "19xx",
	"Jogger (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjoggerdeRomInfo, SpecjoggerdeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// John Craig Sailboat Racing (48K)

static struct BurnRomInfo SpecjocrsaraRomDesc[] = {
	{ "John Craig Sailboat Racing (1984)(JCS ZX Software).z80", 0x08efa, 0x1cef0076, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjocrsara, Specjocrsara, Spectrum)
STD_ROM_FN(Specjocrsara)

struct BurnDriver BurnSpecjocrsara = {
	"spec_jocrsara", NULL, "spec_spectrum", NULL, "1984",
	"John Craig Sailboat Racing (48K)\0", NULL, "JCS ZX Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjocrsaraRomInfo, SpecjocrsaraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Johnny Reb (48K)

static struct BurnRomInfo SpecjohnrebRomDesc[] = {
	{ "Johnny Reb (1983)(MC Lothlorien).z80", 0x060d3, 0x107944ee, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjohnreb, Specjohnreb, Spectrum)
STD_ROM_FN(Specjohnreb)

struct BurnDriver BurnSpecjohnreb = {
	"spec_johnreb", NULL, "spec_spectrum", NULL, "1983",
	"Johnny Reb (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjohnrebRomInfo, SpecjohnrebRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Johnny Reb II (48K)

static struct BurnRomInfo Specjohnreb2RomDesc[] = {
	{ "Johnny Reb II (1986)(MC Lothlorien).z80", 0x07b4c, 0x6bc9ccf4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjohnreb2, Specjohnreb2, Spectrum)
STD_ROM_FN(Specjohnreb2)

struct BurnDriver BurnSpecjohnreb2 = {
	"spec_johnreb2", NULL, "spec_spectrum", NULL, "1986",
	"Johnny Reb II (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjohnreb2RomInfo, Specjohnreb2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Johny Melabo (Spanish) (128K)

static struct BurnRomInfo SpecjohnmelaRomDesc[] = {
	{ "Johny Melabo (1987)(Whalkira Software)(es)[128K].z80", 0x09592, 0x95409a5a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjohnmela, Specjohnmela, Spectrum)
STD_ROM_FN(Specjohnmela)

struct BurnDriver BurnSpecjohnmela = {
	"spec_johnmela", NULL, "spec_spec128", NULL, "1987",
	"Johny Melabo (Spanish) (128K)\0", NULL, "Whalkira Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjohnmelaRomInfo, SpecjohnmelaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Johny Vayna (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecjohnvaynRomDesc[] = {
	{ "Johny Vayna (1989)(Pedro Amador Lopez)(es)(Part 1 of 2).z80", 0x097b7, 0x60422a73, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjohnvayn, Specjohnvayn, Spectrum)
STD_ROM_FN(Specjohnvayn)

struct BurnDriver BurnSpecjohnvayn = {
	"spec_johnvayn", NULL, "spec_spectrum", NULL, "1989",
	"Johny Vayna (Spanish) (Part 1 of 2) (48K)\0", NULL, "Pedro Amador Lopez", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjohnvaynRomInfo, SpecjohnvaynRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Johny Vayna (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specjohnvayn2RomDesc[] = {
	{ "Johny Vayna (1989)(Pedro Amador Lopez)(es)(Part 2 of 2).z80", 0x09394, 0xd333877a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjohnvayn2, Specjohnvayn2, Spectrum)
STD_ROM_FN(Specjohnvayn2)

struct BurnDriver BurnSpecjohnvayn2 = {
	"spec_johnvayn2", "spec_johnvayn", "spec_spectrum", NULL, "1989",
	"Johny Vayna (Spanish) (Part 2 of 2) (48K)\0", NULL, "Pedro Amador Lopez", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjohnvayn2RomInfo, Specjohnvayn2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jokers Wild (48K)

static struct BurnRomInfo SpecjokewildRomDesc[] = {
	{ "Jokers Wild (1984)(Phoenix Software).z80", 0x02944, 0xf7500d7d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjokewild, Specjokewild, Spectrum)
STD_ROM_FN(Specjokewild)

struct BurnDriver BurnSpecjokewild = {
	"spec_jokewild", NULL, "spec_spectrum", NULL, "1984",
	"Jokers Wild (48K)\0", NULL, "Phoenix Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjokewildRomInfo, SpecjokewildRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jolly Duplicator (48K)

static struct BurnRomInfo SpecjollduplRomDesc[] = {
	{ "Jolly Duplicator (1987)(Cobra Computer Software).z80", 0x09f05, 0x9d81c41f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjolldupl, Specjolldupl, Spectrum)
STD_ROM_FN(Specjolldupl)

struct BurnDriver BurnSpecjolldupl = {
	"spec_jolldupl", NULL, "spec_spectrum", NULL, "1987",
	"Jolly Duplicator (48K)\0", NULL, "Cobra Computer Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjollduplRomInfo, SpecjollduplRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jolly Jack's Run Ashore (48K)

static struct BurnRomInfo SpecjojaruasRomDesc[] = {
	{ "Jolly Jack's Run Ashore (1984)(Harbour Soft).z80", 0x05eae, 0x0bb4c0f1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjojaruas, Specjojaruas, Spectrum)
STD_ROM_FN(Specjojaruas)

struct BurnDriver BurnSpecjojaruas = {
	"spec_jojaruas", NULL, "spec_spectrum", NULL, "1984",
	"Jolly Jack's Run Ashore (48K)\0", NULL, "Harbour Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjojaruasRomInfo, SpecjojaruasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jolly Roger (48K)

static struct BurnRomInfo SpecjollrogrRomDesc[] = {
	{ "Jolly Roger (1984)(Video Vault).z80", 0x0a19e, 0xf0eaba2b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjollrogr, Specjollrogr, Spectrum)
STD_ROM_FN(Specjollrogr)

struct BurnDriver BurnSpecjollrogr = {
	"spec_jollrogr", NULL, "spec_spectrum", NULL, "1984",
	"Jolly Roger (48K)\0", NULL, "Video Vault", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjollrogrRomInfo, SpecjollrogrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jonah Barrington's Squash (48K)

static struct BurnRomInfo SpecjonbarsqRomDesc[] = {
	{ "Jonah Barrington's Squash (1985)(New Generation Software).z80", 0x08b31, 0xc75d31de, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjonbarsq, Specjonbarsq, Spectrum)
STD_ROM_FN(Specjonbarsq)

struct BurnDriver BurnSpecjonbarsq = {
	"spec_jonbarsq", NULL, "spec_spectrum", NULL, "1985",
	"Jonah Barrington's Squash (48K)\0", NULL, "New Generation Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjonbarsqRomInfo, SpecjonbarsqRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jongleur (German) (48K)

static struct BurnRomInfo SpecjongleurRomDesc[] = {
	{ "Jongleur (19xx)(-)(de).z80", 0x01add, 0x85f39141, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjongleur, Specjongleur, Spectrum)
STD_ROM_FN(Specjongleur)

struct BurnDriver BurnSpecjongleur = {
	"spec_jongleur", NULL, "spec_spectrum", NULL, "19xx",
	"Jongleur (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjongleurRomInfo, SpecjongleurRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jonny Quest in Doctor Zin's Underworld (128K)

static struct BurnRomInfo SpecjquestRomDesc[] = {
	{ "Jonny Quest in Doctor Zin's Underworld (1991)(Hi-Tec Software)[128K].z80", 0x0b23d, 0x38622b6f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjquest, Specjquest, Spectrum)
STD_ROM_FN(Specjquest)

struct BurnDriver BurnSpecjquest = {
	"spec_jquest", NULL, "spec_spec128", NULL, "1991",
	"Jonny Quest in Doctor Zin's Underworld (128K)\0", NULL, "Hi-Tec Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjquestRomInfo, SpecjquestRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jonny Quest in Doctor Zin's Underworld (48K)

static struct BurnRomInfo Specjquest_48RomDesc[] = {
	{ "Jonny Quest in Doctor Zin's Underworld (1991)(Hi-Tec Software)[cr The Spirit].z80", 0x0a8d9, 0x3853879a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjquest_48, Specjquest_48, Spectrum)
STD_ROM_FN(Specjquest_48)

struct BurnDriver BurnSpecjquest_48 = {
	"spec_jquest_48", "spec_jquest", "spec_spectrum", NULL, "1991",
	"Jonny Quest in Doctor Zin's Underworld (48K)\0", NULL, "Hi-Tec Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjquest_48RomInfo, Specjquest_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Journey into Danger (48K)

static struct BurnRomInfo SpecjourdangRomDesc[] = {
	{ "Journey into Danger (2002)(Naffsoft).z80", 0x02cb3, 0xc2fcf755, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjourdang, Specjourdang, Spectrum)
STD_ROM_FN(Specjourdang)

struct BurnDriver BurnSpecjourdang = {
	"spec_jourdang", NULL, "spec_spectrum", NULL, "2002",
	"Journey into Danger (48K)\0", NULL, "Naffsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjourdangRomInfo, SpecjourdangRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Journey to Death (48K)

static struct BurnRomInfo SpecjourdeatRomDesc[] = {
	{ "Journey to Death (1992)(The Guild).z80", 0x06a16, 0x6e932e8c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjourdeat, Specjourdeat, Spectrum)
STD_ROM_FN(Specjourdeat)

struct BurnDriver BurnSpecjourdeat = {
	"spec_jourdeat", NULL, "spec_spectrum", NULL, "1992",
	"Journey to Death (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjourdeatRomInfo, SpecjourdeatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Journey to the Centre of Eddie Smith's Head (48K)

static struct BurnRomInfo SpecjoceedsmRomDesc[] = {
	{ "Journey to the Centre of Eddie Smith's Head (1986)(Players Software).z80", 0x0a3f6, 0x8c140802, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjoceedsm, Specjoceedsm, Spectrum)
STD_ROM_FN(Specjoceedsm)

struct BurnDriver BurnSpecjoceedsm = {
	"spec_joceedsm", NULL, "spec_spectrum", NULL, "1986",
	"Journey to the Centre of Eddie Smith's Head (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjoceedsmRomInfo, SpecjoceedsmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Journey, The (48K)

static struct BurnRomInfo SpecjourtheRomDesc[] = {
	{ "Journey, The (1985)(Temptation Software).z80", 0x0a371, 0x98a6a90a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjourthe, Specjourthe, Spectrum)
STD_ROM_FN(Specjourthe)

struct BurnDriver BurnSpecjourthe = {
	"spec_jourthe", NULL, "spec_spectrum", NULL, "1985",
	"Journey, The (48K)\0", NULL, "Temptation Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjourtheRomInfo, SpecjourtheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Journey's End - Puzzle (48K)

static struct BurnRomInfo SpecjouendpuRomDesc[] = {
	{ "Journey's End - Puzzle (1995)(Vaxalon).z80", 0x02435, 0x8a5a79a5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjouendpu, Specjouendpu, Spectrum)
STD_ROM_FN(Specjouendpu)

struct BurnDriver BurnSpecjouendpu = {
	"spec_jouendpu", NULL, "spec_spectrum", NULL, "1995",
	"Journey's End - Puzzle (48K)\0", NULL, "Vaxalon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjouendpuRomInfo, SpecjouendpuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Journey's End (Part 1 of 3) (48K)

static struct BurnRomInfo SpecjournendRomDesc[] = {
	{ "Journey's End (1985)(Mastertronic)(Part 1 of 3).z80", 0x083f2, 0xe37890dc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjournend, Specjournend, Spectrum)
STD_ROM_FN(Specjournend)

struct BurnDriver BurnSpecjournend = {
	"spec_journend", NULL, "spec_spectrum", NULL, "1985",
	"Journey's End (Part 1 of 3) (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjournendRomInfo, SpecjournendRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Journey's End (Part 2 of 3) (48K)

static struct BurnRomInfo Specjournend2RomDesc[] = {
	{ "Journey's End (1985)(Mastertronic)(Part 2 of 3).z80", 0x0ab66, 0x0360d9d5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjournend2, Specjournend2, Spectrum)
STD_ROM_FN(Specjournend2)

struct BurnDriver BurnSpecjournend2 = {
	"spec_journend2", "spec_journend", "spec_spectrum", NULL, "1985",
	"Journey's End (Part 2 of 3) (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjournend2RomInfo, Specjournend2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Journey's End (Part 3 of 3) (48K)

static struct BurnRomInfo Specjournend3RomDesc[] = {
	{ "Journey's End (1985)(Mastertronic)(Part 3 of 3).z80", 0x0a7f3, 0x6b9f126d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjournend3, Specjournend3, Spectrum)
STD_ROM_FN(Specjournend3)

struct BurnDriver BurnSpecjournend3 = {
	"spec_journend3", "spec_journend", "spec_spectrum", NULL, "1985",
	"Journey's End (Part 3 of 3) (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjournend3RomInfo, Specjournend3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Juanito en Busca de su Baloncito (Spanish) (48K)

static struct BurnRomInfo SpecjuabusbaRomDesc[] = {
	{ "Juanito en Busca de su Baloncito (1989)(3P Soft)(es).z80", 0x093f5, 0x68b16aae, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjuabusba, Specjuabusba, Spectrum)
STD_ROM_FN(Specjuabusba)

struct BurnDriver BurnSpecjuabusba = {
	"spec_juabusba", NULL, "spec_spectrum", NULL, "1989",
	"Juanito en Busca de su Baloncito (Spanish) (48K)\0", NULL, "3P Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjuabusbaRomInfo, SpecjuabusbaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Judge Dredd (48K)

static struct BurnRomInfo SpecjudgdredRomDesc[] = {
	{ "Judge Dredd (1987)(Melbourne House).z80", 0x09f17, 0x14717e5d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjudgdred, Specjudgdred, Spectrum)
STD_ROM_FN(Specjudgdred)

struct BurnDriver BurnSpecjudgdred = {
	"spec_judgdred", NULL, "spec_spectrum", NULL, "1987",
	"Judge Dredd (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjudgdredRomInfo, SpecjudgdredRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Juego de la Oca, El (Spanish) (48K)

static struct BurnRomInfo SpecjueocaelRomDesc[] = {
	{ "Juego de la Oca, El (1989)(Zafiro Software Division)(es).z80", 0x04369, 0xb1c67cd3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjueocael, Specjueocael, Spectrum)
STD_ROM_FN(Specjueocael)

struct BurnDriver BurnSpecjueocael = {
	"spec_jueocael", NULL, "spec_spectrum", NULL, "1989",
	"Juego de la Oca, El (Spanish) (48K)\0", NULL, "Zafiro Software Division", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjueocaelRomInfo, SpecjueocaelRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jugador de Ajedrez, El (Spanish) (48K)

static struct BurnRomInfo SpecjugajeelRomDesc[] = {
	{ "Jugador de Ajedrez, El (1983)(Investronica)(es)[aka Chess Player, The].z80", 0x0667e, 0x97af62eb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjugajeel, Specjugajeel, Spectrum)
STD_ROM_FN(Specjugajeel)

struct BurnDriver BurnSpecjugajeel = {
	"spec_jugajeel", NULL, "spec_spectrum", NULL, "1983",
	"Jugador de Ajedrez, El (Spanish) (48K)\0", NULL, "Investronica", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjugajeelRomInfo, SpecjugajeelRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Juggernaut (48K)

static struct BurnRomInfo SpecjuggernaRomDesc[] = {
	{ "Juggernaut (1985)(CRL Group).z80", 0x05fed, 0x2e2b47ce, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjuggerna, Specjuggerna, Spectrum)
STD_ROM_FN(Specjuggerna)

struct BurnDriver BurnSpecjuggerna = {
	"spec_juggerna", NULL, "spec_spectrum", NULL, "1985",
	"Juggernaut (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjuggernaRomInfo, SpecjuggernaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jum-Bert (48K)

static struct BurnRomInfo SpecjumbertRomDesc[] = {
	{ "Jum-Bert (1986)(Norbert Roescher).z80", 0x02e74, 0xf0ff92c0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjumbert, Specjumbert, Spectrum)
STD_ROM_FN(Specjumbert)

struct BurnDriver BurnSpecjumbert = {
	"spec_jumbert", NULL, "spec_spectrum", NULL, "1986",
	"Jum-Bert (48K)\0", NULL, "Norbert Roescher", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjumbertRomInfo, SpecjumbertRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jumbly (48K)

static struct BurnRomInfo SpecjumblyRomDesc[] = {
	{ "Jumbly (1983)(DK'Tronics).z80", 0x08dd5, 0x55aabb7a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjumbly, Specjumbly, Spectrum)
STD_ROM_FN(Specjumbly)

struct BurnDriver BurnSpecjumbly = {
	"spec_jumbly", NULL, "spec_spectrum", NULL, "1983",
	"Jumbly (48K)\0", NULL, "DK'Tronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjumblyRomInfo, SpecjumblyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jump (48K)

static struct BurnRomInfo SpecjumpRomDesc[] = {
	{ "Jump (1984)(Ventamatic).z80", 0x05345, 0x18fca0f6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjump, Specjump, Spectrum)
STD_ROM_FN(Specjump)

struct BurnDriver BurnSpecjump = {
	"spec_jump", NULL, "spec_spectrum", NULL, "1984",
	"Jump (48K)\0", NULL, "Ventamatic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjumpRomInfo, SpecjumpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jumping Jack (48K)

static struct BurnRomInfo SpecjumpjackRomDesc[] = {
	{ "Jumping Jack (1983)(Imagine Software).z80", 0x0c01e, 0x32026c30, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjumpjack, Specjumpjack, Spectrum)
STD_ROM_FN(Specjumpjack)

struct BurnDriver BurnSpecjumpjack = {
	"spec_jumpjack", NULL, "spec_spectrum", NULL, "1983",
	"Jumping Jack (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjumpjackRomInfo, SpecjumpjackRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jungle Adventure (48K)

static struct BurnRomInfo SpecjungadveRomDesc[] = {
	{ "Jungle Adventure (1983)(CCS).z80", 0x08b04, 0x2d95f51b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjungadve, Specjungadve, Spectrum)
STD_ROM_FN(Specjungadve)

struct BurnDriver BurnSpecjungadve = {
	"spec_jungadve", NULL, "spec_spectrum", NULL, "1983",
	"Jungle Adventure (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjungadveRomInfo, SpecjungadveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jungle Fever (48K)

static struct BurnRomInfo SpecjungfvrRomDesc[] = {
	{ "Jungle Fever (1983)(A & F Software).z80", 0x02d47, 0xacfd1679, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjungfvr, Specjungfvr, Spectrum)
STD_ROM_FN(Specjungfvr)

struct BurnDriver BurnSpecjungfvr = {
	"spec_jungfvr", NULL, "spec_spectrum", NULL, "1983",
	"Jungle Fever (48K)\0", NULL, "A & F Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjungfvrRomInfo, SpecjungfvrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jungle Fever v2 (48K)

static struct BurnRomInfo Specjungfvr2RomDesc[] = {
	{ "Jungle Fever v2 (1983)(A & F Software).z80", 0x02a97, 0x37f26e1f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjungfvr2, Specjungfvr2, Spectrum)
STD_ROM_FN(Specjungfvr2)

struct BurnDriver BurnSpecjungfvr2 = {
	"spec_jungfvr2", NULL, "spec_spectrum", NULL, "1983",
	"Jungle Fever v2 (48K)\0", NULL, "A & F Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specjungfvr2RomInfo, Specjungfvr2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jungle Warfare (48K)

static struct BurnRomInfo SpecjungwarfRomDesc[] = {
	{ "Jungle Warfare (1989)(Virgin Mastertronic).z80", 0x0839e, 0xc09b0e84, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjungwarf, Specjungwarf, Spectrum)
STD_ROM_FN(Specjungwarf)

struct BurnDriver BurnSpecjungwarf = {
	"spec_jungwarf", NULL, "spec_spectrum", NULL, "1989",
	"Jungle Warfare (48K)\0", NULL, "Virgin Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjungwarfRomInfo, SpecjungwarfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jungle Warrior (Spanish) (48K)

static struct BurnRomInfo SpecjungwarrRomDesc[] = {
	{ "Jungle Warrior (1990)(Zigurat Software)(es).z80", 0x09103, 0x1cbe7c84, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjungwarr, Specjungwarr, Spectrum)
STD_ROM_FN(Specjungwarr)

struct BurnDriver BurnSpecjungwarr = {
	"spec_jungwarr", NULL, "spec_spectrum", NULL, "1990",
	"Jungle Warrior (Spanish) (48K)\0", NULL, "Zigurat Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjungwarrRomInfo, SpecjungwarrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Just Imagine (48K)

static struct BurnRomInfo SpecjustimagRomDesc[] = {
	{ "Just Imagine (1986)(Central Solutions).z80", 0x09ee6, 0xb2e412ae, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjustimag, Specjustimag, Spectrum)
STD_ROM_FN(Specjustimag)

struct BurnDriver BurnSpecjustimag = {
	"spec_justimag", NULL, "spec_spectrum", NULL, "1986",
	"Just Imagine (48K)\0", NULL, "Central Solutions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjustimagRomInfo, SpecjustimagRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Jux (German) (48K)

static struct BurnRomInfo SpecjuxdeRomDesc[] = {
	{ "Jux (19xx)(SSS)(de).z80", 0x02115, 0xe068ba7e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specjuxde, Specjuxde, Spectrum)
STD_ROM_FN(Specjuxde)

struct BurnDriver BurnSpecjuxde = {
	"spec_juxde", NULL, "spec_spectrum", NULL, "19xx",
	"Jux (German) (48K)\0", NULL, "SSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecjuxdeRomInfo, SpecjuxdeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kaboom! (48K)

static struct BurnRomInfo SpeckaboomRomDesc[] = {
	{ "Kaboom! (1986)(Proxima Software).z80", 0x016aa, 0xd35b615a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckaboom, Speckaboom, Spectrum)
STD_ROM_FN(Speckaboom)

struct BurnDriver BurnSpeckaboom = {
	"spec_kaboom", NULL, "spec_spectrum", NULL, "1986",
	"Kaboom! (48K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckaboomRomInfo, SpeckaboomRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kai Temple (48K)

static struct BurnRomInfo SpeckaitemplRomDesc[] = {
	{ "Kai Temple (1986)(Firebird Software).z80", 0x068c0, 0x7d4fab95, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckaitempl, Speckaitempl, Spectrum)
STD_ROM_FN(Speckaitempl)

struct BurnDriver BurnSpeckaitempl = {
	"spec_kaitempl", NULL, "spec_spectrum", NULL, "1986",
	"Kai Temple (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckaitemplRomInfo, SpeckaitemplRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kalaha (German) (48K)

static struct BurnRomInfo SpeckalahadeRomDesc[] = {
	{ "Kalaha (1984)(EMM Software)(de).z80", 0x024d8, 0x710a9ced, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckalahade, Speckalahade, Spectrum)
STD_ROM_FN(Speckalahade)

struct BurnDriver BurnSpeckalahade = {
	"spec_kalahade", NULL, "spec_spectrum", NULL, "1984",
	"Kalaha (German) (48K)\0", NULL, "EMM Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckalahadeRomInfo, SpeckalahadeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kamel (German) (48K)

static struct BurnRomInfo SpeckameldeRomDesc[] = {
	{ "Kamel (19xx)(Creative Computing)(de).z80", 0x01c37, 0x83e34e3b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckamelde, Speckamelde, Spectrum)
STD_ROM_FN(Speckamelde)

struct BurnDriver BurnSpeckamelde = {
	"spec_kamelde", NULL, "spec_spectrum", NULL, "19xx",
	"Kamel (German) (48K)\0", NULL, "Creative Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckameldeRomInfo, SpeckameldeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kamelreiten (German) (48K)

static struct BurnRomInfo SpeckamelreiRomDesc[] = {
	{ "Kamelreiten (19xx)(Rainbow Software)(de).z80", 0x03a95, 0x7d2fd0df, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckamelrei, Speckamelrei, Spectrum)
STD_ROM_FN(Speckamelrei)

struct BurnDriver BurnSpeckamelrei = {
	"spec_kamelrei", NULL, "spec_spectrum", NULL, "19xx",
	"Kamelreiten (German) (48K)\0", NULL, "Rainbow Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckamelreiRomInfo, SpeckamelreiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kamikaze (48K)

static struct BurnRomInfo SpeckamikazeRomDesc[] = {
	{ "Kamikaze (1983)(A & F Software).z80", 0x01c6d, 0x7cf820e1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckamikaze, Speckamikaze, Spectrum)
STD_ROM_FN(Speckamikaze)

struct BurnDriver BurnSpeckamikaze = {
	"spec_kamikaze", NULL, "spec_spectrum", NULL, "1983",
	"Kamikaze (48K)\0", NULL, "A & F Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckamikazeRomInfo, SpeckamikazeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kane (48K)

static struct BurnRomInfo SpeckaneRomDesc[] = {
	{ "Kane (1986)(Mastertronic).z80", 0x0694d, 0xd6d1d283, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckane, Speckane, Spectrum)
STD_ROM_FN(Speckane)

struct BurnDriver BurnSpeckane = {
	"spec_kane", NULL, "spec_spectrum", NULL, "1986",
	"Kane (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckaneRomInfo, SpeckaneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Karel 85 (cs) (48K)

static struct BurnRomInfo Speckarel85cRomDesc[] = {
	{ "Karel 85 (1985)(Jan Ruppert)(cs).z80", 0x03b0d, 0x2fde4b53, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckarel85c, Speckarel85c, Spectrum)
STD_ROM_FN(Speckarel85c)

struct BurnDriver BurnSpeckarel85c = {
	"spec_karel85c", NULL, "spec_spectrum", NULL, "1985",
	"Karel 85 (cs) (48K)\0", NULL, "Jan Ruppert", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speckarel85cRomInfo, Speckarel85cRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Karyssia - Queen of Diamonds (Part 1 of 3) (48K)

static struct BurnRomInfo SpeckaryssiaRomDesc[] = {
	{ "Karyssia - Queen of Diamonds (1987)(Incentive Software)(Part 1 of 3).z80", 0x0afe1, 0x85512ab0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckaryssia, Speckaryssia, Spectrum)
STD_ROM_FN(Speckaryssia)

struct BurnDriver BurnSpeckaryssia = {
	"spec_karyssia", NULL, "spec_spectrum", NULL, "1987",
	"Karyssia - Queen of Diamonds (Part 1 of 3) (48K)\0", NULL, "Incentive Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckaryssiaRomInfo, SpeckaryssiaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Karyssia - Queen of Diamonds (Part 2 of 3) (48K)

static struct BurnRomInfo Speckaryssia2RomDesc[] = {
	{ "Karyssia - Queen of Diamonds (1987)(Incentive Software)(Part 2 of 3).z80", 0x0b077, 0x6e31230a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckaryssia2, Speckaryssia2, Spectrum)
STD_ROM_FN(Speckaryssia2)

struct BurnDriver BurnSpeckaryssia2 = {
	"spec_karyssia2", "spec_karyssia", "spec_spectrum", NULL, "1987",
	"Karyssia - Queen of Diamonds (Part 2 of 3) (48K)\0", NULL, "Incentive Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speckaryssia2RomInfo, Speckaryssia2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Karyssia - Queen of Diamonds (Part 3 of 3) (48K)

static struct BurnRomInfo Speckaryssia3RomDesc[] = {
	{ "Karyssia - Queen of Diamonds (1987)(Incentive Software)(Part 3 of 3).z80", 0x0b0b5, 0xfb458414, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckaryssia3, Speckaryssia3, Spectrum)
STD_ROM_FN(Speckaryssia3)

struct BurnDriver BurnSpeckaryssia3 = {
	"spec_karyssia3", "spec_karyssia", "spec_spectrum", NULL, "1987",
	"Karyssia - Queen of Diamonds (Part 3 of 3) (48K)\0", NULL, "Incentive Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speckaryssia3RomInfo, Speckaryssia3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kat Trap (48K)

static struct BurnRomInfo SpeckattrapRomDesc[] = {
	{ "Kat Trap (1987)(Streetwise).z80", 0x09925, 0x298ee946, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckattrap, Speckattrap, Spectrum)
STD_ROM_FN(Speckattrap)

struct BurnDriver BurnSpeckattrap = {
	"spec_kattrap", NULL, "spec_spectrum", NULL, "1987",
	"Kat Trap (48K)\0", NULL, "Streetwise", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckattrapRomInfo, SpeckattrapRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Katoth (Spanish) (48K)

static struct BurnRomInfo SpeckatothesRomDesc[] = {
	{ "Katoth (19xx)(EP Software)(es).z80", 0x02a50, 0xa83c8aa7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckatothes, Speckatothes, Spectrum)
STD_ROM_FN(Speckatothes)

struct BurnDriver BurnSpeckatothes = {
	"spec_katothes", NULL, "spec_spectrum", NULL, "19xx",
	"Katoth (Spanish) (48K)\0", NULL, "EP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckatothesRomInfo, SpeckatothesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kayleth (48K)

static struct BurnRomInfo SpeckaylethRomDesc[] = {
	{ "Kayleth (1986)(Adventuresoft UK).z80", 0x0a4f1, 0x241a0f80, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckayleth, Speckayleth, Spectrum)
STD_ROM_FN(Speckayleth)

struct BurnDriver BurnSpeckayleth = {
	"spec_kayleth", NULL, "spec_spectrum", NULL, "1986",
	"Kayleth (48K)\0", NULL, "Adventuresoft UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckaylethRomInfo, SpeckaylethRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ke Rulen los Petas (Spanish) (48K)

static struct BurnRomInfo SpeckerulenlRomDesc[] = {
	{ "Ke Rulen los Petas (1989)(Iber Soft)(es).z80", 0x0c01e, 0xdf706b5a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckerulenl, Speckerulenl, Spectrum)
STD_ROM_FN(Speckerulenl)

struct BurnDriver BurnSpeckerulenl = {
	"spec_kerulenl", NULL, "spec_spectrum", NULL, "1989",
	"Ke Rulen los Petas (Spanish) (48K)\0", NULL, "Iber Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckerulenlRomInfo, SpeckerulenlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Keeper II, The - The Rings of Merlin (48K)

static struct BurnRomInfo SpeckiittrmRomDesc[] = {
	{ "Keeper II, The - The Rings of Merlin (1986)(Gordon Fong).z80", 0x0a58a, 0x1007e83f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckiittrm, Speckiittrm, Spectrum)
STD_ROM_FN(Speckiittrm)

struct BurnDriver BurnSpeckiittrm = {
	"spec_kiittrm", NULL, "spec_spectrum", NULL, "1986",
	"Keeper II, The - The Rings of Merlin (48K)\0", NULL, "Gordon Fong", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckiittrmRomInfo, SpeckiittrmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kemshu (1986) (48K)

static struct BurnRomInfo SpeckemshuRomDesc[] = {
	{ "Kemshu (1986)(Cult Games).z80", 0x02fe2, 0xbb36e009, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckemshu, Speckemshu, Spectrum)
STD_ROM_FN(Speckemshu)

struct BurnDriver BurnSpeckemshu = {
	"spec_kemshu", NULL, "spec_spectrum", NULL, "1986",
	"Kemshu (1986) (48K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckemshuRomInfo, SpeckemshuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kemshu (1989) (48K)

static struct BurnRomInfo Speckemshu89RomDesc[] = {
	{ "Kemshu (1989)(Cult Games).z80", 0x02fc4, 0x0e7211de, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckemshu89, Speckemshu89, Spectrum)
STD_ROM_FN(Speckemshu89)

struct BurnDriver BurnSpeckemshu89 = {
	"spec_kemshu89", NULL, "spec_spectrum", NULL, "1989",
	"Kemshu (1989) (48K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speckemshu89RomInfo, Speckemshu89RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kendo Warrior (48K)

static struct BurnRomInfo Speckendwarr_48RomDesc[] = {
	{ "Kendo Warrior (1989)(Byte Back).z80", 0x0a8f6, 0x03a18305, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckendwarr_48, Speckendwarr_48, Spectrum)
STD_ROM_FN(Speckendwarr_48)

struct BurnDriver BurnSpeckendwarr_48 = {
	"spec_kendwarr_48", "spec_kendwarr", "spec_spectrum", NULL, "1989",
	"Kendo Warrior (48K)\0", NULL, "Byte Back", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speckendwarr_48RomInfo, Speckendwarr_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kendo Warrior (128K)

static struct BurnRomInfo SpeckendwarrRomDesc[] = {
	{ "Kendo Warrior (1989)(Byte Back)[128K].z80", 0x0bd28, 0x19392d41, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckendwarr, Speckendwarr, Spectrum)
STD_ROM_FN(Speckendwarr)

struct BurnDriver BurnSpeckendwarr = {
	"spec_kendwarr", NULL, "spec_spec128", NULL, "1989",
	"Kendo Warrior (128K)\0", NULL, "Byte Back", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckendwarrRomInfo, SpeckendwarrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kenny Dalglish Soccer Manager (48K)

static struct BurnRomInfo SpeckdsocmanRomDesc[] = {
	{ "Kenny Dalglish Soccer Manager (1990)(Impressions Software).z80", 0x0b366, 0x8d1e0e8a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckdsocman, Speckdsocman, Spectrum)
STD_ROM_FN(Speckdsocman)

struct BurnDriver BurnSpeckdsocman = {
	"spec_kdsocman", NULL, "spec_spectrum", NULL, "1990",
	"Kenny Dalglish Soccer Manager (48K)\0", NULL, "Impressions Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckdsocmanRomInfo, SpeckdsocmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kenny Dalglish Soccer Match (48K)

static struct BurnRomInfo SpeckdsocmtcRomDesc[] = {
	{ "Kenny Dalglish Soccer Match (1990)(Impressions Software).z80", 0x0ad46, 0x711f25a3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckdsocmtc, Speckdsocmtc, Spectrum)
STD_ROM_FN(Speckdsocmtc)

struct BurnDriver BurnSpeckdsocmtc = {
	"spec_kdsocmtc", NULL, "spec_spectrum", NULL, "1990",
	"Kenny Dalglish Soccer Match (48K)\0", NULL, "Impressions Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckdsocmtcRomInfo, SpeckdsocmtcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kentilla (48K)

static struct BurnRomInfo SpeckentillaRomDesc[] = {
	{ "Kentilla (1984)(Micromega).z80", 0x0b0cc, 0xffadd039, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckentilla, Speckentilla, Spectrum)
STD_ROM_FN(Speckentilla)

struct BurnDriver BurnSpeckentilla = {
	"spec_kentilla", NULL, "spec_spectrum", NULL, "1984",
	"Kentilla (48K)\0", NULL, "Micromega", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckentillaRomInfo, SpeckentillaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kentucky Racing (48K)

static struct BurnRomInfo SpeckentraciRomDesc[] = {
	{ "Kentucky Racing (1991)(Alternative Software).z80", 0x07c8b, 0xfe22d7ef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckentraci, Speckentraci, Spectrum)
STD_ROM_FN(Speckentraci)

struct BurnDriver BurnSpeckentraci = {
	"spec_kentraci", NULL, "spec_spectrum", NULL, "1991",
	"Kentucky Racing (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckentraciRomInfo, SpeckentraciRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ket Trilogy I - Mountains of Ket (48K)

static struct BurnRomInfo SpeckettrilRomDesc[] = {
	{ "Ket Trilogy I - Mountains of Ket (1983)(Incentive Software).z80", 0x0a7bb, 0x3cdb3d61, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckettril, Speckettril, Spectrum)
STD_ROM_FN(Speckettril)

struct BurnDriver BurnSpeckettril = {
	"spec_kettril", NULL, "spec_spectrum", NULL, "1983",
	"Ket Trilogy I - Mountains of Ket (48K)\0", NULL, "Incentive Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckettrilRomInfo, SpeckettrilRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ket Trilogy II - Temple of Vran (48K)

static struct BurnRomInfo Speckettril2RomDesc[] = {
	{ "Ket Trilogy II - Temple of Vran (1984)(Incentive Software).z80", 0x0a4b5, 0x7a8b861c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckettril2, Speckettril2, Spectrum)
STD_ROM_FN(Speckettril2)

struct BurnDriver BurnSpeckettril2 = {
	"spec_kettril2", "spec_kettril", "spec_spectrum", NULL, "1984",
	"Ket Trilogy II - Temple of Vran (48K)\0", NULL, "Incentive Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speckettril2RomInfo, Speckettril2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ket Trilogy III - The Final Mission (48K)

static struct BurnRomInfo Speckettril3RomDesc[] = {
	{ "Ket Trilogy III - The Final Mission (1984)(Incentive Software).z80", 0x0ace8, 0x690ff221, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckettril3, Speckettril3, Spectrum)
STD_ROM_FN(Speckettril3)

struct BurnDriver BurnSpeckettril3 = {
	"spec_kettril3", "spec_kettril", "spec_spectrum", NULL, "1984",
	"Ket Trilogy III - The Final Mission (48K)\0", NULL, "Incentive Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speckettril3RomInfo, Speckettril3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Key Fighter (nl) (48K)

static struct BurnRomInfo SpeckeyfightRomDesc[] = {
	{ "Key Fighter (1984)(J.J.K. Research)(nl).z80", 0x06432, 0x40cc3f5d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckeyfight, Speckeyfight, Spectrum)
STD_ROM_FN(Speckeyfight)

struct BurnDriver BurnSpeckeyfight = {
	"spec_keyfight", NULL, "spec_spectrum", NULL, "1984",
	"Key Fighter (nl) (48K)\0", NULL, "J.J.K. Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckeyfightRomInfo, SpeckeyfightRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Key to Time, The (48K)

static struct BurnRomInfo SpeckeytimthRomDesc[] = {
	{ "Key to Time, The (1984)(Sentient Software).z80", 0x09dda, 0x4d1f524a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckeytimth, Speckeytimth, Spectrum)
STD_ROM_FN(Speckeytimth)

struct BurnDriver BurnSpeckeytimth = {
	"spec_keytimth", NULL, "spec_spectrum", NULL, "1984",
	"Key to Time, The (48K)\0", NULL, "Sentient Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckeytimthRomInfo, SpeckeytimthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Keycode (48K)

static struct BurnRomInfo SpeckeycodeRomDesc[] = {
	{ "Keycode (1983)(CCS).z80", 0x07110, 0x4c523311, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckeycode, Speckeycode, Spectrum)
STD_ROM_FN(Speckeycode)

struct BurnDriver BurnSpeckeycode = {
	"spec_keycode", NULL, "spec_spectrum", NULL, "1983",
	"Keycode (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckeycodeRomInfo, SpeckeycodeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Keyword Dictionary (48K)

static struct BurnRomInfo SpeckeywdictRomDesc[] = {
	{ "Keyword Dictionary (1982)(Sinclair Research).z80", 0x02d16, 0xf3c2ad81, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckeywdict, Speckeywdict, Spectrum)
STD_ROM_FN(Speckeywdict)

struct BurnDriver BurnSpeckeywdict = {
	"spec_keywdict", NULL, "spec_spectrum", NULL, "1982",
	"Keyword Dictionary (48K)\0", NULL, "Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckeywdictRomInfo, SpeckeywdictRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// KGB Super Spy (48K)

static struct BurnRomInfo SpeckgbsuperRomDesc[] = {
	{ "KGB Super Spy (1989)(Codemasters).z80", 0x08315, 0xbf3770b0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckgbsuper, Speckgbsuper, Spectrum)
STD_ROM_FN(Speckgbsuper)

struct BurnDriver BurnSpeckgbsuper = {
	"spec_kgbsuper", NULL, "spec_spectrum", NULL, "1989",
	"KGB Super Spy (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckgbsuperRomInfo, SpeckgbsuperRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Khangrin Plans, The (128K)

static struct BurnRomInfo SpeckhaplathRomDesc[] = {
	{ "Khangrin Plans, The (1992)(Zenobi Software)[128K].z80", 0x18b72, 0x0b076712, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckhaplath, Speckhaplath, Spectrum)
STD_ROM_FN(Speckhaplath)

struct BurnDriver BurnSpeckhaplath = {
	"spec_khaplath", NULL, "spec_spec128", NULL, "1992",
	"Khangrin Plans, The (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckhaplathRomInfo, SpeckhaplathRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Khazzad-Dum (Spanish) (48K)

static struct BurnRomInfo SpeckhazdumeRomDesc[] = {
	{ "Khazzad-Dum (1989)(SPE)(es).z80", 0x09f6a, 0x8a261a98, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckhazdume, Speckhazdume, Spectrum)
STD_ROM_FN(Speckhazdume)

struct BurnDriver BurnSpeckhazdume = {
	"spec_khazdume", NULL, "spec_spectrum", NULL, "1989",
	"Khazzad-Dum (Spanish) (48K)\0", NULL, "SPE", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckhazdumeRomInfo, SpeckhazdumeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kick Off (48K)

static struct BurnRomInfo SpeckickoffRomDesc[] = {
	{ "Kick Off (1989)(Anco Software).z80", 0x08b95, 0x65b432a1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckickoff, Speckickoff, Spectrum)
STD_ROM_FN(Speckickoff)

struct BurnDriver BurnSpeckickoff = {
	"spec_kickoff", NULL, "spec_spectrum", NULL, "1989",
	"Kick Off (48K)\0", NULL, "Anco Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckickoffRomInfo, SpeckickoffRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kick Off 2 (128K)

static struct BurnRomInfo Speckickoff2RomDesc[] = {
	{ "Kick Off 2 (1990)(Anco Software)[128K].z80", 0x0be06, 0xc6367c82, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckickoff2, Speckickoff2, Spectrum)
STD_ROM_FN(Speckickoff2)

struct BurnDriver BurnSpeckickoff2 = {
	"spec_kickoff2", NULL, "spec_spec128", NULL, "1990",
	"Kick Off 2 (128K)\0", NULL, "Anco Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speckickoff2RomInfo, Speckickoff2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kick Off World Cup Edition (128K)

static struct BurnRomInfo SpeckickoffwRomDesc[] = {
	{ "Kick Off World Cup Edition (1990)(Anco Software)[128K].z80", 0x09ba6, 0x2a01e70e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckickoffw, Speckickoffw, Spectrum)
STD_ROM_FN(Speckickoffw)

struct BurnDriver BurnSpeckickoffw = {
	"spec_kickoffw", NULL, "spec_spec128", NULL, "1990",
	"Kick Off World Cup Edition (128K)\0", NULL, "Anco Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckickoffwRomInfo, SpeckickoffwRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kick-Box Vigilante (48K)

static struct BurnRomInfo Speckickboxv_48RomDesc[] = {
	{ "Kick-Box Vigilante (1991)(Zeppelin Games).z80", 0x095ea, 0x3c1045a1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckickboxv_48, Speckickboxv_48, Spectrum)
STD_ROM_FN(Speckickboxv_48)

struct BurnDriver BurnSpeckickboxv_48 = {
	"spec_kickboxv_48", "spec_kickboxv", "spec_spectrum", NULL, "1991",
	"Kick-Box Vigilante (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speckickboxv_48RomInfo, Speckickboxv_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kick-Box Vigilante (128K)

static struct BurnRomInfo SpeckickboxvRomDesc[] = {
	{ "Kick-Box Vigilante (1991)(Zeppelin Games)[128K].z80", 0x0a9a2, 0x81dc37a4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckickboxv, Speckickboxv, Spectrum)
STD_ROM_FN(Speckickboxv)

struct BurnDriver BurnSpeckickboxv = {
	"spec_kickboxv", NULL, "spec_spec128", NULL, "1991",
	"Kick-Box Vigilante (128K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckickboxvRomInfo, SpeckickboxvRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kidnap (48K)

static struct BurnRomInfo SpeckidnapRomDesc[] = {
	{ "Kidnap (1985)(Sparklers).z80", 0x07267, 0xa973b3b6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckidnap, Speckidnap, Spectrum)
STD_ROM_FN(Speckidnap)

struct BurnDriver BurnSpeckidnap = {
	"spec_kidnap", NULL, "spec_spectrum", NULL, "1985",
	"Kidnap (48K)\0", NULL, "Sparklers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckidnapRomInfo, SpeckidnapRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kidnapped (48K)

static struct BurnRomInfo SpeckidnappdRomDesc[] = {
	{ "Kidnapped (1993)(Zenobi Software).z80", 0x09202, 0x5a1cc30c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckidnappd, Speckidnappd, Spectrum)
STD_ROM_FN(Speckidnappd)

struct BurnDriver BurnSpeckidnappd = {
	"spec_kidnappd", NULL, "spec_spectrum", NULL, "1993",
	"Kidnapped (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckidnappdRomInfo, SpeckidnappdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kikstart 2 (48K)

static struct BurnRomInfo Speckikstrt2RomDesc[] = {
	{ "Kikstart 2 (1988)(Mastertronic).z80", 0x08d2d, 0xdb516489, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckikstrt2, Speckikstrt2, Spectrum)
STD_ROM_FN(Speckikstrt2)

struct BurnDriver BurnSpeckikstrt2 = {
	"spec_kikstrt2", NULL, "spec_spectrum", NULL, "1988",
	"Kikstart 2 (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speckikstrt2RomInfo, Speckikstrt2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kilburn Encounter (Spanish) (48K)

static struct BurnRomInfo SpeckilbencoRomDesc[] = {
	{ "Kilburn Encounter (1989)(SCP Hackers)(es).z80", 0x099ad, 0x61b30e8d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckilbenco, Speckilbenco, Spectrum)
STD_ROM_FN(Speckilbenco)

struct BurnDriver BurnSpeckilbenco = {
	"spec_kilbenco", NULL, "spec_spectrum", NULL, "1989",
	"Kilburn Encounter (Spanish) (48K)\0", NULL, "SCP Hackers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckilbencoRomInfo, SpeckilbencoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Killer Knight - Intro (48K)

static struct BurnRomInfo SpeckknightRomDesc[] = {
	{ "Killer Knight - Intro (1984)(Phipps Associates).z80", 0x0133a, 0x2a1ec2f2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckknight, Speckknight, Spectrum)
STD_ROM_FN(Speckknight)

struct BurnDriver BurnSpeckknight = {
	"spec_kknight", NULL, "spec_spectrum", NULL, "1984",
	"Killer Knight - Intro (48K)\0", NULL, "Phipps Associates", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckknightRomInfo, SpeckknightRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Killer Knight (48K)

static struct BurnRomInfo SpeckknightgRomDesc[] = {
	{ "Killer Knight (1984)(Phipps Associates).z80", 0x05ae3, 0xc007ba80, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckknightg, Speckknightg, Spectrum)
STD_ROM_FN(Speckknightg)

struct BurnDriver BurnSpeckknightg = {
	"spec_kknightg", "spec_kknight", "spec_spectrum", NULL, "1984",
	"Killer Knight (48K)\0", NULL, "Phipps Associates", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckknightgRomInfo, SpeckknightgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Killer Kong (48K)

static struct BurnRomInfo SpeckillkongRomDesc[] = {
	{ "Killer Kong (1983)(Blaby Computer Games).z80", 0x0529c, 0xff69fcf5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckillkong, Speckillkong, Spectrum)
STD_ROM_FN(Speckillkong)

struct BurnDriver BurnSpeckillkong = {
	"spec_killkong", NULL, "spec_spectrum", NULL, "1983",
	"Killer Kong (48K)\0", NULL, "Blaby Computer Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckillkongRomInfo, SpeckillkongRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Killer Ring (48K)

static struct BurnRomInfo Speckillring_48RomDesc[] = {
	{ "Killer Ring (1987)(Reaktor).z80", 0x04cc6, 0xb88480a5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckillring_48, Speckillring_48, Spectrum)
STD_ROM_FN(Speckillring_48)

struct BurnDriver BurnSpeckillring_48 = {
	"spec_killring_48", "spec_killring", "spec_spectrum", NULL, "1987",
	"Killer Ring (48K)\0", NULL, "Reaktor", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speckillring_48RomInfo, Speckillring_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Killer Ring (128K)

static struct BurnRomInfo SpeckillringRomDesc[] = {
	{ "Killer Ring (1987)(Reaktor)[cr The Mad Guys][128K].z80", 0x08e03, 0x3b906986, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckillring, Speckillring, Spectrum)
STD_ROM_FN(Speckillring)

struct BurnDriver BurnSpeckillring = {
	"spec_killring", NULL, "spec_spec128", NULL, "1987",
	"Killer Ring (128K)\0", NULL, "Reaktor", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckillringRomInfo, SpeckillringRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kindercomp (48K)

static struct BurnRomInfo SpeckindercoRomDesc[] = {
	{ "Kindercomp (1984)(Spinnaker Software).z80", 0x033a5, 0x4a1b715e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckinderco, Speckinderco, Spectrum)
STD_ROM_FN(Speckinderco)

struct BurnDriver BurnSpeckinderco = {
	"spec_kinderco", NULL, "spec_spectrum", NULL, "1984",
	"Kindercomp (48K)\0", NULL, "Spinnaker Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckindercoRomInfo, SpeckindercoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kinetik (48K)

static struct BurnRomInfo SpeckinetikRomDesc[] = {
	{ "Kinetik (1987)(Firebird Software).z80", 0x0a8d5, 0x39a23892, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckinetik, Speckinetik, Spectrum)
STD_ROM_FN(Speckinetik)

struct BurnDriver BurnSpeckinetik = {
	"spec_kinetik", NULL, "spec_spectrum", NULL, "1987",
	"Kinetik (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckinetikRomInfo, SpeckinetikRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// King Arthur's Quest (48K)

static struct BurnRomInfo SpeckinartquRomDesc[] = {
	{ "King Arthur's Quest (1984)(Hill MacGibbon).z80", 0x09e15, 0x378bc943, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckinartqu, Speckinartqu, Spectrum)
STD_ROM_FN(Speckinartqu)

struct BurnDriver BurnSpeckinartqu = {
	"spec_kinartqu", NULL, "spec_spectrum", NULL, "1984",
	"King Arthur's Quest (48K)\0", NULL, "Hill MacGibbon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckinartquRomInfo, SpeckinartquRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// King Leonard (Spanish) (48K)

static struct BurnRomInfo SpeckingleonRomDesc[] = {
	{ "King Leonard (1986)(Mind Games Espana)(es).z80", 0x07e69, 0xbbe44f50, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckingleon, Speckingleon, Spectrum)
STD_ROM_FN(Speckingleon)

struct BurnDriver BurnSpeckingleon = {
	"spec_kingleon", NULL, "spec_spectrum", NULL, "1986",
	"King Leonard (Spanish) (48K)\0", NULL, "Mind Games Espana", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckingleonRomInfo, SpeckingleonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// King Tut's Treasure (48K)

static struct BurnRomInfo SpeckintuttrRomDesc[] = {
	{ "King Tut's Treasure (1985)(Mirrorsoft).z80", 0x08645, 0x5ced1583, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckintuttr, Speckintuttr, Spectrum)
STD_ROM_FN(Speckintuttr)

struct BurnDriver BurnSpeckintuttr = {
	"spec_kintuttr", NULL, "spec_spectrum", NULL, "1985",
	"King Tut's Treasure (48K)\0", NULL, "Mirrorsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckintuttrRomInfo, SpeckintuttrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kingdom (GSSCGC) (48K)

static struct BurnRomInfo SpeckingdomgRomDesc[] = {
	{ "Kingdom (1996)(CSSCGC).z80", 0x01f6e, 0x8216eb7b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckingdomg, Speckingdomg, Spectrum)
STD_ROM_FN(Speckingdomg)

struct BurnDriver BurnSpeckingdomg = {
	"spec_kingdomg", NULL, "spec_spectrum", NULL, "1996",
	"Kingdom (GSSCGC) (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckingdomgRomInfo, SpeckingdomgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kingdom (Unknown) (48K)

static struct BurnRomInfo SpeckingdomuRomDesc[] = {
	{ "Kingdom (19xx)(-).z80", 0x020f9, 0x298219c7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckingdomu, Speckingdomu, Spectrum)
STD_ROM_FN(Speckingdomu)

struct BurnDriver BurnSpeckingdomu = {
	"spec_kingdomu", NULL, "spec_spectrum", NULL, "19xx",
	"Kingdom (Unknown) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckingdomuRomInfo, SpeckingdomuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kingdom of Krell, The (128K)

static struct BurnRomInfo SpeckinkrethRomDesc[] = {
	{ "Kingdom of Krell, The (1987)(Anco Software)[128K].z80", 0x1913b, 0x67708f2d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckinkreth, Speckinkreth, Spectrum)
STD_ROM_FN(Speckinkreth)

struct BurnDriver BurnSpeckinkreth = {
	"spec_kinkreth", NULL, "spec_spec128", NULL, "1987",
	"Kingdom of Krell, The (128K)\0", NULL, "Anco Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckinkrethRomInfo, SpeckinkrethRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// King's Keep, The (48K)

static struct BurnRomInfo SpeckinkeethRomDesc[] = {
	{ "King's Keep, The (1986)(Firebird Software).z80", 0x07687, 0x86b72af6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckinkeeth, Speckinkeeth, Spectrum)
STD_ROM_FN(Speckinkeeth)

struct BurnDriver BurnSpeckinkeeth = {
	"spec_kinkeeth", NULL, "spec_spectrum", NULL, "1986",
	"King's Keep, The (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckinkeethRomInfo, SpeckinkeethRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// King's Ransom (48K)

static struct BurnRomInfo SpeckingransRomDesc[] = {
	{ "King's Ransom (1986)(Incentive Software).z80", 0x08304, 0x33437ba7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckingrans, Speckingrans, Spectrum)
STD_ROM_FN(Speckingrans)

struct BurnDriver BurnSpeckingrans = {
	"spec_kingrans", NULL, "spec_spectrum", NULL, "1986",
	"King's Ransom (48K)\0", NULL, "Incentive Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckingransRomInfo, SpeckingransRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kirel (48K)

static struct BurnRomInfo SpeckirelRomDesc[] = {
	{ "Kirel (1986)(Addictive Games).z80", 0x08e4a, 0xe96534c2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckirel, Speckirel, Spectrum)
STD_ROM_FN(Speckirel)

struct BurnDriver BurnSpeckirel = {
	"spec_kirel", NULL, "spec_spectrum", NULL, "1986",
	"Kirel (48K)\0", NULL, "Addictive Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckirelRomInfo, SpeckirelRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Klad - Part 1 (Russian) (128K)

static struct BurnRomInfo Speckladprt1RomDesc[] = {
	{ "Klad - Part 1 (1994)(Technotime)(ru)[t][128K].z80", 0x08946, 0xc6a50f12, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckladprt1, Speckladprt1, Spectrum)
STD_ROM_FN(Speckladprt1)

struct BurnDriver BurnSpeckladprt1 = {
	"spec_kladprt1", NULL, "spec_spec128", NULL, "1994",
	"Klad - Part 1 (Russian) (128K)\0", NULL, "Technotime", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speckladprt1RomInfo, Speckladprt1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Klax (128K)

static struct BurnRomInfo SpecklaxRomDesc[] = {
	{ "Klax (1990)(Domark)[128K].z80", 0x15eb5, 0xd1f93544, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specklax, Specklax, Spectrum)
STD_ROM_FN(Specklax)

struct BurnDriver BurnSpecklax = {
	"spec_klax", NULL, "spec_spec128", NULL, "1990",
	"Klax (128K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecklaxRomInfo, SpecklaxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kliatba Noci (sk) (48K)

static struct BurnRomInfo Specklianoci_48RomDesc[] = {
	{ "Kliatba Noci (1993)(Ultrasoft - Sintech)(sk).z80", 0x0b861, 0xa7715d5f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specklianoci_48, Specklianoci_48, Spectrum)
STD_ROM_FN(Specklianoci_48)

struct BurnDriver BurnSpecklianoci_48 = {
	"spec_klianoci_48", "spec_klianoci", "spec_spectrum", NULL, "1993",
	"Kliatba Noci (sk) (48K)\0", NULL, "Ultrasoft - Sintech", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specklianoci_48RomInfo, Specklianoci_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kliatba Noci (sk) (128K)

static struct BurnRomInfo SpecklianociRomDesc[] = {
	{ "Kliatba Noci (1993)(Ultrasoft - Sintech)(sk)[128K].z80", 0x0bffa, 0x286997be, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specklianoci, Specklianoci, Spectrum)
STD_ROM_FN(Specklianoci)

struct BurnDriver BurnSpecklianoci = {
	"spec_klianoci", NULL, "spec_spec128", NULL, "1993",
	"Kliatba Noci (sk) (128K)\0", NULL, "Ultrasoft - Sintech", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecklianociRomInfo, SpecklianociRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Klingsor the Evil Magician (48K)

static struct BurnRomInfo SpecklievimaRomDesc[] = {
	{ "Klingsor the Evil Magician (19xx)(-).z80", 0x09a37, 0x56487463, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specklievima, Specklievima, Spectrum)
STD_ROM_FN(Specklievima)

struct BurnDriver BurnSpecklievima = {
	"spec_klievima", NULL, "spec_spectrum", NULL, "19xx",
	"Klingsor the Evil Magician (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecklievimaRomInfo, SpecklievimaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kniffel (German) (48K)

static struct BurnRomInfo SpeckniffeldRomDesc[] = {
	{ "Kniffel (1983)(Ansgar Zerfass)(de).z80", 0x04090, 0x697746a0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckniffeld, Speckniffeld, Spectrum)
STD_ROM_FN(Speckniffeld)

struct BurnDriver BurnSpeckniffeld = {
	"spec_kniffeld", NULL, "spec_spectrum", NULL, "1983",
	"Kniffel (German) (48K)\0", NULL, "Ansgar Zerfass", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckniffeldRomInfo, SpeckniffeldRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Knight Driver (48K)

static struct BurnRomInfo SpecknigdrivRomDesc[] = {
	{ "Knight Driver (1984)(Hewson Consultants).z80", 0x05e41, 0xd1b47945, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specknigdriv, Specknigdriv, Spectrum)
STD_ROM_FN(Specknigdriv)

struct BurnDriver BurnSpecknigdriv = {
	"spec_knigdriv", NULL, "spec_spectrum", NULL, "1984",
	"Knight Driver (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecknigdrivRomInfo, SpecknigdrivRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Knight Fall (48K)

static struct BurnRomInfo SpecknigfallRomDesc[] = {
	{ "Knight Fall (1987)(Pirate Software).z80", 0x050a7, 0x6988410b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specknigfall, Specknigfall, Spectrum)
STD_ROM_FN(Specknigfall)

struct BurnDriver BurnSpecknigfall = {
	"spec_knigfall", NULL, "spec_spectrum", NULL, "1987",
	"Knight Fall (48K)\0", NULL, "Pirate Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecknigfallRomInfo, SpecknigfallRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Knight Force (48K)

static struct BurnRomInfo SpecknigforcRomDesc[] = {
	{ "Knight Force (1990)(Titus)[incomplete].z80", 0x0899e, 0x50b5742b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specknigforc, Specknigforc, Spectrum)
STD_ROM_FN(Specknigforc)

struct BurnDriver BurnSpecknigforc = {
	"spec_knigforc", NULL, "spec_spectrum", NULL, "1990",
	"Knight Force (48K)\0", NULL, "Titus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecknigforcRomInfo, SpecknigforcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Knight Life (128K)

static struct BurnRomInfo SpeckniglifeRomDesc[] = {
	{ "Knight Life (1995)(Zenobi Software)[128K].z80", 0x14b9d, 0x47bb5cab, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckniglife, Speckniglife, Spectrum)
STD_ROM_FN(Speckniglife)

struct BurnDriver BurnSpeckniglife = {
	"spec_kniglife", NULL, "spec_spec128", NULL, "1995",
	"Knight Life (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckniglifeRomInfo, SpeckniglifeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Knight Lore (48K)

static struct BurnRomInfo SpecknigloreRomDesc[] = {
	{ "Knight Lore (1984)(Ultimate Play The Game).z80", 0x08c4c, 0x137ffdb2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckniglore, Speckniglore, Spectrum)
STD_ROM_FN(Speckniglore)

struct BurnDriver BurnSpeckniglore = {
	"spec_kniglore", NULL, "spec_spectrum", NULL, "1984",
	"Knight Lore (48K)\0", NULL, "Ultimate Play The Game", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecknigloreRomInfo, SpecknigloreRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Knight Orc - Part 1 - Loosed Orc (128K)

static struct BurnRomInfo SpecknghtorcRomDesc[] = {
	{ "Knight Orc - Part 1 - Loosed Orc (1987)(Rainbird Software)[128K].z80", 0x0e95c, 0xfb8ae98f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specknghtorc, Specknghtorc, Spectrum)
STD_ROM_FN(Specknghtorc)

struct BurnDriver BurnSpecknghtorc = {
	"spec_knghtorc", NULL, "spec_spec128", NULL, "1987",
	"Knight Orc - Part 1 - Loosed Orc (128K)\0", NULL, "Rainbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecknghtorcRomInfo, SpecknghtorcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Knight Orc - Part 2 - A Kind of Magic (128K)

static struct BurnRomInfo Specknghtorc2RomDesc[] = {
	{ "Knight Orc - Part 2 - A Kind of Magic (1987)(Rainbird Software)[128K].z80", 0x0f250, 0x4868c37e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specknghtorc2, Specknghtorc2, Spectrum)
STD_ROM_FN(Specknghtorc2)

struct BurnDriver BurnSpecknghtorc2 = {
	"spec_knghtorc2", "spec_knghtorc", "spec_spec128", NULL, "1987",
	"Knight Orc - Part 2 - A Kind of Magic (128K)\0", NULL, "Rainbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specknghtorc2RomInfo, Specknghtorc2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Knight Orc - Part 3 - Hordes of the Mountain King (128K)

static struct BurnRomInfo Specknghtorc3RomDesc[] = {
	{ "Knight Orc - Part 3 - Hordes of the Mountain King (1987)(Rainbird Software)[128K].z80", 0x0ebb8, 0xaed933da, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specknghtorc3, Specknghtorc3, Spectrum)
STD_ROM_FN(Specknghtorc3)

struct BurnDriver BurnSpecknghtorc3 = {
	"spec_knghtorc3", "spec_knghtorc", "spec_spec128", NULL, "1987",
	"Knight Orc - Part 3 - Hordes of the Mountain King (128K)\0", NULL, "Rainbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specknghtorc3RomInfo, Specknghtorc3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Knight Tyme (128K)

static struct BurnRomInfo SpecknghtymeRomDesc[] = {
	{ "Knight Tyme (1986)(Mastertronic Added Dimension)[128K][Magic Knight 3].z80", 0x194ae, 0x7dd5609e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specknghtyme, Specknghtyme, Spectrum)
STD_ROM_FN(Specknghtyme)

struct BurnDriver BurnSpecknghtyme = {
	"spec_knghtyme", NULL, "spec_spec128", NULL, "1986",
	"Knight Tyme (128K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecknghtymeRomInfo, SpecknghtymeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Knight Tyme (48K)

static struct BurnRomInfo Specknghtyme_48RomDesc[] = {
	{ "Knight Tyme (1986)(Mastertronic Added Dimension)[Magic Knight 3].z80", 0x0ab92, 0x95e5f980, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specknghtyme_48, Specknghtyme_48, Spectrum)
STD_ROM_FN(Specknghtyme_48)

struct BurnDriver BurnSpecknghtyme_48 = {
	"spec_knghtyme_48", "spec_knghtyme", "spec_spectrum", NULL, "1986",
	"Knight Tyme (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specknghtyme_48RomInfo, Specknghtyme_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Knightmare (48K)

static struct BurnRomInfo Specknightma_48RomDesc[] = {
	{ "Knightmare (1987)(Activision).z80", 0x0aa81, 0xf83183a2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specknightma_48, Specknightma_48, Spectrum)
STD_ROM_FN(Specknightma_48)

struct BurnDriver BurnSpecknightma_48 = {
	"spec_knightma_48", "spec_knightma", "spec_spectrum", NULL, "1987",
	"Knightmare (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specknightma_48RomInfo, Specknightma_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Knightmare (128K)

static struct BurnRomInfo SpecknightmaRomDesc[] = {
	{ "Knightmare (1987)(Activision)[128K].z80", 0x0b088, 0x480ce6fd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specknightma, Specknightma, Spectrum)
STD_ROM_FN(Specknightma)

struct BurnDriver BurnSpecknightma = {
	"spec_knightma", NULL, "spec_spec128", NULL, "1987",
	"Knightmare (128K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecknightmaRomInfo, SpecknightmaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Knight's Quest (48K)

static struct BurnRomInfo SpecknigquesRomDesc[] = {
	{ "Knight's Quest (1983)(Phipps Associates).z80", 0x0a729, 0x9633ec7a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specknigques, Specknigques, Spectrum)
STD_ROM_FN(Specknigques)

struct BurnDriver BurnSpecknigques = {
	"spec_knigques", NULL, "spec_spectrum", NULL, "1983",
	"Knight's Quest (48K)\0", NULL, "Phipps Associates", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecknigquesRomInfo, SpecknigquesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Knockout (48K)

static struct BurnRomInfo SpecknockoutRomDesc[] = {
	{ "Knockout (1983)(Mikro-Gen).z80", 0x072a1, 0x29a0cce9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specknockout, Specknockout, Spectrum)
STD_ROM_FN(Specknockout)

struct BurnDriver BurnSpecknockout = {
	"spec_knockout", NULL, "spec_spectrum", NULL, "1983",
	"Knockout (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecknockoutRomInfo, SpecknockoutRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Knockout (Part 1 of 2) (48K)

static struct BurnRomInfo SpecknckoutaRomDesc[] = {
	{ "Knockout (1985)(Alligata Software)(Part 1 of 2).z80", 0x0a578, 0xcaef6af9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specknckouta, Specknckouta, Spectrum)
STD_ROM_FN(Specknckouta)

struct BurnDriver BurnSpecknckouta = {
	"spec_knckouta", NULL, "spec_spectrum", NULL, "1985",
	"Knockout (Part 1 of 2) (48K)\0", NULL, "Alligata Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecknckoutaRomInfo, SpecknckoutaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Knockout (Part 2 of 2) (48K)

static struct BurnRomInfo Specknckouta_48RomDesc[] = {
	{ "Knockout (1985)(Alligata Software)(Part 2 of 2).z80", 0x09699, 0x6a271a72, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specknckouta_48, Specknckouta_48, Spectrum)
STD_ROM_FN(Specknckouta_48)

struct BurnDriver BurnSpecknckouta_48 = {
	"spec_knckouta_48", "spec_knckouta", "spec_spectrum", NULL, "1985",
	"Knockout (Part 2 of 2) (48K)\0", NULL, "Alligata Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specknckouta_48RomInfo, Specknckouta_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Knockout Whist (48K)

static struct BurnRomInfo SpecknocwhisRomDesc[] = {
	{ "Knockout Whist (19xx)(Ian Richards).z80", 0x02473, 0xd58b9e74, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specknocwhis, Specknocwhis, Spectrum)
STD_ROM_FN(Specknocwhis)

struct BurnDriver BurnSpecknocwhis = {
	"spec_knocwhis", NULL, "spec_spectrum", NULL, "19xx",
	"Knockout Whist (48K)\0", NULL, "Ian Richards", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecknocwhisRomInfo, SpecknocwhisRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Knot in 3D (48K)

static struct BurnRomInfo SpecknotdRomDesc[] = {
	{ "Knot in 3D (1983)(New Generation Software).z80", 0x07ec3, 0xe3eb1f1e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specknotd, Specknotd, Spectrum)
STD_ROM_FN(Specknotd)

struct BurnDriver BurnSpecknotd = {
	"spec_knotd", NULL, "spec_spectrum", NULL, "1983",
	"Knot in 3D (48K)\0", NULL, "New Generation Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecknotdRomInfo, SpecknotdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Knuckle Busters (48K)

static struct BurnRomInfo SpecknucbustRomDesc[] = {
	{ "Knuckle Busters (1987)(Melbourne House).z80", 0x096b1, 0xf40eba90, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specknucbust, Specknucbust, Spectrum)
STD_ROM_FN(Specknucbust)

struct BurnDriver BurnSpecknucbust = {
	"spec_knucbust", NULL, "spec_spectrum", NULL, "1987",
	"Knuckle Busters (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecknucbustRomInfo, SpecknucbustRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kobyashi Ag'Kwo - A Return to Naru (48K)

static struct BurnRomInfo SpeckakarnRomDesc[] = {
	{ "Kobyashi Ag'Kwo - A Return to Naru (1991)(Zenobi Software).z80", 0x09333, 0x449a3f65, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckakarn, Speckakarn, Spectrum)
STD_ROM_FN(Speckakarn)

struct BurnDriver BurnSpeckakarn = {
	"spec_kakarn", NULL, "spec_spectrum", NULL, "1991",
	"Kobyashi Ag'Kwo - A Return to Naru (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckakarnRomInfo, SpeckakarnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kobyashi Naru (48K)

static struct BurnRomInfo SpeckobynaruRomDesc[] = {
	{ "Kobyashi Naru (1987)(Mastertronic).z80", 0x0acfc, 0xa2e281e1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckobynaru, Speckobynaru, Spectrum)
STD_ROM_FN(Speckobynaru)

struct BurnDriver BurnSpeckobynaru = {
	"spec_kobynaru", NULL, "spec_spectrum", NULL, "1987",
	"Kobyashi Naru (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckobynaruRomInfo, SpeckobynaruRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kokotoni Wilf (48K)

static struct BurnRomInfo SpeckokowilfRomDesc[] = {
	{ "Kokotoni Wilf (1984)(Elite Systems).z80", 0x09852, 0x54d0a30c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckokowilf, Speckokowilf, Spectrum)
STD_ROM_FN(Speckokowilf)

struct BurnDriver BurnSpeckokowilf = {
	"spec_kokowilf", NULL, "spec_spectrum", NULL, "1984",
	"Kokotoni Wilf (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckokowilfRomInfo, SpeckokowilfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Komando II (sk) (48K)

static struct BurnRomInfo SpeckomiiskRomDesc[] = {
	{ "Komando II (1992)(Microtech Systems)(sk).z80", 0x0a7bf, 0x51b3a280, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckomiisk, Speckomiisk, Spectrum)
STD_ROM_FN(Speckomiisk)

struct BurnDriver BurnSpeckomiisk = {
	"spec_komiisk", NULL, "spec_spectrum", NULL, "1992",
	"Komando II (sk) (48K)\0", NULL, "Microtech Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckomiiskRomInfo, SpeckomiiskRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Komplex (48K)

static struct BurnRomInfo SpeckomplexRomDesc[] = {
	{ "Komplex (1985)(Legend).z80", 0x0a91f, 0x0f8f3281, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckomplex, Speckomplex, Spectrum)
STD_ROM_FN(Speckomplex)

struct BurnDriver BurnSpeckomplex = {
	"spec_komplex", NULL, "spec_spectrum", NULL, "1985",
	"Komplex (48K)\0", NULL, "Legend", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckomplexRomInfo, SpeckomplexRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Konami's Golf (48K)

static struct BurnRomInfo SpeckonagolfRomDesc[] = {
	{ "Konami's Golf (1986)(Imagine Software).z80", 0x09cb7, 0x1ee41440, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckonagolf, Speckonagolf, Spectrum)
STD_ROM_FN(Speckonagolf)

struct BurnDriver BurnSpeckonagolf = {
	"spec_konagolf", NULL, "spec_spectrum", NULL, "1986",
	"Konami's Golf (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckonagolfRomInfo, SpeckonagolfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Konami's Ping Pong (48K)

static struct BurnRomInfo SpeckonpinpoRomDesc[] = {
	{ "Konami's Ping Pong (1986)(Imagine Software).z80", 0x08d1c, 0x68d197ad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckonpinpo, Speckonpinpo, Spectrum)
STD_ROM_FN(Speckonpinpo)

struct BurnDriver BurnSpeckonpinpo = {
	"spec_konpinpo", NULL, "spec_spectrum", NULL, "1986",
	"Konami's Ping Pong (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckonpinpoRomInfo, SpeckonpinpoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kong (Anirog Software) (48K)

static struct BurnRomInfo SpeckongasRomDesc[] = {
	{ "Kong (1983)(Anirog Software).z80", 0x05936, 0xa723f86e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckongas, Speckongas, Spectrum)
STD_ROM_FN(Speckongas)

struct BurnDriver BurnSpeckongas = {
	"spec_kongas", NULL, "spec_spectrum", NULL, "1983",
	"Kong (Anirog Software) (48K)\0", NULL, "Anirog Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckongasRomInfo, SpeckongasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kong (Ocean) (48K)

static struct BurnRomInfo SpeckongRomDesc[] = {
	{ "Kong (1984)(Ocean).z80", 0x0551d, 0x0b3fcf53, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckong, Speckong, Spectrum)
STD_ROM_FN(Speckong)

struct BurnDriver BurnSpeckong = {
	"spec_kong", NULL, "spec_spectrum", NULL, "1984",
	"Kong (Ocean) (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckongRomInfo, SpeckongRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kong (Stephen Hall - Nicholas Walmsley) (48K)

static struct BurnRomInfo SpeckongshnwRomDesc[] = {
	{ "Kong (19xx)(Stephen Hall - Nicholas Walmsley).z80", 0x03a3e, 0x1d57dd53, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckongshnw, Speckongshnw, Spectrum)
STD_ROM_FN(Speckongshnw)

struct BurnDriver BurnSpeckongshnw = {
	"spec_kongshnw", NULL, "spec_spectrum", NULL, "19xx",
	"Kong (Stephen Hall - Nicholas Walmsley) (48K)\0", NULL, "Stephen Hall - Nicholas Walmsley", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckongshnwRomInfo, SpeckongshnwRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kong 2 - Kong Strikes Back (48K)

static struct BurnRomInfo Speckong2RomDesc[] = {
	{ "Kong 2 - Kong Strikes Back (1985)(Ocean).z80", 0x06fe3, 0x9f2f534a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckong2, Speckong2, Spectrum)
STD_ROM_FN(Speckong2)

struct BurnDriver BurnSpeckong2 = {
	"spec_kong2", NULL, "spec_spectrum", NULL, "1985",
	"Kong 2 - Kong Strikes Back (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speckong2RomInfo, Speckong2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kongedomme (da) (48K)

static struct BurnRomInfo SpeckongedomRomDesc[] = {
	{ "Kongedomme (19xx)(-)(da).z80", 0x027b3, 0x8a6b6b05, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckongedom, Speckongedom, Spectrum)
STD_ROM_FN(Speckongedom)

struct BurnDriver BurnSpeckongedom = {
	"spec_kongedom", NULL, "spec_spectrum", NULL, "19xx",
	"Kongedomme (da) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckongedomRomInfo, SpeckongedomRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kontrabant 1 (sl) (48K)

static struct BurnRomInfo SpeckontrabRomDesc[] = {
	{ "Kontrabant 1 (1984)(Radio Student)(sl).z80", 0x08e3c, 0x1a52e3d3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckontrab, Speckontrab, Spectrum)
STD_ROM_FN(Speckontrab)

struct BurnDriver BurnSpeckontrab = {
	"spec_kontrab", NULL, "spec_spectrum", NULL, "1984",
	"Kontrabant 1 (sl) (48K)\0", NULL, "Radio Student", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckontrabRomInfo, SpeckontrabRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kontrabant 2 (sr) (48K)

static struct BurnRomInfo Speckontrab2RomDesc[] = {
	{ "Kontrabant 2 (1984)(Radio Student)(sr).z80", 0x09ca8, 0x93109ebd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckontrab2, Speckontrab2, Spectrum)
STD_ROM_FN(Speckontrab2)

struct BurnDriver BurnSpeckontrab2 = {
	"spec_kontrab2", NULL, "spec_spectrum", NULL, "1984",
	"Kontrabant 2 (sr) (48K)\0", NULL, "Radio Student", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speckontrab2RomInfo, Speckontrab2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Koronis Rift (48K)

static struct BurnRomInfo SpeckororiftRomDesc[] = {
	{ "Koronis Rift (1987)(Activision).z80", 0x09a23, 0x8128e658, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckororift, Speckororift, Spectrum)
STD_ROM_FN(Speckororift)

struct BurnDriver BurnSpeckororift = {
	"spec_kororift", NULL, "spec_spectrum", NULL, "1987",
	"Koronis Rift (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckororiftRomInfo, SpeckororiftRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kosmic Kanga (48K)

static struct BurnRomInfo SpeckosmkangRomDesc[] = {
	{ "Kosmic Kanga (1984)(Micromania).z80", 0x07d96, 0x4a482ea9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckosmkang, Speckosmkang, Spectrum)
STD_ROM_FN(Speckosmkang)

struct BurnDriver BurnSpeckosmkang = {
	"spec_kosmkang", NULL, "spec_spectrum", NULL, "1984",
	"Kosmic Kanga (48K)\0", NULL, "Micromania", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckosmkangRomInfo, SpeckosmkangRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kosmic Pirate (48K)

static struct BurnRomInfo SpeckosmpiraRomDesc[] = {
	{ "Kosmic Pirate (1983)(Blaby Computer Games).z80", 0x05c19, 0x4b9201b5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckosmpira, Speckosmpira, Spectrum)
STD_ROM_FN(Speckosmpira)

struct BurnDriver BurnSpeckosmpira = {
	"spec_kosmpira", NULL, "spec_spectrum", NULL, "1983",
	"Kosmic Pirate (48K)\0", NULL, "Blaby Computer Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckosmpiraRomInfo, SpeckosmpiraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kosmos (48K)

static struct BurnRomInfo SpeckosmosRomDesc[] = {
	{ "Kosmos (1989)(Atlantis Software).z80", 0x09abf, 0x7fd68b68, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckosmos, Speckosmos, Spectrum)
STD_ROM_FN(Speckosmos)

struct BurnDriver BurnSpeckosmos = {
	"spec_kosmos", NULL, "spec_spectrum", NULL, "1989",
	"Kosmos (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckosmosRomInfo, SpeckosmosRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kraal (48K)

static struct BurnRomInfo Speckraal_48RomDesc[] = {
	{ "Kraal (1990)(Hewson Consultants).z80", 0x0a238, 0xa8a786db, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckraal_48, Speckraal_48, Spectrum)
STD_ROM_FN(Speckraal_48)

struct BurnDriver BurnSpeckraal_48 = {
	"spec_kraal_48", "spec_kraal", "spec_spectrum", NULL, "1990",
	"Kraal (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speckraal_48RomInfo, Speckraal_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kraal (128K)

static struct BurnRomInfo SpeckraalRomDesc[] = {
	{ "Kraal (1990)(Hewson Consultants)[128K].z80", 0x1203b, 0xba15bdb4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckraal, Speckraal, Spectrum)
STD_ROM_FN(Speckraal)

struct BurnDriver BurnSpeckraal = {
	"spec_kraal", NULL, "spec_spec128", NULL, "1990",
	"Kraal (128K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckraalRomInfo, SpeckraalRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kraken (128K)

static struct BurnRomInfo SpeckrakenRomDesc[] = {
	{ "Kraken (19xx)(Kassoft)[128K].z80", 0x06aee, 0xa3e42518, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckraken, Speckraken, Spectrum)
STD_ROM_FN(Speckraken)

struct BurnDriver BurnSpeckraken = {
	"spec_kraken", NULL, "spec_spec128", NULL, "19xx",
	"Kraken (128K)\0", NULL, "Kassoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckrakenRomInfo, SpeckrakenRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Krakit (48K)

static struct BurnRomInfo SpeckrakitRomDesc[] = {
	{ "Krakit (1982)(Artic Computing).z80", 0x05346, 0x8f9bd87f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckrakit, Speckrakit, Spectrum)
STD_ROM_FN(Speckrakit)

struct BurnDriver BurnSpeckrakit = {
	"spec_krakit", NULL, "spec_spectrum", NULL, "1982",
	"Krakit (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckrakitRomInfo, SpeckrakitRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Krakout (48K)

static struct BurnRomInfo SpeckrakoutRomDesc[] = {
	{ "Krakout (1987)(Gremlin Graphics Software).z80", 0x09ded, 0xd915fc57, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckrakout, Speckrakout, Spectrum)
STD_ROM_FN(Speckrakout)

struct BurnDriver BurnSpeckrakout = {
	"spec_krakout", NULL, "spec_spectrum", NULL, "1987",
	"Krakout (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckrakoutRomInfo, SpeckrakoutRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Krazy Kartoonist Kaper, The (FSF Adventures) (128K)

static struct BurnRomInfo SpeckkkfsfRomDesc[] = {
	{ "Krazy Kartoonist Kaper, The (1991)(FSF Adventures)[128K].z80", 0x13b16, 0xc5af123c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckkkfsf, Speckkkfsf, Spectrum)
STD_ROM_FN(Speckkkfsf)

struct BurnDriver BurnSpeckkkfsf = {
	"spec_kkkfsf", NULL, "spec_spec128", NULL, "1991",
	"Krazy Kartoonist Kaper, The (FSF Adventures) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckkkfsfRomInfo, SpeckkkfsfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Krazy Kartoonist Kaper, The (Zenobi Software) (128K)

static struct BurnRomInfo SpeckkkzsRomDesc[] = {
	{ "Krazy Kartoonist Kaper, The (1991)(Zenobi Software)[128K][re-release].z80", 0x13c8b, 0xd9d8faa7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckkkzs, Speckkkzs, Spectrum)
STD_ROM_FN(Speckkkzs)

struct BurnDriver BurnSpeckkkzs = {
	"spec_kkkzs", "spec_kkkfsf", "spec_spec128", NULL, "1991",
	"Krazy Kartoonist Kaper, The (Zenobi Software) (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckkkzsRomInfo, SpeckkkzsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Krazy Kong (48K)

static struct BurnRomInfo SpeckrazkongRomDesc[] = {
	{ "Krazy Kong (1983)(PSS).z80", 0x03c8a, 0xe73a3a37, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckrazkong, Speckrazkong, Spectrum)
STD_ROM_FN(Speckrazkong)

struct BurnDriver BurnSpeckrazkong = {
	"spec_krazkong", NULL, "spec_spectrum", NULL, "1983",
	"Krazy Kong (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckrazkongRomInfo, SpeckrazkongRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Krtek (cs) (128K)

static struct BurnRomInfo SpeckrtekRomDesc[] = {
	{ "Krtek (1990)(Proxima Software)(cs)[128K].z80", 0x0a457, 0x9271e067, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckrtek, Speckrtek, Spectrum)
STD_ROM_FN(Speckrtek)

struct BurnDriver BurnSpeckrtek = {
	"spec_krtek", NULL, "spec_spec128", NULL, "1990",
	"Krtek (cs) (128K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckrtekRomInfo, SpeckrtekRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Krypton Raiders (Spanish) (48K)

static struct BurnRomInfo SpeckrypraidRomDesc[] = {
	{ "Krypton Raiders (1985)(Future Stars)(es).z80", 0x052d7, 0x69047a52, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckrypraid, Speckrypraid, Spectrum)
STD_ROM_FN(Speckrypraid)

struct BurnDriver BurnSpeckrypraid = {
	"spec_krypraid", NULL, "spec_spectrum", NULL, "1985",
	"Krypton Raiders (Spanish) (48K)\0", NULL, "Future Stars", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckrypraidRomInfo, SpeckrypraidRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kubtrubbel (sv) (48K)

static struct BurnRomInfo SpeckubtrubbRomDesc[] = {
	{ "Kubtrubbel (1986)(Dennis Lindqvist)(sv).z80", 0x01969, 0xb5ada609, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckubtrubb, Speckubtrubb, Spectrum)
STD_ROM_FN(Speckubtrubb)

struct BurnDriver BurnSpeckubtrubb = {
	"spec_kubtrubb", NULL, "spec_spectrum", NULL, "1986",
	"Kubtrubbel (sv) (48K)\0", NULL, "Dennis Lindqvist", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckubtrubbRomInfo, SpeckubtrubbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kung Fu Knights (48K)

static struct BurnRomInfo SpeckunfukniRomDesc[] = {
	{ "Kung Fu Knights (1989)(Firebird Software)[re-release].z80", 0x068c9, 0x58ca79f7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckunfukni, Speckunfukni, Spectrum)
STD_ROM_FN(Speckunfukni)

struct BurnDriver BurnSpeckunfukni = {
	"spec_kunfukni", NULL, "spec_spectrum", NULL, "1989",
	"Kung Fu Knights (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckunfukniRomInfo, SpeckunfukniRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kung-Fu (48K)

static struct BurnRomInfo SpeckungfuRomDesc[] = {
	{ "Kung-Fu (1984)(Bug-Byte Software).z80", 0x0870b, 0x3ffb937b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckungfu, Speckungfu, Spectrum)
STD_ROM_FN(Speckungfu)

struct BurnDriver BurnSpeckungfu = {
	"spec_kungfu", NULL, "spec_spectrum", NULL, "1984",
	"Kung-Fu (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckungfuRomInfo, SpeckungfuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kung-Fu Master (48K)

static struct BurnRomInfo SpeckungfumRomDesc[] = {
	{ "Kung-Fu Master (1986)(U.S. Gold).z80", 0x0a7a1, 0x7a375d9e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckungfum, Speckungfum, Spectrum)
STD_ROM_FN(Speckungfum)

struct BurnDriver BurnSpeckungfum = {
	"spec_kungfum", NULL, "spec_spectrum", NULL, "1986",
	"Kung-Fu Master (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckungfumRomInfo, SpeckungfumRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kuzelky (cs) (48K)

static struct BurnRomInfo SpeckuzelkycRomDesc[] = {
	{ "Kuzelky (19xx)(-)(cs).z80", 0x0275a, 0x93f805ef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speckuzelkyc, Speckuzelkyc, Spectrum)
STD_ROM_FN(Speckuzelkyc)

struct BurnDriver BurnSpeckuzelkyc = {
	"spec_kuzelkyc", NULL, "spec_spectrum", NULL, "19xx",
	"Kuzelky (cs) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeckuzelkycRomInfo, SpeckuzelkycRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kwik Snax Dizzy (48K)

static struct BurnRomInfo Specksdizzy_48RomDesc[] = {
	{ "Kwik Snax Dizzy (1990)(Codemasters).z80", 0x095a5, 0xff50b072, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specksdizzy_48, Specksdizzy_48, Spectrum)
STD_ROM_FN(Specksdizzy_48)

struct BurnDriver BurnSpecksdizzy_48 = {
	"spec_ksdizzy_48", "spec_ksdizzy", "spec_spectrum", NULL, "1990",
	"Kwik Snax Dizzy (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specksdizzy_48RomInfo, Specksdizzy_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Kwik Snax Dizzy (128K)

static struct BurnRomInfo SpecksdizzyRomDesc[] = {
	{ "Kwik Snax Dizzy (1990)(Codemasters)[128K].z80", 0x1508b, 0x7e358203, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specksdizzy, Specksdizzy, Spectrum)
STD_ROM_FN(Specksdizzy)

struct BurnDriver BurnSpecksdizzy = {
	"spec_ksdizzy", NULL, "spec_spec128", NULL, "1990",
	"Kwik Snax Dizzy (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecksdizzyRomInfo, SpecksdizzyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// LA Drugs Bust (48K)

static struct BurnRomInfo Specladrugsb_48RomDesc[] = {
	{ "LA Drugs Bust (1990)(Players Software).z80", 0x09a45, 0x5c264490, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specladrugsb_48, Specladrugsb_48, Spectrum)
STD_ROM_FN(Specladrugsb_48)

struct BurnDriver BurnSpecladrugsb_48 = {
	"spec_ladrugsb_48", "spec_ladrugsb", "spec_spectrum", NULL, "1990",
	"LA Drugs Bust (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specladrugsb_48RomInfo, Specladrugsb_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// LA Drugs Bust (128K)

static struct BurnRomInfo SpecladrugsbRomDesc[] = {
	{ "LA Drugs Bust (1990)(Players Software)[128K].z80", 0x0aeaa, 0x4e96a6b6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specladrugsb, Specladrugsb, Spectrum)
STD_ROM_FN(Specladrugsb)

struct BurnDriver BurnSpecladrugsb = {
	"spec_ladrugsb", NULL, "spec_spec128", NULL, "1990",
	"LA Drugs Bust (128K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecladrugsbRomInfo, SpecladrugsbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Laberinto Magico, El (Spanish) (128K)

static struct BurnRomInfo SpeclabmagelRomDesc[] = {
	{ "Laberinto Magico, El (1986)(Tim Harnell)(es)[128K].z80", 0x03462, 0x10029904, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclabmagel, Speclabmagel, Spectrum)
STD_ROM_FN(Speclabmagel)

struct BurnDriver BurnSpeclabmagel = {
	"spec_labmagel", NULL, "spec_spec128", NULL, "1986",
	"Laberinto Magico, El (Spanish) (128K)\0", NULL, "Tim Harnell", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclabmagelRomInfo, SpeclabmagelRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Labirint (hr) (48K)

static struct BurnRomInfo SpeclabirindRomDesc[] = {
	{ "Labirint (1983)(Darko - Vlado)(hr)[aka 3D Maze].z80", 0x026d7, 0x4e7dd2df, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclabirind, Speclabirind, Spectrum)
STD_ROM_FN(Speclabirind)

struct BurnDriver BurnSpeclabirind = {
	"spec_labirind", NULL, "spec_spectrum", NULL, "1983",
	"Labirint (hr) (48K)\0", NULL, "Darko - Vlado", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclabirindRomInfo, SpeclabirindRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Labirintus (hu) (128K)

static struct BurnRomInfo SpeclabirintRomDesc[] = {
	{ "Labirintus (1998)(Laszlo Nyitrai)(hu)[128K].z80", 0x03374, 0x46b5d311, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclabirint, Speclabirint, Spectrum)
STD_ROM_FN(Speclabirint)

struct BurnDriver BurnSpeclabirint = {
	"spec_labirint", NULL, "spec_spec128", NULL, "1998",
	"Labirintus (hu) (128K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclabirintRomInfo, SpeclabirintRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Labour Pains (Part 1 of 2) (48K)

static struct BurnRomInfo SpeclabpainsRomDesc[] = {
	{ "Labour Pains (1996)(Zenobi Software)(Part 1 of 2).z80", 0x09dc6, 0xb486d9b3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclabpains, Speclabpains, Spectrum)
STD_ROM_FN(Speclabpains)

struct BurnDriver BurnSpeclabpains = {
	"spec_labpains", NULL, "spec_spectrum", NULL, "1996",
	"Labour Pains (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclabpainsRomInfo, SpeclabpainsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Labour Pains (Part 2 of 2) (48K)

static struct BurnRomInfo Speclabpains2RomDesc[] = {
	{ "Labour Pains (1996)(Zenobi Software)(Part 2 of 2).z80", 0x0a06b, 0xbb147d29, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclabpains2, Speclabpains2, Spectrum)
STD_ROM_FN(Speclabpains2)

struct BurnDriver BurnSpeclabpains2 = {
	"spec_labpains2", "spec_labpains", "spec_spectrum", NULL, "1996",
	"Labour Pains (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclabpains2RomInfo, Speclabpains2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Labours of Hercules, The (48K)

static struct BurnRomInfo SpeclabherthRomDesc[] = {
	{ "Labours of Hercules, The (1987)(Zenobi Software).z80", 0x0a5db, 0xb19dbb8a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclabherth, Speclabherth, Spectrum)
STD_ROM_FN(Speclabherth)

struct BurnDriver BurnSpeclabherth = {
	"spec_labherth", NULL, "spec_spectrum", NULL, "1987",
	"Labours of Hercules, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclabherthRomInfo, SpeclabherthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Labyrinth Games - Intro (cs) (48K)

static struct BurnRomInfo SpeclabrygmsRomDesc[] = {
	{ "Labyrinth Games - Intro (1990)(Raxoft - Omikron Software)(cs).z80", 0x05866, 0x6bd91cdb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclabrygms, Speclabrygms, Spectrum)
STD_ROM_FN(Speclabrygms)

struct BurnDriver BurnSpeclabrygms = {
	"spec_labrygms", NULL, "spec_spectrum", NULL, "1990",
	"Labyrinth Games - Intro (cs) (48K)\0", NULL, "Raxoft - Omikron Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclabrygmsRomInfo, SpeclabrygmsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Labyrinth Games (cs) (48K)

static struct BurnRomInfo SpeclabrygmsgRomDesc[] = {
	{ "Labyrinth Games (1990)(Raxoft - Omikron Software)(cs).z80", 0x06616, 0x66cbaa8e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclabrygmsg, Speclabrygmsg, Spectrum)
STD_ROM_FN(Speclabrygmsg)

struct BurnDriver BurnSpeclabrygmsg = {
	"spec_labrygmsg", "spec_labrygms", "spec_spectrum", NULL, "1990",
	"Labyrinth Games (cs) (48K)\0", NULL, "Raxoft - Omikron Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclabrygmsgRomInfo, SpeclabrygmsgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Labyrinthion (48K)

static struct BurnRomInfo SpeclabyrintRomDesc[] = {
	{ "Labyrinthion (1986)(Budgie Budget Software).z80", 0x0a9f9, 0xabb47b2d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclabyrint, Speclabyrint, Spectrum)
STD_ROM_FN(Speclabyrint)

struct BurnDriver BurnSpeclabyrint = {
	"spec_labyrint", NULL, "spec_spectrum", NULL, "1986",
	"Labyrinthion (48K)\0", NULL, "Budgie Budget Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclabyrintRomInfo, SpeclabyrintRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lancelot (Part 1 of 3) (48K)

static struct BurnRomInfo Speclancelot_48RomDesc[] = {
	{ "Lancelot (1988)(Mandarin Software)(Part 1 of 3).z80", 0x0aec4, 0x82473cb5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclancelot_48, Speclancelot_48, Spectrum)
STD_ROM_FN(Speclancelot_48)

struct BurnDriver BurnSpeclancelot_48 = {
	"spec_lancelot_48", "spec_lancelot", "spec_spectrum", NULL, "1988",
	"Lancelot (Part 1 of 3) (48K)\0", NULL, "Mandarin Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclancelot_48RomInfo, Speclancelot_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lancelot (Part 1 of 3) (128K)

static struct BurnRomInfo SpeclancelotRomDesc[] = {
	{ "Lancelot (1988)(Mandarin Software)(Part 1 of 3)[128K].z80", 0x0ea5e, 0x63728e9e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclancelot, Speclancelot, Spectrum)
STD_ROM_FN(Speclancelot)

struct BurnDriver BurnSpeclancelot = {
	"spec_lancelot", NULL, "spec_spec128", NULL, "1988",
	"Lancelot (Part 1 of 3) (128K)\0", NULL, "Mandarin Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclancelotRomInfo, SpeclancelotRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lancelot (Part 2 of 3) (48K)

static struct BurnRomInfo Speclancelot2_48RomDesc[] = {
	{ "Lancelot (1988)(Mandarin Software)(Part 2 of 3).z80", 0x0a79d, 0x7b666b78, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclancelot2_48, Speclancelot2_48, Spectrum)
STD_ROM_FN(Speclancelot2_48)

struct BurnDriver BurnSpeclancelot2_48 = {
	"spec_lancelot2_48", "spec_lancelot", "spec_spectrum", NULL, "1988",
	"Lancelot (Part 2 of 3) (48K)\0", NULL, "Mandarin Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclancelot2_48RomInfo, Speclancelot2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lancelot (Part 2 of 3) (128K)

static struct BurnRomInfo Speclancelot2RomDesc[] = {
	{ "Lancelot (1988)(Mandarin Software)(Part 2 of 3)[128K].z80", 0x0e3de, 0xabfc5b66, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclancelot2, Speclancelot2, Spectrum)
STD_ROM_FN(Speclancelot2)

struct BurnDriver BurnSpeclancelot2 = {
	"spec_lancelot2", "spec_lancelot", "spec_spec128", NULL, "1988",
	"Lancelot (Part 2 of 3) (128K)\0", NULL, "Mandarin Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclancelot2RomInfo, Speclancelot2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lancelot (Part 3 of 3) (48K)

static struct BurnRomInfo Speclancelot3_48RomDesc[] = {
	{ "Lancelot (1988)(Mandarin Software)(Part 3 of 3).z80", 0x0ac89, 0xfd1c689c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclancelot3_48, Speclancelot3_48, Spectrum)
STD_ROM_FN(Speclancelot3_48)

struct BurnDriver BurnSpeclancelot3_48 = {
	"spec_lancelot3_48", "spec_lancelot", "spec_spectrum", NULL, "1988",
	"Lancelot (Part 3 of 3) (48K)\0", NULL, "Mandarin Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclancelot3_48RomInfo, Speclancelot3_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lancelot (Part 3 of 3) (128K)

static struct BurnRomInfo Speclancelot3RomDesc[] = {
	{ "Lancelot (1988)(Mandarin Software)(Part 3 of 3)[128K].z80", 0x0ec00, 0x32ec2597, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclancelot3, Speclancelot3, Spectrum)
STD_ROM_FN(Speclancelot3)

struct BurnDriver BurnSpeclancelot3 = {
	"spec_lancelot3", "spec_lancelot", "spec_spec128", NULL, "1988",
	"Lancelot (Part 3 of 3) (128K)\0", NULL, "Mandarin Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclancelot3RomInfo, Speclancelot3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Land of Sagan (48K)

static struct BurnRomInfo SpeclandsagaRomDesc[] = {
	{ "Land of Sagan (1983)(Mikro-Gen).z80", 0x06891, 0x00eff769, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclandsaga, Speclandsaga, Spectrum)
STD_ROM_FN(Speclandsaga)

struct BurnDriver BurnSpeclandsaga = {
	"spec_landsaga", NULL, "spec_spectrum", NULL, "1983",
	"Land of Sagan (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclandsagaRomInfo, SpeclandsagaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lander - Intro (48K)

static struct BurnRomInfo SpeclanderRomDesc[] = {
	{ "Lander - Intro (1983)(P.W. Norris).z80", 0x01ba9, 0x2d2318db, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclander, Speclander, Spectrum)
STD_ROM_FN(Speclander)

struct BurnDriver BurnSpeclander = {
	"spec_lander", NULL, "spec_spectrum", NULL, "1983",
	"Lander - Intro (48K)\0", NULL, "P.W. Norris", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclanderRomInfo, SpeclanderRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lander (48K)

static struct BurnRomInfo SpeclandergRomDesc[] = {
	{ "Lander (1983)(P.W. Norris).z80", 0x02185, 0xaf51b99b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclanderg, Speclanderg, Spectrum)
STD_ROM_FN(Speclanderg)

struct BurnDriver BurnSpeclanderg = {
	"spec_landerg", "spec_lander", "spec_spectrum", NULL, "1983",
	"Lander (48K)\0", NULL, "P.W. Norris", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclandergRomInfo, SpeclandergRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lap of the Gods (48K)

static struct BurnRomInfo SpeclapogodsRomDesc[] = {
	{ "Lap of the Gods (1986)(Mastertronic).z80", 0x090b9, 0xa3ef135a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclapogods, Speclapogods, Spectrum)
STD_ROM_FN(Speclapogods)

struct BurnDriver BurnSpeclapogods = {
	"spec_lapogods", NULL, "spec_spectrum", NULL, "1986",
	"Lap of the Gods (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclapogodsRomInfo, SpeclapogodsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Larry (pt) (48K)

static struct BurnRomInfo SpeclarryptRomDesc[] = {
	{ "Larry (1989)(Luiz Cressoni Filho)(pt).z80", 0x0a8f3, 0x68e9e81d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclarrypt, Speclarrypt, Spectrum)
STD_ROM_FN(Speclarrypt)

struct BurnDriver BurnSpeclarrypt = {
	"spec_larrypt", NULL, "spec_spectrum", NULL, "1989",
	"Larry (pt) (48K)\0", NULL, "Luiz Cressoni Filho", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclarryptRomInfo, SpeclarryptRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Larry the Lemming's Urge for Extinction (48K)

static struct BurnRomInfo SpeclaleurexRomDesc[] = {
	{ "Larry the Lemming's Urge for Extinction (1992)(Delbert the Hamster Software).z80", 0x062f6, 0x5f081c53, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclaleurex, Speclaleurex, Spectrum)
STD_ROM_FN(Speclaleurex)

struct BurnDriver BurnSpeclaleurex = {
	"spec_laleurex", NULL, "spec_spectrum", NULL, "1992",
	"Larry the Lemming's Urge for Extinction (48K)\0", NULL, "Delbert the Hamster Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclaleurexRomInfo, SpeclaleurexRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Las Vegas Casino (48K)

static struct BurnRomInfo SpeclvegascaRomDesc[] = {
	{ "Las Vegas Casino (1989)(Zeppelin Games).z80", 0x084f3, 0xdf7557cc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclvegasca, Speclvegasca, Spectrum)
STD_ROM_FN(Speclvegasca)

struct BurnDriver BurnSpeclvegasca = {
	"spec_lvegasca", NULL, "spec_spectrum", NULL, "1989",
	"Las Vegas Casino (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclvegascaRomInfo, SpeclvegascaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Las Vegas II (48K)

static struct BurnRomInfo Speclvegas2RomDesc[] = {
	{ "Las Vegas II (1991)(-).z80", 0x0a903, 0xc6d9a2f0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclvegas2, Speclvegas2, Spectrum)
STD_ROM_FN(Speclvegas2)

struct BurnDriver BurnSpeclvegas2 = {
	"spec_lvegas2", NULL, "spec_spectrum", NULL, "1991",
	"Las Vegas II (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclvegas2RomInfo, Speclvegas2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Las Vegas Jackpot (48K)

static struct BurnRomInfo SpeclvegasjpRomDesc[] = {
	{ "Las Vegas Jackpot (1984)(Mastertronic).z80", 0x04173, 0x779bca1a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclvegasjp, Speclvegasjp, Spectrum)
STD_ROM_FN(Speclvegasjp)

struct BurnDriver BurnSpeclvegasjp = {
	"spec_lvegasjp", NULL, "spec_spectrum", NULL, "1984",
	"Las Vegas Jackpot (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclvegasjpRomInfo, SpeclvegasjpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Las Vegas Lady (48K)

static struct BurnRomInfo SpeclvegasldRomDesc[] = {
	{ "Las Vegas Lady (1983)(Mogul Communications).z80", 0x0460f, 0x8b43e867, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclvegasld, Speclvegasld, Spectrum)
STD_ROM_FN(Speclvegasld)

struct BurnDriver BurnSpeclvegasld = {
	"spec_lvegasld", NULL, "spec_spectrum", NULL, "1983",
	"Las Vegas Lady (48K)\0", NULL, "Mogul Communications", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclvegasldRomInfo, SpeclvegasldRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Laser 11 (48K)

static struct BurnRomInfo Speclaser11RomDesc[] = {
	{ "Laser 11 (19xx)(-).z80", 0x02a5f, 0xe14d0079, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclaser11, Speclaser11, Spectrum)
STD_ROM_FN(Speclaser11)

struct BurnDriver BurnSpeclaser11 = {
	"spec_laser11", NULL, "spec_spectrum", NULL, "19xx",
	"Laser 11 (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclaser11RomInfo, Speclaser11RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Laser Attack (48K)

static struct BurnRomInfo SpeclaseattaRomDesc[] = {
	{ "Laser Attack (1995)(Vaxalon).z80", 0x01423, 0xd46f1349, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclaseatta, Speclaseatta, Spectrum)
STD_ROM_FN(Speclaseatta)

struct BurnDriver BurnSpeclaseatta = {
	"spec_laseatta", NULL, "spec_spectrum", NULL, "1995",
	"Laser Attack (48K)\0", NULL, "Vaxalon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclaseattaRomInfo, SpeclaseattaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Laser Grid (48K)

static struct BurnRomInfo SpeclasegridRomDesc[] = {
	{ "Laser Grid (1995)(Vaxalon).z80", 0x00ecf, 0xbeaad507, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclasegrid, Speclasegrid, Spectrum)
STD_ROM_FN(Speclasegrid)

struct BurnDriver BurnSpeclasegrid = {
	"spec_lasegrid", NULL, "spec_spectrum", NULL, "1995",
	"Laser Grid (48K)\0", NULL, "Vaxalon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclasegridRomInfo, SpeclasegridRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Laser Snaker (48K)

static struct BurnRomInfo SpeclasesnakRomDesc[] = {
	{ "Laser Snaker (1983)(Poppy Soft).z80", 0x071e3, 0xd6d1b3ba, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclasesnak, Speclasesnak, Spectrum)
STD_ROM_FN(Speclasesnak)

struct BurnDriver BurnSpeclasesnak = {
	"spec_lasesnak", NULL, "spec_spectrum", NULL, "1983",
	"Laser Snaker (48K)\0", NULL, "Poppy Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclasesnakRomInfo, SpeclasesnakRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Laser Squad (Scenario 1) (128K)

static struct BurnRomInfo SpeclasersqdRomDesc[] = {
	{ "Laser Squad (1988)(Blade Software)[128K][scenario 1].z80", 0x0a415, 0x8c15b2e9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclasersqd, Speclasersqd, Spectrum)
STD_ROM_FN(Speclasersqd)

struct BurnDriver BurnSpeclasersqd = {
	"spec_lasersqd", NULL, "spec_spec128", NULL, "1988",
	"Laser Squad (Scenario 1) (128K)\0", NULL, "Blade Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclasersqdRomInfo, SpeclasersqdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Laser Squad (Scenario 2) (128K)

static struct BurnRomInfo Speclasersqd2RomDesc[] = {
	{ "Laser Squad (1988)(Blade Software)[128K][scenario 2].z80", 0x0a6f2, 0x71d099f3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclasersqd2, Speclasersqd2, Spectrum)
STD_ROM_FN(Speclasersqd2)

struct BurnDriver BurnSpeclasersqd2 = {
	"spec_lasersqd2", "spec_lasersqd", "spec_spec128", NULL, "1988",
	"Laser Squad (Scenario 2) (128K)\0", NULL, "Blade Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclasersqd2RomInfo, Speclasersqd2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Laser Squad (Scenario 3) (128K)

static struct BurnRomInfo Speclasersqd3RomDesc[] = {
	{ "Laser Squad (1988)(Blade Software)[128K][scenario 3].z80", 0x0a33b, 0x973413bd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclasersqd3, Speclasersqd3, Spectrum)
STD_ROM_FN(Speclasersqd3)

struct BurnDriver BurnSpeclasersqd3 = {
	"spec_lasersqd3", "spec_lasersqd", "spec_spec128", NULL, "1988",
	"Laser Squad (Scenario 3) (128K)\0", NULL, "Blade Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclasersqd3RomInfo, Speclasersqd3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Laser Squad (Scenario 4) (128K)

static struct BurnRomInfo Speclasersqd4RomDesc[] = {
	{ "Laser Squad (1988)(Blade Software)[128K][scenario 4].z80", 0x0a3c7, 0x6bd05871, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclasersqd4, Speclasersqd4, Spectrum)
STD_ROM_FN(Speclasersqd4)

struct BurnDriver BurnSpeclasersqd4 = {
	"spec_lasersqd4", "spec_lasersqd", "spec_spec128", NULL, "1988",
	"Laser Squad (Scenario 4) (128K)\0", NULL, "Blade Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclasersqd4RomInfo, Speclasersqd4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Laser Squad (Scenario 5) (128K)

static struct BurnRomInfo Speclasersqd5RomDesc[] = {
	{ "Laser Squad (1988)(Blade Software)[128K][scenario 5].z80", 0x0a39e, 0x18577627, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclasersqd5, Speclasersqd5, Spectrum)
STD_ROM_FN(Speclasersqd5)

struct BurnDriver BurnSpeclasersqd5 = {
	"spec_lasersqd5", "spec_lasersqd", "spec_spec128", NULL, "1988",
	"Laser Squad (Scenario 5) (128K)\0", NULL, "Blade Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclasersqd5RomInfo, Speclasersqd5RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Laser Squad (Scenario 6) (128K)

static struct BurnRomInfo Speclasersqd6RomDesc[] = {
	{ "Laser Squad (1988)(Blade Software)[128K][scenario 6].z80", 0x0a3b7, 0x34affb15, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclasersqd6, Speclasersqd6, Spectrum)
STD_ROM_FN(Speclasersqd6)

struct BurnDriver BurnSpeclasersqd6 = {
	"spec_lasersqd6", "spec_lasersqd", "spec_spec128", NULL, "1988",
	"Laser Squad (Scenario 6) (128K)\0", NULL, "Blade Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclasersqd6RomInfo, Speclasersqd6RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Laser Squad (Scenario 7) (128K)

static struct BurnRomInfo Speclasersqd7RomDesc[] = {
	{ "Laser Squad (1988)(Blade Software)[128K][scenario 7].z80", 0x0a253, 0xac7d4af1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclasersqd7, Speclasersqd7, Spectrum)
STD_ROM_FN(Speclasersqd7)

struct BurnDriver BurnSpeclasersqd7 = {
	"spec_lasersqd7", "spec_lasersqd", "spec_spec128", NULL, "1988",
	"Laser Squad (Scenario 7) (128K)\0", NULL, "Blade Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclasersqd7RomInfo, Speclasersqd7RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Laser Wheel (48K)

static struct BurnRomInfo SpeclaserwhlRomDesc[] = {
	{ "Laser Wheel (1987)(Mastertronic Added Dimension).z80", 0x082d9, 0x00020033, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclaserwhl, Speclaserwhl, Spectrum)
STD_ROM_FN(Speclaserwhl)

struct BurnDriver BurnSpeclaserwhl = {
	"spec_laserwhl", NULL, "spec_spectrum", NULL, "1987",
	"Laser Wheel (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclaserwhlRomInfo, SpeclaserwhlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Laser Zone (48K)

static struct BurnRomInfo SpeclasezoneRomDesc[] = {
	{ "Laser Zone (1983)(Quicksilva).z80", 0x03165, 0x6fb4d2cd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclasezone, Speclasezone, Spectrum)
STD_ROM_FN(Speclasezone)

struct BurnDriver BurnSpeclasezone = {
	"spec_lasezone", NULL, "spec_spectrum", NULL, "1983",
	"Laser Zone (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclasezoneRomInfo, SpeclasezoneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Laserwarp (48K)

static struct BurnRomInfo SpeclserwrpRomDesc[] = {
	{ "Laserwarp (1983)(Mikro-Gen).z80", 0x047e1, 0x85863558, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclserwrp, Speclserwrp, Spectrum)
STD_ROM_FN(Speclserwrp)

struct BurnDriver BurnSpeclserwrp = {
	"spec_lserwrp", NULL, "spec_spectrum", NULL, "1983",
	"Laserwarp (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclserwrpRomInfo, SpeclserwrpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Laserwarp v2 (48K)

static struct BurnRomInfo Speclserwrp2RomDesc[] = {
	{ "Laserwarp v2 (1983)(Mikro-Gen).z80", 0x0ab36, 0x9388db2b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclserwrp2, Speclserwrp2, Spectrum)
STD_ROM_FN(Speclserwrp2)

struct BurnDriver BurnSpeclserwrp2 = {
	"spec_lserwrp2", NULL, "spec_spectrum", NULL, "1983",
	"Laserwarp v2 (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclserwrp2RomInfo, Speclserwrp2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Laskar's Crystals (Part 1 of 2) (48K)

static struct BurnRomInfo SpeclaskarcRomDesc[] = {
	{ "Laskar's Crystals (1992)(Zenobi Software)(Part 1 of 2).z80", 0x0a431, 0x7ae3d3f8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclaskarc, Speclaskarc, Spectrum)
STD_ROM_FN(Speclaskarc)

struct BurnDriver BurnSpeclaskarc = {
	"spec_laskarc", NULL, "spec_spectrum", NULL, "1992",
	"Laskar's Crystals (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclaskarcRomInfo, SpeclaskarcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Laskar's Crystals (Part 2 of 2) (48K)

static struct BurnRomInfo Speclaskarc2RomDesc[] = {
	{ "Laskar's Crystals (1992)(Zenobi Software)(Part 2 of 2).z80", 0x095e2, 0xd8e0813d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclaskarc2, Speclaskarc2, Spectrum)
STD_ROM_FN(Speclaskarc2)

struct BurnDriver BurnSpeclaskarc2 = {
	"spec_laskarc2", "spec_laskarc", "spec_spectrum", NULL, "1992",
	"Laskar's Crystals (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclaskarc2RomInfo, Speclaskarc2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Laskar's Return (48K)

static struct BurnRomInfo SpeclaskarrtRomDesc[] = {
	{ "Laskar's Return (1992)(Zenobi Software).z80", 0x09131, 0x2ec11f7c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclaskarrt, Speclaskarrt, Spectrum)
STD_ROM_FN(Speclaskarrt)

struct BurnDriver BurnSpeclaskarrt = {
	"spec_laskarrt", NULL, "spec_spectrum", NULL, "1992",
	"Laskar's Return (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclaskarrtRomInfo, SpeclaskarrtRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Last Believer, The (48K)

static struct BurnRomInfo SpeclasbelthRomDesc[] = {
	{ "Last Believer, The (1991)(The Guild).z80", 0x07dc7, 0x7a8f4cb0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclasbelth, Speclasbelth, Spectrum)
STD_ROM_FN(Speclasbelth)

struct BurnDriver BurnSpeclasbelth = {
	"spec_lasbelth", NULL, "spec_spectrum", NULL, "1991",
	"Last Believer, The (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclasbelthRomInfo, SpeclasbelthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Last Duel (48K)

static struct BurnRomInfo SpeclastduelRomDesc[] = {
	{ "Last Duel (1989)(U.S. Gold).z80", 0x09873, 0x12bef1c4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclastduel, Speclastduel, Spectrum)
STD_ROM_FN(Speclastduel)

struct BurnDriver BurnSpeclastduel = {
	"spec_lastduel", NULL, "spec_spectrum", NULL, "1989",
	"Last Duel (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclastduelRomInfo, SpeclastduelRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Last Mission (48K)

static struct BurnRomInfo SpeclastmissRomDesc[] = {
	{ "Last Mission (1987)(U.S. Gold).z80", 0x09863, 0xd1ec64ec, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclastmiss, Speclastmiss, Spectrum)
STD_ROM_FN(Speclastmiss)

struct BurnDriver BurnSpeclastmiss = {
	"spec_lastmiss", NULL, "spec_spectrum", NULL, "1987",
	"Last Mission (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclastmissRomInfo, SpeclastmissRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Last Mission, The (Spanish) (48K)

static struct BurnRomInfo Speclasmisths_48RomDesc[] = {
	{ "Last Mission, The (1987)(Opera Soft)(es).z80", 0x095ae, 0x42ffa270, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclasmisths_48, Speclasmisths_48, Spectrum)
STD_ROM_FN(Speclasmisths_48)

struct BurnDriver BurnSpeclasmisths_48 = {
	"spec_lasmisths_48", "spec_lastmiss", "spec_spectrum", NULL, "1987",
	"Last Mission, The (Spanish) (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclasmisths_48RomInfo, Speclasmisths_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Last Mission, The (Spanish) (128K)

static struct BurnRomInfo SpeclasmisthsRomDesc[] = {
	{ "Last Mission, The (1987)(Opera Soft)(es)[128K].z80", 0x0a768, 0x71270ae2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclasmisths, Speclasmisths, Spectrum)
STD_ROM_FN(Speclasmisths)

struct BurnDriver BurnSpeclasmisths = {
	"spec_lasmisths", "spec_lastmiss", "spec_spec128", NULL, "1987",
	"Last Mission, The (Spanish) (128K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclasmisthsRomInfo, SpeclasmisthsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Last Mohican, The (48K)

static struct BurnRomInfo SpeclasmohthRomDesc[] = {
	{ "Last Mohican, The (1987)(CRL Group).z80", 0x07ffe, 0x9059f070, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclasmohth, Speclasmohth, Spectrum)
STD_ROM_FN(Speclasmohth)

struct BurnDriver BurnSpeclasmohth = {
	"spec_lasmohth", NULL, "spec_spectrum", NULL, "1987",
	"Last Mohican, The (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclasmohthRomInfo, SpeclasmohthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Last Ninja 2 (128K)

static struct BurnRomInfo Speclninja2RomDesc[] = {
	{ "Last Ninja 2 (1988)(System 3 Software)[128K].z80", 0x0aac9, 0x35afe78a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclninja2, Speclninja2, Spectrum)
STD_ROM_FN(Speclninja2)

struct BurnDriver BurnSpeclninja2 = {
	"spec_lninja2", NULL, "spec_spec128", NULL, "1988",
	"Last Ninja 2 (128K)\0", NULL, "System 3 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclninja2RomInfo, Speclninja2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Last Sunset for Lattica (48K)

static struct BurnRomInfo SpeclassunlaRomDesc[] = {
	{ "Last Sunset for Lattica (1983)(Arcade Software).z80", 0x052e6, 0x86791c7d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclassunla, Speclassunla, Spectrum)
STD_ROM_FN(Speclassunla)

struct BurnDriver BurnSpeclassunla = {
	"spec_lassunla", NULL, "spec_spectrum", NULL, "1983",
	"Last Sunset for Lattica (48K)\0", NULL, "Arcade Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclassunlaRomInfo, SpeclassunlaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Last Vampire, The (48K)

static struct BurnRomInfo SpeclasvamthRomDesc[] = {
	{ "Last Vampire, The (1990)(Atlantis Software).z80", 0x0a66a, 0xbfee9db5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclasvamth, Speclasvamth, Spectrum)
STD_ROM_FN(Speclasvamth)

struct BurnDriver BurnSpeclasvamth = {
	"spec_lasvamth", NULL, "spec_spectrum", NULL, "1990",
	"Last Vampire, The (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclasvamthRomInfo, SpeclasvamthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Last Warrior, The (Spanish) (128K)

static struct BurnRomInfo SpeclaswarthRomDesc[] = {
	{ "Last Warrior, The (1991)(Iron Chip)(es)[128K].z80", 0x0a1c1, 0xa08ea10c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclaswarth, Speclaswarth, Spectrum)
STD_ROM_FN(Speclaswarth)

struct BurnDriver BurnSpeclaswarth = {
	"spec_laswarth", NULL, "spec_spec128", NULL, "1991",
	"Last Warrior, The (Spanish) (128K)\0", NULL, "Iron Chip", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclaswarthRomInfo, SpeclaswarthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Last Will and Testament, The (48K)

static struct BurnRomInfo SpeclawitethRomDesc[] = {
	{ "Last Will and Testament, The (1984)(Central Solutions).z80", 0x069ec, 0x40719524, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclawiteth, Speclawiteth, Spectrum)
STD_ROM_FN(Speclawiteth)

struct BurnDriver BurnSpeclawiteth = {
	"spec_lawiteth", NULL, "spec_spectrum", NULL, "1984",
	"Last Will and Testament, The (48K)\0", NULL, "Central Solutions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclawitethRomInfo, SpeclawitethRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Last Will Dizzy (128K)

static struct BurnRomInfo SpeclaswildiRomDesc[] = {
	{ "Last Will Dizzy (1993)(Oleg Moskalenko)[128K].z80", 0x0aac8, 0xc172dbaa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclaswildi, Speclaswildi, Spectrum)
STD_ROM_FN(Speclaswildi)

struct BurnDriver BurnSpeclaswildi = {
	"spec_laswildi", NULL, "spec_spec128", NULL, "1993",
	"Last Will Dizzy (128K)\0", NULL, "Oleg Moskalenko", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclaswildiRomInfo, SpeclaswildiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Latein Training 1 (German) (48K)

static struct BurnRomInfo SpeclatetraiRomDesc[] = {
	{ "Latein Training 1 (1984)(Kerbi Computers)(de).z80", 0x02264, 0x15eb256e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclatetrai, Speclatetrai, Spectrum)
STD_ROM_FN(Speclatetrai)

struct BurnDriver BurnSpeclatetrai = {
	"spec_latetrai", NULL, "spec_spectrum", NULL, "1984",
	"Latein Training 1 (German) (48K)\0", NULL, "Kerbi Computers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclatetraiRomInfo, SpeclatetraiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lazer Tag (48K)

static struct BurnRomInfo SpeclazetagRomDesc[] = {
	{ "Lazer Tag (1987)(Go!).z80", 0x08486, 0x7cca9d97, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclazetag, Speclazetag, Spectrum)
STD_ROM_FN(Speclazetag)

struct BurnDriver BurnSpeclazetag = {
	"spec_lazetag", NULL, "spec_spectrum", NULL, "1987",
	"Lazer Tag (48K)\0", NULL, "Go!", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclazetagRomInfo, SpeclazetagRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lazy Jones (48K)

static struct BurnRomInfo SpeclazyjoneRomDesc[] = {
	{ "Lazy Jones (1984)(Terminal Software).z80", 0x072c0, 0x77549721, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclazyjone, Speclazyjone, Spectrum)
STD_ROM_FN(Speclazyjone)

struct BurnDriver BurnSpeclazyjone = {
	"spec_lazyjone", NULL, "spec_spectrum", NULL, "1984",
	"Lazy Jones (48K)\0", NULL, "Terminal Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclazyjoneRomInfo, SpeclazyjoneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Leaderboard (48K)

static struct BurnRomInfo SpecleaderboRomDesc[] = {
	{ "Leaderboard (1986)(U.S. Gold).z80", 0x09bc2, 0xe73f1f12, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specleaderbo, Specleaderbo, Spectrum)
STD_ROM_FN(Specleaderbo)

struct BurnDriver BurnSpecleaderbo = {
	"spec_leaderbo", NULL, "spec_spectrum", NULL, "1986",
	"Leaderboard (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecleaderboRomInfo, SpecleaderboRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Leaderboard Tournament (48K)

static struct BurnRomInfo SpecleadtourRomDesc[] = {
	{ "Leaderboard Tournament (1988)(U.S. Gold).z80", 0x09077, 0xe7071740, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specleadtour, Specleadtour, Spectrum)
STD_ROM_FN(Specleadtour)

struct BurnDriver BurnSpecleadtour = {
	"spec_leadtour", NULL, "spec_spectrum", NULL, "1988",
	"Leaderboard Tournament (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecleadtourRomInfo, SpecleadtourRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// League Challenge (48K)

static struct BurnRomInfo SpecleagchalRomDesc[] = {
	{ "League Challenge (1988)(Atlantis Software).z80", 0x07a2e, 0x83a10030, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specleagchal, Specleagchal, Spectrum)
STD_ROM_FN(Specleagchal)

struct BurnDriver BurnSpecleagchal = {
	"spec_leagchal", NULL, "spec_spectrum", NULL, "1988",
	"League Challenge (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecleagchalRomInfo, SpecleagchalRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// League Football (48K)

static struct BurnRomInfo SpecleagfootRomDesc[] = {
	{ "League Football (1991)(Cult Games).z80", 0x084a0, 0x90bba905, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specleagfoot, Specleagfoot, Spectrum)
STD_ROM_FN(Specleagfoot)

struct BurnDriver BurnSpecleagfoot = {
	"spec_leagfoot", NULL, "spec_spectrum", NULL, "1991",
	"League Football (48K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecleagfootRomInfo, SpecleagfootRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lee Enfield Space Ace (48K)

static struct BurnRomInfo SpecleenspacRomDesc[] = {
	{ "Lee Enfield Space Ace (1988)(Infogrames).z80", 0x09150, 0x4ea8d2b4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specleenspac, Specleenspac, Spectrum)
STD_ROM_FN(Specleenspac)

struct BurnDriver BurnSpecleenspac = {
	"spec_leenspac", NULL, "spec_spectrum", NULL, "1988",
	"Lee Enfield Space Ace (48K)\0", NULL, "Infogrames", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecleenspacRomInfo, SpecleenspacRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Legacy, The (48K)

static struct BurnRomInfo SpeclegacyRomDesc[] = {
	{ "Legacy, The (1990)(Zenobi Software).z80", 0x0993c, 0xa6361c94, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclegacy, Speclegacy, Spectrum)
STD_ROM_FN(Speclegacy)

struct BurnDriver BurnSpeclegacy = {
	"spec_legacy", NULL, "spec_spectrum", NULL, "1990",
	"Legacy, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclegacyRomInfo, SpeclegacyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Legend - Part 1 (48K)

static struct BurnRomInfo SpeclegendRomDesc[] = {
	{ "Legend - Part 1 (1984)(Century Software).z80", 0x0abfe, 0xa5e75bf7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclegend, Speclegend, Spectrum)
STD_ROM_FN(Speclegend)

struct BurnDriver BurnSpeclegend = {
	"spec_legend", NULL, "spec_spectrum", NULL, "1984",
	"Legend - Part 1 (48K)\0", NULL, "Century Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclegendRomInfo, SpeclegendRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Legend - Part 2 - The Siege (48K)

static struct BurnRomInfo Speclegend2RomDesc[] = {
	{ "Legend - Part 2 - The Siege (1984)(Century Software).z80", 0x06df5, 0x8ba80fb2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclegend2, Speclegend2, Spectrum)
STD_ROM_FN(Speclegend2)

struct BurnDriver BurnSpeclegend2 = {
	"spec_legend2", "spec_legend", "spec_spectrum", NULL, "1984",
	"Legend - Part 2 - The Siege (48K)\0", NULL, "Century Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclegend2RomInfo, Speclegend2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Legend (Spanish) (Part 1 of 5) (48K)

static struct BurnRomInfo SpeclegendesRomDesc[] = {
	{ "Legend (1990)(Zafiro Software Division)(es)(Part 1 of 5).z80", 0x09af7, 0x2d5eabf5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclegendes, Speclegendes, Spectrum)
STD_ROM_FN(Speclegendes)

struct BurnDriver BurnSpeclegendes = {
	"spec_legendes", NULL, "spec_spectrum", NULL, "1990",
	"Legend (Spanish) (Part 1 of 5) (48K)\0", NULL, "Zafiro Software Division", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclegendesRomInfo, SpeclegendesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Legend (Spanish) (Part 2 of 5) (48K)

static struct BurnRomInfo Speclegendes2RomDesc[] = {
	{ "Legend (1990)(Zafiro Software Division)(es)(Part 2 of 5).z80", 0x09ae6, 0x474f4ddf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclegendes2, Speclegendes2, Spectrum)
STD_ROM_FN(Speclegendes2)

struct BurnDriver BurnSpeclegendes2 = {
	"spec_legendes2", "spec_legendes", "spec_spectrum", NULL, "1990",
	"Legend (Spanish) (Part 2 of 5) (48K)\0", NULL, "Zafiro Software Division", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclegendes2RomInfo, Speclegendes2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Legend (Spanish) (Part 3 of 5) (48K)

static struct BurnRomInfo Speclegendes3RomDesc[] = {
	{ "Legend (1990)(Zafiro Software Division)(es)(Part 3 of 5).z80", 0x09bee, 0x1204f2ef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclegendes3, Speclegendes3, Spectrum)
STD_ROM_FN(Speclegendes3)

struct BurnDriver BurnSpeclegendes3 = {
	"spec_legendes3", "spec_legendes", "spec_spectrum", NULL, "1990",
	"Legend (Spanish) (Part 3 of 5) (48K)\0", NULL, "Zafiro Software Division", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclegendes3RomInfo, Speclegendes3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Legend (Spanish) (Part 4 of 5) (48K)

static struct BurnRomInfo Speclegendes4RomDesc[] = {
	{ "Legend (1990)(Zafiro Software Division)(es)(Part 4 of 5).z80", 0x098fa, 0xef011ec8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclegendes4, Speclegendes4, Spectrum)
STD_ROM_FN(Speclegendes4)

struct BurnDriver BurnSpeclegendes4 = {
	"spec_legendes4", "spec_legendes", "spec_spectrum", NULL, "1990",
	"Legend (Spanish) (Part 4 of 5) (48K)\0", NULL, "Zafiro Software Division", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclegendes4RomInfo, Speclegendes4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Legend (Spanish) (Part 5 of 5) (48K)

static struct BurnRomInfo Speclegendes5RomDesc[] = {
	{ "Legend (1990)(Zafiro Software Division)(es)(Part 5 of 5).z80", 0x08494, 0x4b789380, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclegendes5, Speclegendes5, Spectrum)
STD_ROM_FN(Speclegendes5)

struct BurnDriver BurnSpeclegendes5 = {
	"spec_legendes5", "spec_legendes", "spec_spectrum", NULL, "1990",
	"Legend (Spanish) (Part 5 of 5) (48K)\0", NULL, "Zafiro Software Division", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclegendes5RomInfo, Speclegendes5RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Legend of Apache Gold, The (48K)

static struct BurnRomInfo SpecleapgothRomDesc[] = {
	{ "Legend of Apache Gold, The (1986)(Incentive Software).z80", 0x0a9b6, 0xe1d2f0a9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specleapgoth, Specleapgoth, Spectrum)
STD_ROM_FN(Specleapgoth)

struct BurnDriver BurnSpecleapgoth = {
	"spec_leapgoth", NULL, "spec_spectrum", NULL, "1986",
	"Legend of Apache Gold, The (48K)\0", NULL, "Incentive Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecleapgothRomInfo, SpecleapgothRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Legend of Kage (48K)

static struct BurnRomInfo SpeclegekageRomDesc[] = {
	{ "Legend of Kage (1986)(Imagine Software).z80", 0x07ce0, 0xd73bfa58, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclegekage, Speclegekage, Spectrum)
STD_ROM_FN(Speclegekage)

struct BurnDriver BurnSpeclegekage = {
	"spec_legekage", NULL, "spec_spectrum", NULL, "1986",
	"Legend of Kage (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclegekageRomInfo, SpeclegekageRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Legend of the Amazon Women (48K)

static struct BurnRomInfo Speclgndamzn_48RomDesc[] = {
	{ "Legend of the Amazon Women (1986)(U.S. Gold).z80", 0x09dd8, 0x72403433, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclgndamzn_48, Speclgndamzn_48, Spectrum)
STD_ROM_FN(Speclgndamzn_48)

struct BurnDriver BurnSpeclgndamzn_48 = {
	"spec_lgndamzn_48", "spec_lgndamzn", "spec_spectrum", NULL, "1986",
	"Legend of the Amazon Women (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclgndamzn_48RomInfo, Speclgndamzn_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Legend of the Amazon Women (128K)

static struct BurnRomInfo SpeclgndamznRomDesc[] = {
	{ "Legend of the Amazon Women (1986)(U.S. Gold)[128K].z80", 0x0c851, 0x302b151b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclgndamzn, Speclgndamzn, Spectrum)
STD_ROM_FN(Speclgndamzn)

struct BurnDriver BurnSpeclgndamzn = {
	"spec_lgndamzn", NULL, "spec_spec128", NULL, "1986",
	"Legend of the Amazon Women (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclgndamznRomInfo, SpeclgndamznRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Legend of the Lost Kingdom, The (48K)

static struct BurnRomInfo SpeclelokithRomDesc[] = {
	{ "Legend of the Lost Kingdom, The (1987)(Dan B. Nielsen).z80", 0x08d65, 0xa7ba24a4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclelokith, Speclelokith, Spectrum)
STD_ROM_FN(Speclelokith)

struct BurnDriver BurnSpeclelokith = {
	"spec_lelokith", NULL, "spec_spectrum", NULL, "1987",
	"Legend of the Lost Kingdom, The (48K)\0", NULL, "Dan B. Nielsen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclelokithRomInfo, SpeclelokithRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Legends of the Land, The (48K)

static struct BurnRomInfo SpecleglanthRomDesc[] = {
	{ "Legends of the Land, The (1997)(Matija Kostevc).z80", 0x07927, 0xc0cf93ef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specleglanth, Specleglanth, Spectrum)
STD_ROM_FN(Specleglanth)

struct BurnDriver BurnSpecleglanth = {
	"spec_leglanth", NULL, "spec_spectrum", NULL, "1997",
	"Legends of the Land, The (48K)\0", NULL, "Matija Kostevc", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecleglanthRomInfo, SpecleglanthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Legions of Death (48K)

static struct BurnRomInfo SpeclegideatRomDesc[] = {
	{ "Legions of Death (1987)(MC Lothlorien).z80", 0x07367, 0xe697523e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclegideat, Speclegideat, Spectrum)
STD_ROM_FN(Speclegideat)

struct BurnDriver BurnSpeclegideat = {
	"spec_legideat", NULL, "spec_spectrum", NULL, "1987",
	"Legions of Death (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclegideatRomInfo, SpeclegideatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Legy Bator (hu) (128K)

static struct BurnRomInfo SpeclegybatoRomDesc[] = {
	{ "Legy Bator (1997)(Laszlo Nyitrai)(hu)[128K].z80", 0x02d23, 0x215902e9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclegybato, Speclegybato, Spectrum)
STD_ROM_FN(Speclegybato)

struct BurnDriver BurnSpeclegybato = {
	"spec_legybato", NULL, "spec_spec128", NULL, "1997",
	"Legy Bator (hu) (128K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclegybatoRomInfo, SpeclegybatoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lemmings - File Editor (48K)

static struct BurnRomInfo SpeclemfiledRomDesc[] = {
	{ "Lemmings - File Editor (19xx)(-).z80", 0x04f61, 0x5a53f776, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclemfiled, Speclemfiled, Spectrum)
STD_ROM_FN(Speclemfiled)

struct BurnDriver BurnSpeclemfiled = {
	"spec_lemfiled", NULL, "spec_spectrum", NULL, "19xx",
	"Lemmings - File Editor (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclemfiledRomInfo, SpeclemfiledRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Leopard (Spanish) (48K)

static struct BurnRomInfo SpecleopardeRomDesc[] = {
	{ "Leopard (19xx)(-)(es).z80", 0x06052, 0x7660a407, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specleoparde, Specleoparde, Spectrum)
STD_ROM_FN(Specleoparde)

struct BurnDriver BurnSpecleoparde = {
	"spec_leoparde", NULL, "spec_spectrum", NULL, "19xx",
	"Leopard (Spanish) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecleopardeRomInfo, SpecleopardeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Leopard Lord (48K)

static struct BurnRomInfo SpecleoplordRomDesc[] = {
	{ "Leopard Lord (1983)(Kayde Software).z80", 0x064a2, 0x066fbd5f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specleoplord, Specleoplord, Spectrum)
STD_ROM_FN(Specleoplord)

struct BurnDriver BurnSpecleoplord = {
	"spec_leoplord", NULL, "spec_spectrum", NULL, "1983",
	"Leopard Lord (48K)\0", NULL, "Kayde Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecleoplordRomInfo, SpecleoplordRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Leopold the Minstrel (128K)

static struct BurnRomInfo SpecleopminsRomDesc[] = {
	{ "Leopold the Minstrel (1994)(Zenobi Software)[128K].z80", 0x18c32, 0x72313651, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specleopmins, Specleopmins, Spectrum)
STD_ROM_FN(Specleopmins)

struct BurnDriver BurnSpecleopmins = {
	"spec_leopmins", NULL, "spec_spec128", NULL, "1994",
	"Leopold the Minstrel (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecleopminsRomInfo, SpecleopminsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Letris (cs) (128K)

static struct BurnRomInfo SpecletriscsRomDesc[] = {
	{ "Letris (1991)(Proxima Software)(cs)[128K].z80", 0x0838c, 0x0d18b5c2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specletriscs, Specletriscs, Spectrum)
STD_ROM_FN(Specletriscs)

struct BurnDriver BurnSpecletriscs = {
	"spec_letriscs", NULL, "spec_spec128", NULL, "1991",
	"Letris (cs) (128K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecletriscsRomInfo, SpecletriscsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Level 5 (48K)

static struct BurnRomInfo Speclevel5RomDesc[] = {
	{ "Level 5 (1987)(Mastertronic)[needs tape load].z80", 0x07ff3, 0x48c251b7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclevel5, Speclevel5, Spectrum)
STD_ROM_FN(Speclevel5)

struct BurnDriver BurnSpeclevel5 = {
	"spec_level5", NULL, "spec_spectrum", NULL, "1987",
	"Level 5 (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclevel5RomInfo, Speclevel5RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Leviathan - Cityscape (48K)

static struct BurnRomInfo SpecleviathnRomDesc[] = {
	{ "Leviathan - Cityscape (1987)(English Software).z80", 0x0906e, 0xc731ce82, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specleviathn, Specleviathn, Spectrum)
STD_ROM_FN(Specleviathn)

struct BurnDriver BurnSpecleviathn = {
	"spec_leviathn", NULL, "spec_spectrum", NULL, "1987",
	"Leviathan - Cityscape (48K)\0", NULL, "English Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecleviathnRomInfo, SpecleviathnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Leviathan - Greekscape (48K)

static struct BurnRomInfo SpecleviathngsRomDesc[] = {
	{ "Leviathan - Greekscape (1987)(English Software).z80", 0x08a19, 0xd5620d6d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specleviathngs, Specleviathngs, Spectrum)
STD_ROM_FN(Specleviathngs)

struct BurnDriver BurnSpecleviathngs = {
	"spec_leviathngs", "spec_leviathn", "spec_spectrum", NULL, "1987",
	"Leviathan - Greekscape (48K)\0", NULL, "English Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecleviathngsRomInfo, SpecleviathngsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Leviathan - Moonscape (48K)

static struct BurnRomInfo SpecleviathnmsRomDesc[] = {
	{ "Leviathan - Moonscape (1987)(English Software).z80", 0x08e9e, 0xe2996892, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specleviathnms, Specleviathnms, Spectrum)
STD_ROM_FN(Specleviathnms)

struct BurnDriver BurnSpecleviathnms = {
	"spec_leviathnms", "spec_leviathn", "spec_spectrum", NULL, "1987",
	"Leviathan - Moonscape (48K)\0", NULL, "English Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecleviathnmsRomInfo, SpecleviathnmsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Liberator (Lyversoft) (48K)

static struct BurnRomInfo SpeclbratrlyRomDesc[] = {
	{ "Liberator (1983)(Lyversoft).z80", 0x02823, 0x6c3ed92a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclbratrly, Speclbratrly, Spectrum)
STD_ROM_FN(Speclbratrly)

struct BurnDriver BurnSpeclbratrly = {
	"spec_lbratrly", NULL, "spec_spectrum", NULL, "1983",
	"Liberator (Lyversoft) (48K)\0", NULL, "Lyversoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclbratrlyRomInfo, SpeclbratrlyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Liberator (Proein Soft Line) (48K)

static struct BurnRomInfo SpeclbratrpsRomDesc[] = {
	{ "Liberator (1989)(Proein Soft Line).z80", 0x08443, 0xe3357704, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclbratrps, Speclbratrps, Spectrum)
STD_ROM_FN(Speclbratrps)

struct BurnDriver BurnSpeclbratrps = {
	"spec_lbratrps", NULL, "spec_spectrum", NULL, "1989",
	"Liberator (Proein Soft Line) (48K)\0", NULL, "Proein Soft Line", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclbratrpsRomInfo, SpeclbratrpsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Libro Negro, El (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpeclibronegRomDesc[] = {
	{ "Libro Negro, El (1989)(Year Zero Software)(es)(Part 1 of 2).z80", 0x09415, 0x2f194c92, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclibroneg, Speclibroneg, Spectrum)
STD_ROM_FN(Speclibroneg)

struct BurnDriver BurnSpeclibroneg = {
	"spec_libroneg", NULL, "spec_spectrum", NULL, "1989",
	"Libro Negro, El (Spanish) (Part 1 of 2) (48K)\0", NULL, "Year Zero Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclibronegRomInfo, SpeclibronegRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Libro Negro, El (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Speclibroneg2RomDesc[] = {
	{ "Libro Negro, El (1989)(Year Zero Software)(es)(Part 2 of 2).z80", 0x09dad, 0xa29564a4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclibroneg2, Speclibroneg2, Spectrum)
STD_ROM_FN(Speclibroneg2)

struct BurnDriver BurnSpeclibroneg2 = {
	"spec_libroneg2", "spec_libroneg", "spec_spectrum", NULL, "1989",
	"Libro Negro, El (Spanish) (Part 2 of 2) (48K)\0", NULL, "Year Zero Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclibroneg2RomInfo, Speclibroneg2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Life of a Lone Electron, The (48K)

static struct BurnRomInfo SpecliloelthRomDesc[] = {
	{ "Life of a Lone Electron, The (1993)(Zenobi Software).z80", 0x09275, 0x340dcfdf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specliloelth, Specliloelth, Spectrum)
STD_ROM_FN(Specliloelth)

struct BurnDriver BurnSpecliloelth = {
	"spec_liloelth", NULL, "spec_spectrum", NULL, "1993",
	"Life of a Lone Electron, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecliloelthRomInfo, SpecliloelthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Life of Harry, The (48K)

static struct BurnRomInfo SpeclifharthRomDesc[] = {
	{ "Life of Harry, The (1985)(Cascade Games).z80", 0x079fa, 0xb78cfee9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclifharth, Speclifharth, Spectrum)
STD_ROM_FN(Speclifharth)

struct BurnDriver BurnSpeclifharth = {
	"spec_lifharth", NULL, "spec_spectrum", NULL, "1985",
	"Life of Harry, The (48K)\0", NULL, "Cascade Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclifharthRomInfo, SpeclifharthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lifeboat (48K)

static struct BurnRomInfo SpeclifeboatRomDesc[] = {
	{ "Lifeboat (1986)(River Software).z80", 0x0a6f7, 0xe9e08fea, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclifeboat, Speclifeboat, Spectrum)
STD_ROM_FN(Speclifeboat)

struct BurnDriver BurnSpeclifeboat = {
	"spec_lifeboat", NULL, "spec_spectrum", NULL, "1986",
	"Lifeboat (48K)\0", NULL, "River Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclifeboatRomInfo, SpeclifeboatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lifeline (48K)

static struct BurnRomInfo SpeclifelineRomDesc[] = {
	{ "Lifeline (1984)(MC Lothlorien).z80", 0x07734, 0x1a1f3475, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclifeline, Speclifeline, Spectrum)
STD_ROM_FN(Speclifeline)

struct BurnDriver BurnSpeclifeline = {
	"spec_lifeline", NULL, "spec_spectrum", NULL, "1984",
	"Lifeline (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclifelineRomInfo, SpeclifelineRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Life-Term (48K)

static struct BurnRomInfo SpeclifetermRomDesc[] = {
	{ "Life-Term (1987)(Alternative Software).z80", 0x0a3f7, 0x90bf7e82, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclifeterm, Speclifeterm, Spectrum)
STD_ROM_FN(Speclifeterm)

struct BurnDriver BurnSpeclifeterm = {
	"spec_lifeterm", NULL, "spec_spectrum", NULL, "1987",
	"Life-Term (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclifetermRomInfo, SpeclifetermRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lift (German) (48K)

static struct BurnRomInfo SpecliftdeRomDesc[] = {
	{ "Lift (19xx)(-)(de).z80", 0x0299b, 0xe84d1a1f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specliftde, Specliftde, Spectrum)
STD_ROM_FN(Specliftde)

struct BurnDriver BurnSpecliftde = {
	"spec_liftde", NULL, "spec_spectrum", NULL, "19xx",
	"Lift (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecliftdeRomInfo, SpecliftdeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Light Corridor, The (48K)

static struct BurnRomInfo Speclghtcrdr_48RomDesc[] = {
	{ "Light Corridor, The (1990)(Infogrames).z80", 0x0a434, 0xc2eeecfa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclghtcrdr_48, Speclghtcrdr_48, Spectrum)
STD_ROM_FN(Speclghtcrdr_48)

struct BurnDriver BurnSpeclghtcrdr_48 = {
	"spec_lghtcrdr_48", "spec_lghtcrdr", "spec_spectrum", NULL, "1990",
	"Light Corridor, The (48K)\0", NULL, "Infogrames", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclghtcrdr_48RomInfo, Speclghtcrdr_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Light Corridor, The (128K)

static struct BurnRomInfo SpeclghtcrdrRomDesc[] = {
	{ "Light Corridor, The (1990)(Infogrames)[128K].z80", 0x0f620, 0xa8e9b468, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclghtcrdr, Speclghtcrdr, Spectrum)
STD_ROM_FN(Speclghtcrdr)

struct BurnDriver BurnSpeclghtcrdr = {
	"spec_lghtcrdr", NULL, "spec_spec128", NULL, "1990",
	"Light Corridor, The (128K)\0", NULL, "Infogrames", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclghtcrdrRomInfo, SpeclghtcrdrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Light Cycle II (48K)

static struct BurnRomInfo Speclcycle2RomDesc[] = {
	{ "Light Cycle II (1992)(Rumatisoft).z80", 0x02be0, 0x998769b4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclcycle2, Speclcycle2, Spectrum)
STD_ROM_FN(Speclcycle2)

struct BurnDriver BurnSpeclcycle2 = {
	"spec_lcycle2", NULL, "spec_spectrum", NULL, "1992",
	"Light Cycle II (48K)\0", NULL, "Rumatisoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclcycle2RomInfo, Speclcycle2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Light Force (48K)

static struct BurnRomInfo SpeclighforcRomDesc[] = {
	{ "Light Force (1986)(Faster Than Light).z80", 0x09e29, 0x9eebe406, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclighforc, Speclighforc, Spectrum)
STD_ROM_FN(Speclighforc)

struct BurnDriver BurnSpeclighforc = {
	"spec_lighforc", NULL, "spec_spectrum", NULL, "1986",
	"Light Force (48K)\0", NULL, "Faster Than Light", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclighforcRomInfo, SpeclighforcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Light the Conk (48K)

static struct BurnRomInfo SpeclighconkRomDesc[] = {
	{ "Light the Conk (1991)(Dominic Morris).z80", 0x06f3e, 0xe56f6303, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclighconk, Speclighconk, Spectrum)
STD_ROM_FN(Speclighconk)

struct BurnDriver BurnSpeclighconk = {
	"spec_lighconk", NULL, "spec_spectrum", NULL, "1991",
	"Light the Conk (48K)\0", NULL, "Dominic Morris", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclighconkRomInfo, SpeclighconkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lightfarce (128K)

static struct BurnRomInfo SpeclightfarRomDesc[] = {
	{ "Lightfarce (1986)(Mastertronic Added Dimension)[128K].z80", 0x0cd1e, 0x7a68600b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclightfar, Speclightfar, Spectrum)
STD_ROM_FN(Speclightfar)

struct BurnDriver BurnSpeclightfar = {
	"spec_lightfar", NULL, "spec_spec128", NULL, "1986",
	"Lightfarce (128K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclightfarRomInfo, SpeclightfarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lightmare (48K)

static struct BurnRomInfo SpeclightmarRomDesc[] = {
	{ "Lightmare (1989)(Zenobi Software).z80", 0x09c1e, 0xe26da47f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclightmar, Speclightmar, Spectrum)
STD_ROM_FN(Speclightmar)

struct BurnDriver BurnSpeclightmar = {
	"spec_lightmar", NULL, "spec_spectrum", NULL, "1989",
	"Lightmare (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclightmarRomInfo, SpeclightmarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lightning Simulator - Intro (48K)

static struct BurnRomInfo SpeclghtsimRomDesc[] = {
	{ "Lightning Simulator - Intro (1988)(Silverbird Software).z80", 0x051fe, 0x6981d4c8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclghtsim, Speclghtsim, Spectrum)
STD_ROM_FN(Speclghtsim)

struct BurnDriver BurnSpeclghtsim = {
	"spec_lghtsim", NULL, "spec_spectrum", NULL, "1988",
	"Lightning Simulator - Intro (48K)\0", NULL, "Silverbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclghtsimRomInfo, SpeclghtsimRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lightning Simulator (48K)

static struct BurnRomInfo SpeclghtsimgRomDesc[] = {
	{ "Lightning Simulator (1988)(Silverbird Software).z80", 0x0a0d4, 0x85248e02, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclghtsimg, Speclghtsimg, Spectrum)
STD_ROM_FN(Speclghtsimg)

struct BurnDriver BurnSpeclghtsimg = {
	"spec_lghtsimg", "spec_lghtsim", "spec_spectrum", NULL, "1988",
	"Lightning Simulator (48K)\0", NULL, "Silverbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclghtsimgRomInfo, SpeclghtsimgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lil' Alien (48K)

static struct BurnRomInfo SpeclilalienRomDesc[] = {
	{ "Lil' Alien (1986)(Essential Consultants).z80", 0x08ee6, 0x382f3b76, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclilalien, Speclilalien, Spectrum)
STD_ROM_FN(Speclilalien)

struct BurnDriver BurnSpeclilalien = {
	"spec_lilalien", NULL, "spec_spectrum", NULL, "1986",
	"Lil' Alien (48K)\0", NULL, "Essential Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclilalienRomInfo, SpeclilalienRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lila Diva - Sex Mission (German) (48K)

static struct BurnRomInfo SpecliladivasmRomDesc[] = {
	{ "Lila Diva - Sex Mission (1984)(Hands On Software)(de).z80", 0x050d8, 0x249c09f9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specliladivasm, Specliladivasm, Spectrum)
STD_ROM_FN(Specliladivasm)

struct BurnDriver BurnSpecliladivasm = {
	"spec_liladivasm", "spec_liladiva", "spec_spectrum", NULL, "1984",
	"Lila Diva - Sex Mission (German) (48K)\0", NULL, "Hands On Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecliladivasmRomInfo, SpecliladivasmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lila Diva (German) (48K)

static struct BurnRomInfo SpecliladivaRomDesc[] = {
	{ "Lila Diva (1984)(Hands On Software)(de).z80", 0x01403, 0x9aa4f544, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specliladiva, Specliladiva, Spectrum)
STD_ROM_FN(Specliladiva)

struct BurnDriver BurnSpecliladiva = {
	"spec_liladiva", NULL, "spec_spectrum", NULL, "1984",
	"Lila Diva (German) (48K)\0", NULL, "Hands On Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecliladivaRomInfo, SpecliladivaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Limited over Cricket - Intro (48K)

static struct BurnRomInfo SpeclimcrickRomDesc[] = {
	{ "Limited over Cricket - Intro (1983)(CRL Group).z80", 0x0358e, 0x60979d4e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclimcrick, Speclimcrick, Spectrum)
STD_ROM_FN(Speclimcrick)

struct BurnDriver BurnSpeclimcrick = {
	"spec_limcrick", NULL, "spec_spectrum", NULL, "1983",
	"Limited over Cricket - Intro (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclimcrickRomInfo, SpeclimcrickRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Limited over Cricket (48K)

static struct BurnRomInfo SpeclimcrickgRomDesc[] = {
	{ "Limited over Cricket (1983)(CRL Group).z80", 0x05bf2, 0x4607c5b6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclimcrickg, Speclimcrickg, Spectrum)
STD_ROM_FN(Speclimcrickg)

struct BurnDriver BurnSpeclimcrickg = {
	"spec_limcrickg", "spec_limcrick", "spec_spectrum", NULL, "1983",
	"Limited over Cricket (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclimcrickgRomInfo, SpeclimcrickgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Line of Fire (48K)

static struct BurnRomInfo SpeclinefireRomDesc[] = {
	{ "Line of Fire (1990)(U.S. Gold).z80", 0x09661, 0x9c212b34, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclinefire, Speclinefire, Spectrum)
STD_ROM_FN(Speclinefire)

struct BurnDriver BurnSpeclinefire = {
	"spec_linefire", NULL, "spec_spectrum", NULL, "1990",
	"Line of Fire (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclinefireRomInfo, SpeclinefireRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Little Batty (48K)

static struct BurnRomInfo SpeclittbattRomDesc[] = {
	{ "Little Batty (1999)(CSSCGC).z80", 0x04b92, 0x06a03685, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclittbatt, Speclittbatt, Spectrum)
STD_ROM_FN(Speclittbatt)

struct BurnDriver BurnSpeclittbatt = {
	"spec_littbatt", NULL, "spec_spectrum", NULL, "1999",
	"Little Batty (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclittbattRomInfo, SpeclittbattRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Little Boxes (48K)

static struct BurnRomInfo SpeclittboxeRomDesc[] = {
	{ "Little Boxes (1983)(Contrast Software).z80", 0x02014, 0xfcd8585c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclittboxe, Speclittboxe, Spectrum)
STD_ROM_FN(Speclittboxe)

struct BurnDriver BurnSpeclittboxe = {
	"spec_littboxe", NULL, "spec_spectrum", NULL, "1983",
	"Little Boxes (48K)\0", NULL, "Contrast Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclittboxeRomInfo, SpeclittboxeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Little Computer People (128K)

static struct BurnRomInfo SpeclitcompeRomDesc[] = {
	{ "Little Computer People (1986)(Activision)[128K].z80", 0x1b561, 0x65ea5ac8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclitcompe, Speclitcompe, Spectrum)
STD_ROM_FN(Speclitcompe)

struct BurnDriver BurnSpeclitcompe = {
	"spec_litcompe", NULL, "spec_spec128", NULL, "1986",
	"Little Computer People (128K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclitcompeRomInfo, SpeclitcompeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Little Game (48K)

static struct BurnRomInfo SpeclittgameRomDesc[] = {
	{ "Little Game (1987)(SatanSoft).z80", 0x03d84, 0x947d7f51, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclittgame, Speclittgame, Spectrum)
STD_ROM_FN(Speclittgame)

struct BurnDriver BurnSpeclittgame = {
	"spec_littgame", NULL, "spec_spectrum", NULL, "1987",
	"Little Game (48K)\0", NULL, "SatanSoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclittgameRomInfo, SpeclittgameRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Little Pac (German) (48K)

static struct BurnRomInfo SpeclittpacdRomDesc[] = {
	{ "Little Pac (1984)(Jujstronic)(de).z80", 0x0346f, 0x2906660f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclittpacd, Speclittpacd, Spectrum)
STD_ROM_FN(Speclittpacd)

struct BurnDriver BurnSpeclittpacd = {
	"spec_littpacd", NULL, "spec_spectrum", NULL, "1984",
	"Little Pac (German) (48K)\0", NULL, "Jujstronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclittpacdRomInfo, SpeclittpacdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Little Puff in Dragonland (48K)

static struct BurnRomInfo SpeclitpufdrRomDesc[] = {
	{ "Little Puff in Dragonland (1990)(Codemasters).z80", 0x0834f, 0xe036d619, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclitpufdr, Speclitpufdr, Spectrum)
STD_ROM_FN(Speclitpufdr)

struct BurnDriver BurnSpeclitpufdr = {
	"spec_litpufdr", NULL, "spec_spectrum", NULL, "1990",
	"Little Puff in Dragonland (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclitpufdrRomInfo, SpeclitpufdrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Little Wandering Guru, The (48K)

static struct BurnRomInfo SpecliwaguthRomDesc[] = {
	{ "Little Wandering Guru, The (1990)(Zenobi Software).z80", 0x08812, 0xff90e9ca, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specliwaguth, Specliwaguth, Spectrum)
STD_ROM_FN(Specliwaguth)

struct BurnDriver BurnSpecliwaguth = {
	"spec_liwaguth", NULL, "spec_spectrum", NULL, "1990",
	"Little Wandering Guru, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecliwaguthRomInfo, SpecliwaguthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Livingstone Supongo (Spanish) (48K)

static struct BurnRomInfo SpeclivispoRomDesc[] = {
	{ "Livingstone Supongo (1986)(Opera Soft)(es).z80", 0x0aca7, 0x6f47fd56, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclivispo, Speclivispo, Spectrum)
STD_ROM_FN(Speclivispo)

struct BurnDriver BurnSpeclivispo = {
	"spec_livispo", NULL, "spec_spectrum", NULL, "1986",
	"Livingstone Supongo (Spanish) (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclivispoRomInfo, SpeclivispoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Livingstone Supongo II (Part 1 of 2) (48K)

static struct BurnRomInfo Speclivispo2RomDesc[] = {
	{ "Livingstone Supongo II (1989)(Opera Soft)(Part 1 of 2).z80", 0x0a556, 0x995fb9a8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclivispo2, Speclivispo2, Spectrum)
STD_ROM_FN(Speclivispo2)

struct BurnDriver BurnSpeclivispo2 = {
	"spec_livispo2", NULL, "spec_spectrum", NULL, "1989",
	"Livingstone Supongo II (Part 1 of 2) (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclivispo2RomInfo, Speclivispo2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Livingstone Supongo II (Part 2 of 2) (48K)

static struct BurnRomInfo Speclivispo22RomDesc[] = {
	{ "Livingstone Supongo II (1989)(Opera Soft)(Part 2 of 2).z80", 0x08e81, 0x851ca3c8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclivispo22, Speclivispo22, Spectrum)
STD_ROM_FN(Speclivispo22)

struct BurnDriver BurnSpeclivispo22 = {
	"spec_livispo22", "spec_livispo2", "spec_spectrum", NULL, "1989",
	"Livingstone Supongo II (Part 2 of 2) (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclivispo22RomInfo, Speclivispo22RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Livingstone, I Presume (48K)

static struct BurnRomInfo Speclivipres_48RomDesc[] = {
	{ "Livingstone, I Presume (1987)(Alligata Software)[aka Livingstone Supongo].z80", 0x0aac7, 0xb492f248, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclivipres_48, Speclivipres_48, Spectrum)
STD_ROM_FN(Speclivipres_48)

struct BurnDriver BurnSpeclivipres_48 = {
	"spec_livipres_48", "spec_livipres", "spec_spectrum", NULL, "1987",
	"Livingstone, I Presume (48K)\0", NULL, "Alligata Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclivipres_48RomInfo, Speclivipres_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Livingstone, I Presume (128K)

static struct BurnRomInfo SpeclivipresRomDesc[] = {
	{ "Livingstone, I Presume (1987)(Alligata Software)[t][128K][aka Livingstone Supongo].z80", 0x0f3d2, 0x49ce15c5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclivipres, Speclivipres, Spectrum)
STD_ROM_FN(Speclivipres)

struct BurnDriver BurnSpeclivipres = {
	"spec_livipres", NULL, "spec_spec128", NULL, "1987",
	"Livingstone, I Presume (128K)\0", NULL, "Alligata Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclivipresRomInfo, SpeclivipresRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Loads of Midnight (Part 1 of 3) (48K)

static struct BurnRomInfo SpecloadmidnRomDesc[] = {
	{ "Loads of Midnight (1987)(CRL Group)(Part 1 of 3).z80", 0x09e68, 0x4b2190bc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specloadmidn, Specloadmidn, Spectrum)
STD_ROM_FN(Specloadmidn)

struct BurnDriver BurnSpecloadmidn = {
	"spec_loadmidn", NULL, "spec_spectrum", NULL, "1987",
	"Loads of Midnight (Part 1 of 3) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecloadmidnRomInfo, SpecloadmidnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Loads of Midnight (Part 2 of 3) (48K)

static struct BurnRomInfo Specloadmidn2RomDesc[] = {
	{ "Loads of Midnight (1987)(CRL Group)(Part 2 of 3).z80", 0x090e2, 0x22432c3a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specloadmidn2, Specloadmidn2, Spectrum)
STD_ROM_FN(Specloadmidn2)

struct BurnDriver BurnSpecloadmidn2 = {
	"spec_loadmidn2", "spec_loadmidn", "spec_spectrum", NULL, "1987",
	"Loads of Midnight (Part 2 of 3) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specloadmidn2RomInfo, Specloadmidn2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Loads of Midnight (Part 3 of 3) (48K)

static struct BurnRomInfo Specloadmidn3RomDesc[] = {
	{ "Loads of Midnight (1987)(CRL Group)(Part 3 of 3).z80", 0x08e46, 0xacfc460a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specloadmidn3, Specloadmidn3, Spectrum)
STD_ROM_FN(Specloadmidn3)

struct BurnDriver BurnSpecloadmidn3 = {
	"spec_loadmidn3", "spec_loadmidn", "spec_spectrum", NULL, "1987",
	"Loads of Midnight (Part 3 of 3) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specloadmidn3RomInfo, Specloadmidn3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Loco (Campbell Systems) (48K)

static struct BurnRomInfo SpeclococsRomDesc[] = {
	{ "Loco (1983)(Campbell Systems).z80", 0x02e41, 0xb741ade7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclococs, Speclococs, Spectrum)
STD_ROM_FN(Speclococs)

struct BurnDriver BurnSpeclococs = {
	"spec_lococs", NULL, "spec_spectrum", NULL, "1983",
	"Loco (Campbell Systems) (48K)\0", NULL, "Campbell Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclococsRomInfo, SpeclococsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Loco (Alligata Software) (48K)

static struct BurnRomInfo SpeclocoasRomDesc[] = {
	{ "Loco (1986)(Alligata Software).z80", 0x07195, 0xed68d9d3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclocoas, Speclocoas, Spectrum)
STD_ROM_FN(Speclocoas)

struct BurnDriver BurnSpeclocoas = {
	"spec_locoas", NULL, "spec_spectrum", NULL, "1986",
	"Loco (Alligata Software) (48K)\0", NULL, "Alligata Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclocoasRomInfo, SpeclocoasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Locomotion (48K)

static struct BurnRomInfo SpeclocomotnRomDesc[] = {
	{ "Locomotion (1985)(Mastertronic).z80", 0x07290, 0xa8d649b3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclocomotn, Speclocomotn, Spectrum)
STD_ROM_FN(Speclocomotn)

struct BurnDriver BurnSpeclocomotn = {
	"spec_locomotn", NULL, "spec_spectrum", NULL, "1985",
	"Locomotion (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclocomotnRomInfo, SpeclocomotnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lode Runner (Part 1 of 2) (48K)

static struct BurnRomInfo Specloderunn_48RomDesc[] = {
	{ "Lode Runner (1984)(Software Projects)(Part 1 of 2).z80", 0x07db5, 0x60fd844e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specloderunn_48, Specloderunn_48, Spectrum)
STD_ROM_FN(Specloderunn_48)

struct BurnDriver BurnSpecloderunn_48 = {
	"spec_loderunn_48", "spec_loderunn", "spec_spectrum", NULL, "1984",
	"Lode Runner (Part 1 of 2) (48K)\0", NULL, "Software Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specloderunn_48RomInfo, Specloderunn_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lode Runner (Part 2 of 2) (48K)

static struct BurnRomInfo Specloderunn2_48RomDesc[] = {
	{ "Lode Runner (1984)(Software Projects)(Part 2 of 2).z80", 0x07c15, 0x94d3a6c5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specloderunn2_48, Specloderunn2_48, Spectrum)
STD_ROM_FN(Specloderunn2_48)

struct BurnDriver BurnSpecloderunn2_48 = {
	"spec_loderunn2_48", "spec_loderunn", "spec_spectrum", NULL, "1984",
	"Lode Runner (Part 2 of 2) (48K)\0", NULL, "Software Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specloderunn2_48RomInfo, Specloderunn2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lode Runner (128K)

static struct BurnRomInfo SpecloderunnRomDesc[] = {
	{ "Lode Runner (1984)(Software Projects)[128K].z80", 0x0fab1, 0x937fee1b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specloderunn, Specloderunn, Spectrum)
STD_ROM_FN(Specloderunn)

struct BurnDriver BurnSpecloderunn = {
	"spec_loderunn", NULL, "spec_spec128", NULL, "1984",
	"Lode Runner (128K)\0", NULL, "Software Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecloderunnRomInfo, SpecloderunnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lode Runner v2 (48K)

static struct BurnRomInfo Specloderun2RomDesc[] = {
	{ "Lode Runner v2 (1984)(Software Projects).z80", 0x07bf5, 0x4a3ca5b1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specloderun2, Specloderun2, Spectrum)
STD_ROM_FN(Specloderun2)

struct BurnDriver BurnSpecloderun2 = {
	"spec_loderun2", NULL, "spec_spectrum", NULL, "1984",
	"Lode Runner v2 (48K)\0", NULL, "Software Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specloderun2RomInfo, Specloderun2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Logic (sk) (128K)

static struct BurnRomInfo SpeclogicskRomDesc[] = {
	{ "Logic (1990)(Ultrasoft)(sk)[128K].z80", 0x0652c, 0xeb47889d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclogicsk, Speclogicsk, Spectrum)
STD_ROM_FN(Speclogicsk)

struct BurnDriver BurnSpeclogicsk = {
	"spec_logicsk", NULL, "spec_spec128", NULL, "1990",
	"Logic (sk) (128K)\0", NULL, "Ultrasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclogicskRomInfo, SpeclogicskRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lojix (48K)

static struct BurnRomInfo SpeclojixRomDesc[] = {
	{ "Lojix (1983)(Virgin Games).z80", 0x03fe8, 0x84a0ac79, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclojix, Speclojix, Spectrum)
STD_ROM_FN(Speclojix)

struct BurnDriver BurnSpeclojix = {
	"spec_lojix", NULL, "spec_spectrum", NULL, "1983",
	"Lojix (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclojixRomInfo, SpeclojixRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lombrix (fr) (48K)

static struct BurnRomInfo SpeclombrixfRomDesc[] = {
	{ "Lombrix (1984)(ERE Informatique)(fr).z80", 0x095c0, 0xd6b42511, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclombrixf, Speclombrixf, Spectrum)
STD_ROM_FN(Speclombrixf)

struct BurnDriver BurnSpeclombrixf = {
	"spec_lombrixf", NULL, "spec_spectrum", NULL, "1984",
	"Lombrix (fr) (48K)\0", NULL, "ERE Informatique", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclombrixfRomInfo, SpeclombrixfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// London Adventure (48K)

static struct BurnRomInfo SpeclondadveRomDesc[] = {
	{ "London Adventure (1985)(Fridaysoft).z80", 0x09343, 0xccad0d9c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclondadve, Speclondadve, Spectrum)
STD_ROM_FN(Speclondadve)

struct BurnDriver BurnSpeclondadve = {
	"spec_londadve", NULL, "spec_spectrum", NULL, "1985",
	"London Adventure (48K)\0", NULL, "Fridaysoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclondadveRomInfo, SpeclondadveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lone Wolf - Flight from the Dark (48K)

static struct BurnRomInfo SpeclnewolfRomDesc[] = {
	{ "Lone Wolf - Flight from the Dark (1984)(Hutchinson Computer Publishing).z80", 0x0acc8, 0x4313e097, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclnewolf, Speclnewolf, Spectrum)
STD_ROM_FN(Speclnewolf)

struct BurnDriver BurnSpeclnewolf = {
	"spec_lnewolf", NULL, "spec_spectrum", NULL, "1984",
	"Lone Wolf - Flight from the Dark (48K)\0", NULL, "Hutchinson Computer Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclnewolfRomInfo, SpeclnewolfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lone Wolf II - Fire on the Water (48K)

static struct BurnRomInfo Speclnewolf2RomDesc[] = {
	{ "Lone Wolf II - Fire on the Water (1984)(Hutchinson Computer Publishing).z80", 0x0abb1, 0xbef3ae90, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclnewolf2, Speclnewolf2, Spectrum)
STD_ROM_FN(Speclnewolf2)

struct BurnDriver BurnSpeclnewolf2 = {
	"spec_lnewolf2", NULL, "spec_spectrum", NULL, "1984",
	"Lone Wolf II - Fire on the Water (48K)\0", NULL, "Hutchinson Computer Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclnewolf2RomInfo, Speclnewolf2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lone Wolf III - The Mirror of Death (48K)

static struct BurnRomInfo Speclnewolf3_48RomDesc[] = {
	{ "Lone Wolf III - The Mirror of Death (1991)(Audiogenic Software).z80", 0x0acd8, 0x5317134d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclnewolf3_48, Speclnewolf3_48, Spectrum)
STD_ROM_FN(Speclnewolf3_48)

struct BurnDriver BurnSpeclnewolf3_48 = {
	"spec_lnewolf3_48", "spec_lnewolf3", "spec_spectrum", NULL, "1991",
	"Lone Wolf III - The Mirror of Death (48K)\0", NULL, "Audiogenic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclnewolf3_48RomInfo, Speclnewolf3_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lone Wolf III - The Mirror of Death (128K)

static struct BurnRomInfo Speclnewolf3RomDesc[] = {
	{ "Lone Wolf III - The Mirror of Death (1991)(Audiogenic Software)[128K].z80", 0x10f8f, 0xf598b404, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclnewolf3, Speclnewolf3, Spectrum)
STD_ROM_FN(Speclnewolf3)

struct BurnDriver BurnSpeclnewolf3 = {
	"spec_lnewolf3", NULL, "spec_spec128", NULL, "1991",
	"Lone Wolf III - The Mirror of Death (128K)\0", NULL, "Audiogenic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclnewolf3RomInfo, Speclnewolf3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Loogaroo - Werewolf Simulator (48K)

static struct BurnRomInfo SpecloowersiRomDesc[] = {
	{ "Loogaroo - Werewolf Simulator (1988)(Top Ten Software).z80", 0x0a680, 0xe93b8816, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specloowersi, Specloowersi, Spectrum)
STD_ROM_FN(Specloowersi)

struct BurnDriver BurnSpecloowersi = {
	"spec_loowersi", NULL, "spec_spectrum", NULL, "1988",
	"Loogaroo - Werewolf Simulator (48K)\0", NULL, "Top Ten Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecloowersiRomInfo, SpecloowersiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Loony Lander (48K)

static struct BurnRomInfo SpecloonlandRomDesc[] = {
	{ "Loony Lander (1984)(Software Super Savers).z80", 0x05f85, 0xfbe0ec53, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specloonland, Specloonland, Spectrum)
STD_ROM_FN(Specloonland)

struct BurnDriver BurnSpecloonland = {
	"spec_loonland", NULL, "spec_spectrum", NULL, "1984",
	"Loony Lander (48K)\0", NULL, "Software Super Savers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecloonlandRomInfo, SpecloonlandRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Loony Zoo - Intro (48K)

static struct BurnRomInfo SpecloonzooRomDesc[] = {
	{ "Loony Zoo - Intro (1983)(Phipps Associates).z80", 0x0125e, 0xfd0bb244, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specloonzoo, Specloonzoo, Spectrum)
STD_ROM_FN(Specloonzoo)

struct BurnDriver BurnSpecloonzoo = {
	"spec_loonzoo", NULL, "spec_spectrum", NULL, "1983",
	"Loony Zoo - Intro (48K)\0", NULL, "Phipps Associates", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecloonzooRomInfo, SpecloonzooRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Loony Zoo (48K)

static struct BurnRomInfo SpecloonzoogRomDesc[] = {
	{ "Loony Zoo (1983)(Phipps Associates).z80", 0x05667, 0xdc1937aa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specloonzoog, Specloonzoog, Spectrum)
STD_ROM_FN(Specloonzoog)

struct BurnDriver BurnSpecloonzoog = {
	"spec_loonzoog", "spec_loonzoo", "spec_spectrum", NULL, "1983",
	"Loony Zoo (48K)\0", NULL, "Phipps Associates", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecloonzoogRomInfo, SpecloonzoogRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Looped Loop (48K)

static struct BurnRomInfo SpeclooploopRomDesc[] = {
	{ "Looped Loop (19xx)(-).z80", 0x02248, 0xa4c2b655, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclooploop, Speclooploop, Spectrum)
STD_ROM_FN(Speclooploop)

struct BurnDriver BurnSpeclooploop = {
	"spec_looploop", NULL, "spec_spectrum", NULL, "19xx",
	"Looped Loop (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclooploopRomInfo, SpeclooploopRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Loose Ends (Part 1 of 2) (48K)

static struct BurnRomInfo SpeclooseendRomDesc[] = {
	{ "Loose Ends (1995)(Zenobi Software)(Part 1 of 2).z80", 0x0979a, 0x68122d63, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclooseend, Speclooseend, Spectrum)
STD_ROM_FN(Speclooseend)

struct BurnDriver BurnSpeclooseend = {
	"spec_looseend", NULL, "spec_spectrum", NULL, "1995",
	"Loose Ends (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclooseendRomInfo, SpeclooseendRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Loose Ends (Part 2 of 2) (48K)

static struct BurnRomInfo Speclooseend2RomDesc[] = {
	{ "Loose Ends (1995)(Zenobi Software)(Part 2 of 2).z80", 0x09c6c, 0x661ebd7f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclooseend2, Speclooseend2, Spectrum)
STD_ROM_FN(Speclooseend2)

struct BurnDriver BurnSpeclooseend2 = {
	"spec_looseend2", "spec_looseend", "spec_spectrum", NULL, "1995",
	"Loose Ends (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclooseend2RomInfo, Speclooseend2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lop Ears (48K)

static struct BurnRomInfo SpeclopearsRomDesc[] = {
	{ "Lop Ears (1991)(Players Software).z80", 0x092d8, 0x5fc2304f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclopears, Speclopears, Spectrum)
STD_ROM_FN(Speclopears)

struct BurnDriver BurnSpeclopears = {
	"spec_lopears", NULL, "spec_spectrum", NULL, "1991",
	"Lop Ears (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclopearsRomInfo, SpeclopearsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lord of the Rings - Beginner (48K)

static struct BurnRomInfo SpeclordringRomDesc[] = {
	{ "Lord of the Rings - Beginner (1986)(Melbourne House).z80", 0x0a3e2, 0xeda50dd9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclordring, Speclordring, Spectrum)
STD_ROM_FN(Speclordring)

struct BurnDriver BurnSpeclordring = {
	"spec_lordring", NULL, "spec_spectrum", NULL, "1986",
	"Lord of the Rings - Beginner (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclordringRomInfo, SpeclordringRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lord of the Rings - Game One (Part 1 of 2) (48K)

static struct BurnRomInfo Speclordring1RomDesc[] = {
	{ "Lord of the Rings - Game One (1986)(Melbourne House)(Part 1 of 2).z80", 0x0b368, 0xc3de288f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclordring1, Speclordring1, Spectrum)
STD_ROM_FN(Speclordring1)

struct BurnDriver BurnSpeclordring1 = {
	"spec_lordring1", "spec_lordring", "spec_spectrum", NULL, "1986",
	"Lord of the Rings - Game One (Part 1 of 2) (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclordring1RomInfo, Speclordring1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lord of the Rings - Game One (Part 2 of 2) (48K)

static struct BurnRomInfo Speclordring2RomDesc[] = {
	{ "Lord of the Rings - Game One (1986)(Melbourne House)(Part 2 of 2).z80", 0x0b28f, 0x86a6227e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclordring2, Speclordring2, Spectrum)
STD_ROM_FN(Speclordring2)

struct BurnDriver BurnSpeclordring2 = {
	"spec_lordring2", "spec_lordring", "spec_spectrum", NULL, "1986",
	"Lord of the Rings - Game One (Part 2 of 2) (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclordring2RomInfo, Speclordring2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lord of the Rings - Game Two - Shadows of Mordor - Picture Slideshow 1 (48K)

static struct BurnRomInfo Speclrdring2ss1RomDesc[] = {
	{ "Lord of the Rings - Game Two - Shadows of Mordor - Picture Slideshow 1 (1987)(Melbourne House).z80", 0x0561d, 0x035ff742, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclrdring2ss1, Speclrdring2ss1, Spectrum)
STD_ROM_FN(Speclrdring2ss1)

struct BurnDriver BurnSpeclrdring2ss1 = {
	"spec_lrdring2ss1", "spec_lrdring2", "spec_spectrum", NULL, "1987",
	"Lord of the Rings - Game Two - Shadows of Mordor - Picture Slideshow 1 (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclrdring2ss1RomInfo, Speclrdring2ss1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lord of the Rings - Game Two - Shadows of Mordor - Picture Slideshow 2 (48K)

static struct BurnRomInfo Speclrdring2ss2RomDesc[] = {
	{ "Lord of the Rings - Game Two - Shadows of Mordor - Picture Slideshow 2 (1987)(Melbourne House).z80", 0x05b70, 0x7d5c2fc0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclrdring2ss2, Speclrdring2ss2, Spectrum)
STD_ROM_FN(Speclrdring2ss2)

struct BurnDriver BurnSpeclrdring2ss2 = {
	"spec_lrdring2ss2", "spec_lrdring2", "spec_spectrum", NULL, "1987",
	"Lord of the Rings - Game Two - Shadows of Mordor - Picture Slideshow 2 (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclrdring2ss2RomInfo, Speclrdring2ss2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lord of the Rings - Game Two - Shadows of Mordor - Picture Slideshow 3 (48K)

static struct BurnRomInfo Speclrdring2ss3RomDesc[] = {
	{ "Lord of the Rings - Game Two - Shadows of Mordor - Picture Slideshow 3 (1987)(Melbourne House).z80", 0x05283, 0xee1d4ca3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclrdring2ss3, Speclrdring2ss3, Spectrum)
STD_ROM_FN(Speclrdring2ss3)

struct BurnDriver BurnSpeclrdring2ss3 = {
	"spec_lrdring2ss3", "spec_lrdring2", "spec_spectrum", NULL, "1987",
	"Lord of the Rings - Game Two - Shadows of Mordor - Picture Slideshow 3 (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclrdring2ss3RomInfo, Speclrdring2ss3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lord of the Rings - Game Two - Shadows of Mordor (48K)

static struct BurnRomInfo Speclrdring2_48RomDesc[] = {
	{ "Lord of the Rings - Game Two - Shadows of Mordor (1987)(Melbourne House).z80", 0x09f79, 0x6a943024, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclrdring2_48, Speclrdring2_48, Spectrum)
STD_ROM_FN(Speclrdring2_48)

struct BurnDriver BurnSpeclrdring2_48 = {
	"spec_lrdring2_48", "spec_lrdring2", "spec_spectrum", NULL, "1987",
	"Lord of the Rings - Game Two - Shadows of Mordor (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclrdring2_48RomInfo, Speclrdring2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lord of the Rings - Game Two - Shadows of Mordor (128K)

static struct BurnRomInfo Speclrdring2RomDesc[] = {
	{ "Lord of the Rings - Game Two - Shadows of Mordor (1987)(Melbourne House)[128K].z80", 0x155c7, 0x19ef2040, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclrdring2, Speclrdring2, Spectrum)
STD_ROM_FN(Speclrdring2)

struct BurnDriver BurnSpeclrdring2 = {
	"spec_lrdring2", NULL, "spec_spec128", NULL, "1987",
	"Lord of the Rings - Game Two - Shadows of Mordor (128K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclrdring2RomInfo, Speclrdring2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lords of Chaos - World 1 - The Many Coloured Land (48K)

static struct BurnRomInfo Speclchaos1_48RomDesc[] = {
	{ "Lords of Chaos - World 1 - The Many Coloured Land (1990)(Blade Software).z80", 0x0aa5c, 0x9a1f7079, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclchaos1_48, Speclchaos1_48, Spectrum)
STD_ROM_FN(Speclchaos1_48)

struct BurnDriver BurnSpeclchaos1_48 = {
	"spec_lchaos1_48", "spec_lchaos", "spec_spectrum", NULL, "1990",
	"Lords of Chaos - World 1 - The Many Coloured Land (48K)\0", NULL, "Blade Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclchaos1_48RomInfo, Speclchaos1_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lords of Chaos - World 2 - The Slayers Dungeon (48K)

static struct BurnRomInfo Speclchaos2_48RomDesc[] = {
	{ "Lords of Chaos - World 2 - The Slayers Dungeon (1990)(Blade Software).z80", 0x0aa29, 0x93745e6f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclchaos2_48, Speclchaos2_48, Spectrum)
STD_ROM_FN(Speclchaos2_48)

struct BurnDriver BurnSpeclchaos2_48 = {
	"spec_lchaos2_48", "spec_lchaos", "spec_spectrum", NULL, "1990",
	"Lords of Chaos - World 2 - The Slayers Dungeon (48K)\0", NULL, "Blade Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclchaos2_48RomInfo, Speclchaos2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lords of Chaos - World 3 - Ragaril's Domain (48K)

static struct BurnRomInfo Speclchaos3_48RomDesc[] = {
	{ "Lords of Chaos - World 3 - Ragaril's Domain (1990)(Blade Software).z80", 0x0a9c3, 0xd872ad88, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclchaos3_48, Speclchaos3_48, Spectrum)
STD_ROM_FN(Speclchaos3_48)

struct BurnDriver BurnSpeclchaos3_48 = {
	"spec_lchaos3_48", "spec_lchaos", "spec_spectrum", NULL, "1990",
	"Lords of Chaos - World 3 - Ragaril's Domain (48K)\0", NULL, "Blade Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclchaos3_48RomInfo, Speclchaos3_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lords of Chaos - World 4 - The Islands of Iris (48K)

static struct BurnRomInfo Speclchaos4_48RomDesc[] = {
	{ "Lords of Chaos - World 4 - The Islands of Iris (1990)(Blade Software).z80", 0x0a9bc, 0xc56b2203, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclchaos4_48, Speclchaos4_48, Spectrum)
STD_ROM_FN(Speclchaos4_48)

struct BurnDriver BurnSpeclchaos4_48 = {
	"spec_lchaos4_48", "spec_lchaos", "spec_spectrum", NULL, "1990",
	"Lords of Chaos - World 4 - The Islands of Iris (48K)\0", NULL, "Blade Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclchaos4_48RomInfo, Speclchaos4_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lords of Chaos - World 5 - The Tombs of the Undead (48K)

static struct BurnRomInfo Speclchaos5_48RomDesc[] = {
	{ "Lords of Chaos - World 5 - The Tombs of the Undead (1990)(Blade Software).z80", 0x0ac58, 0xf90c4000, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclchaos5_48, Speclchaos5_48, Spectrum)
STD_ROM_FN(Speclchaos5_48)

struct BurnDriver BurnSpeclchaos5_48 = {
	"spec_lchaos5_48", "spec_lchaos", "spec_spectrum", NULL, "1990",
	"Lords of Chaos - World 5 - The Tombs of the Undead (48K)\0", NULL, "Blade Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclchaos5_48RomInfo, Speclchaos5_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lords of Chaos (128K)

static struct BurnRomInfo SpeclchaosRomDesc[] = {
	{ "Lords of Chaos (1990)(Blade Software)[128K].z80", 0x0a8a8, 0x72d03a22, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclchaos, Speclchaos, Spectrum)
STD_ROM_FN(Speclchaos)

struct BurnDriver BurnSpeclchaos = {
	"spec_lchaos", NULL, "spec_spec128", NULL, "1990",
	"Lords of Chaos (128K)\0", NULL, "Blade Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclchaosRomInfo, SpeclchaosRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lords of Midnight, The - Editor (48K)

static struct BurnRomInfo SpeclrdmidneRomDesc[] = {
	{ "Lords of Midnight, The - Editor (1987)(PDT).z80", 0x08a86, 0x2801268f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclrdmidne, Speclrdmidne, Spectrum)
STD_ROM_FN(Speclrdmidne)

struct BurnDriver BurnSpeclrdmidne = {
	"spec_lrdmidne", NULL, "spec_spectrum", NULL, "1987",
	"Lords of Midnight, The - Editor (48K)\0", NULL, "PDT", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclrdmidneRomInfo, SpeclrdmidneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lords of Midnight, The - Pokes (48K)

static struct BurnRomInfo SpeclrdmidnpRomDesc[] = {
	{ "Lords of Midnight, The - Pokes (1994)(Chris Owen).z80", 0x018fd, 0x4bcd0620, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclrdmidnp, Speclrdmidnp, Spectrum)
STD_ROM_FN(Speclrdmidnp)

struct BurnDriver BurnSpeclrdmidnp = {
	"spec_lrdmidnp", NULL, "spec_spectrum", NULL, "1994",
	"Lords of Midnight, The - Pokes (48K)\0", NULL, "Chris Owen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclrdmidnpRomInfo, SpeclrdmidnpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lords of Midnight, The (48K)

static struct BurnRomInfo SpeclrdmidnRomDesc[] = {
	{ "Lords of Midnight, The (1984)(Beyond Software).z80", 0x0a786, 0xd4ae2ff4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclrdmidn, Speclrdmidn, Spectrum)
STD_ROM_FN(Speclrdmidn)

struct BurnDriver BurnSpeclrdmidn = {
	"spec_lrdmidn", NULL, "spec_spectrum", NULL, "1984",
	"Lords of Midnight, The (48K)\0", NULL, "Beyond Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclrdmidnRomInfo, SpeclrdmidnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Los Angeles SWAT (48K)

static struct BurnRomInfo SpeclaswatRomDesc[] = {
	{ "Los Angeles SWAT (1987)(Entertainment USA).z80", 0x08087, 0xbaab0b51, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclaswat, Speclaswat, Spectrum)
STD_ROM_FN(Speclaswat)

struct BurnDriver BurnSpeclaswat = {
	"spec_laswat", NULL, "spec_spectrum", NULL, "1987",
	"Los Angeles SWAT (48K)\0", NULL, "Entertainment USA", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclaswatRomInfo, SpeclaswatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lost (48K)

static struct BurnRomInfo SpeclostRomDesc[] = {
	{ "Lost (1983)(Virgin Games).z80", 0x07260, 0x6765ad15, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclost, Speclost, Spectrum)
STD_ROM_FN(Speclost)

struct BurnDriver BurnSpeclost = {
	"spec_lost", NULL, "spec_spectrum", NULL, "1983",
	"Lost (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclostRomInfo, SpeclostRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lost Caves (128K)

static struct BurnRomInfo SpeclostcaveRomDesc[] = {
	{ "Lost Caves (1989)(Players Premier Software)[128K].z80", 0x08375, 0xa928c2d5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclostcave, Speclostcave, Spectrum)
STD_ROM_FN(Speclostcave)

struct BurnDriver BurnSpeclostcave = {
	"spec_lostcave", NULL, "spec_spec128", NULL, "1989",
	"Lost Caves (128K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclostcaveRomInfo, SpeclostcaveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lost Children, The (128K)

static struct BurnRomInfo SpecloschithRomDesc[] = {
	{ "Lost Children, The (1997)(Adventure Probe Software)[128K].z80", 0x141cf, 0x783615e9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specloschith, Specloschith, Spectrum)
STD_ROM_FN(Specloschith)

struct BurnDriver BurnSpecloschith = {
	"spec_loschith", NULL, "spec_spec128", NULL, "1997",
	"Lost Children, The (128K)\0", NULL, "Adventure Probe Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecloschithRomInfo, SpecloschithRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lost Dragon, The - Intro (48K)

static struct BurnRomInfo SpeclostdrgnRomDesc[] = {
	{ "Lost Dragon, The - Intro (1991)(Tartan Software).z80", 0x0271a, 0xc0f2fbad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclostdrgn, Speclostdrgn, Spectrum)
STD_ROM_FN(Speclostdrgn)

struct BurnDriver BurnSpeclostdrgn = {
	"spec_lostdrgn", NULL, "spec_spectrum", NULL, "1991",
	"Lost Dragon, The - Intro (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclostdrgnRomInfo, SpeclostdrgnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lost Dragon, The (48K)

static struct BurnRomInfo SpeclostdrgngRomDesc[] = {
	{ "Lost Dragon, The (1991)(Tartan Software).z80", 0x0a035, 0x76192973, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclostdrgng, Speclostdrgng, Spectrum)
STD_ROM_FN(Speclostdrgng)

struct BurnDriver BurnSpeclostdrgng = {
	"spec_lostdrgng", "spec_lostdrgn", "spec_spectrum", NULL, "1991",
	"Lost Dragon, The (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclostdrgngRomInfo, SpeclostdrgngRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lost in Time (48K)

static struct BurnRomInfo SpeclosttimeRomDesc[] = {
	{ "Lost in Time (1993)(Zenobi Software).z80", 0x0ad68, 0x445477ef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclosttime, Speclosttime, Spectrum)
STD_ROM_FN(Speclosttime)

struct BurnDriver BurnSpeclosttime = {
	"spec_losttime", NULL, "spec_spectrum", NULL, "1993",
	"Lost in Time (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclosttimeRomInfo, SpeclosttimeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lost over Bermuda (48K)

static struct BurnRomInfo SpeclostbermRomDesc[] = {
	{ "Lost over Bermuda (1983)(Elfin Software).z80", 0x061b7, 0xb3e56a71, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclostberm, Speclostberm, Spectrum)
STD_ROM_FN(Speclostberm)

struct BurnDriver BurnSpeclostberm = {
	"spec_lostberm", NULL, "spec_spectrum", NULL, "1983",
	"Lost over Bermuda (48K)\0", NULL, "Elfin Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclostbermRomInfo, SpeclostbermRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lost Ruby, The (48K)

static struct BurnRomInfo SpeclosrubthRomDesc[] = {
	{ "Lost Ruby, The (1987)(Wrightchoice Software).z80", 0x0a945, 0xbfefc97e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclosrubth, Speclosrubth, Spectrum)
STD_ROM_FN(Speclosrubth)

struct BurnDriver BurnSpeclosrubth = {
	"spec_losrubth", NULL, "spec_spectrum", NULL, "1987",
	"Lost Ruby, The (48K)\0", NULL, "Wrightchoice Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclosrubthRomInfo, SpeclosrubthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lost Temple, The (48K)

static struct BurnRomInfo SpeclostemthRomDesc[] = {
	{ "Lost Temple, The (1990)(Zenobi Software).z80", 0x09b0a, 0xde49357d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclostemth, Speclostemth, Spectrum)
STD_ROM_FN(Speclostemth)

struct BurnDriver BurnSpeclostemth = {
	"spec_lostemth", NULL, "spec_spectrum", NULL, "1990",
	"Lost Temple, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclostemthRomInfo, SpeclostemthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lost Tomb of Ananka, The (48K)

static struct BurnRomInfo SpeclotoanthRomDesc[] = {
	{ "Lost Tomb of Ananka, The (1993)(Compass Software).z80", 0x09cc1, 0x8cb49185, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclotoanth, Speclotoanth, Spectrum)
STD_ROM_FN(Speclotoanth)

struct BurnDriver BurnSpeclotoanth = {
	"spec_lotoanth", NULL, "spec_spectrum", NULL, "1993",
	"Lost Tomb of Ananka, The (48K)\0", NULL, "Compass Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclotoanthRomInfo, SpeclotoanthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lost Twilight, The (128K)

static struct BurnRomInfo SpeclostwithRomDesc[] = {
	{ "Lost Twilight, The (1992)(Zenobi Software)[128K].z80", 0x13903, 0xb49f9040, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclostwith, Speclostwith, Spectrum)
STD_ROM_FN(Speclostwith)

struct BurnDriver BurnSpeclostwith = {
	"spec_lostwith", NULL, "spec_spec128", NULL, "1992",
	"Lost Twilight, The (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclostwithRomInfo, SpeclostwithRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lotus (48K)

static struct BurnRomInfo SpeclotusRomDesc[] = {
	{ "Lotus (1986)(Durell Software).z80", 0x0a064, 0x34e42b07, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclotus, Speclotus, Spectrum)
STD_ROM_FN(Speclotus)

struct BurnDriver BurnSpeclotus = {
	"spec_lotus", NULL, "spec_spectrum", NULL, "1986",
	"Lotus (48K)\0", NULL, "Durell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclotusRomInfo, SpeclotusRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lotus Esprit Turbo Challenge - Info (48K)

static struct BurnRomInfo SpeclotustciRomDesc[] = {
	{ "Lotus Esprit Turbo Challenge - Info (1990)(Gremlin Graphics Software).z80", 0x088e7, 0x8e235f92, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclotustci, Speclotustci, Spectrum)
STD_ROM_FN(Speclotustci)

struct BurnDriver BurnSpeclotustci = {
	"spec_lotustci", "spec_lotustc", "spec_spectrum", NULL, "1990",
	"Lotus Esprit Turbo Challenge - Info (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclotustciRomInfo, SpeclotustciRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lotus Esprit Turbo Challenge (128K)

static struct BurnRomInfo SpeclotustcRomDesc[] = {
	{ "Lotus Esprit Turbo Challenge (1990)(Gremlin Graphics Software)[128K].z80", 0x1623f, 0x70912bbf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclotustc, Speclotustc, Spectrum)
STD_ROM_FN(Speclotustc)

struct BurnDriver BurnSpeclotustc = {
	"spec_lotustc", NULL, "spec_spec128", NULL, "1990",
	"Lotus Esprit Turbo Challenge (128K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclotustcRomInfo, SpeclotustcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Love Quiz 2 (48K)

static struct BurnRomInfo Speclovequz2RomDesc[] = {
	{ "Love Quiz 2 (1983)(Keith Burton).z80", 0x03be2, 0x1e566ec7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclovequz2, Speclovequz2, Spectrum)
STD_ROM_FN(Speclovequz2)

struct BurnDriver BurnSpeclovequz2 = {
	"spec_lovequz2", NULL, "spec_spectrum", NULL, "1983",
	"Love Quiz 2 (48K)\0", NULL, "Keith Burton", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclovequz2RomInfo, Speclovequz2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ludoids, The - Part 1 - Capshift Spacebar (48K)

static struct BurnRomInfo SpecludoidsRomDesc[] = {
	{ "Ludoids, The - Part 1 - Capshift Spacebar (1985)(Bug-Byte Software)[re-release].z80", 0x087aa, 0x651a44a9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specludoids, Specludoids, Spectrum)
STD_ROM_FN(Specludoids)

struct BurnDriver BurnSpecludoids = {
	"spec_ludoids", NULL, "spec_spectrum", NULL, "1985",
	"Ludoids, The - Part 1 - Capshift Spacebar (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecludoidsRomInfo, SpecludoidsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ludoids, The - Part 2 - Glacia (48K)

static struct BurnRomInfo Specludoids2RomDesc[] = {
	{ "Ludoids, The - Part 2 - Glacia (1985)(Bug-Byte Software)[re-release].z80", 0x099fb, 0x3c345440, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specludoids2, Specludoids2, Spectrum)
STD_ROM_FN(Specludoids2)

struct BurnDriver BurnSpecludoids2 = {
	"spec_ludoids2", "spec_ludoids", "spec_spectrum", NULL, "1985",
	"Ludoids, The - Part 2 - Glacia (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specludoids2RomInfo, Specludoids2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ludoids, The - Part 3 - Vacatia (48K)

static struct BurnRomInfo Specludoids3RomDesc[] = {
	{ "Ludoids, The - Part 3 - Vacatia (1985)(Bug-Byte Software)[re-release].z80", 0x08344, 0xd9936394, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specludoids3, Specludoids3, Spectrum)
STD_ROM_FN(Specludoids3)

struct BurnDriver BurnSpecludoids3 = {
	"spec_ludoids3", "spec_ludoids", "spec_spectrum", NULL, "1985",
	"Ludoids, The - Part 3 - Vacatia (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specludoids3RomInfo, Specludoids3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ludoids, The - Part 4 - Aqua (48K)

static struct BurnRomInfo Specludoids4RomDesc[] = {
	{ "Ludoids, The - Part 4 - Aqua (1985)(Bug-Byte Software)[re-release].z80", 0x098f8, 0x2f9022cf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specludoids4, Specludoids4, Spectrum)
STD_ROM_FN(Specludoids4)

struct BurnDriver BurnSpecludoids4 = {
	"spec_ludoids4", "spec_ludoids", "spec_spectrum", NULL, "1985",
	"Ludoids, The - Part 4 - Aqua (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specludoids4RomInfo, Specludoids4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ludoids, The - Part 5 - Camp One (48K)

static struct BurnRomInfo Specludoids5RomDesc[] = {
	{ "Ludoids, The - Part 5 - Camp One (1985)(Bug-Byte Software)[re-release].z80", 0x09523, 0x9f114780, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specludoids5, Specludoids5, Spectrum)
STD_ROM_FN(Specludoids5)

struct BurnDriver BurnSpecludoids5 = {
	"spec_ludoids5", "spec_ludoids", "spec_spectrum", NULL, "1985",
	"Ludoids, The - Part 5 - Camp One (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specludoids5RomInfo, Specludoids5RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ludoids, The - Part 6 - Desert (48K)

static struct BurnRomInfo Specludoids6RomDesc[] = {
	{ "Ludoids, The - Part 6 - Desert (1985)(Bug-Byte Software)[re-release].z80", 0x092a5, 0x65c582ef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specludoids6, Specludoids6, Spectrum)
STD_ROM_FN(Specludoids6)

struct BurnDriver BurnSpecludoids6 = {
	"spec_ludoids6", "spec_ludoids", "spec_spectrum", NULL, "1985",
	"Ludoids, The - Part 6 - Desert (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specludoids6RomInfo, Specludoids6RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ludoids, The - Part 7 - Minisub (48K)

static struct BurnRomInfo Specludoids7RomDesc[] = {
	{ "Ludoids, The - Part 7 - Minisub (1985)(Bug-Byte Software)[re-release].z80", 0x09627, 0x95782684, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specludoids7, Specludoids7, Spectrum)
STD_ROM_FN(Specludoids7)

struct BurnDriver BurnSpecludoids7 = {
	"spec_ludoids7", "spec_ludoids", "spec_spectrum", NULL, "1985",
	"Ludoids, The - Part 7 - Minisub (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specludoids7RomInfo, Specludoids7RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ludoids, The - Part 8 - Westlins (48K)

static struct BurnRomInfo Specludoids8RomDesc[] = {
	{ "Ludoids, The - Part 8 - Westlins (1985)(Bug-Byte Software)[re-release].z80", 0x080aa, 0x35a4d016, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specludoids8, Specludoids8, Spectrum)
STD_ROM_FN(Specludoids8)

struct BurnDriver BurnSpecludoids8 = {
	"spec_ludoids8", "spec_ludoids", "spec_spectrum", NULL, "1985",
	"Ludoids, The - Part 8 - Westlins (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specludoids8RomInfo, Specludoids8RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Luna Atac (48K)

static struct BurnRomInfo SpeclunaatacRomDesc[] = {
	{ "Luna Atac (1986)(Atlantis Software).z80", 0x09b71, 0x19dff4e0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclunaatac, Speclunaatac, Spectrum)
STD_ROM_FN(Speclunaatac)

struct BurnDriver BurnSpeclunaatac = {
	"spec_lunaatac", NULL, "spec_spectrum", NULL, "1986",
	"Luna Atac (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclunaatacRomInfo, SpeclunaatacRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lunar Attack (48K)

static struct BurnRomInfo SpeclattackRomDesc[] = {
	{ "Lunar Attack (1983)(K'Soft).z80", 0x025e1, 0xd8133c84, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclattack, Speclattack, Spectrum)
STD_ROM_FN(Speclattack)

struct BurnDriver BurnSpeclattack = {
	"spec_lattack", NULL, "spec_spectrum", NULL, "1983",
	"Lunar Attack (48K)\0", NULL, "K'Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclattackRomInfo, SpeclattackRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lunar Jetman (48K)

static struct BurnRomInfo SpecljetmanRomDesc[] = {
	{ "Lunar Jetman (1983)(Ultimate Play The Game).z80", 0x08e6a, 0x914bc877, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specljetman, Specljetman, Spectrum)
STD_ROM_FN(Specljetman)

struct BurnDriver BurnSpecljetman = {
	"spec_ljetman", NULL, "spec_spectrum", NULL, "1983",
	"Lunar Jetman (48K)\0", NULL, "Ultimate Play The Game", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecljetmanRomInfo, SpecljetmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lunar Rescue (48K)

static struct BurnRomInfo SpeclrescueRomDesc[] = {
	{ "Lunar Rescue (1984)(Lyversoft).z80", 0x046c2, 0x6aac917a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclrescue, Speclrescue, Spectrum)
STD_ROM_FN(Speclrescue)

struct BurnDriver BurnSpeclrescue = {
	"spec_lrescue", NULL, "spec_spectrum", NULL, "1984",
	"Lunar Rescue (48K)\0", NULL, "Lyversoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclrescueRomInfo, SpeclrescueRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Luna-Rover (48K)

static struct BurnRomInfo SpeclunaroveRomDesc[] = {
	{ "Luna-Rover (1985)(Data Design Systems).z80", 0x04f34, 0xbf197a69, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclunarove, Speclunarove, Spectrum)
STD_ROM_FN(Speclunarove)

struct BurnDriver BurnSpeclunarove = {
	"spec_lunarove", NULL, "spec_spectrum", NULL, "1985",
	"Luna-Rover (48K)\0", NULL, "Data Design Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclunaroveRomInfo, SpeclunaroveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Luxik na Bibrstejne (cs) (48K)

static struct BurnRomInfo SpecluxibibrRomDesc[] = {
	{ "Luxik na Bibrstejne (1987)(AK-Soft)(cs).z80", 0x0a303, 0x6c4eac4e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specluxibibr, Specluxibibr, Spectrum)
STD_ROM_FN(Specluxibibr)

struct BurnDriver BurnSpecluxibibr = {
	"spec_luxibibr", NULL, "spec_spectrum", NULL, "1987",
	"Luxik na Bibrstejne (cs) (48K)\0", NULL, "AK-Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecluxibibrRomInfo, SpecluxibibrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lycanthropy (Part 1 of 2) (48K)

static struct BurnRomInfo SpeclycanthrRomDesc[] = {
	{ "Lycanthropy (1993)(Zenobi Software)(Part 1 of 2).z80", 0x098c7, 0x9ea65936, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclycanthr, Speclycanthr, Spectrum)
STD_ROM_FN(Speclycanthr)

struct BurnDriver BurnSpeclycanthr = {
	"spec_lycanthr", NULL, "spec_spectrum", NULL, "1993",
	"Lycanthropy (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeclycanthrRomInfo, SpeclycanthrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Lycanthropy (Part 2 of 2) (48K)

static struct BurnRomInfo Speclycanthr2RomDesc[] = {
	{ "Lycanthropy (1993)(Zenobi Software)(Part 2 of 2).z80", 0x0957d, 0xe87744a7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speclycanthr2, Speclycanthr2, Spectrum)
STD_ROM_FN(Speclycanthr2)

struct BurnDriver BurnSpeclycanthr2 = {
	"spec_lycanthr2", "spec_lycanthr", "spec_spectrum", NULL, "1993",
	"Lycanthropy (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speclycanthr2RomInfo, Speclycanthr2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Macadam Bumper (48K)

static struct BurnRomInfo SpecmacabumpRomDesc[] = {
	{ "Macadam Bumper (1985)(PSS).z80", 0x08ee0, 0xf655509a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmacabump, Specmacabump, Spectrum)
STD_ROM_FN(Specmacabump)

struct BurnDriver BurnSpecmacabump = {
	"spec_macabump", NULL, "spec_spectrum", NULL, "1985",
	"Macadam Bumper (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmacabumpRomInfo, SpecmacabumpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Macaroid (48K)

static struct BurnRomInfo SpecmacaroidRomDesc[] = {
	{ "Macaroid (1985)(Stuart Jamieson).z80", 0x02011, 0x36d1570b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmacaroid, Specmacaroid, Spectrum)
STD_ROM_FN(Specmacaroid)

struct BurnDriver BurnSpecmacaroid = {
	"spec_macaroid", NULL, "spec_spectrum", NULL, "1985",
	"Macaroid (48K)\0", NULL, "Stuart Jamieson", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmacaroidRomInfo, SpecmacaroidRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mach 3 (Spanish) (48K)

static struct BurnRomInfo Specmach3esRomDesc[] = {
	{ "Mach 3 (1989)(Proein Soft Line)(es).z80", 0x08175, 0x3e9617b9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmach3es, Specmach3es, Spectrum)
STD_ROM_FN(Specmach3es)

struct BurnDriver BurnSpecmach3es = {
	"spec_mach3es", NULL, "spec_spectrum", NULL, "1989",
	"Mach 3 (Spanish) (48K)\0", NULL, "Proein Soft Line", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmach3esRomInfo, Specmach3esRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mad Cars (Spanish) (48K)

static struct BurnRomInfo SpecmadcarseRomDesc[] = {
	{ "Mad Cars (1984)(Ventamatic)(es).z80", 0x07f97, 0x211f07d6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmadcarse, Specmadcarse, Spectrum)
STD_ROM_FN(Specmadcarse)

struct BurnDriver BurnSpecmadcarse = {
	"spec_madcarse", NULL, "spec_spectrum", NULL, "1984",
	"Mad Cars (Spanish) (48K)\0", NULL, "Ventamatic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmadcarseRomInfo, SpecmadcarseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mad Caverns (48K)

static struct BurnRomInfo SpecmadcaverRomDesc[] = {
	{ "Mad Caverns (1985)(Karl Jeffery).z80", 0x01e8a, 0xc2cd513b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmadcaver, Specmadcaver, Spectrum)
STD_ROM_FN(Specmadcaver)

struct BurnDriver BurnSpecmadcaver = {
	"spec_madcaver", NULL, "spec_spectrum", NULL, "1985",
	"Mad Caverns (48K)\0", NULL, "Karl Jeffery", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmadcaverRomInfo, SpecmadcaverRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mad Hatter (48K)

static struct BurnRomInfo SpecmadhatteRomDesc[] = {
	{ "Mad Hatter (1985)(Automata UK).z80", 0x05ee8, 0xf125fc94, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmadhatte, Specmadhatte, Spectrum)
STD_ROM_FN(Specmadhatte)

struct BurnDriver BurnSpecmadhatte = {
	"spec_madhatte", NULL, "spec_spectrum", NULL, "1985",
	"Mad Hatter (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmadhatteRomInfo, SpecmadhatteRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mad Martha (48K)

static struct BurnRomInfo SpecmadmrthRomDesc[] = {
	{ "Mad Martha (1983)(Mikro-Gen).z80", 0x08c39, 0xdf40974c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmadmrth, Specmadmrth, Spectrum)
STD_ROM_FN(Specmadmrth)

struct BurnDriver BurnSpecmadmrth = {
	"spec_madmrth", NULL, "spec_spectrum", NULL, "1983",
	"Mad Martha (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmadmrthRomInfo, SpecmadmrthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mad Martha 2 (48K)

static struct BurnRomInfo Specmadmrth2RomDesc[] = {
	{ "Mad Martha 2 (1983)(Mikro-Gen).z80", 0x09a66, 0x602ff872, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmadmrth2, Specmadmrth2, Spectrum)
STD_ROM_FN(Specmadmrth2)

struct BurnDriver BurnSpecmadmrth2 = {
	"spec_madmrth2", NULL, "spec_spectrum", NULL, "1983",
	"Mad Martha 2 (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmadmrth2RomInfo, Specmadmrth2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mad Mix 2 - En el Castillo de los Fantasmas (Spanish) (128K)

static struct BurnRomInfo SpecmamiencaRomDesc[] = {
	{ "Mad Mix 2 - En el Castillo de los Fantasmas (1990)(Topo Soft)(es)[128K].z80", 0x0de2f, 0xf51db40a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmamienca, Specmamienca, Spectrum)
STD_ROM_FN(Specmamienca)

struct BurnDriver BurnSpecmamienca = {
	"spec_mamienca", NULL, "spec_spec128", NULL, "1990",
	"Mad Mix 2 - En el Castillo de los Fantasmas (Spanish) (128K)\0", NULL, "Topo Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmamiencaRomInfo, SpecmamiencaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mad Mix Game - The Pepsi Challenge (48K)

static struct BurnRomInfo SpecmmgtpcRomDesc[] = {
	{ "Mad Mix Game - The Pepsi Challenge (1988)(U.S. Gold)[re-release].z80", 0x0ad80, 0x8661e407, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmmgtpc, Specmmgtpc, Spectrum)
STD_ROM_FN(Specmmgtpc)

struct BurnDriver BurnSpecmmgtpc = {
	"spec_mmgtpc", NULL, "spec_spectrum", NULL, "1988",
	"Mad Mix Game - The Pepsi Challenge (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmmgtpcRomInfo, SpecmmgtpcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mad Nurse (48K)

static struct BurnRomInfo SpecmadnurseRomDesc[] = {
	{ "Mad Nurse (1987)(Firebird Software).z80", 0x074cb, 0xd8cd7159, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmadnurse, Specmadnurse, Spectrum)
STD_ROM_FN(Specmadnurse)

struct BurnDriver BurnSpecmadnurse = {
	"spec_madnurse", NULL, "spec_spectrum", NULL, "1987",
	"Mad Nurse (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmadnurseRomInfo, SpecmadnurseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Madballs (48K)

static struct BurnRomInfo Specmadballs_48RomDesc[] = {
	{ "Madballs (1988)(Ocean).z80", 0x08d62, 0x39b21a6a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmadballs_48, Specmadballs_48, Spectrum)
STD_ROM_FN(Specmadballs_48)

struct BurnDriver BurnSpecmadballs_48 = {
	"spec_madballs_48", "spec_madballs", "spec_spectrum", NULL, "1988",
	"Madballs (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmadballs_48RomInfo, Specmadballs_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Madballs (128K)

static struct BurnRomInfo SpecmadballsRomDesc[] = {
	{ "Madballs (1988)(Ocean)[128K].z80", 0x08f1d, 0xb9bdf664, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmadballs, Specmadballs, Spectrum)
STD_ROM_FN(Specmadballs)

struct BurnDriver BurnSpecmadballs = {
	"spec_madballs", NULL, "spec_spec128", NULL, "1988",
	"Madballs (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmadballsRomInfo, SpecmadballsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Madness Schach (German) (48K)

static struct BurnRomInfo SpecmadnschaRomDesc[] = {
	{ "Madness Schach (1984)(Wittkopf Software)(de).z80", 0x03d3c, 0x4272949c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmadnscha, Specmadnscha, Spectrum)
STD_ROM_FN(Specmadnscha)

struct BurnDriver BurnSpecmadnscha = {
	"spec_madnscha", NULL, "spec_spectrum", NULL, "1984",
	"Madness Schach (German) (48K)\0", NULL, "Wittkopf Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmadnschaRomInfo, SpecmadnschaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mafia Contract (48K)

static struct BurnRomInfo SpecmaficontRomDesc[] = {
	{ "Mafia Contract (1984)(Atlantis Software).z80", 0x07663, 0x86eabd3b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmaficont, Specmaficont, Spectrum)
STD_ROM_FN(Specmaficont)

struct BurnDriver BurnSpecmaficont = {
	"spec_maficont", NULL, "spec_spectrum", NULL, "1984",
	"Mafia Contract (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmaficontRomInfo, SpecmaficontRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mafia Contract II - The Sequel (48K)

static struct BurnRomInfo Specmaficnt2RomDesc[] = {
	{ "Mafia Contract II - The Sequel (1986)(Atlantis Software).z80", 0x0a76d, 0x5c4b2a54, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmaficnt2, Specmaficnt2, Spectrum)
STD_ROM_FN(Specmaficnt2)

struct BurnDriver BurnSpecmaficnt2 = {
	"spec_maficnt2", NULL, "spec_spectrum", NULL, "1986",
	"Mafia Contract II - The Sequel (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmaficnt2RomInfo, Specmaficnt2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mag Max - Robo Centurion (48K)

static struct BurnRomInfo SpecmamaroceRomDesc[] = {
	{ "Mag Max - Robo Centurion (1987)(Imagine Software).z80", 0x097c9, 0x0b995245, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmamaroce, Specmamaroce, Spectrum)
STD_ROM_FN(Specmamaroce)

struct BurnDriver BurnSpecmamaroce = {
	"spec_mamaroce", NULL, "spec_spectrum", NULL, "1987",
	"Mag Max - Robo Centurion (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmamaroceRomInfo, SpecmamaroceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magic Carpet (48K)

static struct BurnRomInfo SpecmagicarpRomDesc[] = {
	{ "Magic Carpet (1985)(Mastertronic).z80", 0x02bd5, 0x05e22cf1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagicarp, Specmagicarp, Spectrum)
STD_ROM_FN(Specmagicarp)

struct BurnDriver BurnSpecmagicarp = {
	"spec_magicarp", NULL, "spec_spectrum", NULL, "1985",
	"Magic Carpet (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmagicarpRomInfo, SpecmagicarpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magic Castle (48K)

static struct BurnRomInfo SpecmagicastRomDesc[] = {
	{ "Magic Castle (1983)(Gilsoft International).z80", 0x0387e, 0x6320dec3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagicast, Specmagicast, Spectrum)
STD_ROM_FN(Specmagicast)

struct BurnDriver BurnSpecmagicast = {
	"spec_magicast", NULL, "spec_spectrum", NULL, "1983",
	"Magic Castle (48K)\0", NULL, "Gilsoft International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmagicastRomInfo, SpecmagicastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magic Circle, The (128K)

static struct BurnRomInfo SpecmagcirthRomDesc[] = {
	{ "Magic Circle, The (19xx)(-)[128K].z80", 0x1b2f3, 0xc3750e36, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagcirth, Specmagcirth, Spectrum)
STD_ROM_FN(Specmagcirth)

struct BurnDriver BurnSpecmagcirth = {
	"spec_magcirth", NULL, "spec_spec128", NULL, "19xx",
	"Magic Circle, The (128K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmagcirthRomInfo, SpecmagcirthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magic Fields (48K)

static struct BurnRomInfo SpecmagifielRomDesc[] = {
	{ "Magic Fields (1996)(Zack).z80", 0x06109, 0xf8a696c0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagifiel, Specmagifiel, Spectrum)
STD_ROM_FN(Specmagifiel)

struct BurnDriver BurnSpecmagifiel = {
	"spec_magifiel", NULL, "spec_spectrum", NULL, "1996",
	"Magic Fields (48K)\0", NULL, "Zack", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmagifielRomInfo, SpecmagifielRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magic Johnson's Basketball (Spanish) (48K)

static struct BurnRomInfo Specmagjohba_48RomDesc[] = {
	{ "Magic Johnson's Basketball (1990)(Dro Soft)(es).z80", 0x09f8f, 0x52c762b4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagjohba_48, Specmagjohba_48, Spectrum)
STD_ROM_FN(Specmagjohba_48)

struct BurnDriver BurnSpecmagjohba_48 = {
	"spec_magjohba_48", "spec_magjohba", "spec_spectrum", NULL, "1990",
	"Magic Johnson's Basketball (Spanish) (48K)\0", NULL, "Dro Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmagjohba_48RomInfo, Specmagjohba_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magic Johnson's Basketball (Spanish) (128K)

static struct BurnRomInfo SpecmagjohbaRomDesc[] = {
	{ "Magic Johnson's Basketball (1990)(Dro Soft)(es)[128K].z80", 0x1218e, 0xfbe240ae, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagjohba, Specmagjohba, Spectrum)
STD_ROM_FN(Specmagjohba)

struct BurnDriver BurnSpecmagjohba = {
	"spec_magjohba", NULL, "spec_spec128", NULL, "1990",
	"Magic Johnson's Basketball (Spanish) (128K)\0", NULL, "Dro Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmagjohbaRomInfo, SpecmagjohbaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magic Jokers (48K)

static struct BurnRomInfo SpecmagijokeRomDesc[] = {
	{ "Magic Jokers (19xx)(-).z80", 0x02608, 0xceb3ca77, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagijoke, Specmagijoke, Spectrum)
STD_ROM_FN(Specmagijoke)

struct BurnDriver BurnSpecmagijoke = {
	"spec_magijoke", NULL, "spec_spectrum", NULL, "19xx",
	"Magic Jokers (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmagijokeRomInfo, SpecmagijokeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magic Keys (48K)

static struct BurnRomInfo SpecmagikeysRomDesc[] = {
	{ "Magic Keys (1985)(Stefan Zyczkowski).z80", 0x08e14, 0xe5cd9633, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagikeys, Specmagikeys, Spectrum)
STD_ROM_FN(Specmagikeys)

struct BurnDriver BurnSpecmagikeys = {
	"spec_magikeys", NULL, "spec_spectrum", NULL, "1985",
	"Magic Keys (48K)\0", NULL, "Stefan Zyczkowski", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmagikeysRomInfo, SpecmagikeysRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magic Meanies (48K)

static struct BurnRomInfo SpecmagimeanRomDesc[] = {
	{ "Magic Meanies (1983)(CDS Microsystems).z80", 0x02625, 0x0588c07e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagimean, Specmagimean, Spectrum)
STD_ROM_FN(Specmagimean)

struct BurnDriver BurnSpecmagimean = {
	"spec_magimean", NULL, "spec_spectrum", NULL, "1983",
	"Magic Meanies (48K)\0", NULL, "CDS Microsystems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmagimeanRomInfo, SpecmagimeanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magic Mountain - Intro (48K)

static struct BurnRomInfo SpecmmountnRomDesc[] = {
	{ "Magic Mountain - Intro (1983)(Phipps Associates).z80", 0x0248c, 0x4fff4565, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmmountn, Specmmountn, Spectrum)
STD_ROM_FN(Specmmountn)

struct BurnDriver BurnSpecmmountn = {
	"spec_mmountn", NULL, "spec_spectrum", NULL, "1983",
	"Magic Mountain - Intro (48K)\0", NULL, "Phipps Associates", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmmountnRomInfo, SpecmmountnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magic Mountain (48K)

static struct BurnRomInfo SpecmmountngRomDesc[] = {
	{ "Magic Mountain (1983)(Phipps Associates).z80", 0x0810d, 0x4141f013, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmmountng, Specmmountng, Spectrum)
STD_ROM_FN(Specmmountng)

struct BurnDriver BurnSpecmmountng = {
	"spec_mmountng", "spec_mmountn", "spec_spectrum", NULL, "1983",
	"Magic Mountain (48K)\0", NULL, "Phipps Associates", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmmountngRomInfo, SpecmmountngRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magic Roundabout, The (48K)

static struct BurnRomInfo SpecmagrouthRomDesc[] = {
	{ "Magic Roundabout, The (1984)(CRL Group).z80", 0x070e5, 0x39b75ac8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagrouth, Specmagrouth, Spectrum)
STD_ROM_FN(Specmagrouth)

struct BurnDriver BurnSpecmagrouth = {
	"spec_magrouth", NULL, "spec_spectrum", NULL, "1984",
	"Magic Roundabout, The (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmagrouthRomInfo, SpecmagrouthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magic Treasure Adventure - Intro (48K)

static struct BurnRomInfo SpecmagictaRomDesc[] = {
	{ "Magic Treasure Adventure - Intro (1991)(Tartan Software).z80", 0x01a09, 0xfa70dcca, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagicta, Specmagicta, Spectrum)
STD_ROM_FN(Specmagicta)

struct BurnDriver BurnSpecmagicta = {
	"spec_magicta", NULL, "spec_spectrum", NULL, "1991",
	"Magic Treasure Adventure - Intro (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmagictaRomInfo, SpecmagictaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magic Treasure Adventure (48K)

static struct BurnRomInfo SpecmagictagRomDesc[] = {
	{ "Magic Treasure Adventure (1991)(Tartan Software).z80", 0x09fdc, 0xc74d8c2c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagictag, Specmagictag, Spectrum)
STD_ROM_FN(Specmagictag)

struct BurnDriver BurnSpecmagictag = {
	"spec_magictag", "spec_magicta", "spec_spectrum", NULL, "1991",
	"Magic Treasure Adventure (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmagictagRomInfo, SpecmagictagRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magicians Apprentice (48K)

static struct BurnRomInfo SpecmagiapprRomDesc[] = {
	{ "Magicians Apprentice (1990)(The Guild).z80", 0x07b46, 0x4a549c9d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagiappr, Specmagiappr, Spectrum)
STD_ROM_FN(Specmagiappr)

struct BurnDriver BurnSpecmagiappr = {
	"spec_magiappr", NULL, "spec_spectrum", NULL, "1990",
	"Magicians Apprentice (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmagiapprRomInfo, SpecmagiapprRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magnetic Moon - Intro (48K)

static struct BurnRomInfo SpecmagmooniRomDesc[] = {
	{ "Magnetic Moon - Intro (1989)(FSF Adventures).z80", 0x02252, 0x5bb84d3c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagmooni, Specmagmooni, Spectrum)
STD_ROM_FN(Specmagmooni)

struct BurnDriver BurnSpecmagmooni = {
	"spec_magmooni", NULL, "spec_spectrum", NULL, "1989",
	"Magnetic Moon - Intro (48K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmagmooniRomInfo, SpecmagmooniRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magnetic Moon (Part 1 of 3) (48K)

static struct BurnRomInfo Specmagmoon_48RomDesc[] = {
	{ "Magnetic Moon (1989)(FSF Adventures)(Part 1 of 3).z80", 0x08fdd, 0x22e5a181, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagmoon_48, Specmagmoon_48, Spectrum)
STD_ROM_FN(Specmagmoon_48)

struct BurnDriver BurnSpecmagmoon_48 = {
	"spec_magmoon_48", "spec_magmoon", "spec_spectrum", NULL, "1989",
	"Magnetic Moon (Part 1 of 3) (48K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmagmoon_48RomInfo, Specmagmoon_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magnetic Moon (Part 1 of 3) (registered) (128K)

static struct BurnRomInfo SpecmagmoonRomDesc[] = {
	{ "Magnetic Moon (1989)(FSF Adventures)(Part 1 of 3)[128K][registered].z80", 0x0f254, 0xd83f417e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagmoon, Specmagmoon, Spectrum)
STD_ROM_FN(Specmagmoon)

struct BurnDriver BurnSpecmagmoon = {
	"spec_magmoon", NULL, "spec_spec128", NULL, "1989",
	"Magnetic Moon (Part 1 of 3) (registered) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmagmoonRomInfo, SpecmagmoonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magnetic Moon (Part 1 of 3) (shareware) (128K)

static struct BurnRomInfo SpecmagmoonsRomDesc[] = {
	{ "Magnetic Moon (1989)(FSF Adventures)(Part 1 of 3)[128K][shareware].z80", 0x0f2e9, 0xcbfee515, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagmoons, Specmagmoons, Spectrum)
STD_ROM_FN(Specmagmoons)

struct BurnDriver BurnSpecmagmoons = {
	"spec_magmoons", "spec_magmoon", "spec_spec128", NULL, "1989",
	"Magnetic Moon (Part 1 of 3) (shareware) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmagmoonsRomInfo, SpecmagmoonsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magnetic Moon (Part 2 of 3) (48K)

static struct BurnRomInfo Specmagmoon2_48RomDesc[] = {
	{ "Magnetic Moon (1989)(FSF Adventures)(Part 2 of 3).z80", 0x090c6, 0x2deae41d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagmoon2_48, Specmagmoon2_48, Spectrum)
STD_ROM_FN(Specmagmoon2_48)

struct BurnDriver BurnSpecmagmoon2_48 = {
	"spec_magmoon2_48", "spec_magmoon", "spec_spectrum", NULL, "1989",
	"Magnetic Moon (Part 2 of 3) (48K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmagmoon2_48RomInfo, Specmagmoon2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magnetic Moon (Part 2 of 3) (registered)(128K)

static struct BurnRomInfo Specmagmoon2RomDesc[] = {
	{ "Magnetic Moon (1989)(FSF Adventures)(Part 2 of 3)[128K][registered].z80", 0x0e826, 0xbad58697, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagmoon2, Specmagmoon2, Spectrum)
STD_ROM_FN(Specmagmoon2)

struct BurnDriver BurnSpecmagmoon2 = {
	"spec_magmoon2", "spec_magmoon", "spec_spec128", NULL, "1989",
	"Magnetic Moon (Part 2 of 3) (registered)(128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmagmoon2RomInfo, Specmagmoon2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magnetic Moon (Part 2 of 3) (shareware) (128K)

static struct BurnRomInfo Specmagmoons2RomDesc[] = {
	{ "Magnetic Moon (1989)(FSF Adventures)(Part 2 of 3)[128K][shareware].z80", 0x0e77b, 0x89818d35, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagmoons2, Specmagmoons2, Spectrum)
STD_ROM_FN(Specmagmoons2)

struct BurnDriver BurnSpecmagmoons2 = {
	"spec_magmoons2", "spec_magmoon", "spec_spec128", NULL, "1989",
	"Magnetic Moon (Part 2 of 3) (shareware) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmagmoons2RomInfo, Specmagmoons2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magnetic Moon (Part 3 of 3) (48K)

static struct BurnRomInfo Specmagmoon3_48RomDesc[] = {
	{ "Magnetic Moon (1989)(FSF Adventures)(Part 3 of 3).z80", 0x0909c, 0x4c66f424, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagmoon3_48, Specmagmoon3_48, Spectrum)
STD_ROM_FN(Specmagmoon3_48)

struct BurnDriver BurnSpecmagmoon3_48 = {
	"spec_magmoon3_48", "spec_magmoon", "spec_spectrum", NULL, "1989",
	"Magnetic Moon (Part 3 of 3) (48K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmagmoon3_48RomInfo, Specmagmoon3_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magnetic Moon (Part 3 of 3) (registered)(128K)

static struct BurnRomInfo Specmagmoon3RomDesc[] = {
	{ "Magnetic Moon (1989)(FSF Adventures)(Part 3 of 3)[128K][registered].z80", 0x0f111, 0xb45f4bef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagmoon3, Specmagmoon3, Spectrum)
STD_ROM_FN(Specmagmoon3)

struct BurnDriver BurnSpecmagmoon3 = {
	"spec_magmoon3", "spec_magmoon", "spec_spec128", NULL, "1989",
	"Magnetic Moon (Part 3 of 3) (registered)(128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmagmoon3RomInfo, Specmagmoon3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magnetic Moon (Part 3 of 3) (shareware) (128K)

static struct BurnRomInfo Specmagmoons3RomDesc[] = {
	{ "Magnetic Moon (1989)(FSF Adventures)(Part 3 of 3)[128K][shareware].z80", 0x0ee6a, 0xbaec22b4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagmoons3, Specmagmoons3, Spectrum)
STD_ROM_FN(Specmagmoons3)

struct BurnDriver BurnSpecmagmoons3 = {
	"spec_magmoons3", "spec_magmoon", "spec_spec128", NULL, "1989",
	"Magnetic Moon (Part 3 of 3) (shareware) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmagmoons3RomInfo, Specmagmoons3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magnetic Moon II - Starship Quest - Intro (48K)

static struct BurnRomInfo Specmgmoon2iRomDesc[] = {
	{ "Magnetic Moon II - Starship Quest - Intro (1990)(FSF Adventures).z80", 0x02489, 0x76c336a1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmgmoon2i, Specmgmoon2i, Spectrum)
STD_ROM_FN(Specmgmoon2i)

struct BurnDriver BurnSpecmgmoon2i = {
	"spec_mgmoon2i", "spec_mgmoon2", "spec_spectrum", NULL, "1990",
	"Magnetic Moon II - Starship Quest - Intro (48K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmgmoon2iRomInfo, Specmgmoon2iRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magnetic Moon II - Starship Quest (Part 1 of 3) (48K)

static struct BurnRomInfo Specmgmoon2_48RomDesc[] = {
	{ "Magnetic Moon II - Starship Quest (1990)(FSF Adventures)(Part 1 of 3).z80", 0x091bb, 0x70713c4d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmgmoon2_48, Specmgmoon2_48, Spectrum)
STD_ROM_FN(Specmgmoon2_48)

struct BurnDriver BurnSpecmgmoon2_48 = {
	"spec_mgmoon2_48", "spec_mgmoon2", "spec_spectrum", NULL, "1990",
	"Magnetic Moon II - Starship Quest (Part 1 of 3) (48K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmgmoon2_48RomInfo, Specmgmoon2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magnetic Moon II - Starship Quest (Part 1 of 3) (registered) (128K)

static struct BurnRomInfo Specmgmoon2RomDesc[] = {
	{ "Magnetic Moon II - Starship Quest (1990)(FSF Adventures)(Part 1 of 3)[128K][registered].z80", 0x115f1, 0xff13a8e3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmgmoon2, Specmgmoon2, Spectrum)
STD_ROM_FN(Specmgmoon2)

struct BurnDriver BurnSpecmgmoon2 = {
	"spec_mgmoon2", NULL, "spec_spec128", NULL, "1990",
	"Magnetic Moon II - Starship Quest (Part 1 of 3) (registered) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmgmoon2RomInfo, Specmgmoon2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magnetic Moon II - Starship Quest (Part 1 of 3) (shareware) (128K)

static struct BurnRomInfo Specmgmoon2sRomDesc[] = {
	{ "Magnetic Moon II - Starship Quest (1990)(FSF Adventures)(Part 1 of 3)[128K][shareware].z80", 0x112d0, 0x46ac171f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmgmoon2s, Specmgmoon2s, Spectrum)
STD_ROM_FN(Specmgmoon2s)

struct BurnDriver BurnSpecmgmoon2s = {
	"spec_mgmoon2s", "spec_mgmoon2", "spec_spec128", NULL, "1990",
	"Magnetic Moon II - Starship Quest (Part 1 of 3) (shareware) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmgmoon2sRomInfo, Specmgmoon2sRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magnetic Moon II - Starship Quest (Part 2 of 3) (48K)

static struct BurnRomInfo Specmgmoon22_48RomDesc[] = {
	{ "Magnetic Moon II - Starship Quest (1990)(FSF Adventures)(Part 2 of 3).z80", 0x09250, 0x3d17d6ed, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmgmoon22_48, Specmgmoon22_48, Spectrum)
STD_ROM_FN(Specmgmoon22_48)

struct BurnDriver BurnSpecmgmoon22_48 = {
	"spec_mgmoon22_48", "spec_mgmoon2", "spec_spectrum", NULL, "1990",
	"Magnetic Moon II - Starship Quest (Part 2 of 3) (48K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmgmoon22_48RomInfo, Specmgmoon22_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magnetic Moon II - Starship Quest (Part 2 of 3) (registered) (128K)

static struct BurnRomInfo Specmgmoon22RomDesc[] = {
	{ "Magnetic Moon II - Starship Quest (1990)(FSF Adventures)(Part 2 of 3)[128K][registered].z80", 0x101a0, 0x8a61de28, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmgmoon22, Specmgmoon22, Spectrum)
STD_ROM_FN(Specmgmoon22)

struct BurnDriver BurnSpecmgmoon22 = {
	"spec_mgmoon22", "spec_mgmoon2", "spec_spec128", NULL, "1990",
	"Magnetic Moon II - Starship Quest (Part 2 of 3) (registered) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmgmoon22RomInfo, Specmgmoon22RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magnetic Moon II - Starship Quest (Part 2 of 3) (shareware) (128K)

static struct BurnRomInfo Specmgmoon2s2RomDesc[] = {
	{ "Magnetic Moon II - Starship Quest (1990)(FSF Adventures)(Part 2 of 3)[128K][shareware].z80", 0x0fe3d, 0x20405b65, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmgmoon2s2, Specmgmoon2s2, Spectrum)
STD_ROM_FN(Specmgmoon2s2)

struct BurnDriver BurnSpecmgmoon2s2 = {
	"spec_mgmoon2s2", "spec_mgmoon2", "spec_spec128", NULL, "1990",
	"Magnetic Moon II - Starship Quest (Part 2 of 3) (shareware) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmgmoon2s2RomInfo, Specmgmoon2s2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magnetic Moon II - Starship Quest (Part 3 of 3) (48K)

static struct BurnRomInfo Specmgmoon23_48RomDesc[] = {
	{ "Magnetic Moon II - Starship Quest (1990)(FSF Adventures)(Part 3 of 3).z80", 0x0928a, 0x5a4ed07f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmgmoon23_48, Specmgmoon23_48, Spectrum)
STD_ROM_FN(Specmgmoon23_48)

struct BurnDriver BurnSpecmgmoon23_48 = {
	"spec_mgmoon23_48", "spec_mgmoon2", "spec_spectrum", NULL, "1990",
	"Magnetic Moon II - Starship Quest (Part 3 of 3) (48K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmgmoon23_48RomInfo, Specmgmoon23_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magnetic Moon II - Starship Quest (Part 3 of 3) (registered) (128K)

static struct BurnRomInfo Specmgmoon23RomDesc[] = {
	{ "Magnetic Moon II - Starship Quest (1990)(FSF Adventures)(Part 3 of 3)[128K][registered].z80", 0x10738, 0x61e55b2b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmgmoon23, Specmgmoon23, Spectrum)
STD_ROM_FN(Specmgmoon23)

struct BurnDriver BurnSpecmgmoon23 = {
	"spec_mgmoon23", "spec_mgmoon2", "spec_spec128", NULL, "1990",
	"Magnetic Moon II - Starship Quest (Part 3 of 3) (registered) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmgmoon23RomInfo, Specmgmoon23RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magnetic Moon II - Starship Quest (Part 3 of 3) (shareware) (128K)

static struct BurnRomInfo Specmgmoon2s3RomDesc[] = {
	{ "Magnetic Moon II - Starship Quest (1990)(FSF Adventures)(Part 3 of 3)[128K][shareware].z80", 0x106be, 0x6d8bb47a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmgmoon2s3, Specmgmoon2s3, Spectrum)
STD_ROM_FN(Specmgmoon2s3)

struct BurnDriver BurnSpecmgmoon2s3 = {
	"spec_mgmoon2s3", "spec_mgmoon2", "spec_spec128", NULL, "1990",
	"Magnetic Moon II - Starship Quest (Part 3 of 3) (shareware) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmgmoon2s3RomInfo, Specmgmoon2s3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magnetron (48K)

static struct BurnRomInfo SpecmagnetroRomDesc[] = {
	{ "Magnetron (1988)(Firebird Software).z80", 0x090ce, 0x2eecbb19, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagnetro, Specmagnetro, Spectrum)
STD_ROM_FN(Specmagnetro)

struct BurnDriver BurnSpecmagnetro = {
	"spec_magnetro", NULL, "spec_spectrum", NULL, "1988",
	"Magnetron (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmagnetroRomInfo, SpecmagnetroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Magnets (48K)

static struct BurnRomInfo SpecmagnetsRomDesc[] = {
	{ "Magnets (1984)(Macmillan Software - Sinclair Research).z80", 0x04fc7, 0xcf7da3c7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagnets, Specmagnets, Spectrum)
STD_ROM_FN(Specmagnets)

struct BurnDriver BurnSpecmagnets = {
	"spec_magnets", NULL, "spec_spectrum", NULL, "1984",
	"Magnets (48K)\0", NULL, "Macmillan Software - Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmagnetsRomInfo, SpecmagnetsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mago, El (Spanish) (48K)

static struct BurnRomInfo SpecmagoelesRomDesc[] = {
	{ "Mago, El (19xx)(-)(es).z80", 0x02976, 0x70f825a6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmagoeles, Specmagoeles, Spectrum)
STD_ROM_FN(Specmagoeles)

struct BurnDriver BurnSpecmagoeles = {
	"spec_magoeles", NULL, "spec_spectrum", NULL, "19xx",
	"Mago, El (Spanish) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmagoelesRomInfo, SpecmagoelesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mah Jong (48K)

static struct BurnRomInfo SpecmahjongRomDesc[] = {
	{ "Mah Jong (19xx)(Spectre).z80", 0x0adee, 0x9f701804, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmahjong, Specmahjong, Spectrum)
STD_ROM_FN(Specmahjong)

struct BurnDriver BurnSpecmahjong = {
	"spec_mahjong", NULL, "spec_spectrum", NULL, "19xx",
	"Mah Jong (48K)\0", NULL, "Spectre", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmahjongRomInfo, SpecmahjongRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mailstrom (48K)

static struct BurnRomInfo SpecmailstroRomDesc[] = {
	{ "Mailstrom (1986)(Ocean).z80", 0x0a86f, 0x4fb83e13, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmailstro, Specmailstro, Spectrum)
STD_ROM_FN(Specmailstro)

struct BurnDriver BurnSpecmailstro = {
	"spec_mailstro", NULL, "spec_spectrum", NULL, "1986",
	"Mailstrom (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmailstroRomInfo, SpecmailstroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Main Blow, The (Russian) (48K)

static struct BurnRomInfo SpecmaiblothRomDesc[] = {
	{ "Main Blow, The (1994)(Chip - Rocky)(ru).z80", 0x0929a, 0x444e8c39, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmaibloth, Specmaibloth, Spectrum)
STD_ROM_FN(Specmaibloth)

struct BurnDriver BurnSpecmaibloth = {
	"spec_maibloth", NULL, "spec_spectrum", NULL, "1994",
	"Main Blow, The (Russian) (48K)\0", NULL, "Chip - Rocky", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmaiblothRomInfo, SpecmaiblothRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Majik (48K)

static struct BurnRomInfo SpecmajikRomDesc[] = {
	{ "Majik (1988)(Mastertronic).z80", 0x0a24c, 0x4114c3d6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmajik, Specmajik, Spectrum)
STD_ROM_FN(Specmajik)

struct BurnDriver BurnSpecmajik = {
	"spec_majik", NULL, "spec_spectrum", NULL, "1988",
	"Majik (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmajikRomInfo, SpecmajikRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Makao (pl) (48K)

static struct BurnRomInfo SpecmakaoplRomDesc[] = {
	{ "Makao (1985)(A. Mielczarek)(pl).z80", 0x0443a, 0x2abe6d50, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmakaopl, Specmakaopl, Spectrum)
STD_ROM_FN(Specmakaopl)

struct BurnDriver BurnSpecmakaopl = {
	"spec_makaopl", NULL, "spec_spectrum", NULL, "1985",
	"Makao (pl) (48K)\0", NULL, "A. Mielczarek", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmakaoplRomInfo, SpecmakaoplRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Maldicion de Aros, La (Spanish) (48K)

static struct BurnRomInfo SpecmalarolaRomDesc[] = {
	{ "Maldicion de Aros, La (1991)(Carlos Moreno)(es).z80", 0x08f79, 0xa369981b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmalarola, Specmalarola, Spectrum)
STD_ROM_FN(Specmalarola)

struct BurnDriver BurnSpecmalarola = {
	"spec_malarola", NULL, "spec_spectrum", NULL, "1991",
	"Maldicion de Aros, La (Spanish) (48K)\0", NULL, "Carlos Moreno", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmalarolaRomInfo, SpecmalarolaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Maldicion de los Mac Leod, La (Spanish) (48K)

static struct BurnRomInfo SpecmamalelaRomDesc[] = {
	{ "Maldicion de los Mac Leod, La (1990)(Danisoft)(es).z80", 0x0906a, 0x26cb3657, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmamalela, Specmamalela, Spectrum)
STD_ROM_FN(Specmamalela)

struct BurnDriver BurnSpecmamalela = {
	"spec_mamalela", NULL, "spec_spectrum", NULL, "1990",
	"Maldicion de los Mac Leod, La (Spanish) (48K)\0", NULL, "Danisoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmamalelaRomInfo, SpecmamalelaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Maldita Escuela (Spanish) (48K)

static struct BurnRomInfo SpecmaldescuRomDesc[] = {
	{ "Maldita Escuela (1989)(MegaSoft)(es).z80", 0x08c04, 0x54c31e66, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmaldescu, Specmaldescu, Spectrum)
STD_ROM_FN(Specmaldescu)

struct BurnDriver BurnSpecmaldescu = {
	"spec_maldescu", NULL, "spec_spectrum", NULL, "1989",
	"Maldita Escuela (Spanish) (48K)\0", NULL, "MegaSoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmaldescuRomInfo, SpecmaldescuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Malice (48K)

static struct BurnRomInfo SpecmaliceRomDesc[] = {
	{ "Malice (19xx)(-).z80", 0x08cd6, 0x2c902e3a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmalice, Specmalice, Spectrum)
STD_ROM_FN(Specmalice)

struct BurnDriver BurnSpecmalice = {
	"spec_malice", NULL, "spec_spectrum", NULL, "19xx",
	"Malice (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmaliceRomInfo, SpecmaliceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Malice in Blunderland (48K)

static struct BurnRomInfo SpecmaliblunRomDesc[] = {
	{ "Malice in Blunderland (1985)(The Guild).z80", 0x0817e, 0x3978c6c7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmaliblun, Specmaliblun, Spectrum)
STD_ROM_FN(Specmaliblun)

struct BurnDriver BurnSpecmaliblun = {
	"spec_maliblun", NULL, "spec_spectrum", NULL, "1985",
	"Malice in Blunderland (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmaliblunRomInfo, SpecmaliblunRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Malice in Wonderland (48K)

static struct BurnRomInfo SpecmaliwondRomDesc[] = {
	{ "Malice in Wonderland (1985)(Sentient Software).z80", 0x07484, 0xfffaced7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmaliwond, Specmaliwond, Spectrum)
STD_ROM_FN(Specmaliwond)

struct BurnDriver BurnSpecmaliwond = {
	"spec_maliwond", NULL, "spec_spectrum", NULL, "1985",
	"Malice in Wonderland (48K)\0", NULL, "Sentient Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmaliwondRomInfo, SpecmaliwondRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mampfman (German) (48K)

static struct BurnRomInfo SpecmampfmanRomDesc[] = {
	{ "Mampfman (19xx)(-)(de).z80", 0x0248b, 0x3fc44821, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmampfman, Specmampfman, Spectrum)
STD_ROM_FN(Specmampfman)

struct BurnDriver BurnSpecmampfman = {
	"spec_mampfman", NULL, "spec_spectrum", NULL, "19xx",
	"Mampfman (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmampfmanRomInfo, SpecmampfmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Man About the House (48K)

static struct BurnRomInfo SpecmanabohoRomDesc[] = {
	{ "Man About the House (1994)(Zenobi Software).z80", 0x09293, 0x793929ac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmanaboho, Specmanaboho, Spectrum)
STD_ROM_FN(Specmanaboho)

struct BurnDriver BurnSpecmanaboho = {
	"spec_manaboho", NULL, "spec_spectrum", NULL, "1994",
	"Man About the House (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmanabohoRomInfo, SpecmanabohoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Man Hunt (48K)

static struct BurnRomInfo SpecmanhuntRomDesc[] = {
	{ "Man Hunt (1984)(Omen Software).z80", 0x043a8, 0x9f68ff11, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmanhunt, Specmanhunt, Spectrum)
STD_ROM_FN(Specmanhunt)

struct BurnDriver BurnSpecmanhunt = {
	"spec_manhunt", NULL, "spec_spectrum", NULL, "1984",
	"Man Hunt (48K)\0", NULL, "Omen Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmanhuntRomInfo, SpecmanhuntRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Manager, The (48K)

static struct BurnRomInfo SpecmanagerRomDesc[] = {
	{ "Manager, The (1990)(GTI Software).z80", 0x09aa6, 0x1344ae48, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmanager, Specmanager, Spectrum)
STD_ROM_FN(Specmanager)

struct BurnDriver BurnSpecmanager = {
	"spec_manager", NULL, "spec_spectrum", NULL, "1990",
	"Manager, The (48K)\0", NULL, "GTI Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmanagerRomInfo, SpecmanagerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Manchester United Europe (128K)

static struct BurnRomInfo SpecmanutdeuRomDesc[] = {
	{ "Manchester United Europe (1991)(Krisalis Software)(M5)[128K].z80", 0x0fb26, 0xb4146de0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmanutdeu, Specmanutdeu, Spectrum)
STD_ROM_FN(Specmanutdeu)

struct BurnDriver BurnSpecmanutdeu = {
	"spec_manutdeu", NULL, "spec_spec128", NULL, "1991",
	"Manchester United Europe (128K)\0", NULL, "Krisalis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmanutdeuRomInfo, SpecmanutdeuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Maniac (German) (48K)

static struct BurnRomInfo SpecmaniacdeRomDesc[] = {
	{ "Maniac (1983)(Prospek Computing Cooperation)(de).z80", 0x0678f, 0x489faabc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmaniacde, Specmaniacde, Spectrum)
STD_ROM_FN(Specmaniacde)

struct BurnDriver BurnSpecmaniacde = {
	"spec_maniacde", NULL, "spec_spectrum", NULL, "1983",
	"Maniac (German) (48K)\0", NULL, "Prospek Computing Cooperation", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmaniacdeRomInfo, SpecmaniacdeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Manic Miner - Eugene - Lord of the Bathroom (48K)

static struct BurnRomInfo SpecmminrelbRomDesc[] = {
	{ "Manic Miner - Eugene - Lord of the Bathroom (1999)(Manic Miner Technologies).z80", 0x07792, 0x3062e7d8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmminrelb, Specmminrelb, Spectrum)
STD_ROM_FN(Specmminrelb)

struct BurnDriver BurnSpecmminrelb = {
	"spec_mminrelb", NULL, "spec_spectrum", NULL, "1999",
	"Manic Miner - Eugene - Lord of the Bathroom (48K)\0", NULL, "Manic Miner Technologies", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmminrelbRomInfo, SpecmminrelbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Manic Miner (Bug-Byte Software) (48K)

static struct BurnRomInfo SpecmminerRomDesc[] = {
	{ "Manic Miner (1983)(Bug-Byte Software).z80", 0x06834, 0x024b1971, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmminer, Specmminer, Spectrum)
STD_ROM_FN(Specmminer)

struct BurnDriver BurnSpecmminer = {
	"spec_mminer", NULL, "spec_spectrum", NULL, "1983",
	"Manic Miner (Bug-Byte Software) (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmminerRomInfo, SpecmminerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Manic Miner (Software Projects) (48K)

static struct BurnRomInfo SpecmminerspRomDesc[] = {
	{ "Manic Miner (1983)(Software Projects).z80", 0x05ff0, 0x2187b9dd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmminersp, Specmminersp, Spectrum)
STD_ROM_FN(Specmminersp)

struct BurnDriver BurnSpecmminersp = {
	"spec_mminersp", NULL, "spec_spectrum", NULL, "1983",
	"Manic Miner (Software Projects) (48K)\0", NULL, "Software Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmminerspRomInfo, SpecmminerspRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Manic Miner 2 (German) (48K)

static struct BurnRomInfo Specmminer2RomDesc[] = {
	{ "Manic Miner 2 (1985)(Schultze)(de).z80", 0x07b44, 0xf7f9f596, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmminer2, Specmminer2, Spectrum)
STD_ROM_FN(Specmminer2)

struct BurnDriver BurnSpecmminer2 = {
	"spec_mminer2", NULL, "spec_spectrum", NULL, "1985",
	"Manic Miner 2 (German) (48K)\0", NULL, "Schultze", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmminer2RomInfo, Specmminer2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Manic Miner 2000 (48K)

static struct BurnRomInfo Specmmin2000RomDesc[] = {
	{ "Manic Miner 2000 (2000)(FELL).z80", 0x074fc, 0x1a18ce57, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmmin2000, Specmmin2000, Spectrum)
STD_ROM_FN(Specmmin2000)

struct BurnDriver BurnSpecmmin2000 = {
	"spec_mmin2000", NULL, "spec_spectrum", NULL, "2000",
	"Manic Miner 2000 (48K)\0", NULL, "FELL", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmmin2000RomInfo, Specmmin2000RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Manic Miner 3 - Tales from a Parallel Universe (48K)

static struct BurnRomInfo Specmminer3RomDesc[] = {
	{ "Manic Miner 3 - Tales from a Parallel Universe (1996)(Cheese Freak Software).z80", 0x072d6, 0xcf55b0d7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmminer3, Specmminer3, Spectrum)
STD_ROM_FN(Specmminer3)

struct BurnDriver BurnSpecmminer3 = {
	"spec_mminer3", NULL, "spec_spectrum", NULL, "1996",
	"Manic Miner 3 - Tales from a Parallel Universe (48K)\0", NULL, "Cheese Freak Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmminer3RomInfo, Specmminer3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Manic Miner 4 (48K)

static struct BurnRomInfo Specmminer4RomDesc[] = {
	{ "Manic Miner 4 (1997)(Broadsoft).z80", 0x05e4f, 0xe1333f89, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmminer4, Specmminer4, Spectrum)
STD_ROM_FN(Specmminer4)

struct BurnDriver BurnSpecmminer4 = {
	"spec_mminer4", NULL, "spec_spectrum", NULL, "1997",
	"Manic Miner 4 (48K)\0", NULL, "Broadsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmminer4RomInfo, Specmminer4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Manic Miner 5 - Los Peligros del LSD (Spanish) (48K)

static struct BurnRomInfo Specmminer5RomDesc[] = {
	{ "Manic Miner 5 - Los Peligros del LSD (1998)(Ignacio Perez Gil)(es).z80", 0x0744d, 0x60b13997, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmminer5, Specmminer5, Spectrum)
STD_ROM_FN(Specmminer5)

struct BurnDriver BurnSpecmminer5 = {
	"spec_mminer5", NULL, "spec_spectrum", NULL, "1998",
	"Manic Miner 5 - Los Peligros del LSD (Spanish) (48K)\0", NULL, "Ignacio Perez Gil", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmminer5RomInfo, Specmminer5RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Manic Miner 6 - The Buddha of Suburbia (48K)

static struct BurnRomInfo Specmminer6RomDesc[] = {
	{ "Manic Miner 6 - The Buddha of Suburbia (1998)(Broadsoft).z80", 0x06ee0, 0x0e3cccdf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmminer6, Specmminer6, Spectrum)
STD_ROM_FN(Specmminer6)

struct BurnDriver BurnSpecmminer6 = {
	"spec_mminer6", NULL, "spec_spectrum", NULL, "1998",
	"Manic Miner 6 - The Buddha of Suburbia (48K)\0", NULL, "Broadsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmminer6RomInfo, Specmminer6RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Manic Miner 7 (48K)

static struct BurnRomInfo Specmminer7RomDesc[] = {
	{ "Manic Miner 7 (1998)(Craig Rothwell).z80", 0x07471, 0x7f16fd7a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmminer7, Specmminer7, Spectrum)
STD_ROM_FN(Specmminer7)

struct BurnDriver BurnSpecmminer7 = {
	"spec_mminer7", NULL, "spec_spectrum", NULL, "1998",
	"Manic Miner 7 (48K)\0", NULL, "Craig Rothwell", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmminer7RomInfo, Specmminer7RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Manic Miner Patch (48K)

static struct BurnRomInfo SpecmminerpRomDesc[] = {
	{ "Manic Miner Patch (19xx)(John Elliott).z80", 0x06878, 0x4ca48739, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmminerp, Specmminerp, Spectrum)
STD_ROM_FN(Specmminerp)

struct BurnDriver BurnSpecmminerp = {
	"spec_mminerp", NULL, "spec_spectrum", NULL, "19xx",
	"Manic Miner Patch (48K)\0", NULL, "John Elliott", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmminerpRomInfo, SpecmminerpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Manollo - El Cavernicola (48K)

static struct BurnRomInfo SpecmanelcavRomDesc[] = {
	{ "Manollo - El Cavernicola (1988)(Iber Soft).z80", 0x08dd0, 0x1b51b04c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmanelcav, Specmanelcav, Spectrum)
STD_ROM_FN(Specmanelcav)

struct BurnDriver BurnSpecmanelcav = {
	"spec_manelcav", NULL, "spec_spectrum", NULL, "1988",
	"Manollo - El Cavernicola (48K)\0", NULL, "Iber Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmanelcavRomInfo, SpecmanelcavRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Manor Murder Case, The (48K)

static struct BurnRomInfo SpecmamucathRomDesc[] = {
	{ "Manor Murder Case, The (19xx)(-).z80", 0x0ad76, 0x11c6ab22, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmamucath, Specmamucath, Spectrum)
STD_ROM_FN(Specmamucath)

struct BurnDriver BurnSpecmamucath = {
	"spec_mamucath", NULL, "spec_spectrum", NULL, "19xx",
	"Manor Murder Case, The (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmamucathRomInfo, SpecmamucathRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Manor of Madness (48K)

static struct BurnRomInfo SpecmanomadnRomDesc[] = {
	{ "Manor of Madness (1984)(Celtic Software).z80", 0x08843, 0xe60c72ad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmanomadn, Specmanomadn, Spectrum)
STD_ROM_FN(Specmanomadn)

struct BurnDriver BurnSpecmanomadn = {
	"spec_manomadn", NULL, "spec_spectrum", NULL, "1984",
	"Manor of Madness (48K)\0", NULL, "Celtic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmanomadnRomInfo, SpecmanomadnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mansion Quest (48K)

static struct BurnRomInfo SpecmansquesRomDesc[] = {
	{ "Mansion Quest (1990)(G.I. Games).z80", 0x07fc9, 0x59914b1b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmansques, Specmansques, Spectrum)
STD_ROM_FN(Specmansques)

struct BurnDriver BurnSpecmansques = {
	"spec_mansques", NULL, "spec_spectrum", NULL, "1990",
	"Mansion Quest (48K)\0", NULL, "G.I. Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmansquesRomInfo, SpecmansquesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mantis 2 (Spanish) (48K)

static struct BurnRomInfo Specmantis2eRomDesc[] = {
	{ "Mantis 2 (1990)(Raven Adventures)(es).z80", 0x0b51b, 0xefab5d8f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmantis2e, Specmantis2e, Spectrum)
STD_ROM_FN(Specmantis2e)

struct BurnDriver BurnSpecmantis2e = {
	"spec_mantis2e", NULL, "spec_spectrum", NULL, "1990",
	"Mantis 2 (Spanish) (48K)\0", NULL, "Raven Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmantis2eRomInfo, Specmantis2eRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Man-Trap (48K)

static struct BurnRomInfo SpecmantrapRomDesc[] = {
	{ "Man-Trap (1984)(Century City Software).z80", 0x02762, 0x4a234429, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmantrap, Specmantrap, Spectrum)
STD_ROM_FN(Specmantrap)

struct BurnDriver BurnSpecmantrap = {
	"spec_mantrap", NULL, "spec_spectrum", NULL, "1984",
	"Man-Trap (48K)\0", NULL, "Century City Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmantrapRomInfo, SpecmantrapRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mantronix (48K)

static struct BurnRomInfo SpecmantroniRomDesc[] = {
	{ "Mantronix (1986)(Probe Software).z80", 0x09b9c, 0x007d2811, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmantroni, Specmantroni, Spectrum)
STD_ROM_FN(Specmantroni)

struct BurnDriver BurnSpecmantroni = {
	"spec_mantroni", NULL, "spec_spectrum", NULL, "1986",
	"Mantronix (48K)\0", NULL, "Probe Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmantroniRomInfo, SpecmantroniRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Manzana (Spanish) (48K)

static struct BurnRomInfo SpecmanzanaeRomDesc[] = {
	{ "Manzana (1985)(Stars)(es)[aka Humpty Dumpty Meets the Fuzzie Wuzzies].z80", 0x06e52, 0x3e16cb8c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmanzanae, Specmanzanae, Spectrum)
STD_ROM_FN(Specmanzanae)

struct BurnDriver BurnSpecmanzanae = {
	"spec_manzanae", NULL, "spec_spectrum", NULL, "1985",
	"Manzana (Spanish) (48K)\0", NULL, "Stars", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmanzanaeRomInfo, SpecmanzanaeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Map Snatch (Spanish) (48K)

static struct BurnRomInfo SpecmapsnatcRomDesc[] = {
	{ "Map Snatch (1985)(Dinamic Software)(es).z80", 0x0955e, 0xe1294a7f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmapsnatc, Specmapsnatc, Spectrum)
STD_ROM_FN(Specmapsnatc)

struct BurnDriver BurnSpecmapsnatc = {
	"spec_mapsnatc", NULL, "spec_spectrum", NULL, "1985",
	"Map Snatch (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmapsnatcRomInfo, SpecmapsnatcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mapper, The - Player's Guide (48K)

static struct BurnRomInfo SpecmapperpgRomDesc[] = {
	{ "Mapper, The - Player's Guide (1992)(Zenobi Software).z80", 0x05252, 0xa1d9ec15, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmapperpg, Specmapperpg, Spectrum)
STD_ROM_FN(Specmapperpg)

struct BurnDriver BurnSpecmapperpg = {
	"spec_mapperpg", "spec_mapper", "spec_spectrum", NULL, "1992",
	"Mapper, The - Player's Guide (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmapperpgRomInfo, SpecmapperpgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mapper, The (48K)

static struct BurnRomInfo SpecmapperRomDesc[] = {
	{ "Mapper, The (1992)(Zenobi Software).z80", 0x09ee9, 0x2c960e5c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmapper, Specmapper, Spectrum)
STD_ROM_FN(Specmapper)

struct BurnDriver BurnSpecmapper = {
	"spec_mapper", NULL, "spec_spectrum", NULL, "1992",
	"Mapper, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmapperRomInfo, SpecmapperRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Marauder (48K)

static struct BurnRomInfo Specmarauder_48RomDesc[] = {
	{ "Marauder (1988)(Hewson Consultants).z80", 0x0a88e, 0x51255018, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmarauder_48, Specmarauder_48, Spectrum)
STD_ROM_FN(Specmarauder_48)

struct BurnDriver BurnSpecmarauder_48 = {
	"spec_marauder_48", "spec_marauder", "spec_spectrum", NULL, "1988",
	"Marauder (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmarauder_48RomInfo, Specmarauder_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Marauder (128K)

static struct BurnRomInfo SpecmarauderRomDesc[] = {
	{ "Marauder (1988)(Hewson Consultants)[128K].z80", 0x0cf0c, 0xc00eaac9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmarauder, Specmarauder, Spectrum)
STD_ROM_FN(Specmarauder)

struct BurnDriver BurnSpecmarauder = {
	"spec_marauder", NULL, "spec_spec128", NULL, "1988",
	"Marauder (128K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmarauderRomInfo, SpecmarauderRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Marble Madness - Construction Set (48K)

static struct BurnRomInfo SpecmarbmcsRomDesc[] = {
	{ "Marble Madness - Construction Set (1986)(Melbourne House).z80", 0x0777c, 0x7595ec3b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmarbmcs, Specmarbmcs, Spectrum)
STD_ROM_FN(Specmarbmcs)

struct BurnDriver BurnSpecmarbmcs = {
	"spec_marbmcs", NULL, "spec_spectrum", NULL, "1986",
	"Marble Madness - Construction Set (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmarbmcsRomInfo, SpecmarbmcsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Marble Madness - Deluxe Edition (48K)

static struct BurnRomInfo SpecmarblemRomDesc[] = {
	{ "Marble Madness - Deluxe Edition (1987)(Melbourne House).z80", 0x0793d, 0x3d08e9ec, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmarblem, Specmarblem, Spectrum)
STD_ROM_FN(Specmarblem)

struct BurnDriver BurnSpecmarblem = {
	"spec_marblem", NULL, "spec_spectrum", NULL, "1987",
	"Marble Madness - Deluxe Edition (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmarblemRomInfo, SpecmarblemRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Maria's Christmas Box (48K)

static struct BurnRomInfo SpecmarchrboRomDesc[] = {
	{ "Maria's Christmas Box (1989)(Anco Software).z80", 0x06b8b, 0x91ad63fc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmarchrbo, Specmarchrbo, Spectrum)
STD_ROM_FN(Specmarchrbo)

struct BurnDriver BurnSpecmarchrbo = {
	"spec_marchrbo", NULL, "spec_spectrum", NULL, "1989",
	"Maria's Christmas Box (48K)\0", NULL, "Anco Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmarchrboRomInfo, SpecmarchrboRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mario Bros (48K)

static struct BurnRomInfo SpecmaribrosRomDesc[] = {
	{ "Mario Bros (1987)(Ocean).z80", 0x08f38, 0xe42c245c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmaribros, Specmaribros, Spectrum)
STD_ROM_FN(Specmaribros)

struct BurnDriver BurnSpecmaribros = {
	"spec_maribros", NULL, "spec_spectrum", NULL, "1987",
	"Mario Bros (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmaribrosRomInfo, SpecmaribrosRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mario Islands (demo) (128K)

static struct BurnRomInfo SpecmariislaRomDesc[] = {
	{ "Mario Islands (demo) (1997)(Omega Hackers Group)[128K].z80", 0x0df73, 0x49ba6797, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmariisla, Specmariisla, Spectrum)
STD_ROM_FN(Specmariisla)

struct BurnDriver BurnSpecmariisla = {
	"spec_mariisla", NULL, "spec_spec128", NULL, "1997",
	"Mario Islands (demo) (128K)\0", NULL, "Omega Hackers Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmariislaRomInfo, SpecmariislaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Marooned (48K)

static struct BurnRomInfo Specmarooned_48RomDesc[] = {
	{ "Marooned (1992)(Zenobi Software).z80", 0x0a47f, 0xe7e09de9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmarooned_48, Specmarooned_48, Spectrum)
STD_ROM_FN(Specmarooned_48)

struct BurnDriver BurnSpecmarooned_48 = {
	"spec_marooned_48", NULL, "spec_spectrum", NULL, "1992",
	"Marooned (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmarooned_48RomInfo, Specmarooned_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Marooned! (128K)

static struct BurnRomInfo SpecmaroonedRomDesc[] = {
	{ "Marooned! (19xx)(Chezron Software)[128K].z80", 0x0a519, 0x6a6e9226, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmarooned, Specmarooned, Spectrum)
STD_ROM_FN(Specmarooned)

struct BurnDriver BurnSpecmarooned = {
	"spec_marooned", NULL, "spec_spec128", NULL, "19xx",
	"Marooned! (128K)\0", NULL, "Chezron Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmaroonedRomInfo, SpecmaroonedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Marsport (48K)

static struct BurnRomInfo SpecmarsportRomDesc[] = {
	{ "Marsport (1985)(Gargoyle Games).z80", 0x0a426, 0xa26b28c4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmarsport, Specmarsport, Spectrum)
STD_ROM_FN(Specmarsport)

struct BurnDriver BurnSpecmarsport = {
	"spec_marsport", NULL, "spec_spectrum", NULL, "1985",
	"Marsport (48K)\0", NULL, "Gargoyle Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmarsportRomInfo, SpecmarsportRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Martian Attack (48K)

static struct BurnRomInfo SpecmartattaRomDesc[] = {
	{ "Martian Attack (19xx)(-).z80", 0x060bd, 0x876bbe54, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmartatta, Specmartatta, Spectrum)
STD_ROM_FN(Specmartatta)

struct BurnDriver BurnSpecmartatta = {
	"spec_martatta", NULL, "spec_spectrum", NULL, "19xx",
	"Martian Attack (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmartattaRomInfo, SpecmartattaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Martianoids (48K)

static struct BurnRomInfo SpecmartianoRomDesc[] = {
	{ "Martianoids (1987)(Ultimate Play The Game).z80", 0x07475, 0xf3ddf796, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmartiano, Specmartiano, Spectrum)
STD_ROM_FN(Specmartiano)

struct BurnDriver BurnSpecmartiano = {
	"spec_martiano", NULL, "spec_spectrum", NULL, "1987",
	"Martianoids (48K)\0", NULL, "Ultimate Play The Game", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmartianoRomInfo, SpecmartianoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mask (128K)

static struct BurnRomInfo SpecmaskRomDesc[] = {
	{ "Mask (1987)(Gremlin Graphics Software)[128K].z80", 0x1687b, 0xcdd8c4b1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmask, Specmask, Spectrum)
STD_ROM_FN(Specmask)

struct BurnDriver BurnSpecmask = {
	"spec_mask", NULL, "spec_spec128", NULL, "1987",
	"Mask (128K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmaskRomInfo, SpecmaskRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mask II (48K)

static struct BurnRomInfo Specmask2_48RomDesc[] = {
	{ "Mask II (1988)(Gremlin Graphics Software).z80", 0x089d3, 0x06499e7e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmask2_48, Specmask2_48, Spectrum)
STD_ROM_FN(Specmask2_48)

struct BurnDriver BurnSpecmask2_48 = {
	"spec_mask2_48", "spec_mask2", "spec_spectrum", NULL, "1988",
	"Mask II (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmask2_48RomInfo, Specmask2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mask II (128K)

static struct BurnRomInfo Specmask2RomDesc[] = {
	{ "Mask II (1988)(Gremlin Graphics Software)[128K].z80", 0x111c7, 0x34962bf4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmask2, Specmask2, Spectrum)
STD_ROM_FN(Specmask2)

struct BurnDriver BurnSpecmask2 = {
	"spec_mask2", NULL, "spec_spec128", NULL, "1988",
	"Mask II (128K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmask2RomInfo, Specmask2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mask III - Venom Strikes Back (48K)

static struct BurnRomInfo Specmask3_48RomDesc[] = {
	{ "Mask III - Venom Strikes Back (1988)(Gremlin Graphics Software).z80", 0x096ed, 0x46b0a3ca, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmask3_48, Specmask3_48, Spectrum)
STD_ROM_FN(Specmask3_48)

struct BurnDriver BurnSpecmask3_48 = {
	"spec_mask3_48", "spec_mask3", "spec_spectrum", NULL, "1988",
	"Mask III - Venom Strikes Back (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmask3_48RomInfo, Specmask3_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mask III - Venom Strikes Back (128K)

static struct BurnRomInfo Specmask3RomDesc[] = {
	{ "Mask III - Venom Strikes Back (1988)(Gremlin Graphics Software)[128K].z80", 0x0b6d6, 0x726e06ae, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmask3, Specmask3, Spectrum)
STD_ROM_FN(Specmask3)

struct BurnDriver BurnSpecmask3 = {
	"spec_mask3", NULL, "spec_spec128", NULL, "1988",
	"Mask III - Venom Strikes Back (128K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmask3RomInfo, Specmask3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Master and Servant (48K)

static struct BurnRomInfo SpecmastservRomDesc[] = {
	{ "Master and Servant (1985)(Atlantis Software).z80", 0x09480, 0xf09b3598, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmastserv, Specmastserv, Spectrum)
STD_ROM_FN(Specmastserv)

struct BurnDriver BurnSpecmastserv = {
	"spec_mastserv", NULL, "spec_spectrum", NULL, "1985",
	"Master and Servant (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmastservRomInfo, SpecmastservRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Master Chess (48K)

static struct BurnRomInfo SpecmastchesRomDesc[] = {
	{ "Master Chess (1987)(Mastertronic).z80", 0x03c46, 0xdf6cda44, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmastches, Specmastches, Spectrum)
STD_ROM_FN(Specmastches)

struct BurnDriver BurnSpecmastches = {
	"spec_mastches", NULL, "spec_spectrum", NULL, "1987",
	"Master Chess (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmastchesRomInfo, SpecmastchesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Master Mariner (48K)

static struct BurnRomInfo Specmastmari_48RomDesc[] = {
	{ "Master Mariner (1984)(Atlantis Software).z80", 0x09d3f, 0x5b5fead9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmastmari_48, Specmastmari_48, Spectrum)
STD_ROM_FN(Specmastmari_48)

struct BurnDriver BurnSpecmastmari_48 = {
	"spec_mastmari_48", "spec_mastmari", "spec_spectrum", NULL, "1984",
	"Master Mariner (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmastmari_48RomInfo, Specmastmari_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Master Mariner (128K)

static struct BurnRomInfo SpecmastmariRomDesc[] = {
	{ "Master Mariner (1984)(Atlantis Software)[128K].z80", 0x19e34, 0x85042a41, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmastmari, Specmastmari, Spectrum)
STD_ROM_FN(Specmastmari)

struct BurnDriver BurnSpecmastmari = {
	"spec_mastmari", NULL, "spec_spec128", NULL, "1984",
	"Master Mariner (128K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmastmariRomInfo, SpecmastmariRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Master of Magic, The (48K)

static struct BurnRomInfo SpecmasmagthRomDesc[] = {
	{ "Master of Magic, The (1986)(Mastertronic Added Dimension).z80", 0x07ce9, 0x5417023b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmasmagth, Specmasmagth, Spectrum)
STD_ROM_FN(Specmasmagth)

struct BurnDriver BurnSpecmasmagth = {
	"spec_masmagth", NULL, "spec_spectrum", NULL, "1986",
	"Master of Magic, The (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmasmagthRomInfo, SpecmasmagthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Master, The (48K)

static struct BurnRomInfo SpecmasterRomDesc[] = {
	{ "Master, The (1986)(Artic Computing).z80", 0x0a5f0, 0x97509189, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmaster, Specmaster, Spectrum)
STD_ROM_FN(Specmaster)

struct BurnDriver BurnSpecmaster = {
	"spec_master", NULL, "spec_spectrum", NULL, "1986",
	"Master, The (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmasterRomInfo, SpecmasterRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Masterchess (48K)

static struct BurnRomInfo SpecmasterchRomDesc[] = {
	{ "Masterchess (1983)(Mikro-Gen).z80", 0x07b6e, 0x9e50265e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmasterch, Specmasterch, Spectrum)
STD_ROM_FN(Specmasterch)

struct BurnDriver BurnSpecmasterch = {
	"spec_masterch", NULL, "spec_spectrum", NULL, "1983",
	"Masterchess (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmasterchRomInfo, SpecmasterchRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mastermind (48K)

static struct BurnRomInfo SpecmastermiRomDesc[] = {
	{ "Mastermind (1983)(M.S. Boboli).z80", 0x030a1, 0x704dde62, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmastermi, Specmastermi, Spectrum)
STD_ROM_FN(Specmastermi)

struct BurnDriver BurnSpecmastermi = {
	"spec_mastermi", NULL, "spec_spectrum", NULL, "1983",
	"Mastermind (48K)\0", NULL, "M.S. Boboli", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmastermiRomInfo, SpecmastermiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mastermind (hu) (128K)

static struct BurnRomInfo Specmstmindh_48RomDesc[] = {
	{ "Mastermind (1998)(Laszlo Nyitrai)(hu)[128K].z80", 0x03ab6, 0xbc765f01, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmstmindh_48, Specmstmindh_48, Spectrum)
STD_ROM_FN(Specmstmindh_48)

struct BurnDriver BurnSpecmstmindh_48 = {
	"spec_mstmindh_48", "spec_mstmindh", "spec_spec128", NULL, "1998",
	"Mastermind (hu) (128K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmstmindh_48RomInfo, Specmstmindh_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mastermind 128k (hu) (128K)

static struct BurnRomInfo SpecmstmindhRomDesc[] = {
	{ "Mastermind 128k (1998)(Laszlo Nyitrai)(hu)[128K].z80", 0x0448d, 0x3eb7ae9f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmstmindh, Specmstmindh, Spectrum)
STD_ROM_FN(Specmstmindh)

struct BurnDriver BurnSpecmstmindh = {
	"spec_mstmindh", NULL, "spec_spec128", NULL, "1998",
	"Mastermind 128k (hu) (128K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmstmindhRomInfo, SpecmstmindhRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Masters of Serebal, The (48K)

static struct BurnRomInfo SpecmasserthRomDesc[] = {
	{ "Masters of Serebal, The (1984)(MC Lothlorien).z80", 0x0aa8f, 0xa43e2d69, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmasserth, Specmasserth, Spectrum)
STD_ROM_FN(Specmasserth)

struct BurnDriver BurnSpecmasserth = {
	"spec_masserth", NULL, "spec_spectrum", NULL, "1984",
	"Masters of Serebal, The (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmasserthRomInfo, SpecmasserthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Masters of the Universe - The Arcade Game (48K)

static struct BurnRomInfo SpecmotuarcRomDesc[] = {
	{ "Masters of the Universe - The Arcade Game (1987)(U.S. Gold).z80", 0x0907d, 0x4ee7c0a6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmotuarc, Specmotuarc, Spectrum)
STD_ROM_FN(Specmotuarc)

struct BurnDriver BurnSpecmotuarc = {
	"spec_motuarc", NULL, "spec_spectrum", NULL, "1987",
	"Masters of the Universe - The Arcade Game (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmotuarcRomInfo, SpecmotuarcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Masters of the Universe - The Movie (48K)

static struct BurnRomInfo SpecmotumovRomDesc[] = {
	{ "Masters of the Universe - The Movie (1987)(Gremlin Graphics Software).z80", 0x09f31, 0x8ac707fd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmotumov, Specmotumov, Spectrum)
STD_ROM_FN(Specmotumov)

struct BurnDriver BurnSpecmotumov = {
	"spec_motumov", NULL, "spec_spectrum", NULL, "1987",
	"Masters of the Universe - The Movie (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmotumovRomInfo, SpecmotumovRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Masters of the Universe - The Super Adventure (48K)

static struct BurnRomInfo SpecmotusaRomDesc[] = {
	{ "Masters of the Universe - The Super Adventure (1987)(U.S. Gold).z80", 0x0a5d7, 0xd8239dae, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmotusa, Specmotusa, Spectrum)
STD_ROM_FN(Specmotusa)

struct BurnDriver BurnSpecmotusa = {
	"spec_motusa", NULL, "spec_spectrum", NULL, "1987",
	"Masters of the Universe - The Super Adventure (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmotusaRomInfo, SpecmotusaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Match Day (48K)

static struct BurnRomInfo SpecmatchdayRomDesc[] = {
	{ "Match Day (1985)(Ocean).z80", 0x0a809, 0x59d3bc21, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmatchday, Specmatchday, Spectrum)
STD_ROM_FN(Specmatchday)

struct BurnDriver BurnSpecmatchday = {
	"spec_matchday", NULL, "spec_spectrum", NULL, "1985",
	"Match Day (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmatchdayRomInfo, SpecmatchdayRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Match Day II (48K)

static struct BurnRomInfo Specmatchdy2RomDesc[] = {
	{ "Match Day II (1987)(Ocean).z80", 0x09469, 0x910131c2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmatchdy2, Specmatchdy2, Spectrum)
STD_ROM_FN(Specmatchdy2)

struct BurnDriver BurnSpecmatchdy2 = {
	"spec_matchdy2", NULL, "spec_spectrum", NULL, "1987",
	"Match Day II (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmatchdy2RomInfo, Specmatchdy2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Match of the Day (128K)

static struct BurnRomInfo SpecmtchotdRomDesc[] = {
	{ "Match of the Day (1992)(Zeppelin Games)[128K].z80", 0x0cd0a, 0xeb11c05c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmtchotd, Specmtchotd, Spectrum)
STD_ROM_FN(Specmtchotd)

struct BurnDriver BurnSpecmtchotd = {
	"spec_mtchotd", NULL, "spec_spec128", NULL, "1992",
	"Match of the Day (128K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmtchotdRomInfo, SpecmtchotdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Match Point (48K)

static struct BurnRomInfo SpecmatcpoinRomDesc[] = {
	{ "Match Point (1984)(Sinclair Research).z80", 0x08c4e, 0x7a13c097, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmatcpoin, Specmatcpoin, Spectrum)
STD_ROM_FN(Specmatcpoin)

struct BurnDriver BurnSpecmatcpoin = {
	"spec_matcpoin", NULL, "spec_spectrum", NULL, "1984",
	"Match Point (48K)\0", NULL, "Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmatcpoinRomInfo, SpecmatcpoinRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Match, The (48K)

static struct BurnRomInfo SpecmatchRomDesc[] = {
	{ "Match, The (1991)(Cult Games).z80", 0x07532, 0xc3435950, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmatch, Specmatch, Spectrum)
STD_ROM_FN(Specmatch)

struct BurnDriver BurnSpecmatch = {
	"spec_match", NULL, "spec_spectrum", NULL, "1991",
	"Match, The (48K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmatchRomInfo, SpecmatchRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Match-a-Catcha (48K)

static struct BurnRomInfo SpecmatccatcRomDesc[] = {
	{ "Match-a-Catcha (2002)(Naffsoft).z80", 0x023de, 0x1315214e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmatccatc, Specmatccatc, Spectrum)
STD_ROM_FN(Specmatccatc)

struct BurnDriver BurnSpecmatccatc = {
	"spec_matccatc", NULL, "spec_spectrum", NULL, "2002",
	"Match-a-Catcha (48K)\0", NULL, "Naffsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmatccatcRomInfo, SpecmatccatcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Matching Pairs (48K)

static struct BurnRomInfo SpecmatcpairRomDesc[] = {
	{ "Matching Pairs (1984)(CCS).z80", 0x0814f, 0xa5d652bd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmatcpair, Specmatcpair, Spectrum)
STD_ROM_FN(Specmatcpair)

struct BurnDriver BurnSpecmatcpair = {
	"spec_matcpair", NULL, "spec_spectrum", NULL, "1984",
	"Matching Pairs (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmatcpairRomInfo, SpecmatcpairRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Matchmaker (River Software) (48K)

static struct BurnRomInfo SpecmtchmakrRomDesc[] = {
	{ "Matchmaker (1986)(River Software).z80", 0x0981b, 0x77b16304, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmtchmakr, Specmtchmakr, Spectrum)
STD_ROM_FN(Specmtchmakr)

struct BurnDriver BurnSpecmtchmakr = {
	"spec_mtchmakr", NULL, "spec_spectrum", NULL, "1986",
	"Matchmaker (River Software) (48K)\0", NULL, "River Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmtchmakrRomInfo, SpecmtchmakrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Matchmaker (Zenobi Software) (48K)

static struct BurnRomInfo SpecmtchmakzRomDesc[] = {
	{ "Matchmaker (1986)(Zenobi Software)[re-release].z80", 0x0980f, 0x30fbc3a4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmtchmakz, Specmtchmakz, Spectrum)
STD_ROM_FN(Specmtchmakz)

struct BurnDriver BurnSpecmtchmakz = {
	"spec_mtchmakz", "spec_mtchmakr", "spec_spectrum", NULL, "1986",
	"Matchmaker (Zenobi Software) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmtchmakzRomInfo, SpecmtchmakzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mathsted (48K)

static struct BurnRomInfo SpecmathstedRomDesc[] = {
	{ "Mathsted (1983)(CCS).z80", 0x095b2, 0xb55439ce, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmathsted, Specmathsted, Spectrum)
STD_ROM_FN(Specmathsted)

struct BurnDriver BurnSpecmathsted = {
	"spec_mathsted", NULL, "spec_spectrum", NULL, "1983",
	"Mathsted (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmathstedRomInfo, SpecmathstedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Matt Lucas (48K)

static struct BurnRomInfo SpecmattlucaRomDesc[] = {
	{ "Matt Lucas (1986)(Players Software).z80", 0x0aa32, 0x736f60db, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmattluca, Specmattluca, Spectrum)
STD_ROM_FN(Specmattluca)

struct BurnDriver BurnSpecmattluca = {
	"spec_mattluca", NULL, "spec_spectrum", NULL, "1986",
	"Matt Lucas (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmattlucaRomInfo, SpecmattlucaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Maverick (48K)

static struct BurnRomInfo SpecmaverickRomDesc[] = {
	{ "Maverick (1985)(CCS).z80", 0x083df, 0xb39c2743, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmaverick, Specmaverick, Spectrum)
STD_ROM_FN(Specmaverick)

struct BurnDriver BurnSpecmaverick = {
	"spec_maverick", NULL, "spec_spectrum", NULL, "1985",
	"Maverick (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmaverickRomInfo, SpecmaverickRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Max Headroom (48K)

static struct BurnRomInfo Specmaxheadr_48RomDesc[] = {
	{ "Max Headroom (1986)(Quicksilva).z80", 0x093f3, 0x8df02e5f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmaxheadr_48, Specmaxheadr_48, Spectrum)
STD_ROM_FN(Specmaxheadr_48)

struct BurnDriver BurnSpecmaxheadr_48 = {
	"spec_maxheadr_48", "spec_maxheadr", "spec_spectrum", NULL, "1986",
	"Max Headroom (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmaxheadr_48RomInfo, Specmaxheadr_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Max Headroom (128K)

static struct BurnRomInfo SpecmaxheadrRomDesc[] = {
	{ "Max Headroom (1986)(Quicksilva)[t][128K].z80", 0x137ae, 0x6c050ea1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmaxheadr, Specmaxheadr, Spectrum)
STD_ROM_FN(Specmaxheadr)

struct BurnDriver BurnSpecmaxheadr = {
	"spec_maxheadr", NULL, "spec_spec128", NULL, "1986",
	"Max Headroom (128K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmaxheadrRomInfo, SpecmaxheadrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Maxim (48K)

static struct BurnRomInfo SpecmaximRomDesc[] = {
	{ "Maxim (1986)(Gogosoft).z80", 0x01999, 0xe0f7f307, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmaxim, Specmaxim, Spectrum)
STD_ROM_FN(Specmaxim)

struct BurnDriver BurnSpecmaxim = {
	"spec_maxim", NULL, "spec_spectrum", NULL, "1986",
	"Maxim (48K)\0", NULL, "Gogosoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmaximRomInfo, SpecmaximRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mayday (sk) (128K)

static struct BurnRomInfo SpecmaydayskRomDesc[] = {
	{ "Mayday (1989)(Peter Machala Software)(sk)[128K].z80", 0x0a56b, 0x51db0e97, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmaydaysk, Specmaydaysk, Spectrum)
STD_ROM_FN(Specmaydaysk)

struct BurnDriver BurnSpecmaydaysk = {
	"spec_maydaysk", NULL, "spec_spec128", NULL, "1989",
	"Mayday (sk) (128K)\0", NULL, "Peter Machala Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmaydayskRomInfo, SpecmaydayskRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mayhem (48K)

static struct BurnRomInfo SpecmayhemRomDesc[] = {
	{ "Mayhem (1987)(The Power House).z80", 0x09611, 0xd31038d3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmayhem, Specmayhem, Spectrum)
STD_ROM_FN(Specmayhem)

struct BurnDriver BurnSpecmayhem = {
	"spec_mayhem", NULL, "spec_spectrum", NULL, "1987",
	"Mayhem (48K)\0", NULL, "The Power House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmayhemRomInfo, SpecmayhemRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Maze (48K)

static struct BurnRomInfo SpecmazeRomDesc[] = {
	{ "Maze (1996)(CSSCGC).z80", 0x01000, 0x9c2f91f3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmaze, Specmaze, Spectrum)
STD_ROM_FN(Specmaze)

struct BurnDriver BurnSpecmaze = {
	"spec_maze", NULL, "spec_spectrum", NULL, "1996",
	"Maze (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmazeRomInfo, SpecmazeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Maze 2 (48K)

static struct BurnRomInfo Specmaze2RomDesc[] = {
	{ "Maze 2 (1996)(CSSCGC).z80", 0x0152b, 0xfb508e09, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmaze2, Specmaze2, Spectrum)
STD_ROM_FN(Specmaze2)

struct BurnDriver BurnSpecmaze2 = {
	"spec_maze2", NULL, "spec_spectrum", NULL, "1996",
	"Maze 2 (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmaze2RomInfo, Specmaze2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Maze Change (48K)

static struct BurnRomInfo SpecmazechanRomDesc[] = {
	{ "Maze Change (1997)(CSSCGC).z80", 0x0095d, 0x633e4232, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmazechan, Specmazechan, Spectrum)
STD_ROM_FN(Specmazechan)

struct BurnDriver BurnSpecmazechan = {
	"spec_mazechan", NULL, "spec_spectrum", NULL, "1997",
	"Maze Change (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmazechanRomInfo, SpecmazechanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Maze Chase (Hewson Consultants) (48K)

static struct BurnRomInfo SpecmazechasRomDesc[] = {
	{ "Maze Chase (1983)(Hewson Consultants).z80", 0x03147, 0xbc3bf2e0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmazechas, Specmazechas, Spectrum)
STD_ROM_FN(Specmazechas)

struct BurnDriver BurnSpecmazechas = {
	"spec_mazechas", NULL, "spec_spectrum", NULL, "1983",
	"Maze Chase (Hewson Consultants) (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmazechasRomInfo, SpecmazechasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Maze Chase (CSSCGC) (48K)

static struct BurnRomInfo SpecmazechascRomDesc[] = {
	{ "Maze Chase (1997)(CSSCGC).z80", 0x00960, 0x47fc93c3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmazechasc, Specmazechasc, Spectrum)
STD_ROM_FN(Specmazechasc)

struct BurnDriver BurnSpecmazechasc = {
	"spec_mazechasc", "spec_mazechas", "spec_spectrum", NULL, "1997",
	"Maze Chase (CSSCGC) (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmazechascRomInfo, SpecmazechascRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Maze Death Race (48K)

static struct BurnRomInfo SpecmazdearaRomDesc[] = {
	{ "Maze Death Race (1983)(PSS).z80", 0x051c6, 0xf2b9bf69, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmazdeara, Specmazdeara, Spectrum)
STD_ROM_FN(Specmazdeara)

struct BurnDriver BurnSpecmazdeara = {
	"spec_mazdeara", NULL, "spec_spectrum", NULL, "1983",
	"Maze Death Race (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmazdearaRomInfo, SpecmazdearaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Maze Mania (Hewson Consultants) (48K)

static struct BurnRomInfo SpecmazemaniRomDesc[] = {
	{ "Maze Mania (1989)(Hewson Consultants).z80", 0x094e1, 0x18b3000f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmazemani, Specmazemani, Spectrum)
STD_ROM_FN(Specmazemani)

struct BurnDriver BurnSpecmazemani = {
	"spec_mazemani", NULL, "spec_spectrum", NULL, "1989",
	"Maze Mania (Hewson Consultants) (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmazemaniRomInfo, SpecmazemaniRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Maze Mania (Rack-It) (48K)

static struct BurnRomInfo SpecmazemanirRomDesc[] = {
	{ "Maze Mania (1989)(Rack-It)[re-release].z80", 0x0988b, 0xeb780688, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmazemanir, Specmazemanir, Spectrum)
STD_ROM_FN(Specmazemanir)

struct BurnDriver BurnSpecmazemanir = {
	"spec_mazemanir", "spec_mazemani", "spec_spectrum", NULL, "1989",
	"Maze Mania (Rack-It) (48K)\0", NULL, "Rack-It", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmazemanirRomInfo, SpecmazemanirRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Maze of Delon, The (German) (48K)

static struct BurnRomInfo SpecmazdelthRomDesc[] = {
	{ "Maze of Delon, The (1984)(Kaisoft)(de).z80", 0x035da, 0xdafa3e87, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmazdelth, Specmazdelth, Spectrum)
STD_ROM_FN(Specmazdelth)

struct BurnDriver BurnSpecmazdelth = {
	"spec_mazdelth", NULL, "spec_spectrum", NULL, "1984",
	"Maze of Delon, The (German) (48K)\0", NULL, "Kaisoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmazdelthRomInfo, SpecmazdelthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Maze of Terror (48K)

static struct BurnRomInfo SpecmazeterrRomDesc[] = {
	{ "Maze of Terror (1986)(Kevin Hillyer).z80", 0x08360, 0x052b76f5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmazeterr, Specmazeterr, Spectrum)
STD_ROM_FN(Specmazeterr)

struct BurnDriver BurnSpecmazeterr = {
	"spec_mazeterr", NULL, "spec_spectrum", NULL, "1986",
	"Maze of Terror (48K)\0", NULL, "Kevin Hillyer", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmazeterrRomInfo, SpecmazeterrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Maziacs (48K)

static struct BurnRomInfo SpecmaziacsRomDesc[] = {
	{ "Maziacs (1983)(DK'Tronics).z80", 0x06f87, 0x944ca363, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmaziacs, Specmaziacs, Spectrum)
STD_ROM_FN(Specmaziacs)

struct BurnDriver BurnSpecmaziacs = {
	"spec_maziacs", NULL, "spec_spectrum", NULL, "1983",
	"Maziacs (48K)\0", NULL, "DK'Tronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmaziacsRomInfo, SpecmaziacsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mc Wash (cs) (48K)

static struct BurnRomInfo SpecmcwashcsRomDesc[] = {
	{ "Mc Wash (1985)(Bensoft)(cs)[aka Mc Wash Goes Bathing].z80", 0x02e50, 0x587c3cbe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmcwashcs, Specmcwashcs, Spectrum)
STD_ROM_FN(Specmcwashcs)

struct BurnDriver BurnSpecmcwashcs = {
	"spec_mcwashcs", NULL, "spec_spectrum", NULL, "1985",
	"Mc Wash (cs) (48K)\0", NULL, "Bensoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmcwashcsRomInfo, SpecmcwashcsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mc Wash Goes Bathing (German) (48K)

static struct BurnRomInfo SpecmcwagobaRomDesc[] = {
	{ "Mc Wash Goes Bathing (1983)(AC Data Games)(de).z80", 0x02eda, 0xfdce9d9d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmcwagoba, Specmcwagoba, Spectrum)
STD_ROM_FN(Specmcwagoba)

struct BurnDriver BurnSpecmcwagoba = {
	"spec_mcwagoba", NULL, "spec_spectrum", NULL, "1983",
	"Mc Wash Goes Bathing (German) (48K)\0", NULL, "AC Data Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmcwagobaRomInfo, SpecmcwagobaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// McKensie (48K)

static struct BurnRomInfo SpecmckensieRomDesc[] = {
	{ "McKensie (1983)(Software Projects).z80", 0x0923e, 0xe11bbb10, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmckensie, Specmckensie, Spectrum)
STD_ROM_FN(Specmckensie)

struct BurnDriver BurnSpecmckensie = {
	"spec_mckensie", NULL, "spec_spectrum", NULL, "1983",
	"McKensie (48K)\0", NULL, "Software Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmckensieRomInfo, SpecmckensieRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mean Streak (48K)

static struct BurnRomInfo Specmeanstrk_48RomDesc[] = {
	{ "Mean Streak (1987)(Mirrorsoft).z80", 0x0970b, 0x2dbd75f0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmeanstrk_48, Specmeanstrk_48, Spectrum)
STD_ROM_FN(Specmeanstrk_48)

struct BurnDriver BurnSpecmeanstrk_48 = {
	"spec_meanstrk_48", "spec_meanstrk", "spec_spectrum", NULL, "1987",
	"Mean Streak (48K)\0", NULL, "Mirrorsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmeanstrk_48RomInfo, Specmeanstrk_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mean Streak (128K)

static struct BurnRomInfo SpecmeanstrkRomDesc[] = {
	{ "Mean Streak (1987)(Mirrorsoft)[128K].z80", 0x0da87, 0xd8872da3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmeanstrk, Specmeanstrk, Spectrum)
STD_ROM_FN(Specmeanstrk)

struct BurnDriver BurnSpecmeanstrk = {
	"spec_meanstrk", NULL, "spec_spec128", NULL, "1987",
	"Mean Streak (128K)\0", NULL, "Mirrorsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmeanstrkRomInfo, SpecmeanstrkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mechanic Harry (48K)

static struct BurnRomInfo SpecmechharrRomDesc[] = {
	{ "Mechanic Harry (1984)(Questsoft).z80", 0x0935d, 0xe2673da8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmechharr, Specmechharr, Spectrum)
STD_ROM_FN(Specmechharr)

struct BurnDriver BurnSpecmechharr = {
	"spec_mechharr", NULL, "spec_spectrum", NULL, "1984",
	"Mechanic Harry (48K)\0", NULL, "Questsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmechharrRomInfo, SpecmechharrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mega Bucks (48K)

static struct BurnRomInfo SpecmegabuckRomDesc[] = {
	{ "Mega Bucks (1986)(Firebird Software).z80", 0x0a9d4, 0x1c1d262d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmegabuck, Specmegabuck, Spectrum)
STD_ROM_FN(Specmegabuck)

struct BurnDriver BurnSpecmegabuck = {
	"spec_megabuck", NULL, "spec_spectrum", NULL, "1986",
	"Mega Bucks (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmegabuckRomInfo, SpecmegabuckRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mega Fruit (48K)

static struct BurnRomInfo SpecmegafruiRomDesc[] = {
	{ "Mega Fruit (1984)(Thor Computer Software).z80", 0x0305e, 0x7a3b67d8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmegafrui, Specmegafrui, Spectrum)
STD_ROM_FN(Specmegafrui)

struct BurnDriver BurnSpecmegafrui = {
	"spec_megafrui", NULL, "spec_spectrum", NULL, "1984",
	"Mega Fruit (48K)\0", NULL, "Thor Computer Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmegafruiRomInfo, SpecmegafruiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mega Tron (48K)

static struct BurnRomInfo SpecmegatronRomDesc[] = {
	{ "Mega Tron (1993)(Wizard Software).z80", 0x028a9, 0x4d47abb9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmegatron, Specmegatron, Spectrum)
STD_ROM_FN(Specmegatron)

struct BurnDriver BurnSpecmegatron = {
	"spec_megatron", NULL, "spec_spectrum", NULL, "1993",
	"Mega Tron (48K)\0", NULL, "Wizard Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmegatronRomInfo, SpecmegatronRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mega-Apocalypse (48K)

static struct BurnRomInfo Specmegaapoc_48RomDesc[] = {
	{ "Mega-Apocalypse (1988)(Martech Games).z80", 0x09cb8, 0x09def3ec, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmegaapoc_48, Specmegaapoc_48, Spectrum)
STD_ROM_FN(Specmegaapoc_48)

struct BurnDriver BurnSpecmegaapoc_48 = {
	"spec_megaapoc_48", "spec_megaapoc", "spec_spectrum", NULL, "1988",
	"Mega-Apocalypse (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmegaapoc_48RomInfo, Specmegaapoc_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mega-Apocalypse (128K)

static struct BurnRomInfo SpecmegaapocRomDesc[] = {
	{ "Mega-Apocalypse (1988)(Martech Games)[128K].z80", 0x0ab55, 0xca57572f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmegaapoc, Specmegaapoc, Spectrum)
STD_ROM_FN(Specmegaapoc)

struct BurnDriver BurnSpecmegaapoc = {
	"spec_megaapoc", NULL, "spec_spec128", NULL, "1988",
	"Mega-Apocalypse (128K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmegaapocRomInfo, SpecmegaapocRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mega-Corp (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecmegacorpRomDesc[] = {
	{ "Mega-Corp (1987)(Dinamic Software)(es)(Part 1 of 2).z80", 0x0b543, 0xa5e9d070, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmegacorp, Specmegacorp, Spectrum)
STD_ROM_FN(Specmegacorp)

struct BurnDriver BurnSpecmegacorp = {
	"spec_megacorp", NULL, "spec_spectrum", NULL, "1987",
	"Mega-Corp (Spanish) (Part 1 of 2) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmegacorpRomInfo, SpecmegacorpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mega-Corp (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specmegacorp2RomDesc[] = {
	{ "Mega-Corp (1987)(Dinamic Software)(es)(Part 2 of 2).z80", 0x0b4ae, 0x23c3bbb6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmegacorp2, Specmegacorp2, Spectrum)
STD_ROM_FN(Specmegacorp2)

struct BurnDriver BurnSpecmegacorp2 = {
	"spec_megacorp2", "spec_megacorp", "spec_spectrum", NULL, "1987",
	"Mega-Corp (Spanish) (Part 2 of 2) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmegacorp2RomInfo, Specmegacorp2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Meganova - The Weapon (48K)

static struct BurnRomInfo SpecmegtheweRomDesc[] = {
	{ "Meganova - The Weapon (1988)(Alternative Software)[incomplete][aka Meganova].z80", 0x08c3d, 0x4269be51, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmegthewe, Specmegthewe, Spectrum)
STD_ROM_FN(Specmegthewe)

struct BurnDriver BurnSpecmegthewe = {
	"spec_megthewe", NULL, "spec_spectrum", NULL, "1988",
	"Meganova - The Weapon (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmegtheweRomInfo, SpecmegtheweRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Megaphoenix (48K)

static struct BurnRomInfo SpecmegaphoeRomDesc[] = {
	{ "Megaphoenix (1991)(Dinamic Software).z80", 0x098ba, 0xe9b7d957, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmegaphoe, Specmegaphoe, Spectrum)
STD_ROM_FN(Specmegaphoe)

struct BurnDriver BurnSpecmegaphoe = {
	"spec_megaphoe", NULL, "spec_spectrum", NULL, "1991",
	"Megaphoenix (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmegaphoeRomInfo, SpecmegaphoeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Meltdown (Kerian Software) (48K)

static struct BurnRomInfo SpecmeltdownRomDesc[] = {
	{ "Meltdown (1984)(Kerian UK).z80", 0x097e7, 0x38177dd4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmeltdown, Specmeltdown, Spectrum)
STD_ROM_FN(Specmeltdown)

struct BurnDriver BurnSpecmeltdown = {
	"spec_meltdown", NULL, "spec_spectrum", NULL, "1984",
	"Meltdown (Kerian Software) (48K)\0", NULL, "Kerian UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmeltdownRomInfo, SpecmeltdownRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Meltdown (Zenobi Software) (48K)

static struct BurnRomInfo SpecmeltdownzRomDesc[] = {
	{ "Meltdown (1993)(Zenobi Software).z80", 0x0aee4, 0x87326267, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmeltdownz, Specmeltdownz, Spectrum)
STD_ROM_FN(Specmeltdownz)

struct BurnDriver BurnSpecmeltdownz = {
	"spec_meltdownz", "spec_meltdown", "spec_spectrum", NULL, "1993",
	"Meltdown (Zenobi Software) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmeltdownzRomInfo, SpecmeltdownzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Memorias de un Hobbit (Spanish) (Part 1 of 3) (48K)

static struct BurnRomInfo SpecmemohobbRomDesc[] = {
	{ "Memorias de un Hobbit (1989)(JSJ Soft)(es)(Part 1 of 3).z80", 0x099c2, 0x0247cdf5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmemohobb, Specmemohobb, Spectrum)
STD_ROM_FN(Specmemohobb)

struct BurnDriver BurnSpecmemohobb = {
	"spec_memohobb", NULL, "spec_spectrum", NULL, "1989",
	"Memorias de un Hobbit (Spanish) (Part 1 of 3) (48K)\0", NULL, "JSJ Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmemohobbRomInfo, SpecmemohobbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Memorias de un Hobbit (Spanish) (Part 2 of 3) (128K)

static struct BurnRomInfo Specmemohobb2RomDesc[] = {
	{ "Memorias de un Hobbit (1989)(JSJ Soft)(es)(Part 2 of 3)[128K].z80", 0x09fdd, 0x07c06284, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmemohobb2, Specmemohobb2, Spectrum)
STD_ROM_FN(Specmemohobb2)

struct BurnDriver BurnSpecmemohobb2 = {
	"spec_memohobb2", "spec_memohobb", "spec_spec128", NULL, "1989",
	"Memorias de un Hobbit (Spanish) (Part 2 of 3) (128K)\0", NULL, "JSJ Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmemohobb2RomInfo, Specmemohobb2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Memorias de un Hobbit (Spanish) (Part 3 of 3) (128K)

static struct BurnRomInfo Specmemohobb3RomDesc[] = {
	{ "Memorias de un Hobbit (1989)(JSJ Soft)(es)(Part 3 of 3)[128K].z80", 0x09ac1, 0x4bc60cbe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmemohobb3, Specmemohobb3, Spectrum)
STD_ROM_FN(Specmemohobb3)

struct BurnDriver BurnSpecmemohobb3 = {
	"spec_memohobb3", "spec_memohobb", "spec_spec128", NULL, "1989",
	"Memorias de un Hobbit (Spanish) (Part 3 of 3) (128K)\0", NULL, "JSJ Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmemohobb3RomInfo, Specmemohobb3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Memory (48K)

static struct BurnRomInfo SpecmemoryRomDesc[] = {
	{ "Memory (1985)(Chris Gandler).z80", 0x07628, 0xb5c988e8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmemory, Specmemory, Spectrum)
STD_ROM_FN(Specmemory)

struct BurnDriver BurnSpecmemory = {
	"spec_memory", NULL, "spec_spectrum", NULL, "1985",
	"Memory (48K)\0", NULL, "Chris Gandler", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmemoryRomInfo, SpecmemoryRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Menagerie, The (48K)

static struct BurnRomInfo SpecmenatheRomDesc[] = {
	{ "Menagerie, The (1990)(Stormbringer Software).z80", 0x096e4, 0xed29d547, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmenathe, Specmenathe, Spectrum)
STD_ROM_FN(Specmenathe)

struct BurnDriver BurnSpecmenathe = {
	"spec_menathe", NULL, "spec_spectrum", NULL, "1990",
	"Menagerie, The (48K)\0", NULL, "Stormbringer Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmenatheRomInfo, SpecmenatheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mental Blocks - Frustration 2 (48K)

static struct BurnRomInfo SpecmenblofrRomDesc[] = {
	{ "Mental Blocks - Frustration 2 (1995)(Impact Software).z80", 0x04e7b, 0x9822cffb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmenblofr, Specmenblofr, Spectrum)
STD_ROM_FN(Specmenblofr)

struct BurnDriver BurnSpecmenblofr = {
	"spec_menblofr", NULL, "spec_spectrum", NULL, "1995",
	"Mental Blocks - Frustration 2 (48K)\0", NULL, "Impact Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmenblofrRomInfo, SpecmenblofrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mentor (48K)

static struct BurnRomInfo SpecmentorRomDesc[] = {
	{ "Mentor (1987)(The Firm).z80", 0x08e6a, 0x5d082819, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmentor, Specmentor, Spectrum)
STD_ROM_FN(Specmentor)

struct BurnDriver BurnSpecmentor = {
	"spec_mentor", NULL, "spec_spectrum", NULL, "1987",
	"Mentor (48K)\0", NULL, "The Firm", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmentorRomInfo, SpecmentorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mercenary - Escape from Targ (48K)

static struct BurnRomInfo SpecmercnryRomDesc[] = {
	{ "Mercenary - Escape from Targ (1987)(Novagen Software).z80", 0x0a575, 0xdedad62b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmercnry, Specmercnry, Spectrum)
STD_ROM_FN(Specmercnry)

struct BurnDriver BurnSpecmercnry = {
	"spec_mercnry", NULL, "spec_spectrum", NULL, "1987",
	"Mercenary - Escape from Targ (48K)\0", NULL, "Novagen Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmercnryRomInfo, SpecmercnryRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mercenary II - The Second City (48K)

static struct BurnRomInfo Specmercnry2RomDesc[] = {
	{ "Mercenary II - The Second City (1988)(Novagen Software).z80", 0x09e56, 0x2e9b134d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmercnry2, Specmercnry2, Spectrum)
STD_ROM_FN(Specmercnry2)

struct BurnDriver BurnSpecmercnry2 = {
	"spec_mercnry2", NULL, "spec_spectrum", NULL, "1988",
	"Mercenary II - The Second City (48K)\0", NULL, "Novagen Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmercnry2RomInfo, Specmercnry2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Merkur Disc (German) (48K)

static struct BurnRomInfo SpecmerkdiscRomDesc[] = {
	{ "Merkur Disc (19xx)(Thomas Krueger)(de).z80", 0x07b89, 0xb8dc7092, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmerkdisc, Specmerkdisc, Spectrum)
STD_ROM_FN(Specmerkdisc)

struct BurnDriver BurnSpecmerkdisc = {
	"spec_merkdisc", NULL, "spec_spectrum", NULL, "19xx",
	"Merkur Disc (German) (48K)\0", NULL, "Thomas Krueger", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmerkdiscRomInfo, SpecmerkdiscRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Merlin (48K)

static struct BurnRomInfo SpecmerlinRomDesc[] = {
	{ "Merlin (1987)(Firebird Software).z80", 0x096d1, 0x1c2945a1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmerlin, Specmerlin, Spectrum)
STD_ROM_FN(Specmerlin)

struct BurnDriver BurnSpecmerlin = {
	"spec_merlin", NULL, "spec_spectrum", NULL, "1987",
	"Merlin (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmerlinRomInfo, SpecmerlinRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Merlock the Mede - Part 1 - Deeds of Glengarry Hall (48K)

static struct BurnRomInfo SpecmerlockRomDesc[] = {
	{ "Merlock the Mede - Part 1 - Deeds of Glengarry Hall (1985)(Terminal Software).z80", 0x0a60d, 0x85456f47, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmerlock, Specmerlock, Spectrum)
STD_ROM_FN(Specmerlock)

struct BurnDriver BurnSpecmerlock = {
	"spec_merlock", NULL, "spec_spectrum", NULL, "1985",
	"Merlock the Mede - Part 1 - Deeds of Glengarry Hall (48K)\0", NULL, "Terminal Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmerlockRomInfo, SpecmerlockRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Merlock the Mede - Part 2 - Ashes of Alucard (48K)

static struct BurnRomInfo Specmerlock2RomDesc[] = {
	{ "Merlock the Mede - Part 2 - Ashes of Alucard (1985)(Terminal Software).z80", 0x08e5a, 0xb98fcee6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmerlock2, Specmerlock2, Spectrum)
STD_ROM_FN(Specmerlock2)

struct BurnDriver BurnSpecmerlock2 = {
	"spec_merlock2", "spec_merlock", "spec_spectrum", NULL, "1985",
	"Merlock the Mede - Part 2 - Ashes of Alucard (48K)\0", NULL, "Terminal Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmerlock2RomInfo, Specmerlock2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mermaid Madness (48K)

static struct BurnRomInfo SpecmermmadnRomDesc[] = {
	{ "Mermaid Madness (1986)(Electric Dreams Software).z80", 0x08ddf, 0xe707823e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmermmadn, Specmermmadn, Spectrum)
STD_ROM_FN(Specmermmadn)

struct BurnDriver BurnSpecmermmadn = {
	"spec_mermmadn", NULL, "spec_spectrum", NULL, "1986",
	"Mermaid Madness (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmermmadnRomInfo, SpecmermmadnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Message from Andromeda (48K)

static struct BurnRomInfo SpecmessandrRomDesc[] = {
	{ "Message from Andromeda (1986)(Interceptor Micros Software).z80", 0x09532, 0x4a3f4bb4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmessandr, Specmessandr, Spectrum)
STD_ROM_FN(Specmessandr)

struct BurnDriver BurnSpecmessandr = {
	"spec_messandr", NULL, "spec_spectrum", NULL, "1986",
	"Message from Andromeda (48K)\0", NULL, "Interceptor Micros Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmessandrRomInfo, SpecmessandrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mesto Robotu (cs) (128K)

static struct BurnRomInfo SpecmestroboRomDesc[] = {
	{ "Mesto Robotu (1989)(Zenit Centrum Beroun)(cs)[128K].z80", 0x07713, 0x19775120, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmestrobo, Specmestrobo, Spectrum)
STD_ROM_FN(Specmestrobo)

struct BurnDriver BurnSpecmestrobo = {
	"spec_mestrobo", NULL, "spec_spec128", NULL, "1989",
	"Mesto Robotu (cs) (128K)\0", NULL, "Zenit Centrum Beroun", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmestroboRomInfo, SpecmestroboRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Metabolis (48K)

static struct BurnRomInfo SpecmetaboliRomDesc[] = {
	{ "Metabolis (1985)(Gremlin Graphics Software).z80", 0x0a6f9, 0x8f3412cd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmetaboli, Specmetaboli, Spectrum)
STD_ROM_FN(Specmetaboli)

struct BurnDriver BurnSpecmetaboli = {
	"spec_metaboli", NULL, "spec_spectrum", NULL, "1985",
	"Metabolis (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmetaboliRomInfo, SpecmetaboliRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Meta-Galactic Llamas Battle at the Edge of Time (48K)

static struct BurnRomInfo SpecmglbetRomDesc[] = {
	{ "Meta-Galactic Llamas Battle at the Edge of Time (1984)(Salamander Software).z80", 0x03162, 0x1883b9b9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmglbet, Specmglbet, Spectrum)
STD_ROM_FN(Specmglbet)

struct BurnDriver BurnSpecmglbet = {
	"spec_mglbet", NULL, "spec_spectrum", NULL, "1984",
	"Meta-Galactic Llamas Battle at the Edge of Time (48K)\0", NULL, "Salamander Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmglbetRomInfo, SpecmglbetRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Metal Army (48K)

static struct BurnRomInfo SpecmetaarmyRomDesc[] = {
	{ "Metal Army (1988)(Players Software).z80", 0x08694, 0xb8b894c5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmetaarmy, Specmetaarmy, Spectrum)
STD_ROM_FN(Specmetaarmy)

struct BurnDriver BurnSpecmetaarmy = {
	"spec_metaarmy", NULL, "spec_spectrum", NULL, "1988",
	"Metal Army (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmetaarmyRomInfo, SpecmetaarmyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Metal Detector '79 (48K)

static struct BurnRomInfo SpecmetadeteRomDesc[] = {
	{ "Metal Detector '79 (1997)(CSSCGC).z80", 0x013b9, 0x0623a0b9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmetadete, Specmetadete, Spectrum)
STD_ROM_FN(Specmetadete)

struct BurnDriver BurnSpecmetadete = {
	"spec_metadete", NULL, "spec_spectrum", NULL, "1997",
	"Metal Detector '79 (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmetadeteRomInfo, SpecmetadeteRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Metaldrone (48K)

static struct BurnRomInfo SpecmetaldroRomDesc[] = {
	{ "Metaldrone (1987)(Sparklers).z80", 0x0945f, 0x75aa9d52, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmetaldro, Specmetaldro, Spectrum)
STD_ROM_FN(Specmetaldro)

struct BurnDriver BurnSpecmetaldro = {
	"spec_metaldro", NULL, "spec_spectrum", NULL, "1987",
	"Metaldrone (48K)\0", NULL, "Sparklers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmetaldroRomInfo, SpecmetaldroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Metalyx (48K)

static struct BurnRomInfo SpecmetalyxRomDesc[] = {
	{ "Metalyx (1987)(Alternative Software).z80", 0x05748, 0x88c49ef4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmetalyx, Specmetalyx, Spectrum)
STD_ROM_FN(Specmetalyx)

struct BurnDriver BurnSpecmetalyx = {
	"spec_metalyx", NULL, "spec_spectrum", NULL, "1987",
	"Metalyx (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmetalyxRomInfo, SpecmetalyxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Meteorit (sv) (48K)

static struct BurnRomInfo SpecmeteoritRomDesc[] = {
	{ "Meteorit (1986)(Birger Larsson)(sv).z80", 0x035b0, 0xeb03f4a3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmeteorit, Specmeteorit, Spectrum)
STD_ROM_FN(Specmeteorit)

struct BurnDriver BurnSpecmeteorit = {
	"spec_meteorit", NULL, "spec_spectrum", NULL, "1986",
	"Meteorit (sv) (48K)\0", NULL, "Birger Larsson", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmeteoritRomInfo, SpecmeteoritRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Methyhel (Part 1 of 2) (48K)

static struct BurnRomInfo SpecmethyhelRomDesc[] = {
	{ "Methyhel (1990)(The Guild)(Part 1 of 2).z80", 0x08cc2, 0x0001a38a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmethyhel, Specmethyhel, Spectrum)
STD_ROM_FN(Specmethyhel)

struct BurnDriver BurnSpecmethyhel = {
	"spec_methyhel", NULL, "spec_spectrum", NULL, "1990",
	"Methyhel (Part 1 of 2) (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmethyhelRomInfo, SpecmethyhelRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Methyhel (Part 2 of 2) (48K)

static struct BurnRomInfo Specmethyhel2RomDesc[] = {
	{ "Methyhel (1990)(The Guild)(Part 2 of 2).z80", 0x081e4, 0xf9b553f8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmethyhel2, Specmethyhel2, Spectrum)
STD_ROM_FN(Specmethyhel2)

struct BurnDriver BurnSpecmethyhel2 = {
	"spec_methyhel2", "spec_methyhel", "spec_spectrum", NULL, "1990",
	"Methyhel (Part 2 of 2) (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmethyhel2RomInfo, Specmethyhel2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Metro-Cross (48K)

static struct BurnRomInfo SpecmetrcrosRomDesc[] = {
	{ "Metro-Cross (1987)(U.S. Gold).z80", 0x08657, 0x6076b814, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmetrcros, Specmetrcros, Spectrum)
STD_ROM_FN(Specmetrcros)

struct BurnDriver BurnSpecmetrcros = {
	"spec_metrcros", NULL, "spec_spectrum", NULL, "1987",
	"Metro-Cross (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmetrcrosRomInfo, SpecmetrcrosRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Metropol (Spanish) (48K)

static struct BurnRomInfo SpecmetropolszRomDesc[] = {
	{ "Metropol (1988)(Zafiro Software Division)(es).z80", 0x07be6, 0x687c1016, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmetropolsz, Specmetropolsz, Spectrum)
STD_ROM_FN(Specmetropolsz)

struct BurnDriver BurnSpecmetropolsz = {
	"spec_metropolsz", "spec_metropol", "spec_spectrum", NULL, "1988",
	"Metropol (Spanish) (48K)\0", NULL, "Zafiro Software Division", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmetropolszRomInfo, SpecmetropolszRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Metropolis (48K)

static struct BurnRomInfo SpecmetropolRomDesc[] = {
	{ "Metropolis (1988)(The Power House).z80", 0x08694, 0xd89fa73a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmetropol, Specmetropol, Spectrum)
STD_ROM_FN(Specmetropol)

struct BurnDriver BurnSpecmetropol = {
	"spec_metropol", NULL, "spec_spectrum", NULL, "1988",
	"Metropolis (48K)\0", NULL, "The Power House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmetropolRomInfo, SpecmetropolRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Metropolis (Spanish) (48K)

static struct BurnRomInfo SpecmetropolstRomDesc[] = {
	{ "Metropolis (1989)(Topo Soft)(es).z80", 0x0ab4d, 0x255cd16a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmetropolst, Specmetropolst, Spectrum)
STD_ROM_FN(Specmetropolst)

struct BurnDriver BurnSpecmetropolst = {
	"spec_metropolst", "spec_metropol", "spec_spectrum", NULL, "1989",
	"Metropolis (Spanish) (48K)\0", NULL, "Topo Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmetropolstRomInfo, SpecmetropolstRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Miami Chase (48K)

static struct BurnRomInfo SpecmiamchasRomDesc[] = {
	{ "Miami Chase (1991)(Codemasters).z80", 0x09dde, 0x8d4ea560, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmiamchas, Specmiamchas, Spectrum)
STD_ROM_FN(Specmiamchas)

struct BurnDriver BurnSpecmiamchas = {
	"spec_miamchas", NULL, "spec_spectrum", NULL, "1991",
	"Miami Chase (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmiamchasRomInfo, SpecmiamchasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Miami Cobra GT (48K)

static struct BurnRomInfo Specmiamicgt_48RomDesc[] = {
	{ "Miami Cobra GT (1991)(Players Software).z80", 0x0aa40, 0x6b70f36f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmiamicgt_48, Specmiamicgt_48, Spectrum)
STD_ROM_FN(Specmiamicgt_48)

struct BurnDriver BurnSpecmiamicgt_48 = {
	"spec_miamicgt_48", "spec_miamicgt", "spec_spectrum", NULL, "1991",
	"Miami Cobra GT (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmiamicgt_48RomInfo, Specmiamicgt_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Miami Cobra GT (128K)

static struct BurnRomInfo SpecmiamicgtRomDesc[] = {
	{ "Miami Cobra GT (1991)(Players Software)[128K].z80", 0x0c0e8, 0xe2fff34d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmiamicgt, Specmiamicgt, Spectrum)
STD_ROM_FN(Specmiamicgt)

struct BurnDriver BurnSpecmiamicgt = {
	"spec_miamicgt", NULL, "spec_spec128", NULL, "1991",
	"Miami Cobra GT (128K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmiamicgtRomInfo, SpecmiamicgtRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Miami Dice (48K)

static struct BurnRomInfo SpecmiamdiceRomDesc[] = {
	{ "Miami Dice (1986)(Bug-Byte Software).z80", 0x0a24c, 0x5f89cac1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmiamdice, Specmiamdice, Spectrum)
STD_ROM_FN(Specmiamdice)

struct BurnDriver BurnSpecmiamdice = {
	"spec_miamdice", NULL, "spec_spectrum", NULL, "1986",
	"Miami Dice (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmiamdiceRomInfo, SpecmiamdiceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Miami Vice (48K)

static struct BurnRomInfo SpecmiamviceRomDesc[] = {
	{ "Miami Vice (1986)(Ocean).z80", 0x0a5d6, 0x119c4e04, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmiamvice, Specmiamvice, Spectrum)
STD_ROM_FN(Specmiamvice)

struct BurnDriver BurnSpecmiamvice = {
	"spec_miamvice", NULL, "spec_spectrum", NULL, "1986",
	"Miami Vice (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmiamviceRomInfo, SpecmiamviceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Michel Futbol Master (Spanish) (48K)

static struct BurnRomInfo SpecmicfutmaRomDesc[] = {
	{ "Michel Futbol Master (1989)(Dinamic Software)(es).z80", 0x09f00, 0x6b044619, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmicfutma, Specmicfutma, Spectrum)
STD_ROM_FN(Specmicfutma)

struct BurnDriver BurnSpecmicfutma = {
	"spec_micfutma", NULL, "spec_spectrum", NULL, "1989",
	"Michel Futbol Master (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmicfutmaRomInfo, SpecmicfutmaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mickey Mouse (128K)

static struct BurnRomInfo SpecmickmousRomDesc[] = {
	{ "Mickey Mouse (1988)(Gremlin Graphics Software)[128K].z80", 0x0aefa, 0x2dce1ffe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmickmous, Specmickmous, Spectrum)
STD_ROM_FN(Specmickmous)

struct BurnDriver BurnSpecmickmous = {
	"spec_mickmous", NULL, "spec_spec128", NULL, "1988",
	"Mickey Mouse (128K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmickmousRomInfo, SpecmickmousRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Micro Bowl (Spanish) (48K)

static struct BurnRomInfo SpecmicrbowlRomDesc[] = {
	{ "Micro Bowl (1992)(Gabi Soft)(es).z80", 0x03e27, 0xf5de9311, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmicrbowl, Specmicrbowl, Spectrum)
STD_ROM_FN(Specmicrbowl)

struct BurnDriver BurnSpecmicrbowl = {
	"spec_micrbowl", NULL, "spec_spectrum", NULL, "1992",
	"Micro Bowl (Spanish) (48K)\0", NULL, "Gabi Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmicrbowlRomInfo, SpecmicrbowlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Micro Drivin' (48K)

static struct BurnRomInfo SpecmicrdrivRomDesc[] = {
	{ "Micro Drivin' (1988)(Softel Software).z80", 0x098f8, 0xab8d557a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmicrdriv, Specmicrdriv, Spectrum)
STD_ROM_FN(Specmicrdriv)

struct BurnDriver BurnSpecmicrdriv = {
	"spec_micrdriv", NULL, "spec_spectrum", NULL, "1988",
	"Micro Drivin' (48K)\0", NULL, "Softel Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmicrdrivRomInfo, SpecmicrdrivRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Micro Fitness v2.0 (48K)

static struct BurnRomInfo SpecmicrfitnRomDesc[] = {
	{ "Micro Fitness v2.0 (1984)(VO2).z80", 0x0905d, 0x7a33e719, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmicrfitn, Specmicrfitn, Spectrum)
STD_ROM_FN(Specmicrfitn)

struct BurnDriver BurnSpecmicrfitn = {
	"spec_micrfitn", NULL, "spec_spectrum", NULL, "1984",
	"Micro Fitness v2.0 (48K)\0", NULL, "VO2", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmicrfitnRomInfo, SpecmicrfitnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Micro Mouse (48K)

static struct BurnRomInfo SpecmicrmousRomDesc[] = {
	{ "Micro Mouse (1989)(Mastertronic Plus).z80", 0x097a3, 0x8a7755f0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmicrmous, Specmicrmous, Spectrum)
STD_ROM_FN(Specmicrmous)

struct BurnDriver BurnSpecmicrmous = {
	"spec_micrmous", NULL, "spec_spectrum", NULL, "1989",
	"Micro Mouse (48K)\0", NULL, "Mastertronic Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmicrmousRomInfo, SpecmicrmousRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Micro Olympics (48K)

static struct BurnRomInfo SpecmicrolymRomDesc[] = {
	{ "Micro Olympics (1984)(Database Publications).z80", 0x097ac, 0xab43d1e4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmicrolym, Specmicrolym, Spectrum)
STD_ROM_FN(Specmicrolym)

struct BurnDriver BurnSpecmicrolym = {
	"spec_microlym", NULL, "spec_spectrum", NULL, "1984",
	"Micro Olympics (48K)\0", NULL, "Database Publications", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmicrolymRomInfo, SpecmicrolymRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Micro Pen (48K)

static struct BurnRomInfo SpecmicrpenRomDesc[] = {
	{ "Micro Pen (1983)(Contrast Software).z80", 0x0284a, 0x6b9500c5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmicrpen, Specmicrpen, Spectrum)
STD_ROM_FN(Specmicrpen)

struct BurnDriver BurnSpecmicrpen = {
	"spec_micrpen", NULL, "spec_spectrum", NULL, "1983",
	"Micro Pen (48K)\0", NULL, "Contrast Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmicrpenRomInfo, SpecmicrpenRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Micro Prolog v1.0 (48K)

static struct BurnRomInfo SpecmicrprolRomDesc[] = {
	{ "Micro Prolog v1.0 (1983)(LPA).z80", 0x04460, 0x4eb59994, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmicrprol, Specmicrprol, Spectrum)
STD_ROM_FN(Specmicrprol)

struct BurnDriver BurnSpecmicrprol = {
	"spec_micrprol", NULL, "spec_spectrum", NULL, "1983",
	"Micro Prolog v1.0 (48K)\0", NULL, "LPA", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmicrprolRomInfo, SpecmicrprolRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Microball (48K)

static struct BurnRomInfo SpecmicrobalRomDesc[] = {
	{ "Microball (1988)(Alternative Software).z80", 0x04931, 0x84db6751, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmicrobal, Specmicrobal, Spectrum)
STD_ROM_FN(Specmicrobal)

struct BurnDriver BurnSpecmicrobal = {
	"spec_microbal", NULL, "spec_spectrum", NULL, "1988",
	"Microball (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmicrobalRomInfo, SpecmicrobalRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Microbot (48K)

static struct BurnRomInfo SpecmicrobotRomDesc[] = {
	{ "Microbot (1983)(Softek Software International).z80", 0x08833, 0x37d911ff, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmicrobot, Specmicrobot, Spectrum)
STD_ROM_FN(Specmicrobot)

struct BurnDriver BurnSpecmicrobot = {
	"spec_microbot", NULL, "spec_spectrum", NULL, "1983",
	"Microbot (48K)\0", NULL, "Softek Software International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmicrobotRomInfo, SpecmicrobotRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Microfair Madness (Part 1 of 2) (128K)

static struct BurnRomInfo SpecmicrmadRomDesc[] = {
	{ "Microfair Madness (1991)(Zenobi Software)(Part 1 of 2)[128K].z80", 0x0d510, 0xef7c91c8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmicrmad, Specmicrmad, Spectrum)
STD_ROM_FN(Specmicrmad)

struct BurnDriver BurnSpecmicrmad = {
	"spec_micrmad", NULL, "spec_spec128", NULL, "1991",
	"Microfair Madness (Part 1 of 2) (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmicrmadRomInfo, SpecmicrmadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Microfair Madness (Part 2 of 2) (128K)

static struct BurnRomInfo Specmicrmad2RomDesc[] = {
	{ "Microfair Madness (1991)(Zenobi Software)(Part 2 of 2)[128K].z80", 0x0c994, 0x5a1a9804, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmicrmad2, Specmicrmad2, Spectrum)
STD_ROM_FN(Specmicrmad2)

struct BurnDriver BurnSpecmicrmad2 = {
	"spec_micrmad2", "spec_micrmad", "spec_spec128", NULL, "1991",
	"Microfair Madness (Part 2 of 2) (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmicrmad2RomInfo, Specmicrmad2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Microfair Madness II (128K)

static struct BurnRomInfo Specmicrmd2RomDesc[] = {
	{ "Microfair Madness II (1991)(Zenobi Software)[128K].z80", 0x06ccf, 0x637bc601, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmicrmd2, Specmicrmd2, Spectrum)
STD_ROM_FN(Specmicrmd2)

struct BurnDriver BurnSpecmicrmd2 = {
	"spec_micrmd2", NULL, "spec_spec128", NULL, "1991",
	"Microfair Madness II (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmicrmd2RomInfo, Specmicrmd2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Micromaze (48K)

static struct BurnRomInfo SpecmicromazRomDesc[] = {
	{ "Micromaze (19xx)(King Software).z80", 0x02664, 0x97aa6257, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmicromaz, Specmicromaz, Spectrum)
STD_ROM_FN(Specmicromaz)

struct BurnDriver BurnSpecmicromaz = {
	"spec_micromaz", NULL, "spec_spectrum", NULL, "19xx",
	"Micromaze (48K)\0", NULL, "King Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmicromazRomInfo, SpecmicromazRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Micromouse (48K)

static struct BurnRomInfo SpecmicromouRomDesc[] = {
	{ "Micromouse (19xx)(-).z80", 0x02e67, 0xcfad9236, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmicromou, Specmicromou, Spectrum)
STD_ROM_FN(Specmicromou)

struct BurnDriver BurnSpecmicromou = {
	"spec_micromou", NULL, "spec_spectrum", NULL, "19xx",
	"Micromouse (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmicromouRomInfo, SpecmicromouRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Micronaut One (48K)

static struct BurnRomInfo SpecmicroneRomDesc[] = {
	{ "Micronaut One (1987)(Nexus Productions).z80", 0x09e66, 0x1ce4a473, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmicrone, Specmicrone, Spectrum)
STD_ROM_FN(Specmicrone)

struct BurnDriver BurnSpecmicrone = {
	"spec_microne", NULL, "spec_spectrum", NULL, "1987",
	"Micronaut One (48K)\0", NULL, "Nexus Productions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmicroneRomInfo, SpecmicroneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Microprose Soccer (48K)

static struct BurnRomInfo Specmicrsocc_48RomDesc[] = {
	{ "Microprose Soccer (1989)(Microprose Software).z80", 0x07ed8, 0x5125611a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmicrsocc_48, Specmicrsocc_48, Spectrum)
STD_ROM_FN(Specmicrsocc_48)

struct BurnDriver BurnSpecmicrsocc_48 = {
	"spec_micrsocc_48", "spec_micrsocc", "spec_spectrum", NULL, "1989",
	"Microprose Soccer (48K)\0", NULL, "Microprose Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmicrsocc_48RomInfo, Specmicrsocc_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Microprose Soccer (128K)

static struct BurnRomInfo SpecmicrsoccRomDesc[] = {
	{ "Microprose Soccer (1989)(Microprose Software)[128K].z80", 0x09c19, 0x432ea0b4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmicrsocc, Specmicrsocc, Spectrum)
STD_ROM_FN(Specmicrsocc)

struct BurnDriver BurnSpecmicrsocc = {
	"spec_micrsocc", NULL, "spec_spec128", NULL, "1989",
	"Microprose Soccer (128K)\0", NULL, "Microprose Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmicrsoccRomInfo, SpecmicrsoccRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Midnight Resistance (48K)

static struct BurnRomInfo Specmresist_48RomDesc[] = {
	{ "Midnight Resistance (1990)(Ocean).z80", 0x0a2e3, 0x70b26b8c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmresist_48, Specmresist_48, Spectrum)
STD_ROM_FN(Specmresist_48)

struct BurnDriver BurnSpecmresist_48 = {
	"spec_mresist_48", "spec_mresist", "spec_spectrum", NULL, "1990",
	"Midnight Resistance (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmresist_48RomInfo, Specmresist_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Midnight Resistance (128K)

static struct BurnRomInfo SpecmresistRomDesc[] = {
	{ "Midnight Resistance (1990)(Ocean)[128K].z80", 0x1b641, 0x614f8f38, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmresist, Specmresist, Spectrum)
STD_ROM_FN(Specmresist)

struct BurnDriver BurnSpecmresist = {
	"spec_mresist", NULL, "spec_spec128", NULL, "1990",
	"Midnight Resistance (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmresistRomInfo, SpecmresistRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mig 29 Soviet Fighter (48K)

static struct BurnRomInfo SpecmigsovfiRomDesc[] = {
	{ "Mig 29 Soviet Fighter (1989)(Codemasters).z80", 0x0a374, 0xa6adfb5e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmigsovfi, Specmigsovfi, Spectrum)
STD_ROM_FN(Specmigsovfi)

struct BurnDriver BurnSpecmigsovfi = {
	"spec_migsovfi", NULL, "spec_spectrum", NULL, "1989",
	"Mig 29 Soviet Fighter (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmigsovfiRomInfo, SpecmigsovfiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mig Busters (48K)

static struct BurnRomInfo SpecmigbusteRomDesc[] = {
	{ "Mig Busters (1990)(Players Premier Software).z80", 0x08c27, 0x2e81df98, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmigbuste, Specmigbuste, Spectrum)
STD_ROM_FN(Specmigbuste)

struct BurnDriver BurnSpecmigbuste = {
	"spec_migbuste", NULL, "spec_spectrum", NULL, "1990",
	"Mig Busters (48K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmigbusteRomInfo, SpecmigbusteRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mighty Magus (48K)

static struct BurnRomInfo SpecmighmaguRomDesc[] = {
	{ "Mighty Magus (1985)(Quicksilva).z80", 0x09e3d, 0xc4ad7e41, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmighmagu, Specmighmagu, Spectrum)
STD_ROM_FN(Specmighmagu)

struct BurnDriver BurnSpecmighmagu = {
	"spec_mighmagu", NULL, "spec_spectrum", NULL, "1985",
	"Mighty Magus (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmighmaguRomInfo, SpecmighmaguRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mighty Sword of the Dark, The (48K)

static struct BurnRomInfo SpecmiswdathRomDesc[] = {
	{ "Mighty Sword of the Dark, The (1996)(CSSCGC).z80", 0x0202d, 0x962e923a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmiswdath, Specmiswdath, Spectrum)
STD_ROM_FN(Specmiswdath)

struct BurnDriver BurnSpecmiswdath = {
	"spec_miswdath", NULL, "spec_spectrum", NULL, "1996",
	"Mighty Sword of the Dark, The (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmiswdathRomInfo, SpecmiswdathRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mihotabpa (Russian) (48K)

static struct BurnRomInfo SpecmihotabpRomDesc[] = {
	{ "Mihotabpa (19xx)(-)(ru).z80", 0x09009, 0x3d8d75a7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmihotabp, Specmihotabp, Spectrum)
STD_ROM_FN(Specmihotabp)

struct BurnDriver BurnSpecmihotabp = {
	"spec_mihotabp", NULL, "spec_spectrum", NULL, "19xx",
	"Mihotabpa (Russian) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmihotabpRomInfo, SpecmihotabpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mike Gunner (Spanish) (48K)

static struct BurnRomInfo SpecmikegunnRomDesc[] = {
	{ "Mike Gunner (1988)(Dinamic Software)(es)[gunstick].z80", 0x09775, 0x116d7042, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmikegunn, Specmikegunn, Spectrum)
STD_ROM_FN(Specmikegunn)

struct BurnDriver BurnSpecmikegunn = {
	"spec_mikegunn", NULL, "spec_spectrum", NULL, "1988",
	"Mike Gunner (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmikegunnRomInfo, SpecmikegunnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mikie (48K)

static struct BurnRomInfo SpecmikieRomDesc[] = {
	{ "Mikie (1986)(Imagine Software).z80", 0x09cd4, 0xe1d16fb1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmikie, Specmikie, Spectrum)
STD_ROM_FN(Specmikie)

struct BurnDriver BurnSpecmikie = {
	"spec_mikie", NULL, "spec_spectrum", NULL, "1986",
	"Mikie (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmikieRomInfo, SpecmikieRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Milk Race (48K)

static struct BurnRomInfo SpecmilkraceRomDesc[] = {
	{ "Milk Race (1987)(Mastertronic).z80", 0x06ee3, 0xf0bb2936, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmilkrace, Specmilkrace, Spectrum)
STD_ROM_FN(Specmilkrace)

struct BurnDriver BurnSpecmilkrace = {
	"spec_milkrace", NULL, "spec_spectrum", NULL, "1987",
	"Milk Race (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmilkraceRomInfo, SpecmilkraceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Millimon (48K)

static struct BurnRomInfo SpecmillimonRomDesc[] = {
	{ "Millimon (1984)(Artic Computing).z80", 0x01fab, 0x5a978c5c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmillimon, Specmillimon, Spectrum)
STD_ROM_FN(Specmillimon)

struct BurnDriver BurnSpecmillimon = {
	"spec_millimon", NULL, "spec_spectrum", NULL, "1984",
	"Millimon (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmillimonRomInfo, SpecmillimonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Million Dollar Great Jewel Heist, The (48K)

static struct BurnRomInfo SpecmdgjhtRomDesc[] = {
	{ "Million Dollar Great Jewel Heist, The (1992)(The Guild).z80", 0x076a1, 0x62d4693a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmdgjht, Specmdgjht, Spectrum)
STD_ROM_FN(Specmdgjht)

struct BurnDriver BurnSpecmdgjht = {
	"spec_mdgjht", NULL, "spec_spectrum", NULL, "1992",
	"Million Dollar Great Jewel Heist, The (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmdgjhtRomInfo, SpecmdgjhtRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Millionaire (48K)

static struct BurnRomInfo SpecmillionaRomDesc[] = {
	{ "Millionaire (1984)(Incentive Software).z80", 0x0913b, 0x08adf891, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmilliona, Specmilliona, Spectrum)
STD_ROM_FN(Specmilliona)

struct BurnDriver BurnSpecmilliona = {
	"spec_milliona", NULL, "spec_spectrum", NULL, "1984",
	"Millionaire (48K)\0", NULL, "Incentive Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmillionaRomInfo, SpecmillionaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Millipede (48K)

static struct BurnRomInfo SpecmillipedRomDesc[] = {
	{ "Millipede (1983)(Softek Software International).z80", 0x0191b, 0x6836efc2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmilliped, Specmilliped, Spectrum)
STD_ROM_FN(Specmilliped)

struct BurnDriver BurnSpecmilliped = {
	"spec_milliped", NULL, "spec_spectrum", NULL, "1983",
	"Millipede (48K)\0", NULL, "Softek Software International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmillipedRomInfo, SpecmillipedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mimzoid Death Dude (cs) (48K)

static struct BurnRomInfo SpecmimdeaduRomDesc[] = {
	{ "Mimzoid Death Dude (1988)(Grant Jaquest)(cs).z80", 0x09be1, 0xa2189690, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmimdeadu, Specmimdeadu, Spectrum)
STD_ROM_FN(Specmimdeadu)

struct BurnDriver BurnSpecmimdeadu = {
	"spec_mimdeadu", NULL, "spec_spectrum", NULL, "1988",
	"Mimzoid Death Dude (cs) (48K)\0", NULL, "Grant Jaquest", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmimdeaduRomInfo, SpecmimdeaduRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Minas Perdidas, Las (Spanish) (48K)

static struct BurnRomInfo SpecminasperRomDesc[] = {
	{ "Minas Perdidas, Las (1989)(Aventuras AM)(es).z80", 0x09644, 0x805b2afe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specminasper, Specminasper, Spectrum)
STD_ROM_FN(Specminasper)

struct BurnDriver BurnSpecminasper = {
	"spec_minasper", NULL, "spec_spectrum", NULL, "1989",
	"Minas Perdidas, Las (Spanish) (48K)\0", NULL, "Aventuras AM", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecminasperRomInfo, SpecminasperRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Minas Perdidas, Las v2 (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecminsperRomDesc[] = {
	{ "Minas Perdidas, Las v2 (1994)(Aventuras AM)(es)(Part 1 of 2).z80", 0x0a5dd, 0x98c61ec5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specminsper, Specminsper, Spectrum)
STD_ROM_FN(Specminsper)

struct BurnDriver BurnSpecminsper = {
	"spec_minsper", NULL, "spec_spectrum", NULL, "1994",
	"Minas Perdidas, Las v2 (Spanish) (Part 1 of 2) (48K)\0", NULL, "Aventuras AM", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecminsperRomInfo, SpecminsperRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Minas Perdidas, Las v2 (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specminsper2RomDesc[] = {
	{ "Minas Perdidas, Las v2 (1994)(Aventuras AM)(es)(Part 2 of 2).z80", 0x0a809, 0x7ee6f847, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specminsper2, Specminsper2, Spectrum)
STD_ROM_FN(Specminsper2)

struct BurnDriver BurnSpecminsper2 = {
	"spec_minsper2", "spec_minsper", "spec_spectrum", NULL, "1994",
	"Minas Perdidas, Las v2 (Spanish) (Part 2 of 2) (48K)\0", NULL, "Aventuras AM", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specminsper2RomInfo, Specminsper2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mind Cross War (cs) (48K)

static struct BurnRomInfo SpecmincrowaRomDesc[] = {
	{ "Mind Cross War (1993)(The Smart Soft)(cs).z80", 0x09472, 0xefc16ded, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmincrowa, Specmincrowa, Spectrum)
STD_ROM_FN(Specmincrowa)

struct BurnDriver BurnSpecmincrowa = {
	"spec_mincrowa", NULL, "spec_spectrum", NULL, "1993",
	"Mind Cross War (cs) (48K)\0", NULL, "The Smart Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmincrowaRomInfo, SpecmincrowaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mindbender (Part 1 of 2) (48K)

static struct BurnRomInfo SpecmindbendRomDesc[] = {
	{ "Mindbender (1984)(Gilsoft International)(Part 1 of 2).z80", 0x08edd, 0xef13d8e7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmindbend, Specmindbend, Spectrum)
STD_ROM_FN(Specmindbend)

struct BurnDriver BurnSpecmindbend = {
	"spec_mindbend", NULL, "spec_spectrum", NULL, "1984",
	"Mindbender (Part 1 of 2) (48K)\0", NULL, "Gilsoft International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmindbendRomInfo, SpecmindbendRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mindbender (Part 2 of 2) (48K)

static struct BurnRomInfo Specmindbend2RomDesc[] = {
	{ "Mindbender (1984)(Gilsoft International)(Part 2 of 2).z80", 0x09083, 0x85d67b2b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmindbend2, Specmindbend2, Spectrum)
STD_ROM_FN(Specmindbend2)

struct BurnDriver BurnSpecmindbend2 = {
	"spec_mindbend2", "spec_mindbend", "spec_spectrum", NULL, "1984",
	"Mindbender (Part 2 of 2) (48K)\0", NULL, "Gilsoft International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmindbend2RomInfo, Specmindbend2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Minder (48K)

static struct BurnRomInfo SpecminderRomDesc[] = {
	{ "Minder (1985)(DK'Tronics).z80", 0x097c2, 0x29a575d7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specminder, Specminder, Spectrum)
STD_ROM_FN(Specminder)

struct BurnDriver BurnSpecminder = {
	"spec_minder", NULL, "spec_spectrum", NULL, "1985",
	"Minder (48K)\0", NULL, "DK'Tronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecminderRomInfo, SpecminderRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mindfighter (128K)

static struct BurnRomInfo SpecmindfighRomDesc[] = {
	{ "Mindfighter (1988)(Abstract Concepts)[128K].z80", 0x0cab1, 0x89581315, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmindfigh, Specmindfigh, Spectrum)
STD_ROM_FN(Specmindfigh)

struct BurnDriver BurnSpecmindfigh = {
	"spec_mindfigh", NULL, "spec_spec128", NULL, "1988",
	"Mindfighter (128K)\0", NULL, "Abstract Concepts", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmindfighRomInfo, SpecmindfighRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mindshadow - Documentation (48K)

static struct BurnRomInfo SpecmindshaddRomDesc[] = {
	{ "Mindshadow - Documentation (1985)(Activision).z80", 0x0a6ce, 0xe9786480, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmindshadd, Specmindshadd, Spectrum)
STD_ROM_FN(Specmindshadd)

struct BurnDriver BurnSpecmindshadd = {
	"spec_mindshadd", "spec_mindshad", "spec_spectrum", NULL, "1985",
	"Mindshadow - Documentation (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmindshaddRomInfo, SpecmindshaddRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mindshadow - Living Tutorial (48K)

static struct BurnRomInfo SpecmindshadRomDesc[] = {
	{ "Mindshadow - Living Tutorial (1985)(Activision).z80", 0x0100c, 0x556d2b3d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmindshad, Specmindshad, Spectrum)
STD_ROM_FN(Specmindshad)

struct BurnDriver BurnSpecmindshad = {
	"spec_mindshad", NULL, "spec_spectrum", NULL, "1985",
	"Mindshadow - Living Tutorial (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmindshadRomInfo, SpecmindshadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mindshadow (Part 1 of 2) (48K)

static struct BurnRomInfo Specmindshad1RomDesc[] = {
	{ "Mindshadow (1985)(Activision)(Part 1 of 2).z80", 0x09ff6, 0xbe2fef32, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmindshad1, Specmindshad1, Spectrum)
STD_ROM_FN(Specmindshad1)

struct BurnDriver BurnSpecmindshad1 = {
	"spec_mindshad1", "spec_mindshad", "spec_spectrum", NULL, "1985",
	"Mindshadow (Part 1 of 2) (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmindshad1RomInfo, Specmindshad1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mindshadow (Part 2 of 2) (48K)

static struct BurnRomInfo Specmindshad2RomDesc[] = {
	{ "Mindshadow (1985)(Activision)(Part 2 of 2).z80", 0x0ad16, 0x1042d0cd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmindshad2, Specmindshad2, Spectrum)
STD_ROM_FN(Specmindshad2)

struct BurnDriver BurnSpecmindshad2 = {
	"spec_mindshad2", "spec_mindshad", "spec_spectrum", NULL, "1985",
	"Mindshadow (Part 2 of 2) (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmindshad2RomInfo, Specmindshad2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mindtrap (48K)

static struct BurnRomInfo SpecmindtrapRomDesc[] = {
	{ "Mindtrap (1989)(Mastertronic).z80", 0x0516f, 0x32153e7a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmindtrap, Specmindtrap, Spectrum)
STD_ROM_FN(Specmindtrap)

struct BurnDriver BurnSpecmindtrap = {
	"spec_mindtrap", NULL, "spec_spectrum", NULL, "1989",
	"Mindtrap (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmindtrapRomInfo, SpecmindtrapRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mine (sr) (48K)

static struct BurnRomInfo SpecminesrRomDesc[] = {
	{ "Mine (19xx)(Benkosoft)(sr).z80", 0x0247a, 0x91a0764d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specminesr, Specminesr, Spectrum)
STD_ROM_FN(Specminesr)

struct BurnDriver BurnSpecminesr = {
	"spec_minesr", NULL, "spec_spectrum", NULL, "19xx",
	"Mine (sr) (48K)\0", NULL, "Benkosoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecminesrRomInfo, SpecminesrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mined-Out (48K)

static struct BurnRomInfo SpecmineoutRomDesc[] = {
	{ "Mined-Out (1983)(Quicksilva).z80", 0x05a88, 0x508e08ea, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmineout, Specmineout, Spectrum)
STD_ROM_FN(Specmineout)

struct BurnDriver BurnSpecmineout = {
	"spec_mineout", NULL, "spec_spectrum", NULL, "1983",
	"Mined-Out (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmineoutRomInfo, SpecmineoutRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Minefield (48K)

static struct BurnRomInfo SpecminefielRomDesc[] = {
	{ "Minefield (1997)(CSSCGC).z80", 0x0079b, 0x4efc1531, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specminefiel, Specminefiel, Spectrum)
STD_ROM_FN(Specminefiel)

struct BurnDriver BurnSpecminefiel = {
	"spec_minefiel", NULL, "spec_spectrum", NULL, "1997",
	"Minefield (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecminefielRomInfo, SpecminefielRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mines of Lithiad, The (48K)

static struct BurnRomInfo SpecminlitthRomDesc[] = {
	{ "Mines of Lithiad, The (1992)(Zenobi Software).z80", 0x096e6, 0x277be4cb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specminlitth, Specminlitth, Spectrum)
STD_ROM_FN(Specminlitth)

struct BurnDriver BurnSpecminlitth = {
	"spec_minlitth", NULL, "spec_spectrum", NULL, "1992",
	"Mines of Lithiad, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecminlitthRomInfo, SpecminlitthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mines of Moria (48K)

static struct BurnRomInfo SpecminemoriRomDesc[] = {
	{ "Mines of Moria (1983)(Severn Software).z80", 0x023ef, 0x9c6fe9fd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specminemori, Specminemori, Spectrum)
STD_ROM_FN(Specminemori)

struct BurnDriver BurnSpecminemori = {
	"spec_minemori", NULL, "spec_spectrum", NULL, "1983",
	"Mines of Moria (48K)\0", NULL, "Severn Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecminemoriRomInfo, SpecminemoriRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Minesweeper (Softhouse) (48K)

static struct BurnRomInfo SpecmineswpRomDesc[] = {
	{ "Minesweeper (1996)(Softhouse).z80", 0x02609, 0x3c23e677, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmineswp, Specmineswp, Spectrum)
STD_ROM_FN(Specmineswp)

struct BurnDriver BurnSpecmineswp = {
	"spec_mineswp", NULL, "spec_spectrum", NULL, "1996",
	"Minesweeper (Softhouse) (48K)\0", NULL, "Softhouse", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmineswpRomInfo, SpecmineswpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Minesweeper (CSSCGC) (48K)

static struct BurnRomInfo SpecmineswpcRomDesc[] = {
	{ "Minesweeper (1997)(CSSCGC).z80", 0x015bc, 0x6ddff4d5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmineswpc, Specmineswpc, Spectrum)
STD_ROM_FN(Specmineswpc)

struct BurnDriver BurnSpecmineswpc = {
	"spec_mineswpc", "spec_mineswp", "spec_spectrum", NULL, "1997",
	"Minesweeper (CSSCGC) (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmineswpcRomInfo, SpecmineswpcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mini Adventure (48K)

static struct BurnRomInfo SpecminiadveRomDesc[] = {
	{ "Mini Adventure (1984)(Werner Spahl).z80", 0x0267c, 0x4d92ed90, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specminiadve, Specminiadve, Spectrum)
STD_ROM_FN(Specminiadve)

struct BurnDriver BurnSpecminiadve = {
	"spec_miniadve", NULL, "spec_spectrum", NULL, "1984",
	"Mini Adventure (48K)\0", NULL, "Werner Spahl", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecminiadveRomInfo, SpecminiadveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mini Grand National (48K)

static struct BurnRomInfo SpecmingranaRomDesc[] = {
	{ "Mini Grand National (19xx)(Martin Cowie).z80", 0x05713, 0xe7a433fd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmingrana, Specmingrana, Spectrum)
STD_ROM_FN(Specmingrana)

struct BurnDriver BurnSpecmingrana = {
	"spec_mingrana", NULL, "spec_spectrum", NULL, "19xx",
	"Mini Grand National (48K)\0", NULL, "Martin Cowie", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmingranaRomInfo, SpecmingranaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mini-Putt (128K)

static struct BurnRomInfo SpecminiputtRomDesc[] = {
	{ "Mini-Putt (1988)(Accolade)[128K].z80", 0x0eea0, 0x2ae84866, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specminiputt, Specminiputt, Spectrum)
STD_ROM_FN(Specminiputt)

struct BurnDriver BurnSpecminiputt = {
	"spec_miniputt", NULL, "spec_spec128", NULL, "1988",
	"Mini-Putt (128K)\0", NULL, "Accolade", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecminiputtRomInfo, SpecminiputtRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Miser, The (48K)

static struct BurnRomInfo SpecmisetheRomDesc[] = {
	{ "Miser, The (1990)(Zenobi Software)[re-release].z80", 0x09348, 0xb863f9ee, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmisethe, Specmisethe, Spectrum)
STD_ROM_FN(Specmisethe)

struct BurnDriver BurnSpecmisethe = {
	"spec_misethe", NULL, "spec_spectrum", NULL, "1990",
	"Miser, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmisetheRomInfo, SpecmisetheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Missile (48K)

static struct BurnRomInfo SpecmissileRomDesc[] = {
	{ "Missile (19xx)(B+H).z80", 0x027cf, 0xbf55f6de, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmissile, Specmissile, Spectrum)
STD_ROM_FN(Specmissile)

struct BurnDriver BurnSpecmissile = {
	"spec_missile", NULL, "spec_spectrum", NULL, "19xx",
	"Missile (48K)\0", NULL, "B+H", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmissileRomInfo, SpecmissileRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Missile Defence (48K)

static struct BurnRomInfo SpecmissdfncRomDesc[] = {
	{ "Missile Defence (1983)(Anirog Software).z80", 0x05afe, 0x66eb12ba, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmissdfnc, Specmissdfnc, Spectrum)
STD_ROM_FN(Specmissdfnc)

struct BurnDriver BurnSpecmissdfnc = {
	"spec_missdfnc", NULL, "spec_spectrum", NULL, "1983",
	"Missile Defence (48K)\0", NULL, "Anirog Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmissdfncRomInfo, SpecmissdfncRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Missile Defender (48K)

static struct BurnRomInfo SpecmissdndrRomDesc[] = {
	{ "Missile Defender (19xx)(-).z80", 0x0240d, 0xf418e573, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmissdndr, Specmissdndr, Spectrum)
STD_ROM_FN(Specmissdndr)

struct BurnDriver BurnSpecmissdndr = {
	"spec_missdndr", NULL, "spec_spectrum", NULL, "19xx",
	"Missile Defender (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmissdndrRomInfo, SpecmissdndrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Missile Ground Zero (48K)

static struct BurnRomInfo SpecmisgrozeRomDesc[] = {
	{ "Missile Ground Zero (1989)(Virgin Mastertronic).z80", 0x04733, 0x28cc373f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmisgroze, Specmisgroze, Spectrum)
STD_ROM_FN(Specmisgroze)

struct BurnDriver BurnSpecmisgroze = {
	"spec_misgroze", NULL, "spec_spectrum", NULL, "1989",
	"Missile Ground Zero (48K)\0", NULL, "Virgin Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmisgrozeRomInfo, SpecmisgrozeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mission Collision (48K)

static struct BurnRomInfo SpecmisscollRomDesc[] = {
	{ "Mission Collision (1987)(DJG).z80", 0x01c72, 0xb2a7e54f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmisscoll, Specmisscoll, Spectrum)
STD_ROM_FN(Specmisscoll)

struct BurnDriver BurnSpecmisscoll = {
	"spec_misscoll", NULL, "spec_spectrum", NULL, "1987",
	"Mission Collision (48K)\0", NULL, "DJG", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmisscollRomInfo, SpecmisscollRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mission Elevator (48K)

static struct BurnRomInfo SpecmisselevRomDesc[] = {
	{ "Mission Elevator (1988)(Kixx).z80", 0x09181, 0x22ed5a07, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmisselev, Specmisselev, Spectrum)
STD_ROM_FN(Specmisselev)

struct BurnDriver BurnSpecmisselev = {
	"spec_misselev", NULL, "spec_spectrum", NULL, "1988",
	"Mission Elevator (48K)\0", NULL, "Kixx", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmisselevRomInfo, SpecmisselevRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mission I - Project Volcano (48K)

static struct BurnRomInfo SpecmiiprojeRomDesc[] = {
	{ "Mission I - Project Volcano (1984)(Mission Software).z80", 0x096cb, 0x631534e1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmiiproje, Specmiiproje, Spectrum)
STD_ROM_FN(Specmiiproje)

struct BurnDriver BurnSpecmiiproje = {
	"spec_miiproje", NULL, "spec_spectrum", NULL, "1984",
	"Mission I - Project Volcano (48K)\0", NULL, "Mission Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmiiprojeRomInfo, SpecmiiprojeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mission Jupiter (48K)

static struct BurnRomInfo SpecmissjupiRomDesc[] = {
	{ "Mission Jupiter (1987)(Codemasters).z80", 0x09425, 0x4044c2bb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmissjupi, Specmissjupi, Spectrum)
STD_ROM_FN(Specmissjupi)

struct BurnDriver BurnSpecmissjupi = {
	"spec_missjupi", NULL, "spec_spectrum", NULL, "1987",
	"Mission Jupiter (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmissjupiRomInfo, SpecmissjupiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mission Ninety One (48K)

static struct BurnRomInfo SpecmisninonRomDesc[] = {
	{ "Mission Ninety One (1986)(Newdata Software).z80", 0x06e43, 0x2d2547b3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmisninon, Specmisninon, Spectrum)
STD_ROM_FN(Specmisninon)

struct BurnDriver BurnSpecmisninon = {
	"spec_misninon", NULL, "spec_spectrum", NULL, "1986",
	"Mission Ninety One (48K)\0", NULL, "Newdata Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmisninonRomInfo, SpecmisninonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mission Omega (Pulsonic) (48K)

static struct BurnRomInfo SpecmissompuRomDesc[] = {
	{ "Mission Omega (1983)(Pulsonic).z80", 0x080cb, 0xf09eb6cd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmissompu, Specmissompu, Spectrum)
STD_ROM_FN(Specmissompu)

struct BurnDriver BurnSpecmissompu = {
	"spec_missompu", NULL, "spec_spectrum", NULL, "1983",
	"Mission Omega (Pulsonic) (48K)\0", NULL, "Pulsonic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmissompuRomInfo, SpecmissompuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mission Omega (Mind Games) (48K)

static struct BurnRomInfo SpecmissommgRomDesc[] = {
	{ "Mission Omega (1986)(Mind Games).z80", 0x09ca8, 0x47278f04, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmissommg, Specmissommg, Spectrum)
STD_ROM_FN(Specmissommg)

struct BurnDriver BurnSpecmissommg = {
	"spec_missommg", NULL, "spec_spectrum", NULL, "1986",
	"Mission Omega (Mind Games) (48K)\0", NULL, "Mind Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmissommgRomInfo, SpecmissommgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mission X (48K)

static struct BurnRomInfo SpecmissxRomDesc[] = {
	{ "Mission X (1991)(G.I. Games).z80", 0x07366, 0xd2f279c0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmissx, Specmissx, Spectrum)
STD_ROM_FN(Specmissx)

struct BurnDriver BurnSpecmissx = {
	"spec_missx", NULL, "spec_spectrum", NULL, "1991",
	"Mission X (48K)\0", NULL, "G.I. Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmissxRomInfo, SpecmissxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mission-1 (Spanish) (48K)

static struct BurnRomInfo Specmission1RomDesc[] = {
	{ "Mission-1 (1985)(ABC Soft)(es)[aka Mission I - Project Volcano].z80", 0x09863, 0x51652187, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmission1, Specmission1, Spectrum)
STD_ROM_FN(Specmission1)

struct BurnDriver BurnSpecmission1 = {
	"spec_mission1", NULL, "spec_spectrum", NULL, "1985",
	"Mission-1 (Spanish) (48K)\0", NULL, "ABC Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmission1RomInfo, Specmission1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Misterio del Nilo, El (Spanish) (48K)

static struct BurnRomInfo SpecmisnilRomDesc[] = {
	{ "Misterio del Nilo, El (1987)(Zigurat Software)(es).z80", 0x0a99b, 0xc0dba7b9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmisnil, Specmisnil, Spectrum)
STD_ROM_FN(Specmisnil)

struct BurnDriver BurnSpecmisnil = {
	"spec_misnil", NULL, "spec_spectrum", NULL, "1987",
	"Misterio del Nilo, El (Spanish) (48K)\0", NULL, "Zigurat Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmisnilRomInfo, SpecmisnilRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Misterios del Gusano II, Los - Cultos sin Nombre (Spanish) (48K)

static struct BurnRomInfo Specmisgus2RomDesc[] = {
	{ "Misterios del Gusano II, Los - Cultos sin Nombre (1994)(Videofex)(es).z80", 0x08f6f, 0xafd87450, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmisgus2, Specmisgus2, Spectrum)
STD_ROM_FN(Specmisgus2)

struct BurnDriver BurnSpecmisgus2 = {
	"spec_misgus2", NULL, "spec_spectrum", NULL, "1994",
	"Misterios del Gusano II, Los - Cultos sin Nombre (Spanish) (48K)\0", NULL, "Videofex", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmisgus2RomInfo, Specmisgus2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Misterios del Gusano, Los (Spanish) (48K)

static struct BurnRomInfo SpecmisgusRomDesc[] = {
	{ "Misterios del Gusano, Los (1993)(Videofex)(es).z80", 0x08ffb, 0x87d905c0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmisgus, Specmisgus, Spectrum)
STD_ROM_FN(Specmisgus)

struct BurnDriver BurnSpecmisgus = {
	"spec_misgus", NULL, "spec_spectrum", NULL, "1993",
	"Misterios del Gusano, Los (Spanish) (48K)\0", NULL, "Videofex", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmisgusRomInfo, SpecmisgusRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mittlewelle (German) (48K)

static struct BurnRomInfo SpecmittleweRomDesc[] = {
	{ "Mittlewelle (1984)(F. Gutjahr)(de).z80", 0x09508, 0x06c1ee41, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmittlewe, Specmittlewe, Spectrum)
STD_ROM_FN(Specmittlewe)

struct BurnDriver BurnSpecmittlewe = {
	"spec_mittlewe", NULL, "spec_spectrum", NULL, "1984",
	"Mittlewelle (German) (48K)\0", NULL, "F. Gutjahr", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmittleweRomInfo, SpecmittleweRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mocsarbol (hu) (128K)

static struct BurnRomInfo SpecmocsarboRomDesc[] = {
	{ "Mocsarbol (1998)(Laszlo Nyitrai)(hu)[128K].z80", 0x02850, 0x1b61eb6f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmocsarbo, Specmocsarbo, Spectrum)
STD_ROM_FN(Specmocsarbo)

struct BurnDriver BurnSpecmocsarbo = {
	"spec_mocsarbo", NULL, "spec_spec128", NULL, "1998",
	"Mocsarbol (hu) (128K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmocsarboRomInfo, SpecmocsarboRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moggy Murder (48K)

static struct BurnRomInfo SpecmoggmurdRomDesc[] = {
	{ "Moggy Murder (1997)(CSSCGC).z80", 0x016a9, 0x837b81ac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmoggmurd, Specmoggmurd, Spectrum)
STD_ROM_FN(Specmoggmurd)

struct BurnDriver BurnSpecmoggmurd = {
	"spec_moggmurd", NULL, "spec_spectrum", NULL, "1997",
	"Moggy Murder (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmoggmurdRomInfo, SpecmoggmurdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Molecule Man - Editor (48K)

static struct BurnRomInfo SpecmolmanedRomDesc[] = {
	{ "Molecule Man - Editor (1986)(Mastertronic).z80", 0x026c9, 0x22cb4e9a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmolmaned, Specmolmaned, Spectrum)
STD_ROM_FN(Specmolmaned)

struct BurnDriver BurnSpecmolmaned = {
	"spec_molmaned", NULL, "spec_spectrum", NULL, "1986",
	"Molecule Man - Editor (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmolmanedRomInfo, SpecmolmanedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Money Manager (48K)

static struct BurnRomInfo SpecmonemanaRomDesc[] = {
	{ "Money Manager (1984)(Creative Sparks).z80", 0x038b0, 0x8d9c0562, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmonemana, Specmonemana, Spectrum)
STD_ROM_FN(Specmonemana)

struct BurnDriver BurnSpecmonemana = {
	"spec_monemana", NULL, "spec_spectrum", NULL, "1984",
	"Money Manager (48K)\0", NULL, "Creative Sparks", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmonemanaRomInfo, SpecmonemanaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Monkey Biznes (48K)

static struct BurnRomInfo SpecmonkbiznRomDesc[] = {
	{ "Monkey Biznes (1983)(Artic Computing).z80", 0x07a11, 0x969a8f27, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmonkbizn, Specmonkbizn, Spectrum)
STD_ROM_FN(Specmonkbizn)

struct BurnDriver BurnSpecmonkbizn = {
	"spec_monkbizn", NULL, "spec_spectrum", NULL, "1983",
	"Monkey Biznes (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmonkbiznRomInfo, SpecmonkbiznRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Monopoly (48K)

static struct BurnRomInfo SpecmonopolyRomDesc[] = {
	{ "Monopoly (1985)(Leisure Genius).z80", 0x0a9fe, 0x1a059b27, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmonopoly, Specmonopoly, Spectrum)
STD_ROM_FN(Specmonopoly)

struct BurnDriver BurnSpecmonopoly = {
	"spec_monopoly", NULL, "spec_spectrum", NULL, "1985",
	"Monopoly (48K)\0", NULL, "Leisure Genius", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmonopolyRomInfo, SpecmonopolyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Monoszkop (hu) (48K)

static struct BurnRomInfo SpecmonoszkoRomDesc[] = {
	{ "Monoszkop (1988)(Laszlo Nyitrai)(hu).z80", 0x01c9f, 0x23447d8b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmonoszko, Specmonoszko, Spectrum)
STD_ROM_FN(Specmonoszko)

struct BurnDriver BurnSpecmonoszko = {
	"spec_monoszko", NULL, "spec_spectrum", NULL, "1988",
	"Monoszkop (hu) (48K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmonoszkoRomInfo, SpecmonoszkoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Monte Carlo Casino (48K)

static struct BurnRomInfo Specmoncarca_48RomDesc[] = {
	{ "Monte Carlo Casino (1989)(Codemasters).z80", 0x0af88, 0x6fd0645b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmoncarca_48, Specmoncarca_48, Spectrum)
STD_ROM_FN(Specmoncarca_48)

struct BurnDriver BurnSpecmoncarca_48 = {
	"spec_moncarca_48", "spec_moncarca", "spec_spectrum", NULL, "1989",
	"Monte Carlo Casino (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmoncarca_48RomInfo, Specmoncarca_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Monte Carlo Casino (128K)

static struct BurnRomInfo SpecmoncarcaRomDesc[] = {
	{ "Monte Carlo Casino (1989)(Codemasters)[128K].z80", 0x0a7b0, 0x9b0cec9c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmoncarca, Specmoncarca, Spectrum)
STD_ROM_FN(Specmoncarca)

struct BurnDriver BurnSpecmoncarca = {
	"spec_moncarca", NULL, "spec_spec128", NULL, "1989",
	"Monte Carlo Casino (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmoncarcaRomInfo, SpecmoncarcaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Monty is Innocent (48K)

static struct BurnRomInfo SpecmontinnoRomDesc[] = {
	{ "Monty is Innocent (1985)(Gremlin Graphics Software).z80", 0x0a851, 0xac950e4d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmontinno, Specmontinno, Spectrum)
STD_ROM_FN(Specmontinno)

struct BurnDriver BurnSpecmontinno = {
	"spec_montinno", NULL, "spec_spectrum", NULL, "1985",
	"Monty is Innocent (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmontinnoRomInfo, SpecmontinnoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Monty on the Run (48K)

static struct BurnRomInfo SpecmontrunRomDesc[] = {
	{ "Monty on the Run (1985)(Gremlin Graphics Software).z80", 0x099c9, 0x8d143cdd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmontrun, Specmontrun, Spectrum)
STD_ROM_FN(Specmontrun)

struct BurnDriver BurnSpecmontrun = {
	"spec_montrun", NULL, "spec_spectrum", NULL, "1985",
	"Monty on the Run (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmontrunRomInfo, SpecmontrunRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moon Alert (48K)

static struct BurnRomInfo SpecmoonalerRomDesc[] = {
	{ "Moon Alert (1984)(Ocean)[speech].z80", 0x0aeaa, 0xf229c068, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmoonaler, Specmoonaler, Spectrum)
STD_ROM_FN(Specmoonaler)

struct BurnDriver BurnSpecmoonaler = {
	"spec_moonaler", NULL, "spec_spectrum", NULL, "1984",
	"Moon Alert (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmoonalerRomInfo, SpecmoonalerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moon Buggy (Anirog Software) (48K)

static struct BurnRomInfo SpecmoonbugaRomDesc[] = {
	{ "Moon Buggy (1983)(Anirog Software).z80", 0x02f9a, 0xe50306b0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmoonbuga, Specmoonbuga, Spectrum)
STD_ROM_FN(Specmoonbuga)

struct BurnDriver BurnSpecmoonbuga = {
	"spec_moonbuga", NULL, "spec_spectrum", NULL, "1983",
	"Moon Buggy (Anirog Software) (48K)\0", NULL, "Anirog Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmoonbugaRomInfo, SpecmoonbugaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moon Buggy (Visions Software Factory) (48K)

static struct BurnRomInfo SpecmoonbugvRomDesc[] = {
	{ "Moon Buggy (1983)(Visions Software Factory).z80", 0x02404, 0x95fad0a0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmoonbugv, Specmoonbugv, Spectrum)
STD_ROM_FN(Specmoonbugv)

struct BurnDriver BurnSpecmoonbugv = {
	"spec_moonbugv", NULL, "spec_spectrum", NULL, "1983",
	"Moon Buggy (Visions Software Factory) (48K)\0", NULL, "Visions Software Factory", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmoonbugvRomInfo, SpecmoonbugvRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moon Cresta - Review (48K)

static struct BurnRomInfo SpecmoocrereRomDesc[] = {
	{ "Moon Cresta - Review (1985)(Incentive Software).z80", 0x0147f, 0x5db616b9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmoocrere, Specmoocrere, Spectrum)
STD_ROM_FN(Specmoocrere)

struct BurnDriver BurnSpecmoocrere = {
	"spec_moocrere", NULL, "spec_spectrum", NULL, "1985",
	"Moon Cresta - Review (48K)\0", NULL, "Incentive Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmoocrereRomInfo, SpecmoocrereRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moon Cresta (48K)

static struct BurnRomInfo SpecmooncrstRomDesc[] = {
	{ "Moon Cresta (1985)(Incentive Software).z80", 0x0979b, 0xaf817ac8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmooncrst, Specmooncrst, Spectrum)
STD_ROM_FN(Specmooncrst)

struct BurnDriver BurnSpecmooncrst = {
	"spec_mooncrst", NULL, "spec_spectrum", NULL, "1985",
	"Moon Cresta (48K)\0", NULL, "Incentive Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmooncrstRomInfo, SpecmooncrstRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moon Rescue (48K)

static struct BurnRomInfo SpecmoonrescRomDesc[] = {
	{ "Moon Rescue (19xx)(-).z80", 0x0202c, 0xce595741, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmoonresc, Specmoonresc, Spectrum)
STD_ROM_FN(Specmoonresc)

struct BurnDriver BurnSpecmoonresc = {
	"spec_moonresc", NULL, "spec_spectrum", NULL, "19xx",
	"Moon Rescue (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmoonrescRomInfo, SpecmoonrescRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moon Strike (128K)

static struct BurnRomInfo SpecmoonstriRomDesc[] = {
	{ "Moon Strike (1987)(Mirrorsoft)[128K].z80", 0x0d84e, 0x1ef34447, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmoonstri, Specmoonstri, Spectrum)
STD_ROM_FN(Specmoonstri)

struct BurnDriver BurnSpecmoonstri = {
	"spec_moonstri", NULL, "spec_spec128", NULL, "1987",
	"Moon Strike (128K)\0", NULL, "Mirrorsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmoonstriRomInfo, SpecmoonstriRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moon Torc (48K)

static struct BurnRomInfo SpecmoontorcRomDesc[] = {
	{ "Moon Torc (1991)(Atlantis Software).z80", 0x0a150, 0x8c9406a0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmoontorc, Specmoontorc, Spectrum)
STD_ROM_FN(Specmoontorc)

struct BurnDriver BurnSpecmoontorc = {
	"spec_moontorc", NULL, "spec_spectrum", NULL, "1991",
	"Moon Torc (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmoontorcRomInfo, SpecmoontorcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moon-Cargo (German) (48K)

static struct BurnRomInfo SpecmooncargRomDesc[] = {
	{ "Moon-Cargo (19xx)(-)(de).z80", 0x049a3, 0xae839136, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmooncarg, Specmooncarg, Spectrum)
STD_ROM_FN(Specmooncarg)

struct BurnDriver BurnSpecmooncarg = {
	"spec_mooncarg", NULL, "spec_spectrum", NULL, "19xx",
	"Moon-Cargo (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmooncargRomInfo, SpecmooncargRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moonlander (48K)

static struct BurnRomInfo SpecmoonlandRomDesc[] = {
	{ "Moonlander (1983)(Orion Software).z80", 0x0768a, 0x27c14b17, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmoonland, Specmoonland, Spectrum)
STD_ROM_FN(Specmoonland)

struct BurnDriver BurnSpecmoonland = {
	"spec_moonland", NULL, "spec_spectrum", NULL, "1983",
	"Moonlander (48K)\0", NULL, "Orion Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmoonlandRomInfo, SpecmoonlandRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moonlight Madness (48K)

static struct BurnRomInfo SpecmoonmadnRomDesc[] = {
	{ "Moonlight Madness (1986)(Bubblebus Software).z80", 0x0873b, 0xe42e0cc8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmoonmadn, Specmoonmadn, Spectrum)
STD_ROM_FN(Specmoonmadn)

struct BurnDriver BurnSpecmoonmadn = {
	"spec_moonmadn", NULL, "spec_spectrum", NULL, "1986",
	"Moonlight Madness (48K)\0", NULL, "Bubblebus Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmoonmadnRomInfo, SpecmoonmadnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moonlighter (48K)

static struct BurnRomInfo SpecmoonlighRomDesc[] = {
	{ "Moonlighter (1984)(Software Super Savers).z80", 0x09fef, 0x107847b2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmoonligh, Specmoonligh, Spectrum)
STD_ROM_FN(Specmoonligh)

struct BurnDriver BurnSpecmoonligh = {
	"spec_moonligh", NULL, "spec_spectrum", NULL, "1984",
	"Moonlighter (48K)\0", NULL, "Software Super Savers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmoonlighRomInfo, SpecmoonlighRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moonsweeper (48K)

static struct BurnRomInfo SpecmoonsweeRomDesc[] = {
	{ "Moonsweeper (1983)(Cheetahsoft).z80", 0x067ca, 0x71b11ba8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmoonswee, Specmoonswee, Spectrum)
STD_ROM_FN(Specmoonswee)

struct BurnDriver BurnSpecmoonswee = {
	"spec_moonswee", NULL, "spec_spectrum", NULL, "1983",
	"Moonsweeper (48K)\0", NULL, "Cheetahsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmoonsweeRomInfo, SpecmoonsweeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moonwalker (Part 1 of 3) (48K)

static struct BurnRomInfo SpecmoonwalkRomDesc[] = {
	{ "Moonwalker (1989)(U.S. Gold)[level 1 of 3].z80", 0x09894, 0x20d806f4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmoonwalk, Specmoonwalk, Spectrum)
STD_ROM_FN(Specmoonwalk)

struct BurnDriver BurnSpecmoonwalk = {
	"spec_moonwalk", NULL, "spec_spectrum", NULL, "1989",
	"Moonwalker (Part 1 of 3) (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmoonwalkRomInfo, SpecmoonwalkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moonwalker (Part 2 of 3) (48K)

static struct BurnRomInfo Specmoonwalk2RomDesc[] = {
	{ "Moonwalker (1989)(U.S. Gold)[level 2 of 3].z80", 0x08ac1, 0xd7158141, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmoonwalk2, Specmoonwalk2, Spectrum)
STD_ROM_FN(Specmoonwalk2)

struct BurnDriver BurnSpecmoonwalk2 = {
	"spec_moonwalk2", "spec_moonwalk", "spec_spectrum", NULL, "1989",
	"Moonwalker (Part 2 of 3) (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmoonwalk2RomInfo, Specmoonwalk2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moonwalker (Part 3 of 3) (48K)

static struct BurnRomInfo Specmoonwalk3RomDesc[] = {
	{ "Moonwalker (1989)(U.S. Gold)[level 3 of 3].z80", 0x09cff, 0xa3a6d994, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmoonwalk3, Specmoonwalk3, Spectrum)
STD_ROM_FN(Specmoonwalk3)

struct BurnDriver BurnSpecmoonwalk3 = {
	"spec_moonwalk3", "spec_moonwalk", "spec_spectrum", NULL, "1989",
	"Moonwalker (Part 3 of 3) (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmoonwalk3RomInfo, Specmoonwalk3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mordon's Quest (48K)

static struct BurnRomInfo SpecmordquesRomDesc[] = {
	{ "Mordon's Quest (1985)(Melbourne House).z80", 0x0ad79, 0x402f9e87, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmordques, Specmordques, Spectrum)
STD_ROM_FN(Specmordques)

struct BurnDriver BurnSpecmordques = {
	"spec_mordques", NULL, "spec_spectrum", NULL, "1985",
	"Mordon's Quest (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmordquesRomInfo, SpecmordquesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// More v1.4 (48K)

static struct BurnRomInfo Specmorev14RomDesc[] = {
	{ "More v1.4 (1996)(Dominic Morris).z80", 0x03258, 0x609c82c0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmorev14, Specmorev14, Spectrum)
STD_ROM_FN(Specmorev14)

struct BurnDriver BurnSpecmorev14 = {
	"spec_morev14", NULL, "spec_spectrum", NULL, "1996",
	"More v1.4 (48K)\0", NULL, "Dominic Morris", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmorev14RomInfo, Specmorev14RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moreby Jewels, The (48K)

static struct BurnRomInfo SpecmorjewthRomDesc[] = {
	{ "Moreby Jewels, The (1986)(Gilsoft International).z80", 0x0620b, 0x1e9762d2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmorjewth, Specmorjewth, Spectrum)
STD_ROM_FN(Specmorjewth)

struct BurnDriver BurnSpecmorjewth = {
	"spec_morjewth", NULL, "spec_spectrum", NULL, "1986",
	"Moreby Jewels, The (48K)\0", NULL, "Gilsoft International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmorjewthRomInfo, SpecmorjewthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Morgan's Seal (48K)

static struct BurnRomInfo SpecmorgsealRomDesc[] = {
	{ "Morgan's Seal (19xx)(The Guild).z80", 0x0870e, 0x1a7bc1a2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmorgseal, Specmorgseal, Spectrum)
STD_ROM_FN(Specmorgseal)

struct BurnDriver BurnSpecmorgseal = {
	"spec_morgseal", NULL, "spec_spectrum", NULL, "19xx",
	"Morgan's Seal (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmorgsealRomInfo, SpecmorgsealRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moron (48K)

static struct BurnRomInfo SpecmoronRomDesc[] = {
	{ "Moron (1986)(Atlantis Software).z80", 0x0a6cc, 0x504a2801, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmoron, Specmoron, Spectrum)
STD_ROM_FN(Specmoron)

struct BurnDriver BurnSpecmoron = {
	"spec_moron", NULL, "spec_spectrum", NULL, "1986",
	"Moron (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmoronRomInfo, SpecmoronRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Morris Meets the Bikers (48K)

static struct BurnRomInfo SpecmormeebiRomDesc[] = {
	{ "Morris Meets the Bikers (1983)(Automata UK).z80", 0x01c85, 0x80545cce, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmormeebi, Specmormeebi, Spectrum)
STD_ROM_FN(Specmormeebi)

struct BurnDriver BurnSpecmormeebi = {
	"spec_mormeebi", NULL, "spec_spectrum", NULL, "1983",
	"Morris Meets the Bikers (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmormeebiRomInfo, SpecmormeebiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mortadelo y Filemon (48K)

static struct BurnRomInfo SpecmortfileRomDesc[] = {
	{ "Mortadelo y Filemon (1988)(Dro Soft)[aka Clever & Smart].z80", 0x0a818, 0x6434b600, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmortfile, Specmortfile, Spectrum)
STD_ROM_FN(Specmortfile)

struct BurnDriver BurnSpecmortfile = {
	"spec_mortfile", NULL, "spec_spectrum", NULL, "1988",
	"Mortadelo y Filemon (48K)\0", NULL, "Dro Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmortfileRomInfo, SpecmortfileRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mortadelo y Filemon II - Safari Callejero (Spanish) (128K)

static struct BurnRomInfo Specmortfil2RomDesc[] = {
	{ "Mortadelo y Filemon II - Safari Callejero (1990)(Dro Soft)(es)[cr Red Limited][128K].z80", 0x1346a, 0x4d0861ca, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmortfil2, Specmortfil2, Spectrum)
STD_ROM_FN(Specmortfil2)

struct BurnDriver BurnSpecmortfil2 = {
	"spec_mortfil2", NULL, "spec_spec128", NULL, "1990",
	"Mortadelo y Filemon II - Safari Callejero (Spanish) (128K)\0", NULL, "Dro Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmortfil2RomInfo, Specmortfil2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moscas (Spanish) (48K)

static struct BurnRomInfo SpecmoscasesRomDesc[] = {
	{ "Moscas (1985)(Stars)(es)[aka Halaga].z80", 0x06137, 0x3abb917b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmoscases, Specmoscases, Spectrum)
STD_ROM_FN(Specmoscases)

struct BurnDriver BurnSpecmoscases = {
	"spec_moscases", NULL, "spec_spectrum", NULL, "1985",
	"Moscas (Spanish) (48K)\0", NULL, "Stars", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmoscasesRomInfo, SpecmoscasesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moscow-Paris (pl) (48K)

static struct BurnRomInfo SpecmoscpariRomDesc[] = {
	{ "Moscow-Paris (1987)(Marck Kiszakicwicz - Jacek Mering)(pl).z80", 0x0ae6c, 0xe051303e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmoscpari, Specmoscpari, Spectrum)
STD_ROM_FN(Specmoscpari)

struct BurnDriver BurnSpecmoscpari = {
	"spec_moscpari", NULL, "spec_spectrum", NULL, "1987",
	"Moscow-Paris (pl) (48K)\0", NULL, "Marck Kiszakicwicz - Jacek Mering", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmoscpariRomInfo, SpecmoscpariRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mot (Spanish) (Part 1 of 4) (48K)

static struct BurnRomInfo Specmots_48RomDesc[] = {
	{ "Mot (1989)(Opera Soft)(es)(Part 1 of 4).z80", 0x0616e, 0x4db1c6ec, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmots_48, Specmots_48, Spectrum)
STD_ROM_FN(Specmots_48)

struct BurnDriver BurnSpecmots_48 = {
	"spec_mots_48", "spec_mots", "spec_spectrum", NULL, "1989",
	"Mot (Spanish) (Part 1 of 4) (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmots_48RomInfo, Specmots_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mot (Spanish) (128K)

static struct BurnRomInfo SpecmotsRomDesc[] = {
	{ "Mot (1989)(Opera Soft)(es)(Part 1 of 4)[128K].z80", 0x06d60, 0xfae50e2e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmots, Specmots, Spectrum)
STD_ROM_FN(Specmots)

struct BurnDriver BurnSpecmots = {
	"spec_mots", NULL, "spec_spec128", NULL, "1989",
	"Mot (Spanish) (128K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmotsRomInfo, SpecmotsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mot (Spanish) (Part 2 of 4) (48K)

static struct BurnRomInfo Specmots2_48RomDesc[] = {
	{ "Mot (1989)(Opera Soft)(es)(Part 2 of 4).z80", 0x09d22, 0x0967af02, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmots2_48, Specmots2_48, Spectrum)
STD_ROM_FN(Specmots2_48)

struct BurnDriver BurnSpecmots2_48 = {
	"spec_mots2_48", "spec_mots", "spec_spectrum", NULL, "1989",
	"Mot (Spanish) (Part 2 of 4) (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmots2_48RomInfo, Specmots2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mot (Spanish) (Part 3 of 4) (48K)

static struct BurnRomInfo Specmots3_48RomDesc[] = {
	{ "Mot (1989)(Opera Soft)(es)(Part 3 of 4).z80", 0x09d66, 0x83b605a1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmots3_48, Specmots3_48, Spectrum)
STD_ROM_FN(Specmots3_48)

struct BurnDriver BurnSpecmots3_48 = {
	"spec_mots3_48", "spec_mots", "spec_spectrum", NULL, "1989",
	"Mot (Spanish) (Part 3 of 4) (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmots3_48RomInfo, Specmots3_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mot (Spanish) (Part 4 of 4) (48K)

static struct BurnRomInfo Specmots4_48RomDesc[] = {
	{ "Mot (1989)(Opera Soft)(es)(Part 4 of 4).z80", 0x09984, 0x7ecf94ce, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmots4_48, Specmots4_48, Spectrum)
STD_ROM_FN(Specmots4_48)

struct BurnDriver BurnSpecmots4_48 = {
	"spec_mots4_48", "spec_mots", "spec_spectrum", NULL, "1989",
	"Mot (Spanish) (Part 4 of 4) (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmots4_48RomInfo, Specmots4_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mothership (48K)

static struct BurnRomInfo SpecmothershRomDesc[] = {
	{ "Mothership (1984)(Artic Computing).z80", 0x03fcd, 0xcdcada8c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmothersh, Specmothersh, Spectrum)
STD_ROM_FN(Specmothersh)

struct BurnDriver BurnSpecmothersh = {
	"spec_mothersh", NULL, "spec_spectrum", NULL, "1984",
	"Mothership (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmothershRomInfo, SpecmothershRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moto Cross Simulator (48K)

static struct BurnRomInfo Specmotocros_48RomDesc[] = {
	{ "Moto Cross Simulator (1989)(Codemasters).z80", 0x0a28e, 0xcf5b8d21, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmotocros_48, Specmotocros_48, Spectrum)
STD_ROM_FN(Specmotocros_48)

struct BurnDriver BurnSpecmotocros_48 = {
	"spec_motocros_48", "spec_motocros", "spec_spectrum", NULL, "1989",
	"Moto Cross Simulator (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmotocros_48RomInfo, Specmotocros_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moto Cross Simulator (128K)

static struct BurnRomInfo SpecmotocrosRomDesc[] = {
	{ "Moto Cross Simulator (1989)(Codemasters)[128K].z80", 0x0c5e6, 0xbf1949a0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmotocros, Specmotocros, Spectrum)
STD_ROM_FN(Specmotocros)

struct BurnDriver BurnSpecmotocros = {
	"spec_motocros", NULL, "spec_spec128", NULL, "1989",
	"Moto Cross Simulator (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmotocrosRomInfo, SpecmotocrosRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Motojet (Spanish) (48K)

static struct BurnRomInfo SpecmotojeteRomDesc[] = {
	{ "Motojet (1986)(Jorge Perez Barreiro)(es).z80", 0x03b63, 0xf530caba, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmotojete, Specmotojete, Spectrum)
STD_ROM_FN(Specmotojete)

struct BurnDriver BurnSpecmotojete = {
	"spec_motojete", NULL, "spec_spectrum", NULL, "1986",
	"Motojet (Spanish) (48K)\0", NULL, "Jorge Perez Barreiro", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmotojeteRomInfo, SpecmotojeteRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Motor Massacre (128K)

static struct BurnRomInfo SpecmotomassRomDesc[] = {
	{ "Motor Massacre (1989)(Gremlin Graphics Software)[128K].z80", 0x11f04, 0x8b271255, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmotomass, Specmotomass, Spectrum)
STD_ROM_FN(Specmotomass)

struct BurnDriver BurnSpecmotomass = {
	"spec_motomass", NULL, "spec_spec128", NULL, "1989",
	"Motor Massacre (128K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmotomassRomInfo, SpecmotomassRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Motorbike Madness (48K)

static struct BurnRomInfo SpecmotomadnRomDesc[] = {
	{ "Motorbike Madness (1988)(Mastertronic).z80", 0x07d33, 0xb3355191, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmotomadn, Specmotomadn, Spectrum)
STD_ROM_FN(Specmotomadn)

struct BurnDriver BurnSpecmotomadn = {
	"spec_motomadn", NULL, "spec_spectrum", NULL, "1988",
	"Motorbike Madness (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmotomadnRomInfo, SpecmotomadnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Motorcycle Crazy (48K)

static struct BurnRomInfo SpecmotocrazRomDesc[] = {
	{ "Motorcycle Crazy (1984)(Kerian UK).z80", 0x06626, 0xfa72f48a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmotocraz, Specmotocraz, Spectrum)
STD_ROM_FN(Specmotocraz)

struct BurnDriver BurnSpecmotocraz = {
	"spec_motocraz", NULL, "spec_spectrum", NULL, "1984",
	"Motorcycle Crazy (48K)\0", NULL, "Kerian UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmotocrazRomInfo, SpecmotocrazRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Motos (48K)

static struct BurnRomInfo SpecmotosRomDesc[] = {
	{ "Motos (1987)(Mastertronic Added Dimension).z80", 0x0698a, 0x86c47e5e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmotos, Specmotos, Spectrum)
STD_ROM_FN(Specmotos)

struct BurnDriver BurnSpecmotos = {
	"spec_motos", NULL, "spec_spectrum", NULL, "1987",
	"Motos (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmotosRomInfo, SpecmotosRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mountain Bike Racer (48K)

static struct BurnRomInfo SpecmoubikraRomDesc[] = {
	{ "Mountain Bike Racer (1990)(Zeppelin Games).z80", 0x081de, 0x86653329, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmoubikra, Specmoubikra, Spectrum)
STD_ROM_FN(Specmoubikra)

struct BurnDriver BurnSpecmoubikra = {
	"spec_moubikra", NULL, "spec_spectrum", NULL, "1990",
	"Mountain Bike Racer (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmoubikraRomInfo, SpecmoubikraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mountie Mick's Death Ride (48K)

static struct BurnRomInfo SpecmomideriRomDesc[] = {
	{ "Mountie Mick's Death Ride (1987)(Reaktor).z80", 0x06603, 0x599b7e92, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmomideri, Specmomideri, Spectrum)
STD_ROM_FN(Specmomideri)

struct BurnDriver BurnSpecmomideri = {
	"spec_momideri", NULL, "spec_spectrum", NULL, "1987",
	"Mountie Mick's Death Ride (48K)\0", NULL, "Reaktor", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmomideriRomInfo, SpecmomideriRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Movie (48K)

static struct BurnRomInfo SpecmovieRomDesc[] = {
	{ "Movie (1986)(Imagine Software).z80", 0x0b601, 0xe9d12fa9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmovie, Specmovie, Spectrum)
STD_ROM_FN(Specmovie)

struct BurnDriver BurnSpecmovie = {
	"spec_movie", NULL, "spec_spectrum", NULL, "1986",
	"Movie (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmovieRomInfo, SpecmovieRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Moving Target (128K)

static struct BurnRomInfo SpecmovitargRomDesc[] = {
	{ "Moving Target (1989)(Players Premier Software)[128K].z80", 0x08bfd, 0x52f9e1f4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmovitarg, Specmovitarg, Spectrum)
STD_ROM_FN(Specmovitarg)

struct BurnDriver BurnSpecmovitarg = {
	"spec_movitarg", NULL, "spec_spec128", NULL, "1989",
	"Moving Target (128K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmovitargRomInfo, SpecmovitargRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mozg Procesor (pl) (48K)

static struct BurnRomInfo SpecmozgprocRomDesc[] = {
	{ "Mozg Procesor (1989)(Computer Adventure Studio)(pl).z80", 0x0a174, 0x78189e69, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmozgproc, Specmozgproc, Spectrum)
STD_ROM_FN(Specmozgproc)

struct BurnDriver BurnSpecmozgproc = {
	"spec_mozgproc", NULL, "spec_spectrum", NULL, "1989",
	"Mozg Procesor (pl) (48K)\0", NULL, "Computer Adventure Studio", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmozgprocRomInfo, SpecmozgprocRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mr. Blobby Goes Down the Newsagents (48K)

static struct BurnRomInfo SpecmrblgodoRomDesc[] = {
	{ "Mr. Blobby Goes Down the Newsagents (1996)(CSSCGC).z80", 0x01e5a, 0x31a6feb1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmrblgodo, Specmrblgodo, Spectrum)
STD_ROM_FN(Specmrblgodo)

struct BurnDriver BurnSpecmrblgodo = {
	"spec_mrblgodo", NULL, "spec_spectrum", NULL, "1996",
	"Mr. Blobby Goes Down the Newsagents (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmrblgodoRomInfo, SpecmrblgodoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mr. Freeze (48K)

static struct BurnRomInfo SpecmrfreezeRomDesc[] = {
	{ "Mr. Freeze (1984)(Firebird Software).z80", 0x054f2, 0xcf912590, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmrfreeze, Specmrfreeze, Spectrum)
STD_ROM_FN(Specmrfreeze)

struct BurnDriver BurnSpecmrfreeze = {
	"spec_mrfreeze", NULL, "spec_spectrum", NULL, "1984",
	"Mr. Freeze (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmrfreezeRomInfo, SpecmrfreezeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mr. Gas (Spanish) (48K)

static struct BurnRomInfo SpecmrgasesRomDesc[] = {
	{ "Mr. Gas (1990)(Dro Soft)(es).z80", 0x083f2, 0x52454aa5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmrgases, Specmrgases, Spectrum)
STD_ROM_FN(Specmrgases)

struct BurnDriver BurnSpecmrgases = {
	"spec_mrgases", NULL, "spec_spectrum", NULL, "1990",
	"Mr. Gas (Spanish) (48K)\0", NULL, "Dro Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmrgasesRomInfo, SpecmrgasesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mr. Weems and the She Vampires (48K)

static struct BurnRomInfo SpecmrweshvaRomDesc[] = {
	{ "Mr. Weems and the She Vampires (1987)(Piranha).z80", 0x08bb0, 0x12951260, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmrweshva, Specmrweshva, Spectrum)
STD_ROM_FN(Specmrweshva)

struct BurnDriver BurnSpecmrweshva = {
	"spec_mrweshva", NULL, "spec_spectrum", NULL, "1987",
	"Mr. Weems and the She Vampires (48K)\0", NULL, "Piranha", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmrweshvaRomInfo, SpecmrweshvaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mr. Wimpy (48K)

static struct BurnRomInfo SpecmrwimpyRomDesc[] = {
	{ "Mr. Wimpy (1984)(Ocean).z80", 0x057f9, 0xd046149e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmrwimpy, Specmrwimpy, Spectrum)
STD_ROM_FN(Specmrwimpy)

struct BurnDriver BurnSpecmrwimpy = {
	"spec_mrwimpy", NULL, "spec_spectrum", NULL, "1984",
	"Mr. Wimpy (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmrwimpyRomInfo, SpecmrwimpyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mr. Wong's Loopy Laundry (48K)

static struct BurnRomInfo SpecmrwololaRomDesc[] = {
	{ "Mr. Wong's Loopy Laundry (1984)(Artic Computing).z80", 0x033a8, 0x0da3c35c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmrwolola, Specmrwolola, Spectrum)
STD_ROM_FN(Specmrwolola)

struct BurnDriver BurnSpecmrwolola = {
	"spec_mrwolola", NULL, "spec_spectrum", NULL, "1984",
	"Mr. Wong's Loopy Laundry (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmrwololaRomInfo, SpecmrwololaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mrazik 88 (cs) (48K)

static struct BurnRomInfo Specmrazik88RomDesc[] = {
	{ "Mrazik 88 (1988)(Phalas)(cs).z80", 0x0a335, 0xb3b22cd3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmrazik88, Specmrazik88, Spectrum)
STD_ROM_FN(Specmrazik88)

struct BurnDriver BurnSpecmrazik88 = {
	"spec_mrazik88", NULL, "spec_spectrum", NULL, "1988",
	"Mrazik 88 (cs) (48K)\0", NULL, "Phalas", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmrazik88RomInfo, Specmrazik88RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mrs. Mopp (48K)

static struct BurnRomInfo SpecmrsmoppRomDesc[] = {
	{ "Mrs. Mopp (1984)(Atlantis Software).z80", 0x05af4, 0x929d6219, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmrsmopp, Specmrsmopp, Spectrum)
STD_ROM_FN(Specmrsmopp)

struct BurnDriver BurnSpecmrsmopp = {
	"spec_mrsmopp", NULL, "spec_spectrum", NULL, "1984",
	"Mrs. Mopp (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmrsmoppRomInfo, SpecmrsmoppRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ms. Pac-Man (48K)

static struct BurnRomInfo SpecmspacmanRomDesc[] = {
	{ "Ms. Pac-Man (1984)(Atarisoft).z80", 0x08e51, 0x168677eb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmspacman, Specmspacman, Spectrum)
STD_ROM_FN(Specmspacman)

struct BurnDriver BurnSpecmspacman = {
	"spec_mspacman", NULL, "spec_spectrum", NULL, "1984",
	"Ms. Pac-Man (48K)\0", NULL, "Atarisoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmspacmanRomInfo, SpecmspacmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mucroid Run (48K)

static struct BurnRomInfo SpecmucrrunRomDesc[] = {
	{ "Mucroid Run (19xx)(-).z80", 0x06011, 0xb7b65e85, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmucrrun, Specmucrrun, Spectrum)
STD_ROM_FN(Specmucrrun)

struct BurnDriver BurnSpecmucrrun = {
	"spec_mucrrun", NULL, "spec_spectrum", NULL, "19xx",
	"Mucroid Run (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmucrrunRomInfo, SpecmucrrunRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Muggins the Spaceman (48K)

static struct BurnRomInfo SpecmuggspacRomDesc[] = {
	{ "Muggins the Spaceman (1987)(Firebird Software).z80", 0x07f46, 0xd710c0a9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmuggspac, Specmuggspac, Spectrum)
STD_ROM_FN(Specmuggspac)

struct BurnDriver BurnSpecmuggspac = {
	"spec_muggspac", NULL, "spec_spectrum", NULL, "1987",
	"Muggins the Spaceman (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmuggspacRomInfo, SpecmuggspacRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mugsy (48K)

static struct BurnRomInfo SpecmugsyRomDesc[] = {
	{ "Mugsy (1984)(Melbourne House).z80", 0x0ad86, 0xc90e8dc7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmugsy, Specmugsy, Spectrum)
STD_ROM_FN(Specmugsy)

struct BurnDriver BurnSpecmugsy = {
	"spec_mugsy", NULL, "spec_spectrum", NULL, "1984",
	"Mugsy (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmugsyRomInfo, SpecmugsyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mugsy's Revenge (48K)

static struct BurnRomInfo SpecmugsreveRomDesc[] = {
	{ "Mugsy's Revenge (1984)(Melbourne House).z80", 0x09aff, 0x1ff244e8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmugsreve, Specmugsreve, Spectrum)
STD_ROM_FN(Specmugsreve)

struct BurnDriver BurnSpecmugsreve = {
	"spec_mugsreve", NULL, "spec_spectrum", NULL, "1984",
	"Mugsy's Revenge (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmugsreveRomInfo, SpecmugsreveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Multi-Player Soccer Manager (48K)

static struct BurnRomInfo SpecmuplsomaRomDesc[] = {
	{ "Multi-Player Soccer Manager (1991)(D&H Games).z80", 0x09e2e, 0x967d2438, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmuplsoma, Specmuplsoma, Spectrum)
STD_ROM_FN(Specmuplsoma)

struct BurnDriver BurnSpecmuplsoma = {
	"spec_muplsoma", NULL, "spec_spectrum", NULL, "1991",
	"Multi-Player Soccer Manager (48K)\0", NULL, "D&H Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmuplsomaRomInfo, SpecmuplsomaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mummy! Mummy! (48K)

static struct BurnRomInfo SpecmummmummRomDesc[] = {
	{ "Mummy! Mummy! (1984)(MC Lothlorien).z80", 0x02e9b, 0xe82a310a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmummmumm, Specmummmumm, Spectrum)
STD_ROM_FN(Specmummmumm)

struct BurnDriver BurnSpecmummmumm = {
	"spec_mummmumm", NULL, "spec_spectrum", NULL, "1984",
	"Mummy! Mummy! (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmummmummRomInfo, SpecmummmummRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mummy's Crypt, The v1.0 (48K)

static struct BurnRomInfo SpecmumcrythRomDesc[] = {
	{ "Mummy's Crypt, The v1.0 (1992)(Zenobi Software).z80", 0x0add4, 0xdaea9c11, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmumcryth, Specmumcryth, Spectrum)
STD_ROM_FN(Specmumcryth)

struct BurnDriver BurnSpecmumcryth = {
	"spec_mumcryth", NULL, "spec_spectrum", NULL, "1992",
	"Mummy's Crypt, The v1.0 (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmumcrythRomInfo, SpecmumcrythRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Muncher, The (128K)

static struct BurnRomInfo SpecmunctheRomDesc[] = {
	{ "Muncher, The (1988)(Gremlin Graphics Software)[128K].z80", 0x190b0, 0x27fe43e9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmuncthe, Specmuncthe, Spectrum)
STD_ROM_FN(Specmuncthe)

struct BurnDriver BurnSpecmuncthe = {
	"spec_muncthe", NULL, "spec_spec128", NULL, "1988",
	"Muncher, The (128K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmunctheRomInfo, SpecmunctheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Munchman (Contrast Software) (48K)

static struct BurnRomInfo SpecmunchmncRomDesc[] = {
	{ "Munchman (1983)(Contrast Software).z80", 0x03bd6, 0xfb7ed2a2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmunchmnc, Specmunchmnc, Spectrum)
STD_ROM_FN(Specmunchmnc)

struct BurnDriver BurnSpecmunchmnc = {
	"spec_munchmnc", NULL, "spec_spectrum", NULL, "1983",
	"Munchman (Contrast Software) (48K)\0", NULL, "Contrast Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmunchmncRomInfo, SpecmunchmncRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Munchman (DK'Tronics) (48K)

static struct BurnRomInfo SpecmunchmndRomDesc[] = {
	{ "Munchman (1983)(DK'Tronics).z80", 0x02bb9, 0x3092c44c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmunchmnd, Specmunchmnd, Spectrum)
STD_ROM_FN(Specmunchmnd)

struct BurnDriver BurnSpecmunchmnd = {
	"spec_munchmnd", NULL, "spec_spectrum", NULL, "1983",
	"Munchman (DK'Tronics) (48K)\0", NULL, "DK'Tronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmunchmndRomInfo, SpecmunchmndRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mundo Fantastico (Spanish) (128K)

static struct BurnRomInfo SpecmundfantRomDesc[] = {
	{ "Mundo Fantastico (1989)(DT Soft)(es)[128K].z80", 0x17e6c, 0x01cf04d3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmundfant, Specmundfant, Spectrum)
STD_ROM_FN(Specmundfant)

struct BurnDriver BurnSpecmundfant = {
	"spec_mundfant", NULL, "spec_spec128", NULL, "1989",
	"Mundo Fantastico (Spanish) (128K)\0", NULL, "DT Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmundfantRomInfo, SpecmundfantRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mundo Perdido, El (Spanish) (48K)

static struct BurnRomInfo SpecmunperelRomDesc[] = {
	{ "Mundo Perdido, El (1988)(Topo Soft)(es)[aka People from Sirius].z80", 0x0a957, 0x369f6a57, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmunperel, Specmunperel, Spectrum)
STD_ROM_FN(Specmunperel)

struct BurnDriver BurnSpecmunperel = {
	"spec_munperel", NULL, "spec_spectrum", NULL, "1988",
	"Mundo Perdido, El (Spanish) (48K)\0", NULL, "Topo Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmunperelRomInfo, SpecmunperelRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Murder - He Said (128K)

static struct BurnRomInfo SpecmurhesaiRomDesc[] = {
	{ "Murder - He Said (1993)(Zenobi Software)[128K].z80", 0x10df5, 0xfce47755, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmurhesai, Specmurhesai, Spectrum)
STD_ROM_FN(Specmurhesai)

struct BurnDriver BurnSpecmurhesai = {
	"spec_murhesai", NULL, "spec_spec128", NULL, "1993",
	"Murder - He Said (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmurhesaiRomInfo, SpecmurhesaiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Murder (48K)

static struct BurnRomInfo SpecmurderRomDesc[] = {
	{ "Murder (1983)(Rabbit Software).z80", 0x08325, 0x8be53604, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmurder, Specmurder, Spectrum)
STD_ROM_FN(Specmurder)

struct BurnDriver BurnSpecmurder = {
	"spec_murder", NULL, "spec_spectrum", NULL, "1983",
	"Murder (48K)\0", NULL, "Rabbit Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmurderRomInfo, SpecmurderRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Murder at the Manor (48K)

static struct BurnRomInfo SpecmurdmanoRomDesc[] = {
	{ "Murder at the Manor (1983)(Gemtime).z80", 0x0aaa0, 0xaa71915f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmurdmano, Specmurdmano, Spectrum)
STD_ROM_FN(Specmurdmano)

struct BurnDriver BurnSpecmurdmano = {
	"spec_murdmano", NULL, "spec_spectrum", NULL, "1983",
	"Murder at the Manor (48K)\0", NULL, "Gemtime", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmurdmanoRomInfo, SpecmurdmanoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Murder Hunt (Bodkin Software) (48K)

static struct BurnRomInfo SpecmurdhntbRomDesc[] = {
	{ "Murder Hunt (1986)(Bodkin Software).z80", 0x0609d, 0x6a915054, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmurdhntb, Specmurdhntb, Spectrum)
STD_ROM_FN(Specmurdhntb)

struct BurnDriver BurnSpecmurdhntb = {
	"spec_murdhntb", NULL, "spec_spectrum", NULL, "1986",
	"Murder Hunt (Bodkin Software) (48K)\0", NULL, "Bodkin Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmurdhntbRomInfo, SpecmurdhntbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Murder Hunt (Zenobi Software) (48K)

static struct BurnRomInfo SpecmurdhntzRomDesc[] = {
	{ "Murder Hunt (1992)(Zenobi Software).z80", 0x0a34f, 0xaf94d361, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmurdhntz, Specmurdhntz, Spectrum)
STD_ROM_FN(Specmurdhntz)

struct BurnDriver BurnSpecmurdhntz = {
	"spec_murdhntz", NULL, "spec_spectrum", NULL, "1992",
	"Murder Hunt (Zenobi Software) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmurdhntzRomInfo, SpecmurdhntzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Murder Hunt II (48K)

static struct BurnRomInfo Specmurdhnt2RomDesc[] = {
	{ "Murder Hunt II (1992)(Zenobi Software).z80", 0x0992f, 0x4796e727, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmurdhnt2, Specmurdhnt2, Spectrum)
STD_ROM_FN(Specmurdhnt2)

struct BurnDriver BurnSpecmurdhnt2 = {
	"spec_murdhnt2", NULL, "spec_spectrum", NULL, "1992",
	"Murder Hunt II (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmurdhnt2RomInfo, Specmurdhnt2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Murder Mystery Weekend (128K)

static struct BurnRomInfo SpecmurmysweRomDesc[] = {
	{ "Murder Mystery Weekend (1997)(Zenobi Software)[128K].z80", 0x17c07, 0xef3c1760, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmurmyswe, Specmurmyswe, Spectrum)
STD_ROM_FN(Specmurmyswe)

struct BurnDriver BurnSpecmurmyswe = {
	"spec_murmyswe", NULL, "spec_spec128", NULL, "1997",
	"Murder Mystery Weekend (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmurmysweRomInfo, SpecmurmysweRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Murder Off Miami (Part 1 of 3) (48K)

static struct BurnRomInfo SpecmurdmiamRomDesc[] = {
	{ "Murder Off Miami (1987)(CRL Group)(Part 1 of 3).z80", 0x09ea0, 0xc0da9218, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmurdmiam, Specmurdmiam, Spectrum)
STD_ROM_FN(Specmurdmiam)

struct BurnDriver BurnSpecmurdmiam = {
	"spec_murdmiam", NULL, "spec_spectrum", NULL, "1987",
	"Murder Off Miami (Part 1 of 3) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmurdmiamRomInfo, SpecmurdmiamRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Murder Off Miami (Part 2 of 3) (48K)

static struct BurnRomInfo Specmurdmiam2RomDesc[] = {
	{ "Murder Off Miami (1987)(CRL Group)(Part 2 of 3).z80", 0x0924f, 0x4059c7b8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmurdmiam2, Specmurdmiam2, Spectrum)
STD_ROM_FN(Specmurdmiam2)

struct BurnDriver BurnSpecmurdmiam2 = {
	"spec_murdmiam2", "spec_murdmiam", "spec_spectrum", NULL, "1987",
	"Murder Off Miami (Part 2 of 3) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmurdmiam2RomInfo, Specmurdmiam2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Murder Off Miami (Part 3 of 3) (48K)

static struct BurnRomInfo Specmurdmiam3RomDesc[] = {
	{ "Murder Off Miami (1987)(CRL Group)(Part 3 of 3).z80", 0x084ce, 0xef070d8c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmurdmiam3, Specmurdmiam3, Spectrum)
STD_ROM_FN(Specmurdmiam3)

struct BurnDriver BurnSpecmurdmiam3 = {
	"spec_murdmiam3", "spec_murdmiam", "spec_spectrum", NULL, "1987",
	"Murder Off Miami (Part 3 of 3) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmurdmiam3RomInfo, Specmurdmiam3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Muren Ett Aventyr Pa Svenska (sv) (48K)

static struct BurnRomInfo SpecmuetavpaRomDesc[] = {
	{ "Muren Ett Aventyr Pa Svenska (1984)(Micro Limit)(sv).z80", 0x055a7, 0x3bf5ca5a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmuetavpa, Specmuetavpa, Spectrum)
STD_ROM_FN(Specmuetavpa)

struct BurnDriver BurnSpecmuetavpa = {
	"spec_muetavpa", NULL, "spec_spectrum", NULL, "1984",
	"Muren Ett Aventyr Pa Svenska (sv) (48K)\0", NULL, "Micro Limit", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmuetavpaRomInfo, SpecmuetavpaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Murphy (48K)

static struct BurnRomInfo SpecmurphyRomDesc[] = {
	{ "Murphy (1988)(Pirate Software).z80", 0x06b44, 0x1dd1d5d8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmurphy, Specmurphy, Spectrum)
STD_ROM_FN(Specmurphy)

struct BurnDriver BurnSpecmurphy = {
	"spec_murphy", NULL, "spec_spectrum", NULL, "1988",
	"Murphy (48K)\0", NULL, "Pirate Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmurphyRomInfo, SpecmurphyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Murphy's Murder Hunt (48K)

static struct BurnRomInfo SpecmurmurhuRomDesc[] = {
	{ "Murphy's Murder Hunt (1985)(Bodkin Software).z80", 0x0a2f0, 0x10181def, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmurmurhu, Specmurmurhu, Spectrum)
STD_ROM_FN(Specmurmurhu)

struct BurnDriver BurnSpecmurmurhu = {
	"spec_murmurhu", NULL, "spec_spectrum", NULL, "1985",
	"Murphy's Murder Hunt (48K)\0", NULL, "Bodkin Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmurmurhuRomInfo, SpecmurmurhuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Murray Mouse Super Cop (48K)

static struct BurnRomInfo SpecmumosucoRomDesc[] = {
	{ "Murray Mouse Super Cop (1992)(Codemasters).z80", 0x09cc8, 0xf5bf906c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmumosuco, Specmumosuco, Spectrum)
STD_ROM_FN(Specmumosuco)

struct BurnDriver BurnSpecmumosuco = {
	"spec_mumosuco", NULL, "spec_spectrum", NULL, "1992",
	"Murray Mouse Super Cop (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmumosucoRomInfo, SpecmumosucoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mushroom Alley (48K)

static struct BurnRomInfo SpecmushalleRomDesc[] = {
	{ "Mushroom Alley (1984)(Mogul Communications).z80", 0x0682e, 0xa403ab9c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmushalle, Specmushalle, Spectrum)
STD_ROM_FN(Specmushalle)

struct BurnDriver BurnSpecmushalle = {
	"spec_mushalle", NULL, "spec_spectrum", NULL, "1984",
	"Mushroom Alley (48K)\0", NULL, "Mogul Communications", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmushalleRomInfo, SpecmushalleRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mushroom Mania (48K)

static struct BurnRomInfo SpecmushmaniRomDesc[] = {
	{ "Mushroom Mania (1988)(Arcadia).z80", 0x03dee, 0x8b8e917b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmushmani, Specmushmani, Spectrum)
STD_ROM_FN(Specmushmani)

struct BurnDriver BurnSpecmushmani = {
	"spec_mushmani", NULL, "spec_spectrum", NULL, "1988",
	"Mushroom Mania (48K)\0", NULL, "Arcadia", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmushmaniRomInfo, SpecmushmaniRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Music Logic (cs) (128K)

static struct BurnRomInfo SpecmusilogiRomDesc[] = {
	{ "Music Logic (1990)(Proxima Software)(cs)[128K].z80", 0x0aa73, 0x90ac6ad3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmusilogi, Specmusilogi, Spectrum)
STD_ROM_FN(Specmusilogi)

struct BurnDriver BurnSpecmusilogi = {
	"spec_musilogi", NULL, "spec_spec128", NULL, "1990",
	"Music Logic (cs) (128K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmusilogiRomInfo, SpecmusilogiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mutan Zone (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo Specmutazone_48RomDesc[] = {
	{ "Mutan Zone (1989)(Opera Soft)(es)(Part 1 of 2).z80", 0x0aa7f, 0x45007af4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmutazone_48, Specmutazone_48, Spectrum)
STD_ROM_FN(Specmutazone_48)

struct BurnDriver BurnSpecmutazone_48 = {
	"spec_mutazone_48", "spec_mutazone", "spec_spectrum", NULL, "1989",
	"Mutan Zone (Spanish) (Part 1 of 2) (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmutazone_48RomInfo, Specmutazone_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mutan Zone (Spanish) (128K)

static struct BurnRomInfo SpecmutazoneRomDesc[] = {
	{ "Mutan Zone (1989)(Opera Soft)(es)(Part 1 of 2)[128K].z80", 0x0adbe, 0x2c8856bc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmutazone, Specmutazone, Spectrum)
STD_ROM_FN(Specmutazone)

struct BurnDriver BurnSpecmutazone = {
	"spec_mutazone", NULL, "spec_spec128", NULL, "1989",
	"Mutan Zone (Spanish) (128K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmutazoneRomInfo, SpecmutazoneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mutan Zone (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specmutazone2_48RomDesc[] = {
	{ "Mutan Zone (1989)(Opera Soft)(es)(Part 2 of 2).z80", 0x0a1e1, 0x1054bd42, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmutazone2_48, Specmutazone2_48, Spectrum)
STD_ROM_FN(Specmutazone2_48)

struct BurnDriver BurnSpecmutazone2_48 = {
	"spec_mutazone2_48", "spec_mutazone", "spec_spectrum", NULL, "1989",
	"Mutan Zone (Spanish) (Part 2 of 2) (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmutazone2_48RomInfo, Specmutazone2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mutant - The Quest (River Software) (48K)

static struct BurnRomInfo SpecmutantqRomDesc[] = {
	{ "Mutant - The Quest (1984)(River Software).z80", 0x08b2d, 0x1d7817d6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmutantq, Specmutantq, Spectrum)
STD_ROM_FN(Specmutantq)

struct BurnDriver BurnSpecmutantq = {
	"spec_mutantq", NULL, "spec_spectrum", NULL, "1984",
	"Mutant - The Quest (River Software) (48K)\0", NULL, "River Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmutantqRomInfo, SpecmutantqRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mutant - The Quest (Zenobi Software) (48K)

static struct BurnRomInfo SpecmutantqzRomDesc[] = {
	{ "Mutant - The Quest (1984)(Zenobi Software).z80", 0x0975d, 0xe3a9674f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmutantqz, Specmutantqz, Spectrum)
STD_ROM_FN(Specmutantqz)

struct BurnDriver BurnSpecmutantqz = {
	"spec_mutantqz", "spec_mutantq", "spec_spectrum", NULL, "1984",
	"Mutant - The Quest (Zenobi Software) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmutantqzRomInfo, SpecmutantqzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mutant Fortress (128K)

static struct BurnRomInfo SpecmutafortRomDesc[] = {
	{ "Mutant Fortress (1989)(Players Premier Software)[t][128K].z80", 0x0d8f9, 0xef4012b5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmutafort, Specmutafort, Spectrum)
STD_ROM_FN(Specmutafort)

struct BurnDriver BurnSpecmutafort = {
	"spec_mutafort", NULL, "spec_spec128", NULL, "1989",
	"Mutant Fortress (128K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmutafortRomInfo, SpecmutafortRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mutant Monty (48K)

static struct BurnRomInfo SpecmutamontRomDesc[] = {
	{ "Mutant Monty (1984)(Artic Computing).z80", 0x05868, 0xb385341a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmutamont, Specmutamont, Spectrum)
STD_ROM_FN(Specmutamont)

struct BurnDriver BurnSpecmutamont = {
	"spec_mutamont", NULL, "spec_spectrum", NULL, "1984",
	"Mutant Monty (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmutamontRomInfo, SpecmutamontRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mutants (48K)

static struct BurnRomInfo Specmutants_48RomDesc[] = {
	{ "Mutants (1987)(Ocean).z80", 0x06bc0, 0xaa495585, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmutants_48, Specmutants_48, Spectrum)
STD_ROM_FN(Specmutants_48)

struct BurnDriver BurnSpecmutants_48 = {
	"spec_mutants_48", "spec_mutants", "spec_spectrum", NULL, "1987",
	"Mutants (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmutants_48RomInfo, Specmutants_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mutants (128K)

static struct BurnRomInfo SpecmutantsRomDesc[] = {
	{ "Mutants (1987)(Ocean)[128K].z80", 0x119ca, 0x2d825203, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmutants, Specmutants, Spectrum)
STD_ROM_FN(Specmutants)

struct BurnDriver BurnSpecmutants = {
	"spec_mutants", NULL, "spec_spec128", NULL, "1987",
	"Mutants (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmutantsRomInfo, SpecmutantsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mutations (48K)

static struct BurnRomInfo SpecmutationRomDesc[] = {
	{ "Mutations (1986)(IJK Software).z80", 0x0354e, 0xcd583bcf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmutation, Specmutation, Spectrum)
STD_ROM_FN(Specmutation)

struct BurnDriver BurnSpecmutation = {
	"spec_mutation", NULL, "spec_spectrum", NULL, "1986",
	"Mutations (48K)\0", NULL, "IJK Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmutationRomInfo, SpecmutationRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Myla Di'Kaich (48K)

static struct BurnRomInfo SpecmyldikaiRomDesc[] = {
	{ "Myla Di'Kaich (1986)(Global Software).z80", 0x0a497, 0x5bf29f1b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmyldikai, Specmyldikai, Spectrum)
STD_ROM_FN(Specmyldikai)

struct BurnDriver BurnSpecmyldikai = {
	"spec_myldikai", NULL, "spec_spectrum", NULL, "1986",
	"Myla Di'Kaich (48K)\0", NULL, "Global Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmyldikaiRomInfo, SpecmyldikaiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mysterie van Arendarvon Castle, Het (nl) (48K)

static struct BurnRomInfo SpecmyarcaheRomDesc[] = {
	{ "Mysterie van Arendarvon Castle, Het (1985)(Addison-Wesley Productions)(nl).z80", 0x07037, 0x415790b4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmyarcahe, Specmyarcahe, Spectrum)
STD_ROM_FN(Specmyarcahe)

struct BurnDriver BurnSpecmyarcahe = {
	"spec_myarcahe", NULL, "spec_spectrum", NULL, "1985",
	"Mysterie van Arendarvon Castle, Het (nl) (48K)\0", NULL, "Addison-Wesley Productions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmyarcaheRomInfo, SpecmyarcaheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mysterious Adventures No. 01 - Golden Baton (48K)

static struct BurnRomInfo SpecmystadvRomDesc[] = {
	{ "Mysterious Adventures No. 01 - Golden Baton (1983)(Channel 8 Software).z80", 0x07d3c, 0xef5df8f2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmystadv, Specmystadv, Spectrum)
STD_ROM_FN(Specmystadv)

struct BurnDriver BurnSpecmystadv = {
	"spec_mystadv", NULL, "spec_spectrum", NULL, "1983",
	"Mysterious Adventures No. 01 - Golden Baton (48K)\0", NULL, "Channel 8 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmystadvRomInfo, SpecmystadvRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mysterious Adventures No. 02 - Arrow of Death - Part 1 (48K)

static struct BurnRomInfo Specmystadv2RomDesc[] = {
	{ "Mysterious Adventures No. 02 - Arrow of Death - Part 1 (1983)(Channel 8 Software).z80", 0x08539, 0x16a522cc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmystadv2, Specmystadv2, Spectrum)
STD_ROM_FN(Specmystadv2)

struct BurnDriver BurnSpecmystadv2 = {
	"spec_mystadv2", "spec_mystadv", "spec_spectrum", NULL, "1983",
	"Mysterious Adventures No. 02 - Arrow of Death - Part 1 (48K)\0", NULL, "Channel 8 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmystadv2RomInfo, Specmystadv2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mysterious Adventures No. 03 - Arrow of Death - Part 2 (48K)

static struct BurnRomInfo Specmystadv3RomDesc[] = {
	{ "Mysterious Adventures No. 03 - Arrow of Death - Part 2 (1983)(Channel 8 Software).z80", 0x0949b, 0x8b2414e1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmystadv3, Specmystadv3, Spectrum)
STD_ROM_FN(Specmystadv3)

struct BurnDriver BurnSpecmystadv3 = {
	"spec_mystadv3", "spec_mystadv", "spec_spectrum", NULL, "1983",
	"Mysterious Adventures No. 03 - Arrow of Death - Part 2 (48K)\0", NULL, "Channel 8 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmystadv3RomInfo, Specmystadv3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mysterious Adventures No. 04 - Escape from Pulsar 7 (48K)

static struct BurnRomInfo Specmystadv4RomDesc[] = {
	{ "Mysterious Adventures No. 04 - Escape from Pulsar 7 (1983)(Channel 8 Software).z80", 0x07509, 0xe567d761, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmystadv4, Specmystadv4, Spectrum)
STD_ROM_FN(Specmystadv4)

struct BurnDriver BurnSpecmystadv4 = {
	"spec_mystadv4", "spec_mystadv", "spec_spectrum", NULL, "1983",
	"Mysterious Adventures No. 04 - Escape from Pulsar 7 (48K)\0", NULL, "Channel 8 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmystadv4RomInfo, Specmystadv4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mysterious Adventures No. 05 - Feasibility Experiment (48K)

static struct BurnRomInfo Specmystadv5RomDesc[] = {
	{ "Mysterious Adventures No. 05 - Feasibility Experiment (1983)(Channel 8 Software).z80", 0x09213, 0x91c194af, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmystadv5, Specmystadv5, Spectrum)
STD_ROM_FN(Specmystadv5)

struct BurnDriver BurnSpecmystadv5 = {
	"spec_mystadv5", "spec_mystadv", "spec_spectrum", NULL, "1983",
	"Mysterious Adventures No. 05 - Feasibility Experiment (48K)\0", NULL, "Channel 8 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmystadv5RomInfo, Specmystadv5RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mysterious Adventures No. 06 - The Time Machine (48K)

static struct BurnRomInfo Specmystadv6RomDesc[] = {
	{ "Mysterious Adventures No. 06 - The Time Machine (1983)(Channel 8 Software).z80", 0x078d0, 0x7d81700b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmystadv6, Specmystadv6, Spectrum)
STD_ROM_FN(Specmystadv6)

struct BurnDriver BurnSpecmystadv6 = {
	"spec_mystadv6", "spec_mystadv", "spec_spectrum", NULL, "1983",
	"Mysterious Adventures No. 06 - The Time Machine (48K)\0", NULL, "Channel 8 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmystadv6RomInfo, Specmystadv6RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mysterious Adventures No. 07 - Circus (48K)

static struct BurnRomInfo Specmystadv7RomDesc[] = {
	{ "Mysterious Adventures No. 07 - Circus (1983)(Channel 8 Software).z80", 0x06c62, 0xcb994746, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmystadv7, Specmystadv7, Spectrum)
STD_ROM_FN(Specmystadv7)

struct BurnDriver BurnSpecmystadv7 = {
	"spec_mystadv7", "spec_mystadv", "spec_spectrum", NULL, "1983",
	"Mysterious Adventures No. 07 - Circus (48K)\0", NULL, "Channel 8 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmystadv7RomInfo, Specmystadv7RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mysterious Adventures No. 08 - Wizard of Akyrz (48K)

static struct BurnRomInfo Specmystadv8RomDesc[] = {
	{ "Mysterious Adventures No. 08 - Wizard of Akyrz (1983)(Channel 8 Software).z80", 0x083d9, 0x216ba37b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmystadv8, Specmystadv8, Spectrum)
STD_ROM_FN(Specmystadv8)

struct BurnDriver BurnSpecmystadv8 = {
	"spec_mystadv8", "spec_mystadv", "spec_spectrum", NULL, "1983",
	"Mysterious Adventures No. 08 - Wizard of Akyrz (48K)\0", NULL, "Channel 8 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmystadv8RomInfo, Specmystadv8RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mysterious Adventures No. 09 - Perseus and Andromeda (48K)

static struct BurnRomInfo Specmystadv9RomDesc[] = {
	{ "Mysterious Adventures No. 09 - Perseus and Andromeda (1983)(Channel 8 Software).z80", 0x07b10, 0xf1b07354, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmystadv9, Specmystadv9, Spectrum)
STD_ROM_FN(Specmystadv9)

struct BurnDriver BurnSpecmystadv9 = {
	"spec_mystadv9", "spec_mystadv", "spec_spectrum", NULL, "1983",
	"Mysterious Adventures No. 09 - Perseus and Andromeda (48K)\0", NULL, "Channel 8 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmystadv9RomInfo, Specmystadv9RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mysterious Adventures No. 10 - Ten Little Indians (48K)

static struct BurnRomInfo Specmystadv10RomDesc[] = {
	{ "Mysterious Adventures No. 10 - Ten Little Indians (1983)(Channel 8 Software).z80", 0x07bb0, 0xf89bd304, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmystadv10, Specmystadv10, Spectrum)
STD_ROM_FN(Specmystadv10)

struct BurnDriver BurnSpecmystadv10 = {
	"spec_mystadv10", "spec_mystadv", "spec_spectrum", NULL, "1983",
	"Mysterious Adventures No. 10 - Ten Little Indians (48K)\0", NULL, "Channel 8 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmystadv10RomInfo, Specmystadv10RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mysterious Adventures No. 11 - Waxworks (48K)

static struct BurnRomInfo Specmystadv11RomDesc[] = {
	{ "Mysterious Adventures No. 11 - Waxworks (1983)(Channel 8 Software).z80", 0x07f96, 0x66053537, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmystadv11, Specmystadv11, Spectrum)
STD_ROM_FN(Specmystadv11)

struct BurnDriver BurnSpecmystadv11 = {
	"spec_mystadv11", "spec_mystadv", "spec_spectrum", NULL, "1983",
	"Mysterious Adventures No. 11 - Waxworks (48K)\0", NULL, "Channel 8 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmystadv11RomInfo, Specmystadv11RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mysterious Fairground (48K)

static struct BurnRomInfo SpecmystfairRomDesc[] = {
	{ "Mysterious Fairground (1984)(Buffer Micro).z80", 0x05008, 0x59a247c1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmystfair, Specmystfair, Spectrum)
STD_ROM_FN(Specmystfair)

struct BurnDriver BurnSpecmystfair = {
	"spec_mystfair", NULL, "spec_spectrum", NULL, "1984",
	"Mysterious Fairground (48K)\0", NULL, "Buffer Micro", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmystfairRomInfo, SpecmystfairRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mystery of Arkham Manor, The (Part 1 of 2) (48K)

static struct BurnRomInfo Specmystarkm_48RomDesc[] = {
	{ "Mystery of Arkham Manor, The (1987)(Melbourne House)(Part 1 of 2).z80", 0x098dd, 0x943d601a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmystarkm_48, Specmystarkm_48, Spectrum)
STD_ROM_FN(Specmystarkm_48)

struct BurnDriver BurnSpecmystarkm_48 = {
	"spec_mystarkm_48", "spec_mystarkm", "spec_spectrum", NULL, "1987",
	"Mystery of Arkham Manor, The (Part 1 of 2) (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmystarkm_48RomInfo, Specmystarkm_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mystery of Arkham Manor, The (Part 1 of 2) (128K)

static struct BurnRomInfo SpecmystarkmRomDesc[] = {
	{ "Mystery of Arkham Manor, The (1987)(Melbourne House)(Part 1 of 2)[128K].z80", 0x0a674, 0xf7106d74, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmystarkm, Specmystarkm, Spectrum)
STD_ROM_FN(Specmystarkm)

struct BurnDriver BurnSpecmystarkm = {
	"spec_mystarkm", NULL, "spec_spec128", NULL, "1987",
	"Mystery of Arkham Manor, The (Part 1 of 2) (128K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmystarkmRomInfo, SpecmystarkmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mystery of Arkham Manor, The (Part 2 of 2) (48K)

static struct BurnRomInfo Specmystarkm2_48RomDesc[] = {
	{ "Mystery of Arkham Manor, The (1987)(Melbourne House)(Part 2 of 2).z80", 0x09a79, 0x785f1eac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmystarkm2_48, Specmystarkm2_48, Spectrum)
STD_ROM_FN(Specmystarkm2_48)

struct BurnDriver BurnSpecmystarkm2_48 = {
	"spec_mystarkm2_48", "spec_mystarkm", "spec_spectrum", NULL, "1987",
	"Mystery of Arkham Manor, The (Part 2 of 2) (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmystarkm2_48RomInfo, Specmystarkm2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mystery of Arkham Manor, The (Part 2 of 2) (128K)

static struct BurnRomInfo Specmystarkm2RomDesc[] = {
	{ "Mystery of Arkham Manor, The (1987)(Melbourne House)(Part 2 of 2)[128K].z80", 0x0a716, 0x85b0e9c5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmystarkm2, Specmystarkm2, Spectrum)
STD_ROM_FN(Specmystarkm2)

struct BurnDriver BurnSpecmystarkm2 = {
	"spec_mystarkm2", "spec_mystarkm", "spec_spec128", NULL, "1987",
	"Mystery of Arkham Manor, The (Part 2 of 2) (128K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specmystarkm2RomInfo, Specmystarkm2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mystery of Silver Mountain (48K)

static struct BurnRomInfo SpecmyssilmoRomDesc[] = {
	{ "Mystery of Silver Mountain (1984)(Usborne Publishing).z80", 0x061c6, 0x84b832c7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmyssilmo, Specmyssilmo, Spectrum)
STD_ROM_FN(Specmyssilmo)

struct BurnDriver BurnSpecmyssilmo = {
	"spec_myssilmo", NULL, "spec_spectrum", NULL, "1984",
	"Mystery of Silver Mountain (48K)\0", NULL, "Usborne Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmyssilmoRomInfo, SpecmyssilmoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mystery of the Indus Valleys (48K)

static struct BurnRomInfo SpecmysindvaRomDesc[] = {
	{ "Mystery of the Indus Valleys (1988)(Alternative Software).z80", 0x08a8d, 0x51de97a8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmysindva, Specmysindva, Spectrum)
STD_ROM_FN(Specmysindva)

struct BurnDriver BurnSpecmysindva = {
	"spec_mysindva", NULL, "spec_spectrum", NULL, "1988",
	"Mystery of the Indus Valleys (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmysindvaRomInfo, SpecmysindvaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mystery of the Nile, The (48K)

static struct BurnRomInfo SpecmysnilthRomDesc[] = {
	{ "Mystery of the Nile, The (1987)(Firebird Software)[aka Misterio del Nilo, El].z80", 0x0ae01, 0xad51f1c2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmysnilth, Specmysnilth, Spectrum)
STD_ROM_FN(Specmysnilth)

struct BurnDriver BurnSpecmysnilth = {
	"spec_mysnilth", NULL, "spec_spectrum", NULL, "1987",
	"Mystery of the Nile, The (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmysnilthRomInfo, SpecmysnilthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mystic Tower - Intro (48K)

static struct BurnRomInfo SpecmystictwRomDesc[] = {
	{ "Mystic Tower - Intro (1983)(Aardvark Software)[speech].z80", 0x02489, 0x7903583e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmystictw, Specmystictw, Spectrum)
STD_ROM_FN(Specmystictw)

struct BurnDriver BurnSpecmystictw = {
	"spec_mystictw", NULL, "spec_spectrum", NULL, "1983",
	"Mystic Tower - Intro (48K)\0", NULL, "Aardvark Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmystictwRomInfo, SpecmystictwRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mystic Tower, The (48K)

static struct BurnRomInfo SpecmystictwgRomDesc[] = {
	{ "Mystic Tower, The (1983)(Aardvark Software)[speech].z80", 0x0291a, 0x488b24bf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmystictwg, Specmystictwg, Spectrum)
STD_ROM_FN(Specmystictwg)

struct BurnDriver BurnSpecmystictwg = {
	"spec_mystictwg", "spec_mystictw", "spec_spectrum", NULL, "1983",
	"Mystic Tower, The (48K)\0", NULL, "Aardvark Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmystictwgRomInfo, SpecmystictwgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mystical (48K)

static struct BurnRomInfo SpecmysticalRomDesc[] = {
	{ "Mystical (1991)(Infogrames).z80", 0x0b5fb, 0x155899fd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmystical, Specmystical, Spectrum)
STD_ROM_FN(Specmystical)

struct BurnDriver BurnSpecmystical = {
	"spec_mystical", NULL, "spec_spectrum", NULL, "1991",
	"Mystical (48K)\0", NULL, "Infogrames", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmysticalRomInfo, SpecmysticalRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mystical Diamonds (48K)

static struct BurnRomInfo SpecmystdiamRomDesc[] = {
	{ "Mystical Diamonds (1983)(Cascade Games).z80", 0x02bbf, 0x87a9eec5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmystdiam, Specmystdiam, Spectrum)
STD_ROM_FN(Specmystdiam)

struct BurnDriver BurnSpecmystdiam = {
	"spec_mystdiam", NULL, "spec_spectrum", NULL, "1983",
	"Mystical Diamonds (48K)\0", NULL, "Cascade Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmystdiamRomInfo, SpecmystdiamRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Myth - History in the Making (48K)

static struct BurnRomInfo SpecmythismaRomDesc[] = {
	{ "Myth - History in the Making (1989)(System 3 Software).z80", 0x0900e, 0x8e765916, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmythisma, Specmythisma, Spectrum)
STD_ROM_FN(Specmythisma)

struct BurnDriver BurnSpecmythisma = {
	"spec_mythisma", NULL, "spec_spectrum", NULL, "1989",
	"Myth - History in the Making (48K)\0", NULL, "System 3 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmythismaRomInfo, SpecmythismaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Mythos (48K)

static struct BurnRomInfo SpecmythosRomDesc[] = {
	{ "Mythos (1990)(Opera Soft).z80", 0x09f6e, 0x21d6d372, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specmythos, Specmythos, Spectrum)
STD_ROM_FN(Specmythos)

struct BurnDriver BurnSpecmythos = {
	"spec_mythos", NULL, "spec_spectrum", NULL, "1990",
	"Mythos (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecmythosRomInfo, SpecmythosRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// N.E.I.L. Android (48K)

static struct BurnRomInfo SpecneilandrRomDesc[] = {
	{ "N.E.I.L. Android (1988)(Alternative Software).z80", 0x06ad7, 0xa9365668, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specneilandr, Specneilandr, Spectrum)
STD_ROM_FN(Specneilandr)

struct BurnDriver BurnSpecneilandr = {
	"spec_neilandr", NULL, "spec_spectrum", NULL, "1988",
	"N.E.I.L. Android (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecneilandrRomInfo, SpecneilandrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// N.E.X.O.R. (48K)

static struct BurnRomInfo SpecnexorRomDesc[] = {
	{ "N.E.X.O.R. (1986)(Design Design Software).z80", 0x09515, 0x9619b0f4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnexor, Specnexor, Spectrum)
STD_ROM_FN(Specnexor)

struct BurnDriver BurnSpecnexor = {
	"spec_nexor", NULL, "spec_spectrum", NULL, "1986",
	"N.E.X.O.R. (48K)\0", NULL, "Design Design Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnexorRomInfo, SpecnexorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// N.E.X.U.S. (48K)

static struct BurnRomInfo SpecnexusRomDesc[] = {
	{ "N.E.X.U.S. (1986)(Nexus Productions).z80", 0x0925b, 0x27f4d0c3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnexus, Specnexus, Spectrum)
STD_ROM_FN(Specnexus)

struct BurnDriver BurnSpecnexus = {
	"spec_nexus", NULL, "spec_spectrum", NULL, "1986",
	"N.E.X.U.S. (48K)\0", NULL, "Nexus Productions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnexusRomInfo, SpecnexusRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// N.O.M.A.D. (48K)

static struct BurnRomInfo SpecnomadRomDesc[] = {
	{ "N.O.M.A.D. (1986)(Ocean).z80", 0x0a037, 0xcf32b795, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnomad, Specnomad, Spectrum)
STD_ROM_FN(Specnomad)

struct BurnDriver BurnSpecnomad = {
	"spec_nomad", NULL, "spec_spectrum", NULL, "1986",
	"N.O.M.A.D. (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnomadRomInfo, SpecnomadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Na Balkanu Nista Novo (bs) (48K)

static struct BurnRomInfo SpecnabaninoRomDesc[] = {
	{ "Na Balkanu Nista Novo (1989)(Samir Ribic - Zeljko Juric)(bs).z80", 0x0948e, 0x5f5fc043, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnabanino, Specnabanino, Spectrum)
STD_ROM_FN(Specnabanino)

struct BurnDriver BurnSpecnabanino = {
	"spec_nabanino", NULL, "spec_spectrum", NULL, "1989",
	"Na Balkanu Nista Novo (bs) (48K)\0", NULL, "Samir Ribic - Zeljko Juric", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnabaninoRomInfo, SpecnabaninoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nanas (48K)

static struct BurnRomInfo SpecnanasRomDesc[] = {
	{ "Nanas (1983)(Mikro-Gen).z80", 0x02584, 0x761c94f9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnanas, Specnanas, Spectrum)
STD_ROM_FN(Specnanas)

struct BurnDriver BurnSpecnanas = {
	"spec_nanas", NULL, "spec_spectrum", NULL, "1983",
	"Nanas (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnanasRomInfo, SpecnanasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Napoleon at War (48K)

static struct BurnRomInfo SpecnapowarRomDesc[] = {
	{ "Napoleon at War (1986)(CCS).z80", 0x09d6b, 0xf145c79a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnapowar, Specnapowar, Spectrum)
STD_ROM_FN(Specnapowar)

struct BurnDriver BurnSpecnapowar = {
	"spec_napowar", NULL, "spec_spectrum", NULL, "1986",
	"Napoleon at War (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnapowarRomInfo, SpecnapowarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// National, The (48K)

static struct BurnRomInfo SpecnatitheRomDesc[] = {
	{ "National, The (1988)(D&H Games).z80", 0x07462, 0x22f68b2e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnatithe, Specnatithe, Spectrum)
STD_ROM_FN(Specnatithe)

struct BurnDriver BurnSpecnatithe = {
	"spec_natithe", NULL, "spec_spectrum", NULL, "1988",
	"National, The (48K)\0", NULL, "D&H Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnatitheRomInfo, SpecnatitheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nato Alert (48K)

static struct BurnRomInfo SpecnatoalerRomDesc[] = {
	{ "Nato Alert (1984)(CCS).z80", 0x07cfa, 0x42c2630e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnatoaler, Specnatoaler, Spectrum)
STD_ROM_FN(Specnatoaler)

struct BurnDriver BurnSpecnatoaler = {
	"spec_natoaler", NULL, "spec_spectrum", NULL, "1984",
	"Nato Alert (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnatoalerRomInfo, SpecnatoalerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nato Assault (128K)

static struct BurnRomInfo SpecnatoassaRomDesc[] = {
	{ "Nato Assault (1987)(Astros Productions)[128K].z80", 0x0d13c, 0x23bfba82, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnatoassa, Specnatoassa, Spectrum)
STD_ROM_FN(Specnatoassa)

struct BurnDriver BurnSpecnatoassa = {
	"spec_natoassa", NULL, "spec_spec128", NULL, "1987",
	"Nato Assault (128K)\0", NULL, "Astros Productions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnatoassaRomInfo, SpecnatoassaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// NATO Assault Course (48K)

static struct BurnRomInfo SpecnatoacRomDesc[] = {
	{ "NATO Assault Course (1988)(CRL Group).z80", 0x0734d, 0xf7a07f58, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnatoac, Specnatoac, Spectrum)
STD_ROM_FN(Specnatoac)

struct BurnDriver BurnSpecnatoac = {
	"spec_natoac", NULL, "spec_spectrum", NULL, "1988",
	"NATO Assault Course (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnatoacRomInfo, SpecnatoacRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Navy Moves (Part 1 of 2) (48K)

static struct BurnRomInfo SpecnvymovesRomDesc[] = {
	{ "Navy Moves (1988)(Dinamic Software)(Part 1 of 2).z80", 0x08ed7, 0x2a8224a1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnvymoves, Specnvymoves, Spectrum)
STD_ROM_FN(Specnvymoves)

struct BurnDriver BurnSpecnvymoves = {
	"spec_nvymoves", NULL, "spec_spectrum", NULL, "1988",
	"Navy Moves (Part 1 of 2) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnvymovesRomInfo, SpecnvymovesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Navy Moves (Part 2 of 2) (48K)

static struct BurnRomInfo Specnvymoves2RomDesc[] = {
	{ "Navy Moves (1988)(Dinamic Software)(Part 2 of 2).z80", 0x0a57b, 0x00d901f7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnvymoves2, Specnvymoves2, Spectrum)
STD_ROM_FN(Specnvymoves2)

struct BurnDriver BurnSpecnvymoves2 = {
	"spec_nvymoves2", "spec_nvymoves", "spec_spectrum", NULL, "1988",
	"Navy Moves (Part 2 of 2) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specnvymoves2RomInfo, Specnvymoves2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Navy SEALs (Part 1 of 2) (128K)

static struct BurnRomInfo SpecnvysealsRomDesc[] = {
	{ "Navy SEALs (1991)(Ocean)(Part 1 of 2)[128K].z80", 0x18df5, 0x40156d33, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnvyseals, Specnvyseals, Spectrum)
STD_ROM_FN(Specnvyseals)

struct BurnDriver BurnSpecnvyseals = {
	"spec_nvyseals", NULL, "spec_spec128", NULL, "1991",
	"Navy SEALs (Part 1 of 2) (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnvysealsRomInfo, SpecnvysealsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Navy SEALs (Part 2 of 2) (128K)

static struct BurnRomInfo Specnvyseals2RomDesc[] = {
	{ "Navy SEALs (1991)(Ocean)(Part 2 of 2)[128K].z80", 0x1820a, 0x78ab2c33, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnvyseals2, Specnvyseals2, Spectrum)
STD_ROM_FN(Specnvyseals2)

struct BurnDriver BurnSpecnvyseals2 = {
	"spec_nvyseals2", "spec_nvyseals", "spec_spec128", NULL, "1991",
	"Navy SEALs (Part 2 of 2) (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specnvyseals2RomInfo, Specnvyseals2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nebula (48K)

static struct BurnRomInfo SpecnebulaRomDesc[] = {
	{ "Nebula (1984)(Red Shift).z80", 0x09c9f, 0x1b5015e3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnebula, Specnebula, Spectrum)
STD_ROM_FN(Specnebula)

struct BurnDriver BurnSpecnebula = {
	"spec_nebula", NULL, "spec_spectrum", NULL, "1984",
	"Nebula (48K)\0", NULL, "Red Shift", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnebulaRomInfo, SpecnebulaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nebulus (48K)

static struct BurnRomInfo SpecnebulusRomDesc[] = {
	{ "Nebulus (1987)(Hewson Consultants).z80", 0x082f5, 0xa66c873b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnebulus, Specnebulus, Spectrum)
STD_ROM_FN(Specnebulus)

struct BurnDriver BurnSpecnebulus = {
	"spec_nebulus", NULL, "spec_spectrum", NULL, "1987",
	"Nebulus (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnebulusRomInfo, SpecnebulusRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Necks Please (48K)

static struct BurnRomInfo SpecneckpleaRomDesc[] = {
	{ "Necks Please (1985)(Automata UK).z80", 0x0909a, 0x8eafd6fc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specneckplea, Specneckplea, Spectrum)
STD_ROM_FN(Specneckplea)

struct BurnDriver BurnSpecneckplea = {
	"spec_neckplea", NULL, "spec_spectrum", NULL, "1985",
	"Necks Please (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecneckpleaRomInfo, SpecneckpleaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Necris Dome (48K)

static struct BurnRomInfo SpecnecrdomeRomDesc[] = {
	{ "Necris Dome (1987)(Codemasters).z80", 0x0b1a4, 0x0e014546, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnecrdome, Specnecrdome, Spectrum)
STD_ROM_FN(Specnecrdome)

struct BurnDriver BurnSpecnecrdome = {
	"spec_necrdome", NULL, "spec_spectrum", NULL, "1987",
	"Necris Dome (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnecrdomeRomInfo, SpecnecrdomeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Necro Plasm (48K)

static struct BurnRomInfo SpecnecrplasRomDesc[] = {
	{ "Necro Plasm (1989)(Grant Jaquest).z80", 0x09a17, 0x7aaa9522, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnecrplas, Specnecrplas, Spectrum)
STD_ROM_FN(Specnecrplas)

struct BurnDriver BurnSpecnecrplas = {
	"spec_necrplas", NULL, "spec_spectrum", NULL, "1989",
	"Necro Plasm (48K)\0", NULL, "Grant Jaquest", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnecrplasRomInfo, SpecnecrplasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Negy a Nyero (hu) (128K)

static struct BurnRomInfo SpecnegynyerRomDesc[] = {
	{ "Negy a Nyero (1998)(Laszlo Nyitrai)(hu)[128K].z80", 0x034db, 0x4e4407bd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnegynyer, Specnegynyer, Spectrum)
STD_ROM_FN(Specnegynyer)

struct BurnDriver BurnSpecnegynyer = {
	"spec_negynyer", NULL, "spec_spec128", NULL, "1998",
	"Negy a Nyero (hu) (128K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnegynyerRomInfo, SpecnegynyerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Neighbours (48K)

static struct BurnRomInfo SpecneighbouRomDesc[] = {
	{ "Neighbours (1992)(Impulze).z80", 0x09343, 0xd977167f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specneighbou, Specneighbou, Spectrum)
STD_ROM_FN(Specneighbou)

struct BurnDriver BurnSpecneighbou = {
	"spec_neighbou", NULL, "spec_spectrum", NULL, "1992",
	"Neighbours (48K)\0", NULL, "Impulze", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecneighbouRomInfo, SpecneighbouRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nemesis (Konami) (48K)

static struct BurnRomInfo SpecnemesisRomDesc[] = {
	{ "Nemesis (1987)(Konami).z80", 0x09e00, 0xc6c2c9c6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnemesis, Specnemesis, Spectrum)
STD_ROM_FN(Specnemesis)

struct BurnDriver BurnSpecnemesis = {
	"spec_nemesis", NULL, "spec_spectrum", NULL, "1987",
	"Nemesis (Konami) (48K)\0", NULL, "Konami", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnemesisRomInfo, SpecnemesisRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nemesis (The Hit Squad) (48K)

static struct BurnRomInfo SpecnemesishsRomDesc[] = {
	{ "Nemesis (1987)(The Hit Squad)[re-release].z80", 0x0a71d, 0xad42684d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnemesishs, Specnemesishs, Spectrum)
STD_ROM_FN(Specnemesishs)

struct BurnDriver BurnSpecnemesishs = {
	"spec_nemesishs", "spec_nemesis", "spec_spectrum", NULL, "1987",
	"Nemesis (The Hit Squad) (48K)\0", NULL, "The Hit Squad", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnemesishsRomInfo, SpecnemesishsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nemesis the Warlock (48K)

static struct BurnRomInfo Specnemesisw_48RomDesc[] = {
	{ "Nemesis the Warlock (1987)(Martech Games).z80", 0x0a874, 0xd21e32dc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnemesisw_48, Specnemesisw_48, Spectrum)
STD_ROM_FN(Specnemesisw_48)

struct BurnDriver BurnSpecnemesisw_48 = {
	"spec_nemesisw_48", "spec_nemesisw", "spec_spectrum", NULL, "1987",
	"Nemesis the Warlock (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specnemesisw_48RomInfo, Specnemesisw_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nemesis the Warlock (128K)

static struct BurnRomInfo SpecnemesiswRomDesc[] = {
	{ "Nemesis the Warlock (1987)(Martech Games)[128K].z80", 0x0c830, 0x762fd698, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnemesisw, Specnemesisw, Spectrum)
STD_ROM_FN(Specnemesisw)

struct BurnDriver BurnSpecnemesisw = {
	"spec_nemesisw", NULL, "spec_spec128", NULL, "1987",
	"Nemesis the Warlock (128K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnemesiswRomInfo, SpecnemesiswRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nest of Bastards, The (128K)

static struct BurnRomInfo SpecnestbastRomDesc[] = {
	{ "Nest of Bastards, The (1991)(Greg Fox)[128K].z80", 0x06513, 0xf91d4325, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnestbast, Specnestbast, Spectrum)
STD_ROM_FN(Specnestbast)

struct BurnDriver BurnSpecnestbast = {
	"spec_nestbast", NULL, "spec_spec128", NULL, "1991",
	"Nest of Bastards, The (128K)\0", NULL, "Greg Fox", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnestbastRomInfo, SpecnestbastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nether Earth (48K)

static struct BurnRomInfo SpecnetheartRomDesc[] = {
	{ "Nether Earth (1987)(Argus Press Software).z80", 0x09076, 0xd56f0069, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnetheart, Specnetheart, Spectrum)
STD_ROM_FN(Specnetheart)

struct BurnDriver BurnSpecnetheart = {
	"spec_netheart", NULL, "spec_spectrum", NULL, "1987",
	"Nether Earth (48K)\0", NULL, "Argus Press Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnetheartRomInfo, SpecnetheartRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Netherworld (48K)

static struct BurnRomInfo Specnetherwo_48RomDesc[] = {
	{ "Netherworld (1988)(Hewson Consultants).z80", 0x08743, 0x8f1dd56f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnetherwo_48, Specnetherwo_48, Spectrum)
STD_ROM_FN(Specnetherwo_48)

struct BurnDriver BurnSpecnetherwo_48 = {
	"spec_netherwo_48", "spec_netherwo", "spec_spectrum", NULL, "1988",
	"Netherworld (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specnetherwo_48RomInfo, Specnetherwo_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Netherworld (128K)

static struct BurnRomInfo SpecnetherwoRomDesc[] = {
	{ "Netherworld (1988)(Hewson Consultants)[128K].z80", 0x0a1d5, 0xbbe64f1e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnetherwo, Specnetherwo, Spectrum)
STD_ROM_FN(Specnetherwo)

struct BurnDriver BurnSpecnetherwo = {
	"spec_netherwo", NULL, "spec_spec128", NULL, "1988",
	"Netherworld (128K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnetherwoRomInfo, SpecnetherwoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Network Anaylser (48K)

static struct BurnRomInfo SpecnetwanayRomDesc[] = {
	{ "Network Anaylser (1983)(Number One Systems).z80", 0x06290, 0x998ed880, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnetwanay, Specnetwanay, Spectrum)
STD_ROM_FN(Specnetwanay)

struct BurnDriver BurnSpecnetwanay = {
	"spec_netwanay", NULL, "spec_spectrum", NULL, "1983",
	"Network Anaylser (48K)\0", NULL, "Number One Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnetwanayRomInfo, SpecnetwanayRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Neuron Warriors (128K)

static struct BurnRomInfo SpecneurwarrRomDesc[] = {
	{ "Neuron Warriors (1992)(A-Soft)[128K].z80", 0x04f79, 0x7ca1734a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specneurwarr, Specneurwarr, Spectrum)
STD_ROM_FN(Specneurwarr)

struct BurnDriver BurnSpecneurwarr = {
	"spec_neurwarr", NULL, "spec_spec128", NULL, "1992",
	"Neuron Warriors (128K)\0", NULL, "A-Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecneurwarrRomInfo, SpecneurwarrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Never Trust a Blonde (48K)

static struct BurnRomInfo SpecnevtrublRomDesc[] = {
	{ "Never Trust a Blonde (1983)(Add-On Electronics).z80", 0x09016, 0x6e194653, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnevtrubl, Specnevtrubl, Spectrum)
STD_ROM_FN(Specnevtrubl)

struct BurnDriver BurnSpecnevtrubl = {
	"spec_nevtrubl", NULL, "spec_spectrum", NULL, "1983",
	"Never Trust a Blonde (48K)\0", NULL, "Add-On Electronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnevtrublRomInfo, SpecnevtrublRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Neverending Story, The (Part 1 of 3) (48K)

static struct BurnRomInfo Specnvrendst_48RomDesc[] = {
	{ "Neverending Story, The (1985)(Ocean)(Part 1 of 3).z80", 0x09c11, 0xb5363cf7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnvrendst_48, Specnvrendst_48, Spectrum)
STD_ROM_FN(Specnvrendst_48)

struct BurnDriver BurnSpecnvrendst_48 = {
	"spec_nvrendst_48", NULL, "spec_spectrum", NULL, "1985",
	"Neverending Story, The (Part 1 of 3) (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specnvrendst_48RomInfo, Specnvrendst_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Neverending Story, The (Part 2 of 3) (48K)

static struct BurnRomInfo Specnvrendst2_48RomDesc[] = {
	{ "Neverending Story, The (1985)(Ocean)(Part 2 of 3).z80", 0x09037, 0x41f1ddf9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnvrendst2_48, Specnvrendst2_48, Spectrum)
STD_ROM_FN(Specnvrendst2_48)

struct BurnDriver BurnSpecnvrendst2_48 = {
	"spec_nvrendst2_48", "spec_nvrendst", "spec_spectrum", NULL, "1985",
	"Neverending Story, The (Part 2 of 3) (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specnvrendst2_48RomInfo, Specnvrendst2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Neverending Story, The (Part 3 of 3) (48K)

static struct BurnRomInfo Specnvrendst3_48RomDesc[] = {
	{ "Neverending Story, The (1985)(Ocean)(Part 3 of 3).z80", 0x090ae, 0xcf5eefd8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnvrendst3_48, Specnvrendst3_48, Spectrum)
STD_ROM_FN(Specnvrendst3_48)

struct BurnDriver BurnSpecnvrendst3_48 = {
	"spec_nvrendst3_48", "spec_nvrendst", "spec_spectrum", NULL, "1985",
	"Neverending Story, The (Part 3 of 3) (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specnvrendst3_48RomInfo, Specnvrendst3_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Neverending Story, The (128K)

static struct BurnRomInfo SpecnvrendstRomDesc[] = {
	{ "Neverending Story, The (1985)(Ocean)[128K].z80", 0x0f23f, 0x20fd218f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnvrendst, Specnvrendst, Spectrum)
STD_ROM_FN(Specnvrendst)

struct BurnDriver BurnSpecnvrendst = {
	"spec_nvrendst", NULL, "spec_spec128", NULL, "1985",
	"Neverending Story, The (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnvrendstRomInfo, SpecnvrendstRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// New Cylon Attack (48K)

static struct BurnRomInfo SpecnewcylatRomDesc[] = {
	{ "New Cylon Attack (1984)(A & F Software).z80", 0x063fb, 0xf948ec25, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnewcylat, Specnewcylat, Spectrum)
STD_ROM_FN(Specnewcylat)

struct BurnDriver BurnSpecnewcylat = {
	"spec_newcylat", NULL, "spec_spectrum", NULL, "1984",
	"New Cylon Attack (48K)\0", NULL, "A & F Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnewcylatRomInfo, SpecnewcylatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// New Dizzy (Russian) (128K)

static struct BurnRomInfo SpecnewdizzyRomDesc[] = {
	{ "New Dizzy (1993)(N. Kutin - D. Paltusov)(ru)[128K].z80", 0x0ac25, 0x5e429585, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnewdizzy, Specnewdizzy, Spectrum)
STD_ROM_FN(Specnewdizzy)

struct BurnDriver BurnSpecnewdizzy = {
	"spec_newdizzy", NULL, "spec_spec128", NULL, "1993",
	"New Dizzy (Russian) (128K)\0", NULL, "N. Kutin - D. Paltusov", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnewdizzyRomInfo, SpecnewdizzyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// New Wheels John (48K)

static struct BurnRomInfo SpecnewwhejoRomDesc[] = {
	{ "New Wheels John (1985)(Automata UK).z80", 0x0aeee, 0xa5c5678d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnewwhejo, Specnewwhejo, Spectrum)
STD_ROM_FN(Specnewwhejo)

struct BurnDriver BurnSpecnewwhejo = {
	"spec_newwhejo", NULL, "spec_spectrum", NULL, "1985",
	"New Wheels John (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnewwhejoRomInfo, SpecnewwhejoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// New Year 1985 (bs) (48K)

static struct BurnRomInfo Specnewyr85RomDesc[] = {
	{ "New Year 1985 (1984)(Samir Ribic)(bs).z80", 0x04311, 0x8a5b81fe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnewyr85, Specnewyr85, Spectrum)
STD_ROM_FN(Specnewyr85)

struct BurnDriver BurnSpecnewyr85 = {
	"spec_newyr85", NULL, "spec_spectrum", NULL, "1984",
	"New Year 1985 (bs) (48K)\0", NULL, "Samir Ribic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specnewyr85RomInfo, Specnewyr85RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Newterm (48K)

static struct BurnRomInfo SpecnewtermRomDesc[] = {
	{ "Newterm (1986)(Microsource NL).z80", 0x0652f, 0x1776384e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnewterm, Specnewterm, Spectrum)
STD_ROM_FN(Specnewterm)

struct BurnDriver BurnSpecnewterm = {
	"spec_newterm", NULL, "spec_spectrum", NULL, "1986",
	"Newterm (48K)\0", NULL, "Microsource NL", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnewtermRomInfo, SpecnewtermRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nezvestny - 007 (cs) (48K)

static struct BurnRomInfo SpecnezvestnRomDesc[] = {
	{ "Nezvestny - 007 (1990)(Predator Software)(cs).z80", 0x0a192, 0xd0fc56ce, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnezvestn, Specnezvestn, Spectrum)
STD_ROM_FN(Specnezvestn)

struct BurnDriver BurnSpecnezvestn = {
	"spec_nezvestn", NULL, "spec_spectrum", NULL, "1990",
	"Nezvestny - 007 (cs) (48K)\0", NULL, "Predator Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnezvestnRomInfo, SpecnezvestnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nick Faldo Plays the Open (48K)

static struct BurnRomInfo SpecnifaplopRomDesc[] = {
	{ "Nick Faldo Plays the Open (1985)(Mind Games).z80", 0x09735, 0x6953943b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnifaplop, Specnifaplop, Spectrum)
STD_ROM_FN(Specnifaplop)

struct BurnDriver BurnSpecnifaplop = {
	"spec_nifaplop", NULL, "spec_spectrum", NULL, "1985",
	"Nick Faldo Plays the Open (48K)\0", NULL, "Mind Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnifaplopRomInfo, SpecnifaplopRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nicotine Nightmare (48K)

static struct BurnRomInfo SpecniconighRomDesc[] = {
	{ "Nicotine Nightmare (1985)(Atlantis Software).z80", 0x0a644, 0xd1b09615, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specniconigh, Specniconigh, Spectrum)
STD_ROM_FN(Specniconigh)

struct BurnDriver BurnSpecniconigh = {
	"spec_niconigh", NULL, "spec_spectrum", NULL, "1985",
	"Nicotine Nightmare (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecniconighRomInfo, SpecniconighRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nifty Lifty (48K)

static struct BurnRomInfo SpecniftliftRomDesc[] = {
	{ "Nifty Lifty (1984)(Visions Software Factory).z80", 0x06a10, 0x6e354d24, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specniftlift, Specniftlift, Spectrum)
STD_ROM_FN(Specniftlift)

struct BurnDriver BurnSpecniftlift = {
	"spec_niftlift", NULL, "spec_spectrum", NULL, "1984",
	"Nifty Lifty (48K)\0", NULL, "Visions Software Factory", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecniftliftRomInfo, SpecniftliftRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nigel Mansell's Grand Prix (128K)

static struct BurnRomInfo SpecnmansgpRomDesc[] = {
	{ "Nigel Mansell's Grand Prix (1988)(Martech Games)[128K].z80", 0x0f5f2, 0xbb3d91f8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnmansgp, Specnmansgp, Spectrum)
STD_ROM_FN(Specnmansgp)

struct BurnDriver BurnSpecnmansgp = {
	"spec_nmansgp", NULL, "spec_spec128", NULL, "1988",
	"Nigel Mansell's Grand Prix (128K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnmansgpRomInfo, SpecnmansgpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Night Breed (48K)

static struct BurnRomInfo Specnbreed_48RomDesc[] = {
	{ "Night Breed (1990)(Ocean).z80", 0x096a0, 0x521f143e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnbreed_48, Specnbreed_48, Spectrum)
STD_ROM_FN(Specnbreed_48)

struct BurnDriver BurnSpecnbreed_48 = {
	"spec_nbreed_48", "spec_nbreed", "spec_spectrum", NULL, "1990",
	"Night Breed (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specnbreed_48RomInfo, Specnbreed_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Night Breed (128K)

static struct BurnRomInfo SpecnbreedRomDesc[] = {
	{ "Night Breed (1990)(Ocean)[128K].z80", 0x05f72, 0x95a8d043, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnbreed, Specnbreed, Spectrum)
STD_ROM_FN(Specnbreed)

struct BurnDriver BurnSpecnbreed = {
	"spec_nbreed", NULL, "spec_spec128", NULL, "1990",
	"Night Breed (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnbreedRomInfo, SpecnbreedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Night Gunner (48K)

static struct BurnRomInfo SpecngunnerRomDesc[] = {
	{ "Night Gunner (1983)(Digital Integration).z80", 0x0a5f8, 0x31963d93, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specngunner, Specngunner, Spectrum)
STD_ROM_FN(Specngunner)

struct BurnDriver BurnSpecngunner = {
	"spec_ngunner", NULL, "spec_spectrum", NULL, "1983",
	"Night Gunner (48K)\0", NULL, "Digital Integration", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecngunnerRomInfo, SpecngunnerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Night Raider (48K)

static struct BurnRomInfo SpecnraiderRomDesc[] = {
	{ "Night Raider (1988)(Gremlin Graphics Software).z80", 0x08f5a, 0x308b52ef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnraider, Specnraider, Spectrum)
STD_ROM_FN(Specnraider)

struct BurnDriver BurnSpecnraider = {
	"spec_nraider", NULL, "spec_spectrum", NULL, "1988",
	"Night Raider (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnraiderRomInfo, SpecnraiderRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Night Shift (48K)

static struct BurnRomInfo Specnshift_48RomDesc[] = {
	{ "Night Shift (1991)(U.S. Gold).z80", 0x0941d, 0x67f1cff2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnshift_48, Specnshift_48, Spectrum)
STD_ROM_FN(Specnshift_48)

struct BurnDriver BurnSpecnshift_48 = {
	"spec_nshift_48", "spec_nshift", "spec_spectrum", NULL, "1991",
	"Night Shift (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specnshift_48RomInfo, Specnshift_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Night Shift (128K)

static struct BurnRomInfo SpecnshiftRomDesc[] = {
	{ "Night Shift (1991)(U.S. Gold)[128K].z80", 0x1d016, 0x0c39bab9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnshift, Specnshift, Spectrum)
STD_ROM_FN(Specnshift)

struct BurnDriver BurnSpecnshift = {
	"spec_nshift", NULL, "spec_spec128", NULL, "1991",
	"Night Shift (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnshiftRomInfo, SpecnshiftRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nightmare (48K)

static struct BurnRomInfo SpecnightmarRomDesc[] = {
	{ "Nightmare (1986)(K'Soft).z80", 0x04c9c, 0x36a805f0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnightmar, Specnightmar, Spectrum)
STD_ROM_FN(Specnightmar)

struct BurnDriver BurnSpecnightmar = {
	"spec_nightmar", NULL, "spec_spectrum", NULL, "1986",
	"Nightmare (48K)\0", NULL, "K'Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnightmarRomInfo, SpecnightmarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nightmare Rally (48K)

static struct BurnRomInfo SpecnighrallRomDesc[] = {
	{ "Nightmare Rally (1986)(Ocean).z80", 0x08f96, 0x22ef76bd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnighrall, Specnighrall, Spectrum)
STD_ROM_FN(Specnighrall)

struct BurnDriver BurnSpecnighrall = {
	"spec_nighrall", NULL, "spec_spectrum", NULL, "1986",
	"Nightmare Rally (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnighrallRomInfo, SpecnighrallRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nightshade (48K)

static struct BurnRomInfo SpecnightshaRomDesc[] = {
	{ "Nightshade (1985)(Ultimate Play The Game).z80", 0x09713, 0x708887d9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnightsha, Specnightsha, Spectrum)
STD_ROM_FN(Specnightsha)

struct BurnDriver BurnSpecnightsha = {
	"spec_nightsha", NULL, "spec_spectrum", NULL, "1985",
	"Nightshade (48K)\0", NULL, "Ultimate Play The Game", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnightshaRomInfo, SpecnightshaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nightwing (48K)

static struct BurnRomInfo SpecnightwinRomDesc[] = {
	{ "Nightwing (1989)(Softel Software).z80", 0x0a1f1, 0xc6652aa1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnightwin, Specnightwin, Spectrum)
STD_ROM_FN(Specnightwin)

struct BurnDriver BurnSpecnightwin = {
	"spec_nightwin", NULL, "spec_spectrum", NULL, "1989",
	"Nightwing (48K)\0", NULL, "Softel Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnightwinRomInfo, SpecnightwinRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nihilist (48K)

static struct BurnRomInfo SpecnihilistRomDesc[] = {
	{ "Nihilist (1987)(Electric Dreams Software).z80", 0x088c5, 0xc69b1af9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnihilist, Specnihilist, Spectrum)
STD_ROM_FN(Specnihilist)

struct BurnDriver BurnSpecnihilist = {
	"spec_nihilist", NULL, "spec_spectrum", NULL, "1987",
	"Nihilist (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnihilistRomInfo, SpecnihilistRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ninja (48K)

static struct BurnRomInfo SpecninjaRomDesc[] = {
	{ "Ninja (1987)(Entertainment USA).z80", 0x08a10, 0xcf9c75c3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specninja, Specninja, Spectrum)
STD_ROM_FN(Specninja)

struct BurnDriver BurnSpecninja = {
	"spec_ninja", NULL, "spec_spectrum", NULL, "1987",
	"Ninja (48K)\0", NULL, "Entertainment USA", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecninjaRomInfo, SpecninjaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ninja Hamster (48K)

static struct BurnRomInfo Specninjhams_48RomDesc[] = {
	{ "Ninja Hamster (1987)(CRL Group).z80", 0x0a5b3, 0x0c9f8504, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specninjhams_48, Specninjhams_48, Spectrum)
STD_ROM_FN(Specninjhams_48)

struct BurnDriver BurnSpecninjhams_48 = {
	"spec_ninjhams_48", "spec_ninjhams", "spec_spectrum", NULL, "1987",
	"Ninja Hamster (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specninjhams_48RomInfo, Specninjhams_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ninja Hamster (128K)

static struct BurnRomInfo SpecninjhamsRomDesc[] = {
	{ "Ninja Hamster (1987)(CRL Group)[128K].z80", 0x19d1b, 0x42c0904f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specninjhams, Specninjhams, Spectrum)
STD_ROM_FN(Specninjhams)

struct BurnDriver BurnSpecninjhams = {
	"spec_ninjhams", NULL, "spec_spec128", NULL, "1987",
	"Ninja Hamster (128K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecninjhamsRomInfo, SpecninjhamsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ninja Massacre (48K)

static struct BurnRomInfo Specninjmass_48RomDesc[] = {
	{ "Ninja Massacre (1989)(Codemasters).z80", 0x0b442, 0x76763636, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specninjmass_48, Specninjmass_48, Spectrum)
STD_ROM_FN(Specninjmass_48)

struct BurnDriver BurnSpecninjmass_48 = {
	"spec_ninjmass_48", "spec_ninjmass", "spec_spectrum", NULL, "1989",
	"Ninja Massacre (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specninjmass_48RomInfo, Specninjmass_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ninja Massacre (128K)

static struct BurnRomInfo SpecninjmassRomDesc[] = {
	{ "Ninja Massacre (1989)(Codemasters)[128K].z80", 0x0c513, 0x9fe3c7c0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specninjmass, Specninjmass, Spectrum)
STD_ROM_FN(Specninjmass)

struct BurnDriver BurnSpecninjmass = {
	"spec_ninjmass", NULL, "spec_spec128", NULL, "1989",
	"Ninja Massacre (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecninjmassRomInfo, SpecninjmassRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ninja Scooter Simulator (48K)

static struct BurnRomInfo SpecninscosiRomDesc[] = {
	{ "Ninja Scooter Simulator (1988)(Silverbird Software).z80", 0x089c0, 0xaa81d96b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specninscosi, Specninscosi, Spectrum)
STD_ROM_FN(Specninscosi)

struct BurnDriver BurnSpecninscosi = {
	"spec_ninscosi", NULL, "spec_spectrum", NULL, "1988",
	"Ninja Scooter Simulator (48K)\0", NULL, "Silverbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecninscosiRomInfo, SpecninscosiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nitro Joe (German) (48K)

static struct BurnRomInfo SpecnitrjoedRomDesc[] = {
	{ "Nitro Joe (1985)(Computer Kontakt)(de).z80", 0x0953d, 0xfa75b9f1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnitrjoed, Specnitrjoed, Spectrum)
STD_ROM_FN(Specnitrjoed)

struct BurnDriver BurnSpecnitrjoed = {
	"spec_nitrjoed", NULL, "spec_spectrum", NULL, "1985",
	"Nitro Joe (German) (48K)\0", NULL, "Computer Kontakt", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnitrjoedRomInfo, SpecnitrjoedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Noah (48K)

static struct BurnRomInfo SpecnoahRomDesc[] = {
	{ "Noah (1990)(Michael Young).z80", 0x094d8, 0xbf49c7cc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnoah, Specnoah, Spectrum)
STD_ROM_FN(Specnoah)

struct BurnDriver BurnSpecnoah = {
	"spec_noah", NULL, "spec_spectrum", NULL, "1990",
	"Noah (48K)\0", NULL, "Michael Young", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnoahRomInfo, SpecnoahRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nodes of Yesod (48K)

static struct BurnRomInfo Specnodeyeso_48RomDesc[] = {
	{ "Nodes of Yesod (1985)(Odin Computer Graphics).z80", 0x0a902, 0x0ce568f8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnodeyeso_48, Specnodeyeso_48, Spectrum)
STD_ROM_FN(Specnodeyeso_48)

struct BurnDriver BurnSpecnodeyeso_48 = {
	"spec_nodeyeso_48", "spec_nodeyeso", "spec_spectrum", NULL, "1985",
	"Nodes of Yesod (48K)\0", NULL, "Odin Computer Graphics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specnodeyeso_48RomInfo, Specnodeyeso_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nodes of Yesod (128K)

static struct BurnRomInfo SpecnodeyesoRomDesc[] = {
	{ "Nodes of Yesod (1985)(Odin Computer Graphics)[128K].z80", 0x0f6e6, 0x3669460c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnodeyeso, Specnodeyeso, Spectrum)
STD_ROM_FN(Specnodeyeso)

struct BurnDriver BurnSpecnodeyeso = {
	"spec_nodeyeso", NULL, "spec_spec128", NULL, "1985",
	"Nodes of Yesod (128K)\0", NULL, "Odin Computer Graphics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnodeyesoRomInfo, SpecnodeyesoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nonamed (Spanish) (48K)

static struct BurnRomInfo SpecnonamedeRomDesc[] = {
	{ "Nonamed (1986)(Dinamic Software)(es).z80", 0x0a36b, 0xda8b868e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnonamede, Specnonamede, Spectrum)
STD_ROM_FN(Specnonamede)

struct BurnDriver BurnSpecnonamede = {
	"spec_nonamede", NULL, "spec_spectrum", NULL, "1986",
	"Nonamed (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnonamedeRomInfo, SpecnonamedeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nonterraqueous (48K)

static struct BurnRomInfo SpecnonterrRomDesc[] = {
	{ "Nonterraqueous (1985)(Mastertronic).z80", 0x08057, 0x968c757d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnonterr, Specnonterr, Spectrum)
STD_ROM_FN(Specnonterr)

struct BurnDriver BurnSpecnonterr = {
	"spec_nonterr", NULL, "spec_spectrum", NULL, "1985",
	"Nonterraqueous (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnonterrRomInfo, SpecnonterrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nonterraqueous II - Soul of a Robot (48K)

static struct BurnRomInfo Specnonterr2RomDesc[] = {
	{ "Nonterraqueous II - Soul of a Robot (1985)(Mastertronic).z80", 0x05b13, 0x7c532373, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnonterr2, Specnonterr2, Spectrum)
STD_ROM_FN(Specnonterr2)

struct BurnDriver BurnSpecnonterr2 = {
	"spec_nonterr2", NULL, "spec_spectrum", NULL, "1985",
	"Nonterraqueous II - Soul of a Robot (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specnonterr2RomInfo, Specnonterr2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Norman (48K)

static struct BurnRomInfo SpecnormanRomDesc[] = {
	{ "Norman (1988)(The Power House)[aka Cubitoid].z80", 0x09e6e, 0x102b4884, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnorman, Specnorman, Spectrum)
STD_ROM_FN(Specnorman)

struct BurnDriver BurnSpecnorman = {
	"spec_norman", NULL, "spec_spectrum", NULL, "1988",
	"Norman (48K)\0", NULL, "The Power House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnormanRomInfo, SpecnormanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Norman's Lament (48K)

static struct BurnRomInfo SpecnormlameRomDesc[] = {
	{ "Norman's Lament (1990)(Zenobi Software).z80", 0x08fcd, 0x365b57be, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnormlame, Specnormlame, Spectrum)
STD_ROM_FN(Specnormlame)

struct BurnDriver BurnSpecnormlame = {
	"spec_normlame", NULL, "spec_spectrum", NULL, "1990",
	"Norman's Lament (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnormlameRomInfo, SpecnormlameRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// North Star (48K)

static struct BurnRomInfo SpecnortstarRomDesc[] = {
	{ "North Star (1988)(Gremlin Graphics Software).z80", 0x093e7, 0xc03ed39c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnortstar, Specnortstar, Spectrum)
STD_ROM_FN(Specnortstar)

struct BurnDriver BurnSpecnortstar = {
	"spec_nortstar", NULL, "spec_spectrum", NULL, "1988",
	"North Star (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnortstarRomInfo, SpecnortstarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nosferatu the Vampyre (48K)

static struct BurnRomInfo SpecnosfvampRomDesc[] = {
	{ "Nosferatu the Vampyre (1986)(Piranha).z80", 0x09a1a, 0x1a440762, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnosfvamp, Specnosfvamp, Spectrum)
STD_ROM_FN(Specnosfvamp)

struct BurnDriver BurnSpecnosfvamp = {
	"spec_nosfvamp", NULL, "spec_spectrum", NULL, "1986",
	"Nosferatu the Vampyre (48K)\0", NULL, "Piranha", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnosfvampRomInfo, SpecnosfvampRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Not a Penny More, Not a Penny Less (128K)

static struct BurnRomInfo SpecnpmnplRomDesc[] = {
	{ "Not a Penny More, Not a Penny Less (1987)(Domark)[128K].z80", 0x0ab05, 0x92c9ed42, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnpmnpl, Specnpmnpl, Spectrum)
STD_ROM_FN(Specnpmnpl)

struct BurnDriver BurnSpecnpmnpl = {
	"spec_npmnpl", NULL, "spec_spec128", NULL, "1987",
	"Not a Penny More, Not a Penny Less (128K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnpmnplRomInfo, SpecnpmnplRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Not Lords of Midnight (48K)

static struct BurnRomInfo SpecnotlormiRomDesc[] = {
	{ "Not Lords of Midnight (19xx)(-).z80", 0x09a50, 0x8fc754a0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnotlormi, Specnotlormi, Spectrum)
STD_ROM_FN(Specnotlormi)

struct BurnDriver BurnSpecnotlormi = {
	"spec_notlormi", NULL, "spec_spectrum", NULL, "19xx",
	"Not Lords of Midnight (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnotlormiRomInfo, SpecnotlormiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Notorik (cs) (48K)

static struct BurnRomInfo SpecnotorikcRomDesc[] = {
	{ "Notorik (1992)(Ultrasoft)(cs)[t].z80", 0x083e2, 0x2d5618ad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnotorikc, Specnotorikc, Spectrum)
STD_ROM_FN(Specnotorikc)

struct BurnDriver BurnSpecnotorikc = {
	"spec_notorikc", NULL, "spec_spectrum", NULL, "1992",
	"Notorik (cs) (48K)\0", NULL, "Ultrasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnotorikcRomInfo, SpecnotorikcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Noughts & Crosses (48K)

static struct BurnRomInfo SpecnougcrsjRomDesc[] = {
	{ "Noughts & Crosses (1997)(JA Software).z80", 0x02e63, 0x96f1cc81, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnougcrsj, Specnougcrsj, Spectrum)
STD_ROM_FN(Specnougcrsj)

struct BurnDriver BurnSpecnougcrsj = {
	"spec_nougcrsj", NULL, "spec_spectrum", NULL, "1997",
	"Noughts & Crosses (48K)\0", NULL, "JA Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnougcrsjRomInfo, SpecnougcrsjRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Noughts and Crosses (48K)

static struct BurnRomInfo SpecnougcrscRomDesc[] = {
	{ "Noughts and Crosses (1996)(CSSCGC).z80", 0x02dc5, 0x8315ae41, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnougcrsc, Specnougcrsc, Spectrum)
STD_ROM_FN(Specnougcrsc)

struct BurnDriver BurnSpecnougcrsc = {
	"spec_nougcrsc", NULL, "spec_spectrum", NULL, "1996",
	"Noughts and Crosses (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnougcrscRomInfo, SpecnougcrscRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nowotnik Puzzle, The (48K)

static struct BurnRomInfo SpecnowpuzthRomDesc[] = {
	{ "Nowotnik Puzzle, The (1983)(Phipps Associates).z80", 0x027cc, 0x5f4291e6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnowpuzth, Specnowpuzth, Spectrum)
STD_ROM_FN(Specnowpuzth)

struct BurnDriver BurnSpecnowpuzth = {
	"spec_nowpuzth", NULL, "spec_spectrum", NULL, "1983",
	"Nowotnik Puzzle, The (48K)\0", NULL, "Phipps Associates", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnowpuzthRomInfo, SpecnowpuzthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nth Zone (48K)

static struct BurnRomInfo SpecnthzoneRomDesc[] = {
	{ "Nth Zone (1985)(Automata UK).z80", 0x06514, 0xf0af78fe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnthzone, Specnthzone, Spectrum)
STD_ROM_FN(Specnthzone)

struct BurnDriver BurnSpecnthzone = {
	"spec_nthzone", NULL, "spec_spectrum", NULL, "1985",
	"Nth Zone (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnthzoneRomInfo, SpecnthzoneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nu, Pagadi (cs) (128K)

static struct BurnRomInfo SpecnupagadiRomDesc[] = {
	{ "Nu, Pagadi (19xx)(Omega)(cs)[128K].z80", 0x04247, 0xebb9e7e2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnupagadi, Specnupagadi, Spectrum)
STD_ROM_FN(Specnupagadi)

struct BurnDriver BurnSpecnupagadi = {
	"spec_nupagadi", NULL, "spec_spec128", NULL, "19xx",
	"Nu, Pagadi (cs) (128K)\0", NULL, "Omega", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnupagadiRomInfo, SpecnupagadiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nuclear Bowls (Spanish) (48K)

static struct BurnRomInfo SpecnuclbowlRomDesc[] = {
	{ "Nuclear Bowls (1986)(Zigurat Software)(es).z80", 0x09408, 0x88a4ebbc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnuclbowl, Specnuclbowl, Spectrum)
STD_ROM_FN(Specnuclbowl)

struct BurnDriver BurnSpecnuclbowl = {
	"spec_nuclbowl", NULL, "spec_spectrum", NULL, "1986",
	"Nuclear Bowls (Spanish) (48K)\0", NULL, "Zigurat Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnuclbowlRomInfo, SpecnuclbowlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nuclear Countdown (48K)

static struct BurnRomInfo SpecnuclcounRomDesc[] = {
	{ "Nuclear Countdown (1987)(Atlantis Software).z80", 0x06f1c, 0x07d0711e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnuclcoun, Specnuclcoun, Spectrum)
STD_ROM_FN(Specnuclcoun)

struct BurnDriver BurnSpecnuclcoun = {
	"spec_nuclcoun", NULL, "spec_spectrum", NULL, "1987",
	"Nuclear Countdown (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnuclcounRomInfo, SpecnuclcounRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nudge It (48K)

static struct BurnRomInfo SpecnudgitRomDesc[] = {
	{ "Nudge It (1985)(Automata UK).z80", 0x07718, 0xe54cbf61, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnudgit, Specnudgit, Spectrum)
STD_ROM_FN(Specnudgit)

struct BurnDriver BurnSpecnudgit = {
	"spec_nudgit", NULL, "spec_spectrum", NULL, "1985",
	"Nudge It (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnudgitRomInfo, SpecnudgitRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nueve de Cada Diez Lapidas Estan Cambiadas (Spanish) (Part 1 of 3) (48K)

static struct BurnRomInfo SpecncdlecRomDesc[] = {
	{ "Nueve de Cada Diez Lapidas Estan Cambiadas (1993)(Sindicato del Software)(es)(Part 1 of 3).z80", 0x08e6b, 0x2478c6a5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specncdlec, Specncdlec, Spectrum)
STD_ROM_FN(Specncdlec)

struct BurnDriver BurnSpecncdlec = {
	"spec_ncdlec", NULL, "spec_spectrum", NULL, "1993",
	"Nueve de Cada Diez Lapidas Estan Cambiadas (Spanish) (Part 1 of 3) (48K)\0", NULL, "Sindicato del Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecncdlecRomInfo, SpecncdlecRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nueve de Cada Diez Lapidas Estan Cambiadas (Spanish) (Part 2 of 3) (48K)

static struct BurnRomInfo Specncdlec2RomDesc[] = {
	{ "Nueve de Cada Diez Lapidas Estan Cambiadas (1993)(Sindicato del Software)(es)(Part 2 of 3).z80", 0x09829, 0x948815d5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specncdlec2, Specncdlec2, Spectrum)
STD_ROM_FN(Specncdlec2)

struct BurnDriver BurnSpecncdlec2 = {
	"spec_ncdlec2", "spec_ncdlec", "spec_spectrum", NULL, "1993",
	"Nueve de Cada Diez Lapidas Estan Cambiadas (Spanish) (Part 2 of 3) (48K)\0", NULL, "Sindicato del Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specncdlec2RomInfo, Specncdlec2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nueve de Cada Diez Lapidas Estan Cambiadas (Spanish) (Part 3 of 3) (48K)

static struct BurnRomInfo Specncdlec3RomDesc[] = {
	{ "Nueve de Cada Diez Lapidas Estan Cambiadas (1993)(Sindicato del Software)(es)(Part 3 of 3).z80", 0x0a371, 0xa6594d2c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specncdlec3, Specncdlec3, Spectrum)
STD_ROM_FN(Specncdlec3)

struct BurnDriver BurnSpecncdlec3 = {
	"spec_ncdlec3", "spec_ncdlec", "spec_spectrum", NULL, "1993",
	"Nueve de Cada Diez Lapidas Estan Cambiadas (Spanish) (Part 3 of 3) (48K)\0", NULL, "Sindicato del Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specncdlec3RomInfo, Specncdlec3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nukescan (48K)

static struct BurnRomInfo SpecnukescanRomDesc[] = {
	{ "Nukescan (1983)(Minatron Computing).z80", 0x02770, 0x5c3c3199, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnukescan, Specnukescan, Spectrum)
STD_ROM_FN(Specnukescan)

struct BurnDriver BurnSpecnukescan = {
	"spec_nukescan", NULL, "spec_spectrum", NULL, "1983",
	"Nukescan (48K)\0", NULL, "Minatron Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnukescanRomInfo, SpecnukescanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Number (48K)

static struct BurnRomInfo SpecnumberRomDesc[] = {
	{ "Number (1997)(CSSCGC).z80", 0x00f15, 0xe76b5b04, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnumber, Specnumber, Spectrum)
STD_ROM_FN(Specnumber)

struct BurnDriver BurnSpecnumber = {
	"spec_number", NULL, "spec_spectrum", NULL, "1997",
	"Number (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnumberRomInfo, SpecnumberRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Number One (48K)

static struct BurnRomInfo SpecnumboneRomDesc[] = {
	{ "Number One (19xx)(-).z80", 0x093a8, 0x0e2cd387, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnumbone, Specnumbone, Spectrum)
STD_ROM_FN(Specnumbone)

struct BurnDriver BurnSpecnumbone = {
	"spec_numbone", NULL, "spec_spectrum", NULL, "19xx",
	"Number One (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnumboneRomInfo, SpecnumboneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Number Six in the Village (48K)

static struct BurnRomInfo SpecnumsixviRomDesc[] = {
	{ "Number Six in the Village (1987)(Zenobi Software).z80", 0x090eb, 0x714dcb88, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnumsixvi, Specnumsixvi, Spectrum)
STD_ROM_FN(Specnumsixvi)

struct BurnDriver BurnSpecnumsixvi = {
	"spec_numsixvi", NULL, "spec_spectrum", NULL, "1987",
	"Number Six in the Village (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnumsixviRomInfo, SpecnumsixviRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Nyitrai Matrix (hu) (128K)

static struct BurnRomInfo SpecnyitmatrRomDesc[] = {
	{ "Nyitrai Matrix (1996)(Laszlo Nyitrai)(hu)[128K].z80", 0x02e57, 0x6881d09a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specnyitmatr, Specnyitmatr, Spectrum)
STD_ROM_FN(Specnyitmatr)

struct BurnDriver BurnSpecnyitmatr = {
	"spec_nyitmatr", NULL, "spec_spec128", NULL, "1996",
	"Nyitrai Matrix (hu) (128K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecnyitmatrRomInfo, SpecnyitmatrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// O.K. Yah! (48K)

static struct BurnRomInfo SpecokyahRomDesc[] = {
	{ "O.K. Yah! (1988)(Pirate Software).z80", 0x0859e, 0xeab37520, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specokyah, Specokyah, Spectrum)
STD_ROM_FN(Specokyah)

struct BurnDriver BurnSpecokyah = {
	"spec_okyah", NULL, "spec_spectrum", NULL, "1988",
	"O.K. Yah! (48K)\0", NULL, "Pirate Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecokyahRomInfo, SpecokyahRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Oberon 69 (Spanish) (48K)

static struct BurnRomInfo Specoberon69RomDesc[] = {
	{ "Oberon 69 (1990)(G.LL. Software)(es).z80", 0x0a8ca, 0xb644f45e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoberon69, Specoberon69, Spectrum)
STD_ROM_FN(Specoberon69)

struct BurnDriver BurnSpecoberon69 = {
	"spec_oberon69", NULL, "spec_spectrum", NULL, "1990",
	"Oberon 69 (Spanish) (48K)\0", NULL, "G.LL. Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specoberon69RomInfo, Specoberon69RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Objetivo - La Moncloa (Spanish) (48K)

static struct BurnRomInfo SpecobjlamonRomDesc[] = {
	{ "Objetivo - La Moncloa (1985)(Software Center)(es).z80", 0x0a3b0, 0xf6bcb2f5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specobjlamon, Specobjlamon, Spectrum)
STD_ROM_FN(Specobjlamon)

struct BurnDriver BurnSpecobjlamon = {
	"spec_objlamon", NULL, "spec_spectrum", NULL, "1985",
	"Objetivo - La Moncloa (Spanish) (48K)\0", NULL, "Software Center", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecobjlamonRomInfo, SpecobjlamonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Obliterator (48K)

static struct BurnRomInfo Specoblitera_48RomDesc[] = {
	{ "Obliterator (1989)(Melbourne House).z80", 0x09548, 0xbbf7af80, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoblitera_48, Specoblitera_48, Spectrum)
STD_ROM_FN(Specoblitera_48)

struct BurnDriver BurnSpecoblitera_48 = {
	"spec_oblitera_48", "spec_oblitera", "spec_spectrum", NULL, "1989",
	"Obliterator (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specoblitera_48RomInfo, Specoblitera_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Obliterator (128K)

static struct BurnRomInfo SpecobliteraRomDesc[] = {
	{ "Obliterator (1989)(Melbourne House)[128K].z80", 0x0b837, 0x15aaa9c9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoblitera, Specoblitera, Spectrum)
STD_ROM_FN(Specoblitera)

struct BurnDriver BurnSpecoblitera = {
	"spec_oblitera", NULL, "spec_spec128", NULL, "1989",
	"Obliterator (128K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecobliteraRomInfo, SpecobliteraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Oblivion (48K)

static struct BurnRomInfo SpecoblivionRomDesc[] = {
	{ "Oblivion (1986)(Alpha-Omega Software).z80", 0x07497, 0x181f9153, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoblivion, Specoblivion, Spectrum)
STD_ROM_FN(Specoblivion)

struct BurnDriver BurnSpecoblivion = {
	"spec_oblivion", NULL, "spec_spectrum", NULL, "1986",
	"Oblivion (48K)\0", NULL, "Alpha-Omega Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoblivionRomInfo, SpecoblivionRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ocean Conqueror (48K)

static struct BurnRomInfo SpecoceaconqRomDesc[] = {
	{ "Ocean Conqueror (1987)(Rack-It).z80", 0x0a4af, 0xce811ab3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoceaconq, Specoceaconq, Spectrum)
STD_ROM_FN(Specoceaconq)

struct BurnDriver BurnSpecoceaconq = {
	"spec_oceaconq", NULL, "spec_spectrum", NULL, "1987",
	"Ocean Conqueror (48K)\0", NULL, "Rack-It", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoceaconqRomInfo, SpecoceaconqRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ocean Dancer (48K)

static struct BurnRomInfo SpecoceadancRomDesc[] = {
	{ "Ocean Dancer (1984)(King Software).z80", 0x07853, 0x2b6f6765, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoceadanc, Specoceadanc, Spectrum)
STD_ROM_FN(Specoceadanc)

struct BurnDriver BurnSpecoceadanc = {
	"spec_oceadanc", NULL, "spec_spectrum", NULL, "1984",
	"Ocean Dancer (48K)\0", NULL, "King Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoceadancRomInfo, SpecoceadancRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Octagon (48K)

static struct BurnRomInfo SpecoctagonRomDesc[] = {
	{ "Octagon (1987)(Budgie Budget Software).z80", 0x0a0c6, 0xef8cf5b7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoctagon, Specoctagon, Spectrum)
STD_ROM_FN(Specoctagon)

struct BurnDriver BurnSpecoctagon = {
	"spec_octagon", NULL, "spec_spectrum", NULL, "1987",
	"Octagon (48K)\0", NULL, "Budgie Budget Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoctagonRomInfo, SpecoctagonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Octan (48K)

static struct BurnRomInfo SpecoctanRomDesc[] = {
	{ "Octan (1987)(Silverbird Software).z80", 0x0a24d, 0x670df6b0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoctan, Specoctan, Spectrum)
STD_ROM_FN(Specoctan)

struct BurnDriver BurnSpecoctan = {
	"spec_octan", NULL, "spec_spectrum", NULL, "1987",
	"Octan (48K)\0", NULL, "Silverbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoctanRomInfo, SpecoctanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Octopus Life (48K)

static struct BurnRomInfo SpecoctolifeRomDesc[] = {
	{ "Octopus Life (1999)(CSSCGC).z80", 0x01f51, 0x683825ac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoctolife, Specoctolife, Spectrum)
STD_ROM_FN(Specoctolife)

struct BurnDriver BurnSpecoctolife = {
	"spec_octolife", NULL, "spec_spectrum", NULL, "1999",
	"Octopus Life (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoctolifeRomInfo, SpecoctolifeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Odd Ball (48K)

static struct BurnRomInfo SpecoddballRomDesc[] = {
	{ "Odd Ball (1987)(The Power House).z80", 0x0699d, 0xf0dbf53b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoddball, Specoddball, Spectrum)
STD_ROM_FN(Specoddball)

struct BurnDriver BurnSpecoddball = {
	"spec_oddball", NULL, "spec_spectrum", NULL, "1987",
	"Odd Ball (48K)\0", NULL, "The Power House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoddballRomInfo, SpecoddballRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Odd Job Eddie (48K)

static struct BurnRomInfo Specoddjobed_48RomDesc[] = {
	{ "Odd Job Eddie (1985)(Strobe).z80", 0x07d8d, 0x02e8534c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoddjobed_48, Specoddjobed_48, Spectrum)
STD_ROM_FN(Specoddjobed_48)

struct BurnDriver BurnSpecoddjobed_48 = {
	"spec_oddjobed_48", "spec_oddjobed", "spec_spectrum", NULL, "1985",
	"Odd Job Eddie (48K)\0", NULL, "Strobe", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specoddjobed_48RomInfo, Specoddjobed_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Odd Job Eddie (128K)

static struct BurnRomInfo SpecoddjobedRomDesc[] = {
	{ "Odd Job Eddie (1986)(Tynesoft)[128K][re-release].z80", 0x0cdb9, 0xe567b8c0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoddjobed, Specoddjobed, Spectrum)
STD_ROM_FN(Specoddjobed)

struct BurnDriver BurnSpecoddjobed = {
	"spec_oddjobed", NULL, "spec_spec128", NULL, "1986",
	"Odd Job Eddie (128K)\0", NULL, "Tynesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoddjobedRomInfo, SpecoddjobedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Odisea (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecodiseaesRomDesc[] = {
	{ "Odisea (1990)(Juana Pueblo Soft)(es)(Part 1 of 2).z80", 0x07e94, 0xb9731f79, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specodiseaes, Specodiseaes, Spectrum)
STD_ROM_FN(Specodiseaes)

struct BurnDriver BurnSpecodiseaes = {
	"spec_odiseaes", NULL, "spec_spectrum", NULL, "1990",
	"Odisea (Spanish) (Part 1 of 2) (48K)\0", NULL, "Juana Pueblo Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecodiseaesRomInfo, SpecodiseaesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Odisea (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specodiseaes2RomDesc[] = {
	{ "Odisea (1990)(Juana Pueblo Soft)(es)(Part 2 of 2).z80", 0x07ca5, 0x74cfc134, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specodiseaes2, Specodiseaes2, Spectrum)
STD_ROM_FN(Specodiseaes2)

struct BurnDriver BurnSpecodiseaes2 = {
	"spec_odiseaes2", "spec_odiseaes", "spec_spectrum", NULL, "1990",
	"Odisea (Spanish) (Part 2 of 2) (48K)\0", NULL, "Juana Pueblo Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specodiseaes2RomInfo, Specodiseaes2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Odyssee (German) (48K)

static struct BurnRomInfo SpecodysseedRomDesc[] = {
	{ "Odyssee (19xx)(-)(de).z80", 0x08d7e, 0xd1bc5cab, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specodysseed, Specodysseed, Spectrum)
STD_ROM_FN(Specodysseed)

struct BurnDriver BurnSpecodysseed = {
	"spec_odysseed", NULL, "spec_spectrum", NULL, "19xx",
	"Odyssee (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecodysseedRomInfo, SpecodysseedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Odyssey of Hope, The (48K)

static struct BurnRomInfo SpecodyhopthRomDesc[] = {
	{ "Odyssey of Hope, The (1984)(Martech Games).z80", 0x0955e, 0x8c4f0035, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specodyhopth, Specodyhopth, Spectrum)
STD_ROM_FN(Specodyhopth)

struct BurnDriver BurnSpecodyhopth = {
	"spec_odyhopth", NULL, "spec_spectrum", NULL, "1984",
	"Odyssey of Hope, The (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecodyhopthRomInfo, SpecodyhopthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Official Father Christmas, The (48K)

static struct BurnRomInfo SpecoffachthRomDesc[] = {
	{ "Official Father Christmas, The (1989)(Alternative Software).z80", 0x07e0c, 0xb9f67359, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoffachth, Specoffachth, Spectrum)
STD_ROM_FN(Specoffachth)

struct BurnDriver BurnSpecoffachth = {
	"spec_offachth", NULL, "spec_spectrum", NULL, "1989",
	"Official Father Christmas, The (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoffachthRomInfo, SpecoffachthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Oh Mummy!! (48K)

static struct BurnRomInfo SpecohmummyRomDesc[] = {
	{ "Oh Mummy!! (1986)(Sinclair Research).z80", 0x04ace, 0x07535eeb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specohmummy, Specohmummy, Spectrum)
STD_ROM_FN(Specohmummy)

struct BurnDriver BurnSpecohmummy = {
	"spec_ohmummy", NULL, "spec_spectrum", NULL, "1986",
	"Oh Mummy!! (48K)\0", NULL, "Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecohmummyRomInfo, SpecohmummyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Oink! - Piggy Tales (48K)

static struct BurnRomInfo SpecoinpigtaRomDesc[] = {
	{ "Oink! - Piggy Tales (1987)(CRL Group).z80", 0x05b20, 0x174cc655, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoinpigta, Specoinpigta, Spectrum)
STD_ROM_FN(Specoinpigta)

struct BurnDriver BurnSpecoinpigta = {
	"spec_oinpigta", NULL, "spec_spectrum", NULL, "1987",
	"Oink! - Piggy Tales (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoinpigtaRomInfo, SpecoinpigtaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// OiX (pl) (48K)

static struct BurnRomInfo SpecoixplRomDesc[] = {
	{ "OiX (1984)(Jaroslaw Cichocki)(pl).z80", 0x055e7, 0x608590a3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoixpl, Specoixpl, Spectrum)
STD_ROM_FN(Specoixpl)

struct BurnDriver BurnSpecoixpl = {
	"spec_oixpl", NULL, "spec_spectrum", NULL, "1984",
	"OiX (pl) (48K)\0", NULL, "Jaroslaw Cichocki", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoixplRomInfo, SpecoixplRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ole, Toro (48K)

static struct BurnRomInfo SpecoletoroRomDesc[] = {
	{ "Ole, Toro (1985)(Americana Software)[re-release].z80", 0x093b5, 0x2a25434c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoletoro, Specoletoro, Spectrum)
STD_ROM_FN(Specoletoro)

struct BurnDriver BurnSpecoletoro = {
	"spec_oletoro", NULL, "spec_spectrum", NULL, "1985",
	"Ole, Toro (48K)\0", NULL, "Americana Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoletoroRomInfo, SpecoletoroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ole, Toro (Spanish) (48K)

static struct BurnRomInfo SpecoletoroeRomDesc[] = {
	{ "Ole, Toro (1985)(Dinamic Software)(es).z80", 0x08ca9, 0x5678604e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoletoroe, Specoletoroe, Spectrum)
STD_ROM_FN(Specoletoroe)

struct BurnDriver BurnSpecoletoroe = {
	"spec_oletoroe", "spec_oletoro", "spec_spectrum", NULL, "1985",
	"Ole, Toro (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoletoroeRomInfo, SpecoletoroeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Olimpo en Guerra (Spanish) (48K)

static struct BurnRomInfo SpecolimguerRomDesc[] = {
	{ "Olimpo en Guerra (1989)(Eduardo Jose Villalobos)(es).z80", 0x09b18, 0xd4f5fb41, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specolimguer, Specolimguer, Spectrum)
STD_ROM_FN(Specolimguer)

struct BurnDriver BurnSpecolimguer = {
	"spec_olimguer", NULL, "spec_spectrum", NULL, "1989",
	"Olimpo en Guerra (Spanish) (48K)\0", NULL, "Eduardo Jose Villalobos", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecolimguerRomInfo, SpecolimguerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Olli & Lissa - The Ghost of Shilmoore Castle (48K)

static struct BurnRomInfo SpecollilsaRomDesc[] = {
	{ "Olli & Lissa - The Ghost of Shilmoore Castle (1986)(Firebird Software).z80", 0x09f58, 0xed38d8ad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specollilsa, Specollilsa, Spectrum)
STD_ROM_FN(Specollilsa)

struct BurnDriver BurnSpecollilsa = {
	"spec_ollilsa", NULL, "spec_spectrum", NULL, "1986",
	"Olli & Lissa - The Ghost of Shilmoore Castle (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecollilsaRomInfo, SpecollilsaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Olli & Lissa II - Halloween (48K)

static struct BurnRomInfo Specollilsa2RomDesc[] = {
	{ "Olli & Lissa II - Halloween (1987)(Silverbird Software).z80", 0x0a6b1, 0x99e59116, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specollilsa2, Specollilsa2, Spectrum)
STD_ROM_FN(Specollilsa2)

struct BurnDriver BurnSpecollilsa2 = {
	"spec_ollilsa2", NULL, "spec_spectrum", NULL, "1987",
	"Olli & Lissa II - Halloween (48K)\0", NULL, "Silverbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specollilsa2RomInfo, Specollilsa2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Olli & Lissa III - The Candlelight Adventure (48K)

static struct BurnRomInfo Specollilsa3RomDesc[] = {
	{ "Olli & Lissa III - The Candlelight Adventure (1989)(Codemasters).z80", 0x0a356, 0x7b22d37c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specollilsa3, Specollilsa3, Spectrum)
STD_ROM_FN(Specollilsa3)

struct BurnDriver BurnSpecollilsa3 = {
	"spec_ollilsa3", NULL, "spec_spectrum", NULL, "1989",
	"Olli & Lissa III - The Candlelight Adventure (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specollilsa3RomInfo, Specollilsa3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Olympiad '86 (48K)

static struct BurnRomInfo SpecolympiadRomDesc[] = {
	{ "Olympiad '86 (1986)(Atlantis Software).z80", 0x07365, 0xfd5edcec, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specolympiad, Specolympiad, Spectrum)
STD_ROM_FN(Specolympiad)

struct BurnDriver BurnSpecolympiad = {
	"spec_olympiad", NULL, "spec_spectrum", NULL, "1986",
	"Olympiad '86 (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecolympiadRomInfo, SpecolympiadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Olympicon (48K)

static struct BurnRomInfo SpecolympicoRomDesc[] = {
	{ "Olympicon (1984)(Mitec).z80", 0x09e18, 0xd6cb93f0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specolympico, Specolympico, Spectrum)
STD_ROM_FN(Specolympico)

struct BurnDriver BurnSpecolympico = {
	"spec_olympico", NULL, "spec_spectrum", NULL, "1984",
	"Olympicon (48K)\0", NULL, "Mitec", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecolympicoRomInfo, SpecolympicoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Olympics (Part 1 of 2) (48K)

static struct BurnRomInfo SpecolympicsRomDesc[] = {
	{ "Olympics (1984)(CRL Group)(Part 1 of 2).z80", 0x09a9e, 0xaaf4c827, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specolympics, Specolympics, Spectrum)
STD_ROM_FN(Specolympics)

struct BurnDriver BurnSpecolympics = {
	"spec_olympics", NULL, "spec_spectrum", NULL, "1984",
	"Olympics (Part 1 of 2) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecolympicsRomInfo, SpecolympicsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Olympics (Part 2 of 2) (48K)

static struct BurnRomInfo Specolympics2RomDesc[] = {
	{ "Olympics (1984)(CRL Group)(Part 2 of 2).z80", 0x096d8, 0x49bd3b3f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specolympics2, Specolympics2, Spectrum)
STD_ROM_FN(Specolympics2)

struct BurnDriver BurnSpecolympics2 = {
	"spec_olympics2", "spec_olympics", "spec_spectrum", NULL, "1984",
	"Olympics (Part 2 of 2) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specolympics2RomInfo, Specolympics2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Olympimania (48K)

static struct BurnRomInfo SpecolympimaRomDesc[] = {
	{ "Olympimania (1984)(Automata UK).z80", 0x072c2, 0x45bc2ecc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specolympima, Specolympima, Spectrum)
STD_ROM_FN(Specolympima)

struct BurnDriver BurnSpecolympima = {
	"spec_olympima", NULL, "spec_spectrum", NULL, "1984",
	"Olympimania (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecolympimaRomInfo, SpecolympimaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Omega 2 (48K)

static struct BurnRomInfo Specomega2RomDesc[] = {
	{ "Omega 2 (19xx)(-).z80", 0x080cb, 0x9062fae5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specomega2, Specomega2, Spectrum)
STD_ROM_FN(Specomega2)

struct BurnDriver BurnSpecomega2 = {
	"spec_omega2", NULL, "spec_spectrum", NULL, "19xx",
	"Omega 2 (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specomega2RomInfo, Specomega2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Omega One (48K)

static struct BurnRomInfo SpecomegoneRomDesc[] = {
	{ "Omega One (1987)(Mastertronic).z80", 0x0ac4e, 0x478cc6fc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specomegone, Specomegone, Spectrum)
STD_ROM_FN(Specomegone)

struct BurnDriver BurnSpecomegone = {
	"spec_omegone", NULL, "spec_spectrum", NULL, "1987",
	"Omega One (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecomegoneRomInfo, SpecomegoneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Omega Run (48K)

static struct BurnRomInfo SpecomegrunRomDesc[] = {
	{ "Omega Run (1983)(CRL Group).z80", 0x09ca8, 0x55d3cf04, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specomegrun, Specomegrun, Spectrum)
STD_ROM_FN(Specomegrun)

struct BurnDriver BurnSpecomegrun = {
	"spec_omegrun", NULL, "spec_spectrum", NULL, "1983",
	"Omega Run (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecomegrunRomInfo, SpecomegrunRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Omega Zone, The (48K)

static struct BurnRomInfo SpecomezonthRomDesc[] = {
	{ "Omega Zone, The (1991)(Peter Curtis).z80", 0x088e7, 0x444e63e1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specomezonth, Specomezonth, Spectrum)
STD_ROM_FN(Specomezonth)

struct BurnDriver BurnSpecomezonth = {
	"spec_omezonth", NULL, "spec_spectrum", NULL, "1991",
	"Omega Zone, The (48K)\0", NULL, "Peter Curtis", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecomezonthRomInfo, SpecomezonthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ometron (48K)

static struct BurnRomInfo SpecometronRomDesc[] = {
	{ "Ometron (1983)(Software Projects).z80", 0x061d7, 0x21d53d5a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specometron, Specometron, Spectrum)
STD_ROM_FN(Specometron)

struct BurnDriver BurnSpecometron = {
	"spec_ometron", NULL, "spec_spectrum", NULL, "1983",
	"Ometron (48K)\0", NULL, "Software Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecometronRomInfo, SpecometronRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// On Cue (48K)

static struct BurnRomInfo SpeconcueRomDesc[] = {
	{ "On Cue (1987)(Mastertronic Added Dimension).z80", 0x0434f, 0x931a8416, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speconcue, Speconcue, Spectrum)
STD_ROM_FN(Speconcue)

struct BurnDriver BurnSpeconcue = {
	"spec_oncue", NULL, "spec_spectrum", NULL, "1987",
	"On Cue (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeconcueRomInfo, SpeconcueRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// On the Oche (48K)

static struct BurnRomInfo SpeconthocheRomDesc[] = {
	{ "On the Oche (1984)(Artic Computing).z80", 0x050c2, 0x241017f3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speconthoche, Speconthoche, Spectrum)
STD_ROM_FN(Speconthoche)

struct BurnDriver BurnSpeconthoche = {
	"spec_onthoche", NULL, "spec_spectrum", NULL, "1984",
	"On the Oche (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeconthocheRomInfo, SpeconthocheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// On the Run (48K)

static struct BurnRomInfo SpeconthrunRomDesc[] = {
	{ "On the Run (1985)(Design Design Software).z80", 0x081c6, 0xb99ac1ba, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speconthrun, Speconthrun, Spectrum)
STD_ROM_FN(Speconthrun)

struct BurnDriver BurnSpeconthrun = {
	"spec_onthrun", NULL, "spec_spectrum", NULL, "1985",
	"On the Run (48K)\0", NULL, "Design Design Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeconthrunRomInfo, SpeconthrunRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// One Arm Bandit (48K)

static struct BurnRomInfo SpeconearmbaRomDesc[] = {
	{ "One Arm Bandit (1985)(Argus Press Software).z80", 0x04f34, 0x958f5a21, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speconearmba, Speconearmba, Spectrum)
STD_ROM_FN(Speconearmba)

struct BurnDriver BurnSpeconearmba = {
	"spec_onearmba", NULL, "spec_spectrum", NULL, "1985",
	"One Arm Bandit (48K)\0", NULL, "Argus Press Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeconearmbaRomInfo, SpeconearmbaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// One for the Road (48K)

static struct BurnRomInfo SpeconefroadRomDesc[] = {
	{ "One for the Road (1986)(Tynesoft).z80", 0x01d67, 0xb0a12b65, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speconefroad, Speconefroad, Spectrum)
STD_ROM_FN(Speconefroad)

struct BurnDriver BurnSpeconefroad = {
	"spec_onefroad", NULL, "spec_spectrum", NULL, "1986",
	"One for the Road (48K)\0", NULL, "Tynesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeconefroadRomInfo, SpeconefroadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// One Man and his Droid (48K)

static struct BurnRomInfo SpeconemandrRomDesc[] = {
	{ "One Man and his Droid (1985)(Mastertronic).z80", 0x04b5b, 0xcde088ae, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speconemandr, Speconemandr, Spectrum)
STD_ROM_FN(Speconemandr)

struct BurnDriver BurnSpeconemandr = {
	"spec_onemandr", NULL, "spec_spectrum", NULL, "1985",
	"One Man and his Droid (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeconemandrRomInfo, SpeconemandrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// One of Our Wombats is Missing! (48K)

static struct BurnRomInfo SpeconouwomiRomDesc[] = {
	{ "One of Our Wombats is Missing! (1990)(Zenobi Software).z80", 0x09d7b, 0x54133ba8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speconouwomi, Speconouwomi, Spectrum)
STD_ROM_FN(Speconouwomi)

struct BurnDriver BurnSpeconouwomi = {
	"spec_onouwomi", NULL, "spec_spectrum", NULL, "1990",
	"One of Our Wombats is Missing! (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeconouwomiRomInfo, SpeconouwomiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// One on One (48K)

static struct BurnRomInfo SpeconeooneRomDesc[] = {
	{ "One on One (1985)(Ariolasoft UK).z80", 0x082ce, 0xdefdd82a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speconeoone, Speconeoone, Spectrum)
STD_ROM_FN(Speconeoone)

struct BurnDriver BurnSpeconeoone = {
	"spec_oneoone", NULL, "spec_spectrum", NULL, "1985",
	"One on One (48K)\0", NULL, "Ariolasoft UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeconeooneRomInfo, SpeconeooneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// One Queen Puzzle, The (48K)

static struct BurnRomInfo SpeconquputhRomDesc[] = {
	{ "One Queen Puzzle, The (1999)(CSSCGC).z80", 0x010ea, 0x910141a5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speconquputh, Speconquputh, Spectrum)
STD_ROM_FN(Speconquputh)

struct BurnDriver BurnSpeconquputh = {
	"spec_onquputh", NULL, "spec_spectrum", NULL, "1999",
	"One Queen Puzzle, The (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeconquputhRomInfo, SpeconquputhRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Oops (48K)

static struct BurnRomInfo SpecoopsRomDesc[] = {
	{ "Oops (1988)(The Big Apple Entertainment Company).z80", 0x04eb8, 0x6865b950, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoops, Specoops, Spectrum)
STD_ROM_FN(Specoops)

struct BurnDriver BurnSpecoops = {
	"spec_oops", NULL, "spec_spectrum", NULL, "1988",
	"Oops (48K)\0", NULL, "The Big Apple Entertainment Company", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoopsRomInfo, SpecoopsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Open Door (48K)

static struct BurnRomInfo SpecopendoorRomDesc[] = {
	{ "Open Door (1988)(Tartan Software).z80", 0x09ebd, 0xdb696f37, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specopendoor, Specopendoor, Spectrum)
STD_ROM_FN(Specopendoor)

struct BurnDriver BurnSpecopendoor = {
	"spec_opendoor", NULL, "spec_spectrum", NULL, "1988",
	"Open Door (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecopendoorRomInfo, SpecopendoorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Operation Gunship (48K)

static struct BurnRomInfo SpecopergunsRomDesc[] = {
	{ "Operation Gunship (1989)(Codemasters).z80", 0x0a5ab, 0xf2d5e9c0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoperguns, Specoperguns, Spectrum)
STD_ROM_FN(Specoperguns)

struct BurnDriver BurnSpecoperguns = {
	"spec_operguns", NULL, "spec_spectrum", NULL, "1989",
	"Operation Gunship (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecopergunsRomInfo, SpecopergunsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Operation Hormuz (48K)

static struct BurnRomInfo Specoperhorm_48RomDesc[] = {
	{ "Operation Hormuz (1989)(Again Again).z80", 0x0a4c4, 0x0bdfd856, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoperhorm_48, Specoperhorm_48, Spectrum)
STD_ROM_FN(Specoperhorm_48)

struct BurnDriver BurnSpecoperhorm_48 = {
	"spec_operhorm_48", "spec_operhorm", "spec_spectrum", NULL, "1989",
	"Operation Hormuz (48K)\0", NULL, "Again Again", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specoperhorm_48RomInfo, Specoperhorm_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Operation Hormuz (128K)

static struct BurnRomInfo SpecoperhormRomDesc[] = {
	{ "Operation Hormuz (1989)(Again Again)[128K].z80", 0x0bc19, 0x794b08a2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoperhorm, Specoperhorm, Spectrum)
STD_ROM_FN(Specoperhorm)

struct BurnDriver BurnSpecoperhorm = {
	"spec_operhorm", NULL, "spec_spec128", NULL, "1989",
	"Operation Hormuz (128K)\0", NULL, "Again Again", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoperhormRomInfo, SpecoperhormRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Operation Nightingale (48K)

static struct BurnRomInfo SpecopernighRomDesc[] = {
	{ "Operation Nightingale (1985)(Softly Softly).z80", 0x09711, 0xc0570e89, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specopernigh, Specopernigh, Spectrum)
STD_ROM_FN(Specopernigh)

struct BurnDriver BurnSpecopernigh = {
	"spec_opernigh", NULL, "spec_spectrum", NULL, "1985",
	"Operation Nightingale (48K)\0", NULL, "Softly Softly", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecopernighRomInfo, SpecopernighRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Operation Thunderbolt (48K)

static struct BurnRomInfo Specothunder_48RomDesc[] = {
	{ "Operation Thunderbolt (1989)(Ocean).z80", 0x09cf8, 0xd1037a4d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specothunder_48, Specothunder_48, Spectrum)
STD_ROM_FN(Specothunder_48)

struct BurnDriver BurnSpecothunder_48 = {
	"spec_othunder_48", "spec_othunder", "spec_spectrum", NULL, "1989",
	"Operation Thunderbolt (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specothunder_48RomInfo, Specothunder_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Operation Thunderbolt (128K)

static struct BurnRomInfo SpecothunderRomDesc[] = {
	{ "Operation Thunderbolt (1989)(Ocean)[128K].z80", 0x1c4e4, 0xcb2c92d8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specothunder, Specothunder, Spectrum)
STD_ROM_FN(Specothunder)

struct BurnDriver BurnSpecothunder = {
	"spec_othunder", NULL, "spec_spec128", NULL, "1989",
	"Operation Thunderbolt (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecothunderRomInfo, SpecothunderRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Operation Wolf (48K)

static struct BurnRomInfo Specopwolf_48RomDesc[] = {
	{ "Operation Wolf (1988)(Ocean).z80", 0x0980c, 0x75b79e29, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specopwolf_48, Specopwolf_48, Spectrum)
STD_ROM_FN(Specopwolf_48)

struct BurnDriver BurnSpecopwolf_48 = {
	"spec_opwolf_48", "spec_opwolf", "spec_spectrum", NULL, "1988",
	"Operation Wolf (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specopwolf_48RomInfo, Specopwolf_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Operation Wolf (128K)

static struct BurnRomInfo SpecopwolfRomDesc[] = {
	{ "Operation Wolf (1988)(Ocean)[128K].z80", 0x1da84, 0xa7cd683f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specopwolf, Specopwolf, Spectrum)
STD_ROM_FN(Specopwolf)

struct BurnDriver BurnSpecopwolf = {
	"spec_opwolf", NULL, "spec_spec128", NULL, "1988",
	"Operation Wolf (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecopwolfRomInfo, SpecopwolfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Oppressed Land, The (48K)

static struct BurnRomInfo SpecopplanthRomDesc[] = {
	{ "Oppressed Land, The (1994)(Zenobi Software).z80", 0x09b33, 0x29f9a647, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specopplanth, Specopplanth, Spectrum)
STD_ROM_FN(Specopplanth)

struct BurnDriver BurnSpecopplanth = {
	"spec_opplanth", NULL, "spec_spectrum", NULL, "1994",
	"Oppressed Land, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecopplanthRomInfo, SpecopplanthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ora Jatek (hu) (128K)

static struct BurnRomInfo SpecorajatekRomDesc[] = {
	{ "Ora Jatek (1996)(Laszlo Nyitrai)(hu)[128K].z80", 0x0388e, 0xd3ca6b8b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specorajatek, Specorajatek, Spectrum)
STD_ROM_FN(Specorajatek)

struct BurnDriver BurnSpecorajatek = {
	"spec_orajatek", NULL, "spec_spec128", NULL, "1996",
	"Ora Jatek (hu) (128K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecorajatekRomInfo, SpecorajatekRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Oracle's Cave, The (48K)

static struct BurnRomInfo SpecoracavthRomDesc[] = {
	{ "Oracle's Cave, The (1984)(Doric Computer Services).z80", 0x0a81a, 0x6e3f4c07, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoracavth, Specoracavth, Spectrum)
STD_ROM_FN(Specoracavth)

struct BurnDriver BurnSpecoracavth = {
	"spec_oracavth", NULL, "spec_spectrum", NULL, "1984",
	"Oracle's Cave, The (48K)\0", NULL, "Doric Computer Services", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoracavthRomInfo, SpecoracavthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Orbit (48K)

static struct BurnRomInfo SpecorbitRomDesc[] = {
	{ "Orbit (1996)(CSSCGC).z80", 0x00869, 0x7eb7d73d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specorbit, Specorbit, Spectrum)
STD_ROM_FN(Specorbit)

struct BurnDriver BurnSpecorbit = {
	"spec_orbit", NULL, "spec_spectrum", NULL, "1996",
	"Orbit (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecorbitRomInfo, SpecorbitRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Orbix the Terrorball (48K)

static struct BurnRomInfo SpecorbiterrRomDesc[] = {
	{ "Orbix the Terrorball (1986)(Streetwise).z80", 0x08544, 0xdc6d3f70, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specorbiterr, Specorbiterr, Spectrum)
STD_ROM_FN(Specorbiterr)

struct BurnDriver BurnSpecorbiterr = {
	"spec_orbiterr", NULL, "spec_spectrum", NULL, "1986",
	"Orbix the Terrorball (48K)\0", NULL, "Streetwise", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecorbiterrRomInfo, SpecorbiterrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Orc Attack (48K)

static struct BurnRomInfo SpecorcattacRomDesc[] = {
	{ "Orc Attack (1984)(Creative Sparks).z80", 0x05d57, 0xfd9f6a79, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specorcattac, Specorcattac, Spectrum)
STD_ROM_FN(Specorcattac)

struct BurnDriver BurnSpecorcattac = {
	"spec_orcattac", NULL, "spec_spectrum", NULL, "1984",
	"Orc Attack (48K)\0", NULL, "Creative Sparks", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecorcattacRomInfo, SpecorcattacRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Orc Island (48K)

static struct BurnRomInfo SpecorcislanRomDesc[] = {
	{ "Orc Island (1984)(Double Play Adventures).z80", 0x06dd9, 0x6da1b3b5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specorcislan, Specorcislan, Spectrum)
STD_ROM_FN(Specorcislan)

struct BurnDriver BurnSpecorcislan = {
	"spec_orcislan", NULL, "spec_spectrum", NULL, "1984",
	"Orc Island (48K)\0", NULL, "Double Play Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecorcislanRomInfo, SpecorcislanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Organ (48K)

static struct BurnRomInfo SpecorganRomDesc[] = {
	{ "Organ (19xx)(-).z80", 0x02036, 0x04d21960, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specorgan, Specorgan, Spectrum)
STD_ROM_FN(Specorgan)

struct BurnDriver BurnSpecorgan = {
	"spec_organ", NULL, "spec_spectrum", NULL, "19xx",
	"Organ (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecorganRomInfo, SpecorganRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Oriental Hero (48K)

static struct BurnRomInfo SpecorieheroRomDesc[] = {
	{ "Oriental Hero (1987)(Firebird Software).z80", 0x09f10, 0x6cf7c8dc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoriehero, Specoriehero, Spectrum)
STD_ROM_FN(Specoriehero)

struct BurnDriver BurnSpecoriehero = {
	"spec_oriehero", NULL, "spec_spectrum", NULL, "1987",
	"Oriental Hero (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecorieheroRomInfo, SpecorieheroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Orion (48K)

static struct BurnRomInfo SpecorionRomDesc[] = {
	{ "Orion (1983)(Software Projects).z80", 0x05382, 0xaf725d72, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specorion, Specorion, Spectrum)
STD_ROM_FN(Specorion)

struct BurnDriver BurnSpecorion = {
	"spec_orion", NULL, "spec_spectrum", NULL, "1983",
	"Orion (48K)\0", NULL, "Software Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecorionRomInfo, SpecorionRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Orstalon, The (128K)

static struct BurnRomInfo SpecorsttheRomDesc[] = {
	{ "Orstalon, The (1992)(Mark Evans)[128K][incomplete].z80", 0x139d1, 0x03c363c5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specorstthe, Specorstthe, Spectrum)
STD_ROM_FN(Specorstthe)

struct BurnDriver BurnSpecorstthe = {
	"spec_orstthe", NULL, "spec_spec128", NULL, "1992",
	"Orstalon, The (128K)\0", NULL, "Mark Evans", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecorsttheRomInfo, SpecorsttheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Osvajanje Zvedza (sr) (48K)

static struct BurnRomInfo SpecosvazvedRomDesc[] = {
	{ "Osvajanje Zvedza (19xx)(-)(sr).z80", 0x00f44, 0xa68b12b1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specosvazved, Specosvazved, Spectrum)
STD_ROM_FN(Specosvazved)

struct BurnDriver BurnSpecosvazved = {
	"spec_osvazved", NULL, "spec_spectrum", NULL, "19xx",
	"Osvajanje Zvedza (sr) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecosvazvedRomInfo, SpecosvazvedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ot Egy Sorban (hu) (48K)

static struct BurnRomInfo SpecotegysorRomDesc[] = {
	{ "Ot Egy Sorban (1998)(Laszlo Nyitrai)(hu).z80", 0x06c1d, 0x449004f2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specotegysor, Specotegysor, Spectrum)
STD_ROM_FN(Specotegysor)

struct BurnDriver BurnSpecotegysor = {
	"spec_otegysor", NULL, "spec_spectrum", NULL, "1998",
	"Ot Egy Sorban (hu) (48K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecotegysorRomInfo, SpecotegysorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// OTAN Alerta! (Spanish) (48K)

static struct BurnRomInfo SpecotanalerRomDesc[] = {
	{ "OTAN Alerta! (1984)(Juegos & Estrategia)(es)[aka NATO Alert].z80", 0x07756, 0xf6b7d0cd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specotanaler, Specotanaler, Spectrum)
STD_ROM_FN(Specotanaler)

struct BurnDriver BurnSpecotanaler = {
	"spec_otanaler", NULL, "spec_spectrum", NULL, "1984",
	"OTAN Alerta! (Spanish) (48K)\0", NULL, "Juegos & Estrategia", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecotanalerRomInfo, SpecotanalerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Othello (hu) (48K)

static struct BurnRomInfo Specothello_48RomDesc[] = {
	{ "Othello (1998)(Laszlo Nyitrai)(hu).z80", 0x06c63, 0x02883fd6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specothello_48, Specothello_48, Spectrum)
STD_ROM_FN(Specothello_48)

struct BurnDriver BurnSpecothello_48 = {
	"spec_othello_48", "spec_othello", "spec_spectrum", NULL, "1998",
	"Othello (hu) (48K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specothello_48RomInfo, Specothello_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Othello (hu) (128K)

static struct BurnRomInfo SpecothelloRomDesc[] = {
	{ "Othello (1998)(Laszlo Nyitrai)(hu)[128K].z80", 0x04865, 0xfeb5b16a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specothello, Specothello, Spectrum)
STD_ROM_FN(Specothello)

struct BurnDriver BurnSpecothello = {
	"spec_othello", NULL, "spec_spec128", NULL, "1998",
	"Othello (hu) (128K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecothelloRomInfo, SpecothelloRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Out for the Count (48K)

static struct BurnRomInfo SpecoutfcounRomDesc[] = {
	{ "Out for the Count (1989)(Dynamite Designs).z80", 0x07cf8, 0x0ce34a2b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoutfcoun, Specoutfcoun, Spectrum)
STD_ROM_FN(Specoutfcoun)

struct BurnDriver BurnSpecoutfcoun = {
	"spec_outfcoun", NULL, "spec_spectrum", NULL, "1989",
	"Out for the Count (48K)\0", NULL, "Dynamite Designs", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoutfcounRomInfo, SpecoutfcounRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Out of the Limelight (48K)

static struct BurnRomInfo SpecoutolimeRomDesc[] = {
	{ "Out of the Limelight (1992)(Zenobi Software).z80", 0x09562, 0xcb38edb3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoutolime, Specoutolime, Spectrum)
STD_ROM_FN(Specoutolime)

struct BurnDriver BurnSpecoutolime = {
	"spec_outolime", NULL, "spec_spectrum", NULL, "1992",
	"Out of the Limelight (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoutolimeRomInfo, SpecoutolimeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Out of the Shadows (48K)

static struct BurnRomInfo SpecoutoshadRomDesc[] = {
	{ "Out of the Shadows (1984)(Mizar Computing).z80", 0x07913, 0xcfd1872e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoutoshad, Specoutoshad, Spectrum)
STD_ROM_FN(Specoutoshad)

struct BurnDriver BurnSpecoutoshad = {
	"spec_outoshad", NULL, "spec_spectrum", NULL, "1984",
	"Out of the Shadows (48K)\0", NULL, "Mizar Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoutoshadRomInfo, SpecoutoshadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Out of This World (48K)

static struct BurnRomInfo SpecoutthiwoRomDesc[] = {
	{ "Out of This World (1987)(Reaktor).z80", 0x08daa, 0xa4a7c12a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoutthiwo, Specoutthiwo, Spectrum)
STD_ROM_FN(Specoutthiwo)

struct BurnDriver BurnSpecoutthiwo = {
	"spec_outthiwo", NULL, "spec_spectrum", NULL, "1987",
	"Out of This World (48K)\0", NULL, "Reaktor", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoutthiwoRomInfo, SpecoutthiwoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Out Run (128K)

static struct BurnRomInfo SpecoutrunRomDesc[] = {
	{ "Out Run (1988)(U.S. Gold)[128K].z80", 0x07bcc, 0x7cc211cf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoutrun, Specoutrun, Spectrum)
STD_ROM_FN(Specoutrun)

struct BurnDriver BurnSpecoutrun = {
	"spec_outrun", NULL, "spec_spec128", NULL, "1988",
	"Out Run (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoutrunRomInfo, SpecoutrunRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Outcast (48K)

static struct BurnRomInfo SpecoutcastRomDesc[] = {
	{ "Outcast (1987)(CRL Group).z80", 0x0984a, 0x37228600, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoutcast, Specoutcast, Spectrum)
STD_ROM_FN(Specoutcast)

struct BurnDriver BurnSpecoutcast = {
	"spec_outcast", NULL, "spec_spectrum", NULL, "1987",
	"Outcast (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoutcastRomInfo, SpecoutcastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Outlaw (128K)

static struct BurnRomInfo SpecoutlawRomDesc[] = {
	{ "Outlaw (1990)(Players Premier Software)[128K].z80", 0x0ea06, 0x63600634, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoutlaw, Specoutlaw, Spectrum)
STD_ROM_FN(Specoutlaw)

struct BurnDriver BurnSpecoutlaw = {
	"spec_outlaw", NULL, "spec_spec128", NULL, "1990",
	"Outlaw (128K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoutlawRomInfo, SpecoutlawRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Outlaws (48K)

static struct BurnRomInfo SpecoutlawsRomDesc[] = {
	{ "Outlaws (19xx)(-).z80", 0x0436d, 0x9cdcd4d9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoutlaws, Specoutlaws, Spectrum)
STD_ROM_FN(Specoutlaws)

struct BurnDriver BurnSpecoutlaws = {
	"spec_outlaws", NULL, "spec_spectrum", NULL, "19xx",
	"Outlaws (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoutlawsRomInfo, SpecoutlawsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Overboard (48K)

static struct BurnRomInfo SpecoverboarRomDesc[] = {
	{ "Overboard (1996)(CSSCGC).z80", 0x012f3, 0x94ae43e1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoverboar, Specoverboar, Spectrum)
STD_ROM_FN(Specoverboar)

struct BurnDriver BurnSpecoverboar = {
	"spec_overboar", NULL, "spec_spectrum", NULL, "1996",
	"Overboard (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoverboarRomInfo, SpecoverboarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Overkill (48K)

static struct BurnRomInfo SpecoverkillRomDesc[] = {
	{ "Overkill (1988)(Atlantis Software).z80", 0x09e10, 0x3f801cbe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoverkill, Specoverkill, Spectrum)
STD_ROM_FN(Specoverkill)

struct BurnDriver BurnSpecoverkill = {
	"spec_overkill", NULL, "spec_spectrum", NULL, "1988",
	"Overkill (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoverkillRomInfo, SpecoverkillRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Overlander (48K)

static struct BurnRomInfo Specoverland_48RomDesc[] = {
	{ "Overlander (1988)(Elite Systems).z80", 0x0a3a9, 0x24b7336d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoverland_48, Specoverland_48, Spectrum)
STD_ROM_FN(Specoverland_48)

struct BurnDriver BurnSpecoverland_48 = {
	"spec_overland_48", "spec_overland", "spec_spectrum", NULL, "1988",
	"Overlander (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specoverland_48RomInfo, Specoverland_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Overlander (128K)

static struct BurnRomInfo SpecoverlandRomDesc[] = {
	{ "Overlander (1988)(Elite Systems)[128K].z80", 0x0cb9b, 0x1d250607, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoverland, Specoverland, Spectrum)
STD_ROM_FN(Specoverland)

struct BurnDriver BurnSpecoverland = {
	"spec_overland", NULL, "spec_spec128", NULL, "1988",
	"Overlander (128K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoverlandRomInfo, SpecoverlandRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Overlord (48K)

static struct BurnRomInfo SpecoverlordRomDesc[] = {
	{ "Overlord (1988)(CCS).z80", 0x08cd0, 0x14a70d1c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoverlord, Specoverlord, Spectrum)
STD_ROM_FN(Specoverlord)

struct BurnDriver BurnSpecoverlord = {
	"spec_overlord", NULL, "spec_spectrum", NULL, "1988",
	"Overlord (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoverlordRomInfo, SpecoverlordRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Overlords (48K)

static struct BurnRomInfo SpecoverlrdsRomDesc[] = {
	{ "Overlords (1985)(MC Lothlorien).z80", 0x046ff, 0x6a420b20, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoverlrds, Specoverlrds, Spectrum)
STD_ROM_FN(Specoverlrds)

struct BurnDriver BurnSpecoverlrds = {
	"spec_overlrds", NULL, "spec_spectrum", NULL, "1985",
	"Overlords (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoverlrdsRomInfo, SpecoverlrdsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Oxo (hu) (128K)

static struct BurnRomInfo SpecoxohuRomDesc[] = {
	{ "Oxo (1998)(Laszlo Nyitrai)(hu)[128K].z80", 0x0268d, 0x6cae6278, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specoxohu, Specoxohu, Spectrum)
STD_ROM_FN(Specoxohu)

struct BurnDriver BurnSpecoxohu = {
	"spec_oxohu", NULL, "spec_spec128", NULL, "1998",
	"Oxo (hu) (128K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecoxohuRomInfo, SpecoxohuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// P.H.M. Pegasus (48K)

static struct BurnRomInfo SpecphmpegasRomDesc[] = {
	{ "P.H.M. Pegasus (1988)(Electronic Arts).z80", 0x0907c, 0x859ea89e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specphmpegas, Specphmpegas, Spectrum)
STD_ROM_FN(Specphmpegas)

struct BurnDriver BurnSpecphmpegas = {
	"spec_phmpegas", NULL, "spec_spectrum", NULL, "1988",
	"P.H.M. Pegasus (48K)\0", NULL, "Electronic Arts", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecphmpegasRomInfo, SpecphmpegasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// P-47 Thunderbolt - The Freedom Fighter (128K)

static struct BurnRomInfo Specp4ththfrRomDesc[] = {
	{ "P-47 Thunderbolt - The Freedom Fighter (1990)(Firebird Software)[128K][needs tape load].z80", 0x06be7, 0x174cc1b7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specp4ththfr, Specp4ththfr, Spectrum)
STD_ROM_FN(Specp4ththfr)

struct BurnDriver BurnSpecp4ththfr = {
	"spec_p4ththfr", NULL, "spec_spec128", NULL, "1990",
	"P-47 Thunderbolt - The Freedom Fighter (128K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specp4ththfrRomInfo, Specp4ththfrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pacific War (48K)

static struct BurnRomInfo SpecpaciwarRomDesc[] = {
	{ "Pacific War (1984)(CCS)[cr Realtime].z80", 0x06ed3, 0xf68e23da, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpaciwar, Specpaciwar, Spectrum)
STD_ROM_FN(Specpaciwar)

struct BurnDriver BurnSpecpaciwar = {
	"spec_paciwar", NULL, "spec_spectrum", NULL, "1984",
	"Pacific War (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpaciwarRomInfo, SpecpaciwarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pac-Land (48K)

static struct BurnRomInfo Specpacland_48RomDesc[] = {
	{ "Pac-Land (1989)(Grandslam Entertainments).z80", 0x0940e, 0x67075079, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpacland_48, Specpacland_48, Spectrum)
STD_ROM_FN(Specpacland_48)

struct BurnDriver BurnSpecpacland_48 = {
	"spec_pacland_48", "spec_pacland", "spec_spectrum", NULL, "1989",
	"Pac-Land (48K)\0", NULL, "Grandslam Entertainments", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpacland_48RomInfo, Specpacland_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pac-Land (128K)

static struct BurnRomInfo SpecpaclandRomDesc[] = {
	{ "Pac-Land (1989)(Grandslam Entertainments)[128K].z80", 0x0b9d7, 0x78fe5d59, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpacland, Specpacland, Spectrum)
STD_ROM_FN(Specpacland)

struct BurnDriver BurnSpecpacland = {
	"spec_pacland", NULL, "spec_spec128", NULL, "1989",
	"Pac-Land (128K)\0", NULL, "Grandslam Entertainments", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpaclandRomInfo, SpecpaclandRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pac-Man (Atarisoft) (48K)

static struct BurnRomInfo SpecpacmanRomDesc[] = {
	{ "Pac-Man (1983)(Atarisoft).z80", 0x035fc, 0xe3c56f6b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpacman, Specpacman, Spectrum)
STD_ROM_FN(Specpacman)

struct BurnDriver BurnSpecpacman = {
	"spec_pacman", NULL, "spec_spectrum", NULL, "1983",
	"Pac-Man (Atarisoft) (48K)\0", NULL, "Atarisoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpacmanRomInfo, SpecpacmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pac-Man (Unknown) (48K)

static struct BurnRomInfo SpecpacmanuRomDesc[] = {
	{ "Pac-Man (19xx)(-).z80", 0x02bb9, 0xfbbca12f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpacmanu, Specpacmanu, Spectrum)
STD_ROM_FN(Specpacmanu)

struct BurnDriver BurnSpecpacmanu = {
	"spec_pacmanu", NULL, "spec_spectrum", NULL, "19xx",
	"Pac-Man (Unknown) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpacmanuRomInfo, SpecpacmanuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pacman 96 (hu) (128K)

static struct BurnRomInfo Specpacman96RomDesc[] = {
	{ "Pacman 96 (1996)(Laszlo Nyitrai)(hu)[128K].z80", 0x0342a, 0xc762502b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpacman96, Specpacman96, Spectrum)
STD_ROM_FN(Specpacman96)

struct BurnDriver BurnSpecpacman96 = {
	"spec_pacman96", NULL, "spec_spec128", NULL, "1996",
	"Pacman 96 (hu) (128K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpacman96RomInfo, Specpacman96RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pac-Mania (48K)

static struct BurnRomInfo Specpacmania_48RomDesc[] = {
	{ "Pac-Mania (1988)(Grandslam Entertainments).z80", 0x07cb3, 0xb7706dc6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpacmania_48, Specpacmania_48, Spectrum)
STD_ROM_FN(Specpacmania_48)

struct BurnDriver BurnSpecpacmania_48 = {
	"spec_pacmania_48", "spec_pacmania", "spec_spectrum", NULL, "1988",
	"Pac-Mania (48K)\0", NULL, "Grandslam Entertainments", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpacmania_48RomInfo, Specpacmania_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pac-Mania (128K)

static struct BurnRomInfo SpecpacmaniaRomDesc[] = {
	{ "Pac-Mania (1988)(Grandslam Entertainments)[128K].z80", 0x0a813, 0x938c60ff, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpacmania, Specpacmania, Spectrum)
STD_ROM_FN(Specpacmania)

struct BurnDriver BurnSpecpacmania = {
	"spec_pacmania", NULL, "spec_spec128", NULL, "1988",
	"Pac-Mania (128K)\0", NULL, "Grandslam Entertainments", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpacmaniaRomInfo, SpecpacmaniaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pacman's Revenge (Spanish) (48K)

static struct BurnRomInfo SpecpacmreveRomDesc[] = {
	{ "Pacman's Revenge (1988)(Idem Soft)(es)[cr].z80", 0x0752f, 0x737b5719, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpacmreve, Specpacmreve, Spectrum)
STD_ROM_FN(Specpacmreve)

struct BurnDriver BurnSpecpacmreve = {
	"spec_pacmreve", NULL, "spec_spectrum", NULL, "1988",
	"Pacman's Revenge (Spanish) (48K)\0", NULL, "Idem Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpacmreveRomInfo, SpecpacmreveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Paco Jones (Spanish) (128K)

static struct BurnRomInfo SpecpacojoneRomDesc[] = {
	{ "Paco Jones (1987)(Wanderer Soft)(es)[128K].z80", 0x056a7, 0x49bd4abe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpacojone, Specpacojone, Spectrum)
STD_ROM_FN(Specpacojone)

struct BurnDriver BurnSpecpacojone = {
	"spec_pacojone", NULL, "spec_spec128", NULL, "1987",
	"Paco Jones (Spanish) (128K)\0", NULL, "Wanderer Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpacojoneRomInfo, SpecpacojoneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pad Painter (48K)

static struct BurnRomInfo SpecpadpaintRomDesc[] = {
	{ "Pad Painter (1984)(Green Fish Software Enterprise).z80", 0x05768, 0x9f94449a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpadpaint, Specpadpaint, Spectrum)
STD_ROM_FN(Specpadpaint)

struct BurnDriver BurnSpecpadpaint = {
	"spec_padpaint", NULL, "spec_spectrum", NULL, "1984",
	"Pad Painter (48K)\0", NULL, "Green Fish Software Enterprise", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpadpaintRomInfo, SpecpadpaintRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Painter (48K)

static struct BurnRomInfo SpecpainterRomDesc[] = {
	{ "Painter (1983)(A & F Software).z80", 0x04f52, 0x512013f9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpainter, Specpainter, Spectrum)
STD_ROM_FN(Specpainter)

struct BurnDriver BurnSpecpainter = {
	"spec_painter", NULL, "spec_spectrum", NULL, "1983",
	"Painter (48K)\0", NULL, "A & F Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpainterRomInfo, SpecpainterRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pairs (48K)

static struct BurnRomInfo SpecpairsRomDesc[] = {
	{ "Pairs (1984)(CCS).z80", 0x0814f, 0xba06aa03, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpairs, Specpairs, Spectrum)
STD_ROM_FN(Specpairs)

struct BurnDriver BurnSpecpairs = {
	"spec_pairs", NULL, "spec_spectrum", NULL, "1984",
	"Pairs (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpairsRomInfo, SpecpairsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pajaros de Bangkok, Los (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecpajbanloRomDesc[] = {
	{ "Pajaros de Bangkok, Los (1988)(Dinamic Software)(es)(Part 1 of 2).z80", 0x0b656, 0xdc9ec115, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpajbanlo, Specpajbanlo, Spectrum)
STD_ROM_FN(Specpajbanlo)

struct BurnDriver BurnSpecpajbanlo = {
	"spec_pajbanlo", NULL, "spec_spectrum", NULL, "1988",
	"Pajaros de Bangkok, Los (Spanish) (Part 1 of 2) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpajbanloRomInfo, SpecpajbanloRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pajaros de Bangkok, Los (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specpajbanlo2RomDesc[] = {
	{ "Pajaros de Bangkok, Los (1988)(Dinamic Software)(es)(Part 2 of 2).z80", 0x0b977, 0x653a9b7a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpajbanlo2, Specpajbanlo2, Spectrum)
STD_ROM_FN(Specpajbanlo2)

struct BurnDriver BurnSpecpajbanlo2 = {
	"spec_pajbanlo2", "spec_pajbanlo", "spec_spectrum", NULL, "1988",
	"Pajaros de Bangkok, Los (Spanish) (Part 2 of 2) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpajbanlo2RomInfo, Specpajbanlo2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pakacuda (48K)

static struct BurnRomInfo SpecpakacudaRomDesc[] = {
	{ "Pakacuda (1983)(Rabbit Software).z80", 0x02f01, 0xd873a9bc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpakacuda, Specpakacuda, Spectrum)
STD_ROM_FN(Specpakacuda)

struct BurnDriver BurnSpecpakacuda = {
	"spec_pakacuda", NULL, "spec_spectrum", NULL, "1983",
	"Pakacuda (48K)\0", NULL, "Rabbit Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpakacudaRomInfo, SpecpakacudaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Palace Hotel (Spanish) (48K)

static struct BurnRomInfo SpecpalahoteRomDesc[] = {
	{ "Palace Hotel (1989)(Aventuras AD)(es).z80", 0x096a7, 0xb7e84d0c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpalahote, Specpalahote, Spectrum)
STD_ROM_FN(Specpalahote)

struct BurnDriver BurnSpecpalahote = {
	"spec_palahote", NULL, "spec_spectrum", NULL, "1989",
	"Palace Hotel (Spanish) (48K)\0", NULL, "Aventuras AD", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpalahoteRomInfo, SpecpalahoteRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Palace Hotel v2 (Spanish) (48K)

static struct BurnRomInfo Specpalahot2RomDesc[] = {
	{ "Palace Hotel v2 (1991)(Year Zero Software)(es).z80", 0x0948c, 0xbfbc502a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpalahot2, Specpalahot2, Spectrum)
STD_ROM_FN(Specpalahot2)

struct BurnDriver BurnSpecpalahot2 = {
	"spec_palahot2", NULL, "spec_spectrum", NULL, "1991",
	"Palace Hotel v2 (Spanish) (48K)\0", NULL, "Year Zero Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpalahot2RomInfo, Specpalahot2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Panama Joe (48K)

static struct BurnRomInfo SpecpanajoeRomDesc[] = {
	{ "Panama Joe (1984)(Parker Software - Sinclair Research).z80", 0x03b71, 0xdff616f0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpanajoe, Specpanajoe, Spectrum)
STD_ROM_FN(Specpanajoe)

struct BurnDriver BurnSpecpanajoe = {
	"spec_panajoe", NULL, "spec_spectrum", NULL, "1984",
	"Panama Joe (48K)\0", NULL, "Parker Software - Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpanajoeRomInfo, SpecpanajoeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pandemonia (48K)

static struct BurnRomInfo SpecpandemonRomDesc[] = {
	{ "Pandemonia (1983)(CRL Group).z80", 0x04b96, 0x79c442f9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpandemon, Specpandemon, Spectrum)
STD_ROM_FN(Specpandemon)

struct BurnDriver BurnSpecpandemon = {
	"spec_pandemon", NULL, "spec_spectrum", NULL, "1983",
	"Pandemonia (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpandemonRomInfo, SpecpandemonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pang (128K)

static struct BurnRomInfo SpecpangRomDesc[] = {
	{ "Pang (1990)(Ocean)[128K][incomplete].z80", 0x12130, 0xc7016b68, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpang, Specpang, Spectrum)
STD_ROM_FN(Specpang)

struct BurnDriver BurnSpecpang = {
	"spec_pang", NULL, "spec_spec128", NULL, "1990",
	"Pang (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpangRomInfo, SpecpangRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Panic (48K)

static struct BurnRomInfo SpecpanicRomDesc[] = {
	{ "Panic (1983)(PSS).z80", 0x06ec2, 0xc1a0d932, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpanic, Specpanic, Spectrum)
STD_ROM_FN(Specpanic)

struct BurnDriver BurnSpecpanic = {
	"spec_panic", NULL, "spec_spectrum", NULL, "1983",
	"Panic (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpanicRomInfo, SpecpanicRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Panic Dizzy (48K)

static struct BurnRomInfo Specpandizzy_48RomDesc[] = {
	{ "Panic Dizzy (1991)(Codemasters).z80", 0x094f5, 0xce5c5125, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpandizzy_48, Specpandizzy_48, Spectrum)
STD_ROM_FN(Specpandizzy_48)

struct BurnDriver BurnSpecpandizzy_48 = {
	"spec_pandizzy_48", "spec_pandizzy", "spec_spectrum", NULL, "1991",
	"Panic Dizzy (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpandizzy_48RomInfo, Specpandizzy_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Panic Dizzy (128K)

static struct BurnRomInfo SpecpandizzyRomDesc[] = {
	{ "Panic Dizzy (1991)(Codemasters)[128K].z80", 0x0b637, 0x4b087391, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpandizzy, Specpandizzy, Spectrum)
STD_ROM_FN(Specpandizzy)

struct BurnDriver BurnSpecpandizzy = {
	"spec_pandizzy", NULL, "spec_spec128", NULL, "1991",
	"Panic Dizzy (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpandizzyRomInfo, SpecpandizzyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Panther (48K)

static struct BurnRomInfo SpecpantherRomDesc[] = {
	{ "Panther (1989)(Mastertronic).z80", 0x073af, 0x1fefdeaf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpanther, Specpanther, Spectrum)
STD_ROM_FN(Specpanther)

struct BurnDriver BurnSpecpanther = {
	"spec_panther", NULL, "spec_spectrum", NULL, "1989",
	"Panther (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpantherRomInfo, SpecpantherRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Panzadrome (48K)

static struct BurnRomInfo SpecpanzadroRomDesc[] = {
	{ "Panzadrome (1985)(Ariolasoft UK).z80", 0x09d50, 0x3915aed3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpanzadro, Specpanzadro, Spectrum)
STD_ROM_FN(Specpanzadro)

struct BurnDriver BurnSpecpanzadro = {
	"spec_panzadro", NULL, "spec_spectrum", NULL, "1985",
	"Panzadrome (48K)\0", NULL, "Ariolasoft UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpanzadroRomInfo, SpecpanzadroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Panzer Attack (48K)

static struct BurnRomInfo SpecpanzattaRomDesc[] = {
	{ "Panzer Attack (1984)(MC Lothlorien).z80", 0x077c1, 0x46e00987, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpanzatta, Specpanzatta, Spectrum)
STD_ROM_FN(Specpanzatta)

struct BurnDriver BurnSpecpanzatta = {
	"spec_panzatta", NULL, "spec_spectrum", NULL, "1984",
	"Panzer Attack (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpanzattaRomInfo, SpecpanzattaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Paperboy (48K)

static struct BurnRomInfo SpecpaperboyRomDesc[] = {
	{ "Paperboy (1986)(Elite Systems).z80", 0x0a0ba, 0xa1465284, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpaperboy, Specpaperboy, Spectrum)
STD_ROM_FN(Specpaperboy)

struct BurnDriver BurnSpecpaperboy = {
	"spec_paperboy", NULL, "spec_spectrum", NULL, "1986",
	"Paperboy (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpaperboyRomInfo, SpecpaperboyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Paperboy 2 (48K)

static struct BurnRomInfo Specpaperby2RomDesc[] = {
	{ "Paperboy 2 (1992)(Mindscape International).z80", 0x09bbe, 0x523b2b3b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpaperby2, Specpaperby2, Spectrum)
STD_ROM_FN(Specpaperby2)

struct BurnDriver BurnSpecpaperby2 = {
	"spec_paperby2", NULL, "spec_spectrum", NULL, "1992",
	"Paperboy 2 (48K)\0", NULL, "Mindscape International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpaperby2RomInfo, Specpaperby2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Para Academy (128K)

static struct BurnRomInfo SpecparaacadRomDesc[] = {
	{ "Para Academy (1990)(Zeppelin Games)[128K].z80", 0x0866a, 0x009fca61, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specparaacad, Specparaacad, Spectrum)
STD_ROM_FN(Specparaacad)

struct BurnDriver BurnSpecparaacad = {
	"spec_paraacad", NULL, "spec_spec128", NULL, "1990",
	"Para Academy (128K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecparaacadRomInfo, SpecparaacadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Para Assault Course (48K)

static struct BurnRomInfo SpecparasscoRomDesc[] = {
	{ "Para Assault Course (1988)(Zeppelin Games).z80", 0x088b4, 0x0cbafcfa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specparassco, Specparassco, Spectrum)
STD_ROM_FN(Specparassco)

struct BurnDriver BurnSpecparassco = {
	"spec_parassco", NULL, "spec_spectrum", NULL, "1988",
	"Para Assault Course (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecparasscoRomInfo, SpecparasscoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Paradise Cafe (pt) (48K)

static struct BurnRomInfo SpecparacafeRomDesc[] = {
	{ "Paradise Cafe (1985)(Damatta)(pt).z80", 0x09050, 0x9aeb6c8d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specparacafe, Specparacafe, Spectrum)
STD_ROM_FN(Specparacafe)

struct BurnDriver BurnSpecparacafe = {
	"spec_paracafe", NULL, "spec_spectrum", NULL, "1985",
	"Paradise Cafe (pt) (48K)\0", NULL, "Damatta", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecparacafeRomInfo, SpecparacafeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Paradise in Microdot (48K)

static struct BurnRomInfo SpecparamicrRomDesc[] = {
	{ "Paradise in Microdot (1985)(Automata UK).z80", 0x08850, 0xa8330021, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specparamicr, Specparamicr, Spectrum)
STD_ROM_FN(Specparamicr)

struct BurnDriver BurnSpecparamicr = {
	"spec_paramicr", NULL, "spec_spectrum", NULL, "1985",
	"Paradise in Microdot (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecparamicrRomInfo, SpecparamicrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Paradroids (48K)

static struct BurnRomInfo SpecparadroiRomDesc[] = {
	{ "Paradroids (1983)(Mikro-Gen).z80", 0x02abc, 0x352ca7da, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specparadroi, Specparadroi, Spectrum)
STD_ROM_FN(Specparadroi)

struct BurnDriver BurnSpecparadroi = {
	"spec_paradroi", NULL, "spec_spectrum", NULL, "1983",
	"Paradroids (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecparadroiRomInfo, SpecparadroiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Paras (48K)

static struct BurnRomInfo SpecparasRomDesc[] = {
	{ "Paras (1983)(MC Lothlorien).z80", 0x05cb5, 0xfec32b63, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specparas, Specparas, Spectrum)
STD_ROM_FN(Specparas)

struct BurnDriver BurnSpecparas = {
	"spec_paras", NULL, "spec_spectrum", NULL, "1983",
	"Paras (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecparasRomInfo, SpecparasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Parchis (Spanish) (48K)

static struct BurnRomInfo SpecparchiseRomDesc[] = {
	{ "Parchis (1984)(Investronica)(es).z80", 0x07f2f, 0x056cf691, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specparchise, Specparchise, Spectrum)
STD_ROM_FN(Specparchise)

struct BurnDriver BurnSpecparchise = {
	"spec_parchise", NULL, "spec_spectrum", NULL, "1984",
	"Parchis (Spanish) (48K)\0", NULL, "Investronica", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecparchiseRomInfo, SpecparchiseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Parejas (Spanish) (48K)

static struct BurnRomInfo SpecparejaseRomDesc[] = {
	{ "Parejas (1984)(Software Center)(es).z80", 0x02943, 0xd8c7b15e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specparejase, Specparejase, Spectrum)
STD_ROM_FN(Specparejase)

struct BurnDriver BurnSpecparejase = {
	"spec_parejase", NULL, "spec_spectrum", NULL, "1984",
	"Parejas (Spanish) (48K)\0", NULL, "Software Center", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecparejaseRomInfo, SpecparejaseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Paris to Dakar (48K)

static struct BurnRomInfo Specparidaka_48RomDesc[] = {
	{ "Paris to Dakar (1991)(Codemasters).z80", 0x091c2, 0x4004bb48, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specparidaka_48, Specparidaka_48, Spectrum)
STD_ROM_FN(Specparidaka_48)

struct BurnDriver BurnSpecparidaka_48 = {
	"spec_paridaka_48", "spec_paridaka", "spec_spectrum", NULL, "1991",
	"Paris to Dakar (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specparidaka_48RomInfo, Specparidaka_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Paris to Dakar (128K)

static struct BurnRomInfo SpecparidakaRomDesc[] = {
	{ "Paris to Dakar (1991)(Codemasters)[128K].z80", 0x0f4bc, 0x6f942eac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specparidaka, Specparidaka, Spectrum)
STD_ROM_FN(Specparidaka)

struct BurnDriver BurnSpecparidaka = {
	"spec_paridaka", NULL, "spec_spec128", NULL, "1991",
	"Paris to Dakar (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecparidakaRomInfo, SpecparidakaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Park Patrol (48K)

static struct BurnRomInfo SpecparkpatrRomDesc[] = {
	{ "Park Patrol (1987)(Firebird Software).z80", 0x07157, 0xe4ed2228, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specparkpatr, Specparkpatr, Spectrum)
STD_ROM_FN(Specparkpatr)

struct BurnDriver BurnSpecparkpatr = {
	"spec_parkpatr", NULL, "spec_spectrum", NULL, "1987",
	"Park Patrol (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecparkpatrRomInfo, SpecparkpatrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Passiance Klondike v1.1 (128K)

static struct BurnRomInfo SpecpassklonRomDesc[] = {
	{ "Passiance Klondike v1.1 (1996)(Digital Reality)[128K].z80", 0x091dc, 0x80b6d67d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpassklon, Specpassklon, Spectrum)
STD_ROM_FN(Specpassklon)

struct BurnDriver BurnSpecpassklon = {
	"spec_passklon", NULL, "spec_spec128", NULL, "1996",
	"Passiance Klondike v1.1 (128K)\0", NULL, "Digital Reality", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpassklonRomInfo, SpecpassklonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Passing Shot (48K)

static struct BurnRomInfo Specpassshot_48RomDesc[] = {
	{ "Passing Shot (1989)(Image Works).z80", 0x07b0f, 0x183331fc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpassshot_48, Specpassshot_48, Spectrum)
STD_ROM_FN(Specpassshot_48)

struct BurnDriver BurnSpecpassshot_48 = {
	"spec_passshot_48", "spec_passshot", "spec_spectrum", NULL, "1989",
	"Passing Shot (48K)\0", NULL, "Image Works", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpassshot_48RomInfo, Specpassshot_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Passing Shot (128K)

static struct BurnRomInfo SpecpassshotRomDesc[] = {
	{ "Passing Shot (1989)(Image Works)[128K].z80", 0x098ac, 0xf34e8359, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpassshot, Specpassshot, Spectrum)
STD_ROM_FN(Specpassshot)

struct BurnDriver BurnSpecpassshot = {
	"spec_passshot", NULL, "spec_spec128", NULL, "1989",
	"Passing Shot (128K)\0", NULL, "Image Works", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpassshotRomInfo, SpecpassshotRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pasteman Pat - Billboard (48K)

static struct BurnRomInfo SpecpaspatbiRomDesc[] = {
	{ "Pasteman Pat - Billboard (1989)(Silverbird Software).z80", 0x07a1e, 0xcced640c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpaspatbi, Specpaspatbi, Spectrum)
STD_ROM_FN(Specpaspatbi)

struct BurnDriver BurnSpecpaspatbi = {
	"spec_paspatbi", NULL, "spec_spectrum", NULL, "1989",
	"Pasteman Pat - Billboard (48K)\0", NULL, "Silverbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpaspatbiRomInfo, SpecpaspatbiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pat the Postman (48K)

static struct BurnRomInfo SpecpattpostRomDesc[] = {
	{ "Pat the Postman (1983)(Mikro-Gen).z80", 0x06cec, 0x929e598f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpattpost, Specpattpost, Spectrum)
STD_ROM_FN(Specpattpost)

struct BurnDriver BurnSpecpattpost = {
	"spec_pattpost", NULL, "spec_spectrum", NULL, "1983",
	"Pat the Postman (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpattpostRomInfo, SpecpattpostRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pawn, The v2.3 (128K)

static struct BurnRomInfo SpecpawnthevRomDesc[] = {
	{ "Pawn, The v2.3 (1987)(Rainbird Software)[128K].z80", 0x1e016, 0xc58ea2ac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpawnthev, Specpawnthev, Spectrum)
STD_ROM_FN(Specpawnthev)

struct BurnDriver BurnSpecpawnthev = {
	"spec_pawnthev", NULL, "spec_spec128", NULL, "1987",
	"Pawn, The v2.3 (128K)\0", NULL, "Rainbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpawnthevRomInfo, SpecpawnthevRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pawnchess (48K)

static struct BurnRomInfo SpecpawnchesRomDesc[] = {
	{ "Pawnchess (1983)(Contrast Software).z80", 0x090ee, 0x7cf1f280, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpawnches, Specpawnches, Spectrum)
STD_ROM_FN(Specpawnches)

struct BurnDriver BurnSpecpawnches = {
	"spec_pawnches", NULL, "spec_spectrum", NULL, "1983",
	"Pawnchess (48K)\0", NULL, "Contrast Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpawnchesRomInfo, SpecpawnchesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pawns of War (48K)

static struct BurnRomInfo SpecpawnwarRomDesc[] = {
	{ "Pawns of War (1989)(Zenobi Software).z80", 0x09405, 0x3b72967d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpawnwar, Specpawnwar, Spectrum)
STD_ROM_FN(Specpawnwar)

struct BurnDriver BurnSpecpawnwar = {
	"spec_pawnwar", NULL, "spec_spectrum", NULL, "1989",
	"Pawns of War (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpawnwarRomInfo, SpecpawnwarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pawns of War II - The Infiltrator (48K)

static struct BurnRomInfo Specpawnwar2RomDesc[] = {
	{ "Pawns of War II - The Infiltrator (1989)(Zenobi Software).z80", 0x0926f, 0x1681ff22, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpawnwar2, Specpawnwar2, Spectrum)
STD_ROM_FN(Specpawnwar2)

struct BurnDriver BurnSpecpawnwar2 = {
	"spec_pawnwar2", NULL, "spec_spectrum", NULL, "1989",
	"Pawns of War II - The Infiltrator (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpawnwar2RomInfo, Specpawnwar2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Paws (48K)

static struct BurnRomInfo SpecpawsRomDesc[] = {
	{ "Paws (1985)(Artic Computing).z80", 0x0a56c, 0xe24be976, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpaws, Specpaws, Spectrum)
STD_ROM_FN(Specpaws)

struct BurnDriver BurnSpecpaws = {
	"spec_paws", NULL, "spec_spectrum", NULL, "1985",
	"Paws (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpawsRomInfo, SpecpawsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pearl Harbour (48K)

static struct BurnRomInfo SpecpearharbRomDesc[] = {
	{ "Pearl Harbour (1983)(Sabresoft).z80", 0x06201, 0xc5362f23, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpearharb, Specpearharb, Spectrum)
STD_ROM_FN(Specpearharb)

struct BurnDriver BurnSpecpearharb = {
	"spec_pearharb", NULL, "spec_spectrum", NULL, "1983",
	"Pearl Harbour (48K)\0", NULL, "Sabresoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpearharbRomInfo, SpecpearharbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pedro (48K)

static struct BurnRomInfo SpecpedroRomDesc[] = {
	{ "Pedro (1984)(Imagine Software).z80", 0x04161, 0x2342ac56, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpedro, Specpedro, Spectrum)
STD_ROM_FN(Specpedro)

struct BurnDriver BurnSpecpedro = {
	"spec_pedro", NULL, "spec_spectrum", NULL, "1984",
	"Pedro (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpedroRomInfo, SpecpedroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pedro na Ostrove Piratov (sk) (128K)

static struct BurnRomInfo SpecpedostpiRomDesc[] = {
	{ "Pedro na Ostrove Piratov (1992)(Ultrasoft)(sk)[128K].z80", 0x08cf1, 0xf6148668, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpedostpi, Specpedostpi, Spectrum)
STD_ROM_FN(Specpedostpi)

struct BurnDriver BurnSpecpedostpi = {
	"spec_pedostpi", NULL, "spec_spec128", NULL, "1992",
	"Pedro na Ostrove Piratov (sk) (128K)\0", NULL, "Ultrasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpedostpiRomInfo, SpecpedostpiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pedro Puzzle (48K)

static struct BurnRomInfo SpecpedrpuzzRomDesc[] = {
	{ "Pedro Puzzle (1995)(Vaxalon).z80", 0x027c7, 0x84ec2f09, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpedrpuzz, Specpedrpuzz, Spectrum)
STD_ROM_FN(Specpedrpuzz)

struct BurnDriver BurnSpecpedrpuzz = {
	"spec_pedrpuzz", NULL, "spec_spectrum", NULL, "1995",
	"Pedro Puzzle (48K)\0", NULL, "Vaxalon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpedrpuzzRomInfo, SpecpedrpuzzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Peepshow (German) (48K)

static struct BurnRomInfo SpecpeepshowRomDesc[] = {
	{ "Peepshow (1984)(Awk Software)(de).z80", 0x0ac84, 0x5fef5ea6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpeepshow, Specpeepshow, Spectrum)
STD_ROM_FN(Specpeepshow)

struct BurnDriver BurnSpecpeepshow = {
	"spec_peepshow", NULL, "spec_spectrum", NULL, "1984",
	"Peepshow (German) (48K)\0", NULL, "Awk Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpeepshowRomInfo, SpecpeepshowRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pegasus Bridge (48K)

static struct BurnRomInfo SpecpegabridRomDesc[] = {
	{ "Pegasus Bridge (1988)(PSS).z80", 0x077ff, 0xc056c53c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpegabrid, Specpegabrid, Spectrum)
STD_ROM_FN(Specpegabrid)

struct BurnDriver BurnSpecpegabrid = {
	"spec_pegabrid", NULL, "spec_spectrum", NULL, "1988",
	"Pegasus Bridge (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpegabridRomInfo, SpecpegabridRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pelon Questions (Spanish) (48K)

static struct BurnRomInfo SpecpeloquesRomDesc[] = {
	{ "Pelon Questions (1992)(Dark Sentinel Soft)(es).z80", 0x056e2, 0x47c5922a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpeloques, Specpeloques, Spectrum)
STD_ROM_FN(Specpeloques)

struct BurnDriver BurnSpecpeloques = {
	"spec_peloques", NULL, "spec_spectrum", NULL, "1992",
	"Pelon Questions (Spanish) (48K)\0", NULL, "Dark Sentinel Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpeloquesRomInfo, SpecpeloquesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Peloponnesian War (48K)

static struct BurnRomInfo SpecpelowarRomDesc[] = {
	{ "Peloponnesian War (1982)(MC Lothlorien).z80", 0x045f1, 0x6660125f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpelowar, Specpelowar, Spectrum)
STD_ROM_FN(Specpelowar)

struct BurnDriver BurnSpecpelowar = {
	"spec_pelowar", NULL, "spec_spectrum", NULL, "1982",
	"Peloponnesian War (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpelowarRomInfo, SpecpelowarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pen and the Dark, The (48K)

static struct BurnRomInfo SpecpendarthRomDesc[] = {
	{ "Pen and the Dark, The (1984)(Mosaic Publishing).z80", 0x0a3a3, 0x2f92502c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpendarth, Specpendarth, Spectrum)
STD_ROM_FN(Specpendarth)

struct BurnDriver BurnSpecpendarth = {
	"spec_pendarth", NULL, "spec_spectrum", NULL, "1984",
	"Pen and the Dark, The (48K)\0", NULL, "Mosaic Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpendarthRomInfo, SpecpendarthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pendant of Logryn, The (128K)

static struct BurnRomInfo SpecpenlogthRomDesc[] = {
	{ "Pendant of Logryn, The (1989)(Zenobi Software)[128K].z80", 0x18dee, 0x4c171a14, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpenlogth, Specpenlogth, Spectrum)
STD_ROM_FN(Specpenlogth)

struct BurnDriver BurnSpecpenlogth = {
	"spec_penlogth", NULL, "spec_spec128", NULL, "1989",
	"Pendant of Logryn, The (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpenlogthRomInfo, SpecpenlogthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Penelty Soccer (48K)

static struct BurnRomInfo SpecpenesoccRomDesc[] = {
	{ "Penelty Soccer (1990)(Game Busters).z80", 0x0428c, 0xda5d7aa7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpenesocc, Specpenesocc, Spectrum)
STD_ROM_FN(Specpenesocc)

struct BurnDriver BurnSpecpenesocc = {
	"spec_penesocc", NULL, "spec_spectrum", NULL, "1990",
	"Penelty Soccer (48K)\0", NULL, "Game Busters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpenesoccRomInfo, SpecpenesoccRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Penetrator (48K)

static struct BurnRomInfo SpecpenetratRomDesc[] = {
	{ "Penetrator (1982)(Melbourne House).z80", 0x0c01e, 0xd48d09b0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpenetrat, Specpenetrat, Spectrum)
STD_ROM_FN(Specpenetrat)

struct BurnDriver BurnSpecpenetrat = {
	"spec_penetrat", NULL, "spec_spectrum", NULL, "1982",
	"Penetrator (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpenetratRomInfo, SpecpenetratRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Penetrator, The (48K)

static struct BurnRomInfo SpecpenetheRomDesc[] = {
	{ "Penetrator, The (19xx)(Mark Foley Productions)[passworded].z80", 0x097b1, 0xaacc03b9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpenethe, Specpenethe, Spectrum)
STD_ROM_FN(Specpenethe)

struct BurnDriver BurnSpecpenethe = {
	"spec_penethe", NULL, "spec_spectrum", NULL, "19xx",
	"Penetrator, The (48K)\0", NULL, "Mark Foley Productions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpenetheRomInfo, SpecpenetheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pengy (48K)

static struct BurnRomInfo SpecpengyRomDesc[] = {
	{ "Pengy (1985)(Mogul Communications).z80", 0x07550, 0x8650a561, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpengy, Specpengy, Spectrum)
STD_ROM_FN(Specpengy)

struct BurnDriver BurnSpecpengy = {
	"spec_pengy", NULL, "spec_spectrum", NULL, "1985",
	"Pengy (48K)\0", NULL, "Mogul Communications", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpengyRomInfo, SpecpengyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pentagon (48K)

static struct BurnRomInfo SpecpentagonRomDesc[] = {
	{ "Pentagon (1984)(T. Korber).z80", 0x026e8, 0xe331f6c6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpentagon, Specpentagon, Spectrum)
STD_ROM_FN(Specpentagon)

struct BurnDriver BurnSpecpentagon = {
	"spec_pentagon", NULL, "spec_spectrum", NULL, "1984",
	"Pentagon (48K)\0", NULL, "T. Korber", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpentagonRomInfo, SpecpentagonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pentagram (48K)

static struct BurnRomInfo SpecpentagraRomDesc[] = {
	{ "Pentagram (1986)(Ultimate Play The Game).z80", 0x096a5, 0x3cc52cd2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpentagra, Specpentagra, Spectrum)
STD_ROM_FN(Specpentagra)

struct BurnDriver BurnSpecpentagra = {
	"spec_pentagra", NULL, "spec_spectrum", NULL, "1986",
	"Pentagram (48K)\0", NULL, "Ultimate Play The Game", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpentagraRomInfo, SpecpentagraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pentomania (48K)

static struct BurnRomInfo SpecpentomanRomDesc[] = {
	{ "Pentomania (1987)(P. King).z80", 0x046b5, 0xcc47bf67, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpentoman, Specpentoman, Spectrum)
STD_ROM_FN(Specpentoman)

struct BurnDriver BurnSpecpentoman = {
	"spec_pentoman", NULL, "spec_spectrum", NULL, "1987",
	"Pentomania (48K)\0", NULL, "P. King", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpentomanRomInfo, SpecpentomanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pepsi Cola (sk) (48K)

static struct BurnRomInfo SpecpepscolaRomDesc[] = {
	{ "Pepsi Cola (1988)(Miami-Soft)(sk).z80", 0x07507, 0xa7490e4a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpepscola, Specpepscola, Spectrum)
STD_ROM_FN(Specpepscola)

struct BurnDriver BurnSpecpepscola = {
	"spec_pepscola", NULL, "spec_spectrum", NULL, "1988",
	"Pepsi Cola (sk) (48K)\0", NULL, "Miami-Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpepscolaRomInfo, SpecpepscolaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Percy the Potty Pigeon (48K)

static struct BurnRomInfo SpecperpotpiRomDesc[] = {
	{ "Percy the Potty Pigeon (1984)(Gremlin Graphics Software).z80", 0x065f0, 0x9e441496, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specperpotpi, Specperpotpi, Spectrum)
STD_ROM_FN(Specperpotpi)

struct BurnDriver BurnSpecperpotpi = {
	"spec_perpotpi", NULL, "spec_spectrum", NULL, "1984",
	"Percy the Potty Pigeon (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecperpotpiRomInfo, SpecperpotpiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Perestrojka (cs) (128K)

static struct BurnRomInfo SpecperestroRomDesc[] = {
	{ "Perestrojka (1991)(Proxima Software)(cs)[128K].z80", 0x06506, 0xa8198f8b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specperestro, Specperestro, Spectrum)
STD_ROM_FN(Specperestro)

struct BurnDriver BurnSpecperestro = {
	"spec_perestro", NULL, "spec_spec128", NULL, "1991",
	"Perestrojka (cs) (128K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecperestroRomInfo, SpecperestroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Perils of Bear George (48K)

static struct BurnRomInfo SpecperbeageRomDesc[] = {
	{ "Perils of Bear George (1984)(Cheetahsoft).z80", 0x07371, 0x8cc2f17a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specperbeage, Specperbeage, Spectrum)
STD_ROM_FN(Specperbeage)

struct BurnDriver BurnSpecperbeage = {
	"spec_perbeage", NULL, "spec_spectrum", NULL, "1984",
	"Perils of Bear George (48K)\0", NULL, "Cheetahsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecperbeageRomInfo, SpecperbeageRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Periscope Up (48K)

static struct BurnRomInfo SpecperiupRomDesc[] = {
	{ "Periscope Up (1989)(Atlantis Software).z80", 0x05d1a, 0x9ff491bd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specperiup, Specperiup, Spectrum)
STD_ROM_FN(Specperiup)

struct BurnDriver BurnSpecperiup = {
	"spec_periup", NULL, "spec_spectrum", NULL, "1989",
	"Periscope Up (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecperiupRomInfo, SpecperiupRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Perseus (Part 1 of 2) (48K)

static struct BurnRomInfo SpecperseusRomDesc[] = {
	{ "Perseus (1993)(Zenobi Software)(Part 1 of 2).z80", 0x09485, 0xfda69cdd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specperseus, Specperseus, Spectrum)
STD_ROM_FN(Specperseus)

struct BurnDriver BurnSpecperseus = {
	"spec_perseus", NULL, "spec_spectrum", NULL, "1993",
	"Perseus (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecperseusRomInfo, SpecperseusRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Perseus (Part 2 of 2) (48K)

static struct BurnRomInfo Specperseus2RomDesc[] = {
	{ "Perseus (1993)(Zenobi Software)(Part 2 of 2).z80", 0x09402, 0xcb602eb5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specperseus2, Specperseus2, Spectrum)
STD_ROM_FN(Specperseus2)

struct BurnDriver BurnSpecperseus2 = {
	"spec_perseus2", "spec_perseus", "spec_spectrum", NULL, "1993",
	"Perseus (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specperseus2RomInfo, Specperseus2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Personal Computer Whirled! (48K)

static struct BurnRomInfo SpecpercomwhRomDesc[] = {
	{ "Personal Computer Whirled! (1993)(Zenobi Software)[re-release].z80", 0x0946c, 0xdf86254e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpercomwh, Specpercomwh, Spectrum)
STD_ROM_FN(Specpercomwh)

struct BurnDriver BurnSpecpercomwh = {
	"spec_percomwh", NULL, "spec_spectrum", NULL, "1993",
	"Personal Computer Whirled! (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpercomwhRomInfo, SpecpercomwhRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pesadilla (Spanish) (48K)

static struct BurnRomInfo SpecpesadillRomDesc[] = {
	{ "Pesadilla (19xx)(-)(es).z80", 0x09a30, 0xb63c730e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpesadill, Specpesadill, Spectrum)
STD_ROM_FN(Specpesadill)

struct BurnDriver BurnSpecpesadill = {
	"spec_pesadill", NULL, "spec_spectrum", NULL, "19xx",
	"Pesadilla (Spanish) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpesadillRomInfo, SpecpesadillRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Peter Beardsley's International Football (48K)

static struct BurnRomInfo SpecpebeinfoRomDesc[] = {
	{ "Peter Beardsley's International Football (1988)(Grandslam Entertainments).z80", 0x06cf2, 0x4f246740, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpebeinfo, Specpebeinfo, Spectrum)
STD_ROM_FN(Specpebeinfo)

struct BurnDriver BurnSpecpebeinfo = {
	"spec_pebeinfo", NULL, "spec_spectrum", NULL, "1988",
	"Peter Beardsley's International Football (48K)\0", NULL, "Grandslam Entertainments", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpebeinfoRomInfo, SpecpebeinfoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Peter Pack Rat (48K)

static struct BurnRomInfo SpecpetpacraRomDesc[] = {
	{ "Peter Pack Rat (1989)(Silverbird Software).z80", 0x09a7e, 0xfb8c66ad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpetpacra, Specpetpacra, Spectrum)
STD_ROM_FN(Specpetpacra)

struct BurnDriver BurnSpecpetpacra = {
	"spec_petpacra", NULL, "spec_spectrum", NULL, "1989",
	"Peter Pack Rat (48K)\0", NULL, "Silverbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpetpacraRomInfo, SpecpetpacraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Peter Pan (48K)

static struct BurnRomInfo SpecpetepanRomDesc[] = {
	{ "Peter Pan (1984)(Hodder & Stoughton).z80", 0x0a948, 0x7af9532a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpetepan, Specpetepan, Spectrum)
STD_ROM_FN(Specpetepan)

struct BurnDriver BurnSpecpetepan = {
	"spec_petepan", NULL, "spec_spectrum", NULL, "1984",
	"Peter Pan (48K)\0", NULL, "Hodder & Stoughton", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpetepanRomInfo, SpecpetepanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Peter Shilton's Handball Maradona (48K)

static struct BurnRomInfo SpecpshandmRomDesc[] = {
	{ "Peter Shilton's Handball Maradona (1986)(Grandslam Entertainments).z80", 0x09dff, 0x5d4a8e4d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpshandm, Specpshandm, Spectrum)
STD_ROM_FN(Specpshandm)

struct BurnDriver BurnSpecpshandm = {
	"spec_pshandm", NULL, "spec_spectrum", NULL, "1986",
	"Peter Shilton's Handball Maradona (48K)\0", NULL, "Grandslam Entertainments", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpshandmRomInfo, SpecpshandmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pettigrew Chronicles, The (Part 1 of 4) (48K)

static struct BurnRomInfo SpecpettgrewRomDesc[] = {
	{ "Pettigrew Chronicles, The (1985)(Shards Software)(Part 1 of 4).z80", 0x0a20f, 0x69f1e9e6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpettgrew, Specpettgrew, Spectrum)
STD_ROM_FN(Specpettgrew)

struct BurnDriver BurnSpecpettgrew = {
	"spec_pettgrew", NULL, "spec_spectrum", NULL, "1985",
	"Pettigrew Chronicles, The (Part 1 of 4) (48K)\0", NULL, "Shards Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpettgrewRomInfo, SpecpettgrewRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pettigrew Chronicles, The (Part 2 of 4) (48K)

static struct BurnRomInfo Specpettgrew2RomDesc[] = {
	{ "Pettigrew Chronicles, The (1985)(Shards Software)(Part 2 of 4).z80", 0x09fa2, 0x409dd16b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpettgrew2, Specpettgrew2, Spectrum)
STD_ROM_FN(Specpettgrew2)

struct BurnDriver BurnSpecpettgrew2 = {
	"spec_pettgrew2", "spec_pettgrew", "spec_spectrum", NULL, "1985",
	"Pettigrew Chronicles, The (Part 2 of 4) (48K)\0", NULL, "Shards Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpettgrew2RomInfo, Specpettgrew2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pettigrew Chronicles, The (Part 3 of 4) (48K)

static struct BurnRomInfo Specpettgrew3RomDesc[] = {
	{ "Pettigrew Chronicles, The (1985)(Shards Software)(Part 3 of 4).z80", 0x0a00c, 0x46992b0b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpettgrew3, Specpettgrew3, Spectrum)
STD_ROM_FN(Specpettgrew3)

struct BurnDriver BurnSpecpettgrew3 = {
	"spec_pettgrew3", "spec_pettgrew", "spec_spectrum", NULL, "1985",
	"Pettigrew Chronicles, The (Part 3 of 4) (48K)\0", NULL, "Shards Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpettgrew3RomInfo, Specpettgrew3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pettigrew Chronicles, The (Part 4 of 4) (48K)

static struct BurnRomInfo Specpettgrew4RomDesc[] = {
	{ "Pettigrew Chronicles, The (1985)(Shards Software)(Part 4 of 4).z80", 0x093d1, 0x16694a31, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpettgrew4, Specpettgrew4, Spectrum)
STD_ROM_FN(Specpettgrew4)

struct BurnDriver BurnSpecpettgrew4 = {
	"spec_pettgrew4", "spec_pettgrew", "spec_spectrum", NULL, "1985",
	"Pettigrew Chronicles, The (Part 4 of 4) (48K)\0", NULL, "Shards Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpettgrew4RomInfo, Specpettgrew4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Phantis (Spanish) (48K)

static struct BurnRomInfo SpecphantiseRomDesc[] = {
	{ "Phantis (1987)(Dinamic Software)(es)(Part 2 of 2).z80", 0x08a60, 0xd80ebe0b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specphantise, Specphantise, Spectrum)
STD_ROM_FN(Specphantise)

struct BurnDriver BurnSpecphantise = {
	"spec_phantise", NULL, "spec_spectrum", NULL, "1987",
	"Phantis (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecphantiseRomInfo, SpecphantiseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Phantom Club (48K)

static struct BurnRomInfo SpecphanclubRomDesc[] = {
	{ "Phantom Club (1988)(Ocean).z80", 0x0a16b, 0x409e8068, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specphanclub, Specphanclub, Spectrum)
STD_ROM_FN(Specphanclub)

struct BurnDriver BurnSpecphanclub = {
	"spec_phanclub", NULL, "spec_spectrum", NULL, "1988",
	"Phantom Club (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecphanclubRomInfo, SpecphanclubRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Phantom F4 (sk) (Part 1 of 2) (128K)

static struct BurnRomInfo Specphantmf4RomDesc[] = {
	{ "Phantom F4 (1992)(Ultrasoft)(sk)(Part 1 of 2)[128K].z80", 0x0a579, 0x012dfc64, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specphantmf4, Specphantmf4, Spectrum)
STD_ROM_FN(Specphantmf4)

struct BurnDriver BurnSpecphantmf4 = {
	"spec_phantmf4", NULL, "spec_spec128", NULL, "1992",
	"Phantom F4 (sk) (Part 1 of 2) (128K)\0", NULL, "Ultrasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specphantmf4RomInfo, Specphantmf4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Phantom F4 (sk) (Part 2 of 2) (128K)

static struct BurnRomInfo Specphantmf42RomDesc[] = {
	{ "Phantom F4 (1992)(Ultrasoft)(sk)(Part 2 of 2)[128K].z80", 0x0b816, 0x78668e7d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specphantmf42, Specphantmf42, Spectrum)
STD_ROM_FN(Specphantmf42)

struct BurnDriver BurnSpecphantmf42 = {
	"spec_phantmf42", "spec_phantmf4", "spec_spec128", NULL, "1992",
	"Phantom F4 (sk) (Part 2 of 2) (128K)\0", NULL, "Ultrasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specphantmf42RomInfo, Specphantmf42RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Phantom F4 2 (sk) (48K)

static struct BurnRomInfo Specphatmf42RomDesc[] = {
	{ "Phantom F4 2 (1992)(Ultrasoft)(sk).z80", 0x092c5, 0x7ad57148, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specphatmf42, Specphatmf42, Spectrum)
STD_ROM_FN(Specphatmf42)

struct BurnDriver BurnSpecphatmf42 = {
	"spec_phatmf42", NULL, "spec_spectrum", NULL, "1992",
	"Phantom F4 2 (sk) (48K)\0", NULL, "Ultrasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specphatmf42RomInfo, Specphatmf42RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Phantomas (48K)

static struct BurnRomInfo SpecphantomaRomDesc[] = {
	{ "Phantomas (1986)(Codemasters)[re-release].z80", 0x09c1c, 0x5de337cd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specphantoma, Specphantoma, Spectrum)
STD_ROM_FN(Specphantoma)

struct BurnDriver BurnSpecphantoma = {
	"spec_phantoma", NULL, "spec_spectrum", NULL, "1986",
	"Phantomas (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecphantomaRomInfo, SpecphantomaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Phantomas (Spanish) (48K)

static struct BurnRomInfo SpecphantomasRomDesc[] = {
	{ "Phantomas (1986)(Dinamic Software)(es)[t].z80", 0x09af7, 0xe9e7d4c1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specphantomas, Specphantomas, Spectrum)
STD_ROM_FN(Specphantomas)

struct BurnDriver BurnSpecphantomas = {
	"spec_phantomas", "spec_phantoma", "spec_spectrum", NULL, "1986",
	"Phantomas (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecphantomasRomInfo, SpecphantomasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Phantomas 2 (Spanish) (48K)

static struct BurnRomInfo Specphantom2RomDesc[] = {
	{ "Phantomas 2 (1986)(Dinamic Software)(es).z80", 0x09ffc, 0x2b239fed, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specphantom2, Specphantom2, Spectrum)
STD_ROM_FN(Specphantom2)

struct BurnDriver BurnSpecphantom2 = {
	"spec_phantom2", NULL, "spec_spectrum", NULL, "1986",
	"Phantomas 2 (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specphantom2RomInfo, Specphantom2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pharaoh's Tomb, The (48K)

static struct BurnRomInfo SpecphatomthRomDesc[] = {
	{ "Pharaoh's Tomb, The (1983)(Phipps Associates).z80", 0x072ed, 0x8c23b2e8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specphatomth, Specphatomth, Spectrum)
STD_ROM_FN(Specphatomth)

struct BurnDriver BurnSpecphatomth = {
	"spec_phatomth", NULL, "spec_spectrum", NULL, "1983",
	"Pharaoh's Tomb, The (48K)\0", NULL, "Phipps Associates", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecphatomthRomInfo, SpecphatomthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Phasorchase (48K)

static struct BurnRomInfo SpecphasorchRomDesc[] = {
	{ "Phasorchase (1984)(Anik Microsystems).z80", 0x02467, 0x72c8b295, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specphasorch, Specphasorch, Spectrum)
STD_ROM_FN(Specphasorch)

struct BurnDriver BurnSpecphasorch = {
	"spec_phasorch", NULL, "spec_spectrum", NULL, "1984",
	"Phasorchase (48K)\0", NULL, "Anik Microsystems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecphasorchRomInfo, SpecphasorchRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Phileas Fogg's Balloon Battles (48K)

static struct BurnRomInfo SpecphfobabaRomDesc[] = {
	{ "Phileas Fogg's Balloon Battles (1991)(Zeppelin Games).z80", 0x08fb2, 0x6141cbe0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specphfobaba, Specphfobaba, Spectrum)
STD_ROM_FN(Specphfobaba)

struct BurnDriver BurnSpecphfobaba = {
	"spec_phfobaba", NULL, "spec_spectrum", NULL, "1991",
	"Phileas Fogg's Balloon Battles (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecphfobabaRomInfo, SpecphfobabaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Philosopher's Stone, The (48K)

static struct BurnRomInfo SpecphistothRomDesc[] = {
	{ "Philosopher's Stone, The (1986)(Central Solutions).z80", 0x0a1b2, 0x7d9bef01, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specphistoth, Specphistoth, Spectrum)
STD_ROM_FN(Specphistoth)

struct BurnDriver BurnSpecphistoth = {
	"spec_phistoth", NULL, "spec_spectrum", NULL, "1986",
	"Philosopher's Stone, The (48K)\0", NULL, "Central Solutions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecphistothRomInfo, SpecphistothRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Phoenix (48K)

static struct BurnRomInfo SpecphoenixRomDesc[] = {
	{ "Phoenix (1991)(Zenobi Software).z80", 0x092d3, 0xb2218446, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specphoenix, Specphoenix, Spectrum)
STD_ROM_FN(Specphoenix)

struct BurnDriver BurnSpecphoenix = {
	"spec_phoenix", NULL, "spec_spectrum", NULL, "1991",
	"Phoenix (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecphoenixRomInfo, SpecphoenixRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pi (48K)

static struct BurnRomInfo SpecpiRomDesc[] = {
	{ "Pi (1983)(Blanchard Smith).z80", 0x015cd, 0xa3711b23, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpi, Specpi, Spectrum)
STD_ROM_FN(Specpi)

struct BurnDriver BurnSpecpi = {
	"spec_pi", NULL, "spec_spectrum", NULL, "1983",
	"Pi (48K)\0", NULL, "Blanchard Smith", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpiRomInfo, SpecpiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pi in the Sky (48K)

static struct BurnRomInfo SpecpiinskyRomDesc[] = {
	{ "Pi in the Sky (1985)(Automata UK).z80", 0x06596, 0x80c5868b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpiinsky, Specpiinsky, Spectrum)
STD_ROM_FN(Specpiinsky)

struct BurnDriver BurnSpecpiinsky = {
	"spec_piinsky", NULL, "spec_spectrum", NULL, "1985",
	"Pi in the Sky (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpiinskyRomInfo, SpecpiinskyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pi There! (48K)

static struct BurnRomInfo SpecpithereRomDesc[] = {
	{ "Pi There! (1985)(Automata UK).z80", 0x07dee, 0x35438838, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpithere, Specpithere, Spectrum)
STD_ROM_FN(Specpithere)

struct BurnDriver BurnSpecpithere = {
	"spec_pithere", NULL, "spec_spectrum", NULL, "1985",
	"Pi There! (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpithereRomInfo, SpecpithereRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pi Week the Quest (48K)

static struct BurnRomInfo SpecpiweekthRomDesc[] = {
	{ "Pi Week the Quest (1997)(CSSCGC).z80", 0x05904, 0xacf53da0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpiweekth, Specpiweekth, Spectrum)
STD_ROM_FN(Specpiweekth)

struct BurnDriver BurnSpecpiweekth = {
	"spec_piweekth", NULL, "spec_spectrum", NULL, "1997",
	"Pi Week the Quest (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpiweekthRomInfo, SpecpiweekthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Piano (48K)

static struct BurnRomInfo SpecpianoRomDesc[] = {
	{ "Piano (19xx)(-).z80", 0x0094f, 0x1a6c366f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpiano, Specpiano, Spectrum)
STD_ROM_FN(Specpiano)

struct BurnDriver BurnSpecpiano = {
	"spec_piano", NULL, "spec_spectrum", NULL, "19xx",
	"Piano (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpianoRomInfo, SpecpianoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pi-Balled (48K)

static struct BurnRomInfo SpecpiballedRomDesc[] = {
	{ "Pi-Balled (1984)(Automata UK)[speech].z80", 0x0717a, 0x103ae8e2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpiballed, Specpiballed, Spectrum)
STD_ROM_FN(Specpiballed)

struct BurnDriver BurnSpecpiballed = {
	"spec_piballed", NULL, "spec_spectrum", NULL, "1984",
	"Pi-Balled (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpiballedRomInfo, SpecpiballedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pick 'n' Pile (48K)

static struct BurnRomInfo Specpickpile_48RomDesc[] = {
	{ "Pick 'n' Pile (1990)(Ubi Soft).z80", 0x05913, 0x2db1b7c2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpickpile_48, Specpickpile_48, Spectrum)
STD_ROM_FN(Specpickpile_48)

struct BurnDriver BurnSpecpickpile_48 = {
	"spec_pickpile_48", "spec_pickpile", "spec_spectrum", NULL, "1990",
	"Pick 'n' Pile (48K)\0", NULL, "Ubi Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpickpile_48RomInfo, Specpickpile_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pick 'n' Pile (128K)

static struct BurnRomInfo SpecpickpileRomDesc[] = {
	{ "Pick 'n' Pile (1990)(Ubi Soft)[128K].z80", 0x065b6, 0xffc9116e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpickpile, Specpickpile, Spectrum)
STD_ROM_FN(Specpickpile)

struct BurnDriver BurnSpecpickpile = {
	"spec_pickpile", NULL, "spec_spec128", NULL, "1990",
	"Pick 'n' Pile (128K)\0", NULL, "Ubi Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpickpileRomInfo, SpecpickpileRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pick Out 2 (sk) (128K)

static struct BurnRomInfo Specpickout2RomDesc[] = {
	{ "Pick Out 2 (1992)(Ultrasoft)(sk)[128K].z80", 0x0977c, 0x5a1be040, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpickout2, Specpickout2, Spectrum)
STD_ROM_FN(Specpickout2)

struct BurnDriver BurnSpecpickout2 = {
	"spec_pickout2", NULL, "spec_spec128", NULL, "1992",
	"Pick Out 2 (sk) (128K)\0", NULL, "Ultrasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpickout2RomInfo, Specpickout2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pictionary (128K)

static struct BurnRomInfo SpecpictionaRomDesc[] = {
	{ "Pictionary (1989)(Domark)[128K][needs tape load].z80", 0x0a23e, 0x7585e607, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpictiona, Specpictiona, Spectrum)
STD_ROM_FN(Specpictiona)

struct BurnDriver BurnSpecpictiona = {
	"spec_pictiona", NULL, "spec_spec128", NULL, "1989",
	"Pictionary (128K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpictionaRomInfo, SpecpictionaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pictionary (48K)

static struct BurnRomInfo Specpictiona_48RomDesc[] = {
	{ "Pictionary (1989)(Domark)[needs tape load].z80", 0x09bc5, 0x5377476f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpictiona_48, Specpictiona_48, Spectrum)
STD_ROM_FN(Specpictiona_48)

struct BurnDriver BurnSpecpictiona_48 = {
	"spec_pictiona_48", "spec_pictiona", "spec_spectrum", NULL, "1989",
	"Pictionary (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpictiona_48RomInfo, Specpictiona_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pi-Eyed (48K)

static struct BurnRomInfo SpecpieyedRomDesc[] = {
	{ "Pi-Eyed (1983)(Automata UK).z80", 0x059df, 0x965dff71, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpieyed, Specpieyed, Spectrum)
STD_ROM_FN(Specpieyed)

struct BurnDriver BurnSpecpieyed = {
	"spec_pieyed", NULL, "spec_spectrum", NULL, "1983",
	"Pi-Eyed (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpieyedRomInfo, SpecpieyedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Piggy (Argus Press Software) (48K)

static struct BurnRomInfo SpecpiggyargRomDesc[] = {
	{ "Piggy (1985)(Argus Press Software).z80", 0x03b7c, 0x69c86a19, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpiggyarg, Specpiggyarg, Spectrum)
STD_ROM_FN(Specpiggyarg)

struct BurnDriver BurnSpecpiggyarg = {
	"spec_piggyarg", NULL, "spec_spectrum", NULL, "1985",
	"Piggy (Argus Press Software) (48K)\0", NULL, "Argus Press Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpiggyargRomInfo, SpecpiggyargRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Piggy (Bug-Byte Software) (48K)

static struct BurnRomInfo SpecpiggybbRomDesc[] = {
	{ "Piggy (1988)(Bug-Byte Software).z80", 0x08645, 0xc2b9527d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpiggybb, Specpiggybb, Spectrum)
STD_ROM_FN(Specpiggybb)

struct BurnDriver BurnSpecpiggybb = {
	"spec_piggybb", NULL, "spec_spectrum", NULL, "1988",
	"Piggy (Bug-Byte Software) (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpiggybbRomInfo, SpecpiggybbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pi-In-'Ere (48K)

static struct BurnRomInfo SpecpiinereRomDesc[] = {
	{ "Pi-In-'Ere (1984)(Automata UK).z80", 0x0933f, 0xd6278473, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpiinere, Specpiinere, Spectrum)
STD_ROM_FN(Specpiinere)

struct BurnDriver BurnSpecpiinere = {
	"spec_piinere", NULL, "spec_spectrum", NULL, "1984",
	"Pi-In-'Ere (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpiinereRomInfo, SpecpiinereRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// PIJ - Podraz na Indiana Jonese (cs) (48K)

static struct BurnRomInfo SpecpijpijRomDesc[] = {
	{ "PIJ - Podraz na Indiana Jonese (1987)(PKCS - Fuxoft)(cs).z80", 0x088d6, 0xebbd7d93, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpijpij, Specpijpij, Spectrum)
STD_ROM_FN(Specpijpij)

struct BurnDriver BurnSpecpijpij = {
	"spec_pijpij", NULL, "spec_spectrum", NULL, "1987",
	"PIJ - Podraz na Indiana Jonese (cs) (48K)\0", NULL, "PKCS - Fuxoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpijpijRomInfo, SpecpijpijRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pimania (48K)

static struct BurnRomInfo SpecpimaniaRomDesc[] = {
	{ "Pimania (1982)(Automata UK).z80", 0x09d29, 0x4a24a1e2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpimania, Specpimania, Spectrum)
STD_ROM_FN(Specpimania)

struct BurnDriver BurnSpecpimania = {
	"spec_pimania", NULL, "spec_spectrum", NULL, "1982",
	"Pimania (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpimaniaRomInfo, SpecpimaniaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pimans Cocktail Cabinet, The (48K)

static struct BurnRomInfo SpecpicocathRomDesc[] = {
	{ "Pimans Cocktail Cabinet, The (1985)(Automata UK).z80", 0x07654, 0x0b99d8df, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpicocath, Specpicocath, Spectrum)
STD_ROM_FN(Specpicocath)

struct BurnDriver BurnSpecpicocath = {
	"spec_picocath", NULL, "spec_spectrum", NULL, "1985",
	"Pimans Cocktail Cabinet, The (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpicocathRomInfo, SpecpicocathRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pimeval Man (48K)

static struct BurnRomInfo SpecpimemanRomDesc[] = {
	{ "Pimeval Man (1985)(Automata UK).z80", 0x080f6, 0xae609df7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpimeman, Specpimeman, Spectrum)
STD_ROM_FN(Specpimeman)

struct BurnDriver BurnSpecpimeman = {
	"spec_pimeman", NULL, "spec_spectrum", NULL, "1985",
	"Pimeval Man (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpimemanRomInfo, SpecpimemanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pinball Power (48K)

static struct BurnRomInfo SpecpinbpoweRomDesc[] = {
	{ "Pinball Power (1989)(Mastertronic Plus).z80", 0x0ac96, 0x324f2707, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpinbpowe, Specpinbpowe, Spectrum)
STD_ROM_FN(Specpinbpowe)

struct BurnDriver BurnSpecpinbpowe = {
	"spec_pinbpowe", NULL, "spec_spectrum", NULL, "1989",
	"Pinball Power (48K)\0", NULL, "Mastertronic Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpinbpoweRomInfo, SpecpinbpoweRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ping Pong (sv) (48K)

static struct BurnRomInfo SpecpingpongRomDesc[] = {
	{ "Ping Pong (1984)(Ronny Nordqvist)(sv).z80", 0x03a68, 0xca0a6edb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpingpong, Specpingpong, Spectrum)
STD_ROM_FN(Specpingpong)

struct BurnDriver BurnSpecpingpong = {
	"spec_pingpong", NULL, "spec_spectrum", NULL, "1984",
	"Ping Pong (sv) (48K)\0", NULL, "Ronny Nordqvist", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpingpongRomInfo, SpecpingpongRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pingo (48K)

static struct BurnRomInfo SpecpingoRomDesc[] = {
	{ "Pingo (1984)(Profisoft).z80", 0x046fb, 0x3a68770e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpingo, Specpingo, Spectrum)
STD_ROM_FN(Specpingo)

struct BurnDriver BurnSpecpingo = {
	"spec_pingo", NULL, "spec_spectrum", NULL, "1984",
	"Pingo (48K)\0", NULL, "Profisoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpingoRomInfo, SpecpingoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pink Panther (48K)

static struct BurnRomInfo SpecpinkpantRomDesc[] = {
	{ "Pink Panther (1988)(Gremlin Graphics Software).z80", 0x09428, 0xbe984432, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpinkpant, Specpinkpant, Spectrum)
STD_ROM_FN(Specpinkpant)

struct BurnDriver BurnSpecpinkpant = {
	"spec_pinkpant", NULL, "spec_spectrum", NULL, "1988",
	"Pink Panther (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpinkpantRomInfo, SpecpinkpantRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pioneer (48K)

static struct BurnRomInfo SpecpioneerRomDesc[] = {
	{ "Pioneer (1984)(Atlantis Software).z80", 0x08492, 0xab3bd7e8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpioneer, Specpioneer, Spectrum)
STD_ROM_FN(Specpioneer)

struct BurnDriver BurnSpecpioneer = {
	"spec_pioneer", NULL, "spec_spectrum", NULL, "1984",
	"Pioneer (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpioneerRomInfo, SpecpioneerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pipe Mania (48K)

static struct BurnRomInfo SpecpipemaniRomDesc[] = {
	{ "Pipe Mania (1990)(Empire Software).z80", 0x06e9a, 0xcc44ddfe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpipemani, Specpipemani, Spectrum)
STD_ROM_FN(Specpipemani)

struct BurnDriver BurnSpecpipemani = {
	"spec_pipemani", NULL, "spec_spectrum", NULL, "1990",
	"Pipe Mania (48K)\0", NULL, "Empire Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpipemaniRomInfo, SpecpipemaniRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pipeline (48K)

static struct BurnRomInfo SpecpipelineRomDesc[] = {
	{ "Pipeline (1985)(Viper Software).z80", 0x07ac0, 0xf1c5fb9e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpipeline, Specpipeline, Spectrum)
STD_ROM_FN(Specpipeline)

struct BurnDriver BurnSpecpipeline = {
	"spec_pipeline", NULL, "spec_spectrum", NULL, "1985",
	"Pipeline (48K)\0", NULL, "Viper Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpipelineRomInfo, SpecpipelineRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pippo (48K)

static struct BurnRomInfo SpecpippoRomDesc[] = {
	{ "Pippo (1986)(Mastertronic).z80", 0x0b03e, 0xf63e41be, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpippo, Specpippo, Spectrum)
STD_ROM_FN(Specpippo)

struct BurnDriver BurnSpecpippo = {
	"spec_pippo", NULL, "spec_spectrum", NULL, "1986",
	"Pippo (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpippoRomInfo, SpecpippoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pi-R Squared (48K)

static struct BurnRomInfo SpecpirsquarRomDesc[] = {
	{ "Pi-R Squared (1987)(Mind Games).z80", 0x0657a, 0xb65d1a7f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpirsquar, Specpirsquar, Spectrum)
STD_ROM_FN(Specpirsquar)

struct BurnDriver BurnSpecpirsquar = {
	"spec_pirsquar", NULL, "spec_spectrum", NULL, "1987",
	"Pi-R Squared (48K)\0", NULL, "Mind Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpirsquarRomInfo, SpecpirsquarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Piramide, La (Spanish) (48K)

static struct BurnRomInfo SpecpiralaesRomDesc[] = {
	{ "Piramide, La (19xx)(Lolo Soft)(es).z80", 0x052a9, 0x7a689899, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpiralaes, Specpiralaes, Spectrum)
STD_ROM_FN(Specpiralaes)

struct BurnDriver BurnSpecpiralaes = {
	"spec_piralaes", NULL, "spec_spectrum", NULL, "19xx",
	"Piramide, La (Spanish) (48K)\0", NULL, "Lolo Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpiralaesRomInfo, SpecpiralaesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pirate Island (48K)

static struct BurnRomInfo SpecpiraislaRomDesc[] = {
	{ "Pirate Island (1983)(Work Force).z80", 0x04e47, 0xa761bff5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpiraisla, Specpiraisla, Spectrum)
STD_ROM_FN(Specpiraisla)

struct BurnDriver BurnSpecpiraisla = {
	"spec_piraisla", NULL, "spec_spectrum", NULL, "1983",
	"Pirate Island (48K)\0", NULL, "Work Force", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpiraislaRomInfo, SpecpiraislaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Piromania (48K)

static struct BurnRomInfo SpecpiromaniRomDesc[] = {
	{ "Piromania (1984)(Automata UK).z80", 0x0519f, 0xd25e1830, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpiromani, Specpiromani, Spectrum)
STD_ROM_FN(Specpiromani)

struct BurnDriver BurnSpecpiromani = {
	"spec_piromani", NULL, "spec_spectrum", NULL, "1984",
	"Piromania (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpiromaniRomInfo, SpecpiromaniRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pirx 1 (cs) (48K)

static struct BurnRomInfo Specpirx1csRomDesc[] = {
	{ "Pirx 1 (19xx)(Cook)(cs).z80", 0x08faf, 0x97d45ed7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpirx1cs, Specpirx1cs, Spectrum)
STD_ROM_FN(Specpirx1cs)

struct BurnDriver BurnSpecpirx1cs = {
	"spec_pirx1cs", NULL, "spec_spectrum", NULL, "19xx",
	"Pirx 1 (cs) (48K)\0", NULL, "Cook", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpirx1csRomInfo, Specpirx1csRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pirx 2 (cs) (48K)

static struct BurnRomInfo Specpirx2csRomDesc[] = {
	{ "Pirx 2 (1989)(Jan Kuchar)(cs).z80", 0x03f6f, 0x4bd6c84e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpirx2cs, Specpirx2cs, Spectrum)
STD_ROM_FN(Specpirx2cs)

struct BurnDriver BurnSpecpirx2cs = {
	"spec_pirx2cs", NULL, "spec_spectrum", NULL, "1989",
	"Pirx 2 (cs) (48K)\0", NULL, "Jan Kuchar", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpirx2csRomInfo, Specpirx2csRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Piso Zero (Spanish) (48K)

static struct BurnRomInfo SpecpisozeroRomDesc[] = {
	{ "Piso Zero (1991)(Zigurat Software)(es).z80", 0x0a65e, 0xa756b1a1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpisozero, Specpisozero, Spectrum)
STD_ROM_FN(Specpisozero)

struct BurnDriver BurnSpecpisozero = {
	"spec_pisozero", NULL, "spec_spectrum", NULL, "1991",
	"Piso Zero (Spanish) (48K)\0", NULL, "Zigurat Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpisozeroRomInfo, SpecpisozeroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pitch Scale (48K)

static struct BurnRomInfo SpecpitcscalRomDesc[] = {
	{ "Pitch Scale (1995)(Vaxalon).z80", 0x00aaa, 0x1d1326bd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpitcscal, Specpitcscal, Spectrum)
STD_ROM_FN(Specpitcscal)

struct BurnDriver BurnSpecpitcscal = {
	"spec_pitcscal", NULL, "spec_spectrum", NULL, "1995",
	"Pitch Scale (48K)\0", NULL, "Vaxalon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpitcscalRomInfo, SpecpitcscalRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pitfall II - Lost Caverns (48K)

static struct BurnRomInfo Specpitfall2RomDesc[] = {
	{ "Pitfall II - Lost Caverns (1984)(Activision).z80", 0x04c1f, 0x9043b47e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpitfall2, Specpitfall2, Spectrum)
STD_ROM_FN(Specpitfall2)

struct BurnDriver BurnSpecpitfall2 = {
	"spec_pitfall2", NULL, "spec_spectrum", NULL, "1984",
	"Pitfall II - Lost Caverns (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpitfall2RomInfo, Specpitfall2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pitman Seven (48K)

static struct BurnRomInfo SpecpitmsevnRomDesc[] = {
	{ "Pitman Seven (1983)(Visions Software Factory).z80", 0x06c23, 0x0770f87a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpitmsevn, Specpitmsevn, Spectrum)
STD_ROM_FN(Specpitmsevn)

struct BurnDriver BurnSpecpitmsevn = {
	"spec_pitmsevn", NULL, "spec_spectrum", NULL, "1983",
	"Pitman Seven (48K)\0", NULL, "Visions Software Factory", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpitmsevnRomInfo, SpecpitmsevnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Plagues of Egypt, The (Part 1 of 2) (48K)

static struct BurnRomInfo SpecplagegptRomDesc[] = {
	{ "Plagues of Egypt, The (1990)(Michael Young)(Part 1 of 2).z80", 0x08daf, 0x10ac3171, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specplagegpt, Specplagegpt, Spectrum)
STD_ROM_FN(Specplagegpt)

struct BurnDriver BurnSpecplagegpt = {
	"spec_plagegpt", NULL, "spec_spectrum", NULL, "1990",
	"Plagues of Egypt, The (Part 1 of 2) (48K)\0", NULL, "Michael Young", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecplagegptRomInfo, SpecplagegptRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Plagues of Egypt, The (Part 2 of 2) (48K)

static struct BurnRomInfo Specplagegpt2RomDesc[] = {
	{ "Plagues of Egypt, The (1990)(Michael Young)(Part 2 of 2).z80", 0x06a94, 0xb07014bc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specplagegpt2, Specplagegpt2, Spectrum)
STD_ROM_FN(Specplagegpt2)

struct BurnDriver BurnSpecplagegpt2 = {
	"spec_plagegpt2", "spec_plagegpt", "spec_spectrum", NULL, "1990",
	"Plagues of Egypt, The (Part 2 of 2) (48K)\0", NULL, "Michael Young", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specplagegpt2RomInfo, Specplagegpt2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Plane Attack (48K)

static struct BurnRomInfo SpecplanattaRomDesc[] = {
	{ "Plane Attack (19xx)(-).z80", 0x03520, 0x4070161c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specplanatta, Specplanatta, Spectrum)
STD_ROM_FN(Specplanatta)

struct BurnDriver BurnSpecplanatta = {
	"spec_planatta", NULL, "spec_spectrum", NULL, "19xx",
	"Plane Attack (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecplanattaRomInfo, SpecplanattaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Planet Fighter (German) (48K)

static struct BurnRomInfo SpecplanfighRomDesc[] = {
	{ "Planet Fighter (19xx)(-)(de).z80", 0x0394f, 0x164c8487, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specplanfigh, Specplanfigh, Spectrum)
STD_ROM_FN(Specplanfigh)

struct BurnDriver BurnSpecplanfigh = {
	"spec_planfigh", NULL, "spec_spectrum", NULL, "19xx",
	"Planet Fighter (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecplanfighRomInfo, SpecplanfighRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Planetfall (48K)

static struct BurnRomInfo SpecplanetfaRomDesc[] = {
	{ "Planetfall (1984)(Argus Press Software).z80", 0x09059, 0x1f18b369, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specplanetfa, Specplanetfa, Spectrum)
STD_ROM_FN(Specplanetfa)

struct BurnDriver BurnSpecplanetfa = {
	"spec_planetfa", NULL, "spec_spectrum", NULL, "1984",
	"Planetfall (48K)\0", NULL, "Argus Press Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecplanetfaRomInfo, SpecplanetfaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Planets, The (48K)

static struct BurnRomInfo Specplanets_48RomDesc[] = {
	{ "Planets, The (1986)(Martech Games).z80", 0x0937f, 0xb8daa06f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specplanets_48, Specplanets_48, Spectrum)
STD_ROM_FN(Specplanets_48)

struct BurnDriver BurnSpecplanets_48 = {
	"spec_planets_48", "spec_planets", "spec_spectrum", NULL, "1986",
	"Planets, The (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specplanets_48RomInfo, Specplanets_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Planets, The (128K)

static struct BurnRomInfo SpecplanetsRomDesc[] = {
	{ "Planets, The (1986)(Martech Games)[128K].z80", 0x14903, 0x423e2ec2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specplanets, Specplanets, Spectrum)
STD_ROM_FN(Specplanets)

struct BurnDriver BurnSpecplanets = {
	"spec_planets", NULL, "spec_spec128", NULL, "1986",
	"Planets, The (128K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecplanetsRomInfo, SpecplanetsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Plasma Ball (48K)

static struct BurnRomInfo SpecplasballRomDesc[] = {
	{ "Plasma Ball (1989)(Atlantis Software).z80", 0x08098, 0x4d2527cc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specplasball, Specplasball, Spectrum)
STD_ROM_FN(Specplasball)

struct BurnDriver BurnSpecplasball = {
	"spec_plasball", NULL, "spec_spectrum", NULL, "1989",
	"Plasma Ball (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecplasballRomInfo, SpecplasballRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Platoon (48K)

static struct BurnRomInfo Specplatoon_48RomDesc[] = {
	{ "Platoon (1988)(Ocean).z80", 0x09ae3, 0x06b39aa4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specplatoon_48, Specplatoon_48, Spectrum)
STD_ROM_FN(Specplatoon_48)

struct BurnDriver BurnSpecplatoon_48 = {
	"spec_platoon_48", "spec_platoon", "spec_spectrum", NULL, "1988",
	"Platoon (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specplatoon_48RomInfo, Specplatoon_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Platoon (128K)

static struct BurnRomInfo SpecplatoonRomDesc[] = {
	{ "Platoon (1988)(Ocean)[128K].z80", 0x1a121, 0xaa4d4d13, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specplatoon, Specplatoon, Spectrum)
STD_ROM_FN(Specplatoon)

struct BurnDriver BurnSpecplatoon = {
	"spec_platoon", NULL, "spec_spec128", NULL, "1988",
	"Platoon (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecplatoonRomInfo, SpecplatoonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Play It Again, Sam (Part 1 of 2) (48K)

static struct BurnRomInfo SpecplitagsaRomDesc[] = {
	{ "Play It Again, Sam (1986)(Mastertronic Added Dimension)(Part 1 of 2).z80", 0x0a12d, 0x1213e349, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specplitagsa, Specplitagsa, Spectrum)
STD_ROM_FN(Specplitagsa)

struct BurnDriver BurnSpecplitagsa = {
	"spec_plitagsa", NULL, "spec_spectrum", NULL, "1986",
	"Play It Again, Sam (Part 1 of 2) (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecplitagsaRomInfo, SpecplitagsaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Play It Again, Sam (Part 2 of 2) (48K)

static struct BurnRomInfo Specplitagsa2RomDesc[] = {
	{ "Play It Again, Sam (1986)(Mastertronic Added Dimension)(Part 2 of 2).z80", 0x09b56, 0x5cb5a8a5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specplitagsa2, Specplitagsa2, Spectrum)
STD_ROM_FN(Specplitagsa2)

struct BurnDriver BurnSpecplitagsa2 = {
	"spec_plitagsa2", "spec_plitagsa", "spec_spectrum", NULL, "1986",
	"Play It Again, Sam (Part 2 of 2) (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specplitagsa2RomInfo, Specplitagsa2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Plot, The (48K)

static struct BurnRomInfo SpecplottheRomDesc[] = {
	{ "Plot, The (1988)(Firebird Software).z80", 0x0adb1, 0x0f22cde9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specplotthe, Specplotthe, Spectrum)
STD_ROM_FN(Specplotthe)

struct BurnDriver BurnSpecplotthe = {
	"spec_plotthe", NULL, "spec_spectrum", NULL, "1988",
	"Plot, The (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecplottheRomInfo, SpecplottheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Plotting (48K)

static struct BurnRomInfo Specplotting_48RomDesc[] = {
	{ "Plotting (1990)(Ocean).z80", 0x09950, 0xce3f07c5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specplotting_48, Specplotting_48, Spectrum)
STD_ROM_FN(Specplotting_48)

struct BurnDriver BurnSpecplotting_48 = {
	"spec_plotting_48", "spec_plotting", "spec_spectrum", NULL, "1990",
	"Plotting (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specplotting_48RomInfo, Specplotting_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Plotting (128K)

static struct BurnRomInfo SpecplottingRomDesc[] = {
	{ "Plotting (1990)(Ocean)[128K].z80", 0x09fb3, 0xdd65a0b5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specplotting, Specplotting, Spectrum)
STD_ROM_FN(Specplotting)

struct BurnDriver BurnSpecplotting = {
	"spec_plotting", NULL, "spec_spec128", NULL, "1990",
	"Plotting (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecplottingRomInfo, SpecplottingRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pluggit (48K)

static struct BurnRomInfo SpecpluggitRomDesc[] = {
	{ "Pluggit (1984)(Blaby Computer Games).z80", 0x06c4b, 0xd992f73a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpluggit, Specpluggit, Spectrum)
STD_ROM_FN(Specpluggit)

struct BurnDriver BurnSpecpluggit = {
	"spec_pluggit", NULL, "spec_spectrum", NULL, "1984",
	"Pluggit (48K)\0", NULL, "Blaby Computer Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpluggitRomInfo, SpecpluggitRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Plum Duff (128K)

static struct BurnRomInfo SpecplumduffRomDesc[] = {
	{ "Plum Duff (1985)(Bug-Byte Software)[128K].z80", 0x0f14c, 0x0513aa24, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specplumduff, Specplumduff, Spectrum)
STD_ROM_FN(Specplumduff)

struct BurnDriver BurnSpecplumduff = {
	"spec_plumduff", NULL, "spec_spec128", NULL, "1985",
	"Plum Duff (128K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecplumduffRomInfo, SpecplumduffRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Plummet (48K)

static struct BurnRomInfo SpecplummetRomDesc[] = {
	{ "Plummet (1984)(Interceptor Micros Software).z80", 0x07eda, 0x8c456158, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specplummet, Specplummet, Spectrum)
STD_ROM_FN(Specplummet)

struct BurnDriver BurnSpecplummet = {
	"spec_plummet", NULL, "spec_spectrum", NULL, "1984",
	"Plummet (48K)\0", NULL, "Interceptor Micros Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecplummetRomInfo, SpecplummetRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Plunder (48K)

static struct BurnRomInfo SpecplunderRomDesc[] = {
	{ "Plunder (1983)(CCS).z80", 0x08a24, 0x73397a3e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specplunder, Specplunder, Spectrum)
STD_ROM_FN(Specplunder)

struct BurnDriver BurnSpecplunder = {
	"spec_plunder", NULL, "spec_spectrum", NULL, "1983",
	"Plunder (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecplunderRomInfo, SpecplunderRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Plus 3 Tennis II (48K)

static struct BurnRomInfo SpecplteiiRomDesc[] = {
	{ "Plus 3 Tennis II (1996)(CSSCGC).z80", 0x018ab, 0xdb0b9a0c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specplteii, Specplteii, Spectrum)
STD_ROM_FN(Specplteii)

struct BurnDriver BurnSpecplteii = {
	"spec_plteii", NULL, "spec_spectrum", NULL, "1996",
	"Plus 3 Tennis II (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecplteiiRomInfo, SpecplteiiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pocker (Spanish) (48K)

static struct BurnRomInfo SpecpockeresRomDesc[] = {
	{ "Pocker (19xx)(-)(es).z80", 0x06a42, 0xe860784f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpockeres, Specpockeres, Spectrum)
STD_ROM_FN(Specpockeres)

struct BurnDriver BurnSpecpockeres = {
	"spec_pockeres", NULL, "spec_spectrum", NULL, "19xx",
	"Pocker (Spanish) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpockeresRomInfo, SpecpockeresRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pod (Euro Byte) (48K)

static struct BurnRomInfo SpecpodRomDesc[] = {
	{ "Pod (1983)(Euro Byte).z80", 0x04109, 0x34227501, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpod, Specpod, Spectrum)
STD_ROM_FN(Specpod)

struct BurnDriver BurnSpecpod = {
	"spec_pod", NULL, "spec_spectrum", NULL, "1983",
	"Pod (Euro Byte) (48K)\0", NULL, "Euro Byte", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpodRomInfo, SpecpodRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pod (CSSCGC) (48K)

static struct BurnRomInfo SpecpodcRomDesc[] = {
	{ "Pod (1999)(CSSCGC).z80", 0x05c13, 0x3c605feb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpodc, Specpodc, Spectrum)
STD_ROM_FN(Specpodc)

struct BurnDriver BurnSpecpodc = {
	"spec_podc", "spec_pod", "spec_spectrum", NULL, "1999",
	"Pod (CSSCGC) (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpodcRomInfo, SpecpodcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Poder Oscuro, El (Spanish) (48K)

static struct BurnRomInfo SpecpodoscelRomDesc[] = {
	{ "Poder Oscuro, El (1988)(Zigurat Software)(es).z80", 0x08786, 0x8c387d8e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpodoscel, Specpodoscel, Spectrum)
STD_ROM_FN(Specpodoscel)

struct BurnDriver BurnSpecpodoscel = {
	"spec_podoscel", NULL, "spec_spectrum", NULL, "1988",
	"Poder Oscuro, El (Spanish) (48K)\0", NULL, "Zigurat Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpodoscelRomInfo, SpecpodoscelRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Podmornica - Podmorska Bitka (sl) (48K)

static struct BurnRomInfo SpecpodpodbiRomDesc[] = {
	{ "Podmornica - Podmorska Bitka (1984)(Radio Student)(sl).z80", 0x076de, 0xe3e9ef5d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpodpodbi, Specpodpodbi, Spectrum)
STD_ROM_FN(Specpodpodbi)

struct BurnDriver BurnSpecpodpodbi = {
	"spec_podpodbi", NULL, "spec_spectrum", NULL, "1984",
	"Podmornica - Podmorska Bitka (sl) (48K)\0", NULL, "Radio Student", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpodpodbiRomInfo, SpecpodpodbiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Podraz 3 (cs) (48K)

static struct BurnRomInfo Specpodraz3cRomDesc[] = {
	{ "Podraz 3 (1986)(Fuxoft)(cs).z80", 0x04a27, 0x0c6afa90, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpodraz3c, Specpodraz3c, Spectrum)
STD_ROM_FN(Specpodraz3c)

struct BurnDriver BurnSpecpodraz3c = {
	"spec_podraz3c", NULL, "spec_spectrum", NULL, "1986",
	"Podraz 3 (cs) (48K)\0", NULL, "Fuxoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpodraz3cRomInfo, Specpodraz3cRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Podraz 4 (sk) (48K)

static struct BurnRomInfo Specpodraz4sRomDesc[] = {
	{ "Podraz 4 (1987)(Antok Software)(sk).z80", 0x05fd7, 0x4ea7b84b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpodraz4s, Specpodraz4s, Spectrum)
STD_ROM_FN(Specpodraz4s)

struct BurnDriver BurnSpecpodraz4s = {
	"spec_podraz4s", NULL, "spec_spectrum", NULL, "1987",
	"Podraz 4 (sk) (48K)\0", NULL, "Antok Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpodraz4sRomInfo, Specpodraz4sRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Podraz 5 (cs) (48K)

static struct BurnRomInfo Specpodraz5cRomDesc[] = {
	{ "Podraz 5 (19xx)(Falcon Soft)(cs).z80", 0x04bb2, 0xc4814237, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpodraz5c, Specpodraz5c, Spectrum)
STD_ROM_FN(Specpodraz5c)

struct BurnDriver BurnSpecpodraz5c = {
	"spec_podraz5c", NULL, "spec_spectrum", NULL, "19xx",
	"Podraz 5 (cs) (48K)\0", NULL, "Falcon Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpodraz5cRomInfo, Specpodraz5cRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Podraz 6 (sk) (48K)

static struct BurnRomInfo Specpodraz6sRomDesc[] = {
	{ "Podraz 6 (1988)(Antok Software)(sk).z80", 0x09049, 0x7c125d4d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpodraz6s, Specpodraz6s, Spectrum)
STD_ROM_FN(Specpodraz6s)

struct BurnDriver BurnSpecpodraz6s = {
	"spec_podraz6s", NULL, "spec_spectrum", NULL, "1988",
	"Podraz 6 (sk) (48K)\0", NULL, "Antok Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpodraz6sRomInfo, Specpodraz6sRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Podroz Po Polsce (pl) (48K)

static struct BurnRomInfo SpecpodpopolRomDesc[] = {
	{ "Podroz Po Polsce (1987)(Elkor Software)(pl).z80", 0x01c6a, 0x19e0b2b2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpodpopol, Specpodpopol, Spectrum)
STD_ROM_FN(Specpodpopol)

struct BurnDriver BurnSpecpodpopol = {
	"spec_podpopol", NULL, "spec_spectrum", NULL, "1987",
	"Podroz Po Polsce (pl) (48K)\0", NULL, "Elkor Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpodpopolRomInfo, SpecpodpopolRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pogo (48K)

static struct BurnRomInfo SpecpogoRomDesc[] = {
	{ "Pogo (1983)(Ocean).z80", 0x08a53, 0xba885e3d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpogo, Specpogo, Spectrum)
STD_ROM_FN(Specpogo)

struct BurnDriver BurnSpecpogo = {
	"spec_pogo", NULL, "spec_spectrum", NULL, "1983",
	"Pogo (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpogoRomInfo, SpecpogoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pogo (German) (48K)

static struct BurnRomInfo SpecpogodeRomDesc[] = {
	{ "Pogo (1984)(ZXS)(de).z80", 0x07778, 0xa23e3e40, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpogode, Specpogode, Spectrum)
STD_ROM_FN(Specpogode)

struct BurnDriver BurnSpecpogode = {
	"spec_pogode", "spec_pogo", "spec_spectrum", NULL, "1984",
	"Pogo (German) (48K)\0", NULL, "ZXS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpogodeRomInfo, SpecpogodeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pogostick Olympics (48K)

static struct BurnRomInfo SpecpogoolymRomDesc[] = {
	{ "Pogostick Olympics (1988)(Silverbird Software).z80", 0x03bf6, 0x11cea6bc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpogoolym, Specpogoolym, Spectrum)
STD_ROM_FN(Specpogoolym)

struct BurnDriver BurnSpecpogoolym = {
	"spec_pogoolym", NULL, "spec_spectrum", NULL, "1988",
	"Pogostick Olympics (48K)\0", NULL, "Silverbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpogoolymRomInfo, SpecpogoolymRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pogotron (48K)

static struct BurnRomInfo SpecpogotronRomDesc[] = {
	{ "Pogotron (1989)(Game Busters).z80", 0x086de, 0xbe8e5310, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpogotron, Specpogotron, Spectrum)
STD_ROM_FN(Specpogotron)

struct BurnDriver BurnSpecpogotron = {
	"spec_pogotron", NULL, "spec_spectrum", NULL, "1989",
	"Pogotron (48K)\0", NULL, "Game Busters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpogotronRomInfo, SpecpogotronRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Poke Alex in the Eye (48K)

static struct BurnRomInfo SpecpokealxRomDesc[] = {
	{ "Poke Alex in the Eye (1998)(CSSCGC).z80", 0x050dc, 0xa2cf6d6b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpokealx, Specpokealx, Spectrum)
STD_ROM_FN(Specpokealx)

struct BurnDriver BurnSpecpokealx = {
	"spec_pokealx", NULL, "spec_spectrum", NULL, "1998",
	"Poke Alex in the Eye (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpokealxRomInfo, SpecpokealxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Poke Alex in the Eye II (48K)

static struct BurnRomInfo Specpokealx2RomDesc[] = {
	{ "Poke Alex in the Eye II (1998)(CSSCGC).z80", 0x0621b, 0x88ccdffa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpokealx2, Specpokealx2, Spectrum)
STD_ROM_FN(Specpokealx2)

struct BurnDriver BurnSpecpokealx2 = {
	"spec_pokealx2", NULL, "spec_spectrum", NULL, "1998",
	"Poke Alex in the Eye II (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpokealx2RomInfo, Specpokealx2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Poker (48K)

static struct BurnRomInfo SpecpokerRomDesc[] = {
	{ "Poker (1996)(CSSCGC).z80", 0x00f24, 0x40d8a4ad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpoker, Specpoker, Spectrum)
STD_ROM_FN(Specpoker)

struct BurnDriver BurnSpecpoker = {
	"spec_poker", NULL, "spec_spectrum", NULL, "1996",
	"Poker (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpokerRomInfo, SpecpokerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Polaris (48K)

static struct BurnRomInfo SpecpolarisRomDesc[] = {
	{ "Polaris (1983)(CCS).z80", 0x0529c, 0xb66549fe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpolaris, Specpolaris, Spectrum)
STD_ROM_FN(Specpolaris)

struct BurnDriver BurnSpecpolaris = {
	"spec_polaris", NULL, "spec_spectrum", NULL, "1983",
	"Polaris (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpolarisRomInfo, SpecpolarisRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pole Position (Atarisoft) (48K)

static struct BurnRomInfo SpecpoleposaRomDesc[] = {
	{ "Pole Position (1984)(Atarisoft).z80", 0x0850b, 0x620ff870, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpoleposa, Specpoleposa, Spectrum)
STD_ROM_FN(Specpoleposa)

struct BurnDriver BurnSpecpoleposa = {
	"spec_poleposa", NULL, "spec_spectrum", NULL, "1984",
	"Pole Position (Atarisoft) (48K)\0", NULL, "Atarisoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpoleposaRomInfo, SpecpoleposaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pole Position (U.S. Gold) (48K)

static struct BurnRomInfo SpecpoleposuRomDesc[] = {
	{ "Pole Position (1984)(U.S. Gold).z80", 0x08241, 0x979c15f6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpoleposu, Specpoleposu, Spectrum)
STD_ROM_FN(Specpoleposu)

struct BurnDriver BurnSpecpoleposu = {
	"spec_poleposu", NULL, "spec_spectrum", NULL, "1984",
	"Pole Position (U.S. Gold) (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpoleposuRomInfo, SpecpoleposuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pole Position (G. Whitehead) (48K)

static struct BurnRomInfo SpecpoleposgRomDesc[] = {
	{ "Pole Position (19xx)(G. Whitehead).z80", 0x03388, 0x69351cb4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpoleposg, Specpoleposg, Spectrum)
STD_ROM_FN(Specpoleposg)

struct BurnDriver BurnSpecpoleposg = {
	"spec_poleposg", NULL, "spec_spectrum", NULL, "19xx",
	"Pole Position (G. Whitehead) (48K)\0", NULL, "G. Whitehead", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpoleposgRomInfo, SpecpoleposgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Poli Diaz (Spanish) (48K)

static struct BurnRomInfo SpecpolidiazRomDesc[] = {
	{ "Poli Diaz (1990)(Opera Soft)(es).z80", 0x0a350, 0x84e19f18, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpolidiaz, Specpolidiaz, Spectrum)
STD_ROM_FN(Specpolidiaz)

struct BurnDriver BurnSpecpolidiaz = {
	"spec_polidiaz", NULL, "spec_spectrum", NULL, "1990",
	"Poli Diaz (Spanish) (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpolidiazRomInfo, SpecpolidiazRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Poltergeist (48K)

static struct BurnRomInfo SpecpoltergeRomDesc[] = {
	{ "Poltergeist (1986)(Firebird Software).z80", 0x07919, 0xe8cb460b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpolterge, Specpolterge, Spectrum)
STD_ROM_FN(Specpolterge)

struct BurnDriver BurnSpecpolterge = {
	"spec_polterge", NULL, "spec_spectrum", NULL, "1986",
	"Poltergeist (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpoltergeRomInfo, SpecpoltergeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pon una Tarantula en tu Vida (Spanish) (48K)

static struct BurnRomInfo SpecpontarviRomDesc[] = {
	{ "Pon una Tarantula en tu Vida (1988)(Nosequesoft)(es).z80", 0x09784, 0x04e8020f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpontarvi, Specpontarvi, Spectrum)
STD_ROM_FN(Specpontarvi)

struct BurnDriver BurnSpecpontarvi = {
	"spec_pontarvi", NULL, "spec_spectrum", NULL, "1988",
	"Pon una Tarantula en tu Vida (Spanish) (48K)\0", NULL, "Nosequesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpontarviRomInfo, SpecpontarviRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pontoon (Arcade Software) (48K)

static struct BurnRomInfo SpecpontoonaRomDesc[] = {
	{ "Pontoon (1983)(Arcade Software).z80", 0x05937, 0x60575359, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpontoona, Specpontoona, Spectrum)
STD_ROM_FN(Specpontoona)

struct BurnDriver BurnSpecpontoona = {
	"spec_pontoona", NULL, "spec_spectrum", NULL, "1983",
	"Pontoon (Arcade Software) (48K)\0", NULL, "Arcade Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpontoonaRomInfo, SpecpontoonaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pontoon (Keith Berry) (48K)

static struct BurnRomInfo SpecpontoonkRomDesc[] = {
	{ "Pontoon (1983)(Keith Berry).z80", 0x03b8a, 0xf919fa97, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpontoonk, Specpontoonk, Spectrum)
STD_ROM_FN(Specpontoonk)

struct BurnDriver BurnSpecpontoonk = {
	"spec_pontoonk", NULL, "spec_spectrum", NULL, "1983",
	"Pontoon (Keith Berry) (48K)\0", NULL, "Keith Berry", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpontoonkRomInfo, SpecpontoonkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pontoon (Contrast Software) (48K)

static struct BurnRomInfo SpecpontooncRomDesc[] = {
	{ "Pontoon (1984)(Contrast Software).z80", 0x02353, 0xa92cb14c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpontoonc, Specpontoonc, Spectrum)
STD_ROM_FN(Specpontoonc)

struct BurnDriver BurnSpecpontoonc = {
	"spec_pontoonc", NULL, "spec_spectrum", NULL, "1984",
	"Pontoon (Contrast Software) (48K)\0", NULL, "Contrast Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpontooncRomInfo, SpecpontooncRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Poogaboo (Spanish) (128K)

static struct BurnRomInfo SpecpoogabooRomDesc[] = {
	{ "Poogaboo (1991)(Opera Soft)(es)[128K][passworded].z80", 0x0a77a, 0x12e52352, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpoogaboo, Specpoogaboo, Spectrum)
STD_ROM_FN(Specpoogaboo)

struct BurnDriver BurnSpecpoogaboo = {
	"spec_poogaboo", NULL, "spec_spec128", NULL, "1991",
	"Poogaboo (Spanish) (128K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpoogabooRomInfo, SpecpoogabooRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Poogaboo (Spanish) (48K)

static struct BurnRomInfo Specpoogaboo_48RomDesc[] = {
	{ "Poogaboo (1991)(Opera Soft)(es)[passworded].z80", 0x086da, 0x4ab32595, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpoogaboo_48, Specpoogaboo_48, Spectrum)
STD_ROM_FN(Specpoogaboo_48)

struct BurnDriver BurnSpecpoogaboo_48 = {
	"spec_poogaboo_48", "spec_poogaboo", "spec_spectrum", NULL, "1991",
	"Poogaboo (Spanish) (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpoogaboo_48RomInfo, Specpoogaboo_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pool (48K)

static struct BurnRomInfo SpecpoolRomDesc[] = {
	{ "Pool (1983)(Abrasco).z80", 0x05b40, 0x7eb1b637, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpool, Specpool, Spectrum)
STD_ROM_FN(Specpool)

struct BurnDriver BurnSpecpool = {
	"spec_pool", NULL, "spec_spectrum", NULL, "1983",
	"Pool (48K)\0", NULL, "Abrasco", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpoolRomInfo, SpecpoolRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Popeye (48K)

static struct BurnRomInfo SpecpopeyeRomDesc[] = {
	{ "Popeye (1985)(DK'Tronics).z80", 0x0776c, 0x8582b9b7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpopeye, Specpopeye, Spectrum)
STD_ROM_FN(Specpopeye)

struct BurnDriver BurnSpecpopeye = {
	"spec_popeye", NULL, "spec_spectrum", NULL, "1985",
	"Popeye (48K)\0", NULL, "DK'Tronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpopeyeRomInfo, SpecpopeyeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Popeye 2 (48K)

static struct BurnRomInfo Specpopeye2RomDesc[] = {
	{ "Popeye 2 (1991)(Alternative Software).z80", 0x09d71, 0xa69a9b21, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpopeye2, Specpopeye2, Spectrum)
STD_ROM_FN(Specpopeye2)

struct BurnDriver BurnSpecpopeye2 = {
	"spec_popeye2", NULL, "spec_spectrum", NULL, "1991",
	"Popeye 2 (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpopeye2RomInfo, Specpopeye2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Poseidon - Planet Eleven (48K)

static struct BurnRomInfo SpecposeidonRomDesc[] = {
	{ "Poseidon - Planet Eleven (1990)(Hi-Tec Software).z80", 0x08991, 0x73a2cdf2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specposeidon, Specposeidon, Spectrum)
STD_ROM_FN(Specposeidon)

struct BurnDriver BurnSpecposeidon = {
	"spec_poseidon", NULL, "spec_spectrum", NULL, "1990",
	"Poseidon - Planet Eleven (48K)\0", NULL, "Hi-Tec Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecposeidonRomInfo, SpecposeidonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Post Mortem (Spanish) (48K)

static struct BurnRomInfo SpecpostmortRomDesc[] = {
	{ "Post Mortem (1987)(Iber Soft)(es).z80", 0x0995d, 0xfbdeb9b7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpostmort, Specpostmort, Spectrum)
STD_ROM_FN(Specpostmort)

struct BurnDriver BurnSpecpostmort = {
	"spec_postmort", NULL, "spec_spectrum", NULL, "1987",
	"Post Mortem (Spanish) (48K)\0", NULL, "Iber Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpostmortRomInfo, SpecpostmortRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Postman Pat (48K)

static struct BurnRomInfo SpecpostpatRomDesc[] = {
	{ "Postman Pat (1988)(Alternative Software).z80", 0x0a885, 0xc991a405, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpostpat, Specpostpat, Spectrum)
STD_ROM_FN(Specpostpat)

struct BurnDriver BurnSpecpostpat = {
	"spec_postpat", NULL, "spec_spectrum", NULL, "1988",
	"Postman Pat (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpostpatRomInfo, SpecpostpatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Postman Pat 2 (48K)

static struct BurnRomInfo Specpostpat2RomDesc[] = {
	{ "Postman Pat 2 (1989)(Alternative Software).z80", 0x0981f, 0x0599447b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpostpat2, Specpostpat2, Spectrum)
STD_ROM_FN(Specpostpat2)

struct BurnDriver BurnSpecpostpat2 = {
	"spec_postpat2", NULL, "spec_spectrum", NULL, "1989",
	"Postman Pat 2 (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpostpat2RomInfo, Specpostpat2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Postman Pat 3 - To the Rescue (48K)

static struct BurnRomInfo Specpostpat3RomDesc[] = {
	{ "Postman Pat 3 - To the Rescue (1992)(Alternative Software).z80", 0x07a68, 0x1c230a78, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpostpat3, Specpostpat3, Spectrum)
STD_ROM_FN(Specpostpat3)

struct BurnDriver BurnSpecpostpat3 = {
	"spec_postpat3", NULL, "spec_spectrum", NULL, "1992",
	"Postman Pat 3 - To the Rescue (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpostpat3RomInfo, Specpostpat3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Potsworth & Co. (48K)

static struct BurnRomInfo SpecpotscoRomDesc[] = {
	{ "Potsworth & Co. (1992)(Hi-Tec Software).z80", 0x076d5, 0x8b04fd6b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpotsco, Specpotsco, Spectrum)
STD_ROM_FN(Specpotsco)

struct BurnDriver BurnSpecpotsco = {
	"spec_potsco", NULL, "spec_spectrum", NULL, "1992",
	"Potsworth & Co. (48K)\0", NULL, "Hi-Tec Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpotscoRomInfo, SpecpotscoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Potty Painter (48K)

static struct BurnRomInfo SpecpottpainRomDesc[] = {
	{ "Potty Painter (1983)(Rabbit Software).z80", 0x03754, 0x3e37d714, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpottpain, Specpottpain, Spectrum)
STD_ROM_FN(Specpottpain)

struct BurnDriver BurnSpecpottpain = {
	"spec_pottpain", NULL, "spec_spectrum", NULL, "1983",
	"Potty Painter (48K)\0", NULL, "Rabbit Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpottpainRomInfo, SpecpottpainRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Power and Magic (Spanish) (128K)

static struct BurnRomInfo SpecpowemagiRomDesc[] = {
	{ "Power and Magic (1990)(Zigurat Software)(es)[128K].z80", 0x0a9ac, 0x5881094a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpowemagi, Specpowemagi, Spectrum)
STD_ROM_FN(Specpowemagi)

struct BurnDriver BurnSpecpowemagi = {
	"spec_powemagi", NULL, "spec_spec128", NULL, "1990",
	"Power and Magic (Spanish) (128K)\0", NULL, "Zigurat Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpowemagiRomInfo, SpecpowemagiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Power Drift (128K)

static struct BurnRomInfo SpecpdriftRomDesc[] = {
	{ "Power Drift (1989)(Activision)[128K].z80", 0x160f6, 0x34a7f74a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpdrift, Specpdrift, Spectrum)
STD_ROM_FN(Specpdrift)

struct BurnDriver BurnSpecpdrift = {
	"spec_pdrift", NULL, "spec_spec128", NULL, "1989",
	"Power Drift (128K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpdriftRomInfo, SpecpdriftRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Power Pyramids (48K)

static struct BurnRomInfo SpecpowepyraRomDesc[] = {
	{ "Power Pyramids (1986)(Grandslam Entertainments).z80", 0x08752, 0xe380f668, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpowepyra, Specpowepyra, Spectrum)
STD_ROM_FN(Specpowepyra)

struct BurnDriver BurnSpecpowepyra = {
	"spec_powepyra", NULL, "spec_spectrum", NULL, "1986",
	"Power Pyramids (48K)\0", NULL, "Grandslam Entertainments", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpowepyraRomInfo, SpecpowepyraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Powerplay - Game of the Gods (128K)

static struct BurnRomInfo SpecpowgamgoRomDesc[] = {
	{ "Powerplay - Game of the Gods (1988)(Players Software)[128K].z80", 0x061c4, 0xf712c3aa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpowgamgo, Specpowgamgo, Spectrum)
STD_ROM_FN(Specpowgamgo)

struct BurnDriver BurnSpecpowgamgo = {
	"spec_powgamgo", NULL, "spec_spec128", NULL, "1988",
	"Powerplay - Game of the Gods (128K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpowgamgoRomInfo, SpecpowgamgoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Practice (48K)

static struct BurnRomInfo SpecpracticeRomDesc[] = {
	{ "Practice (1997)(CSSCGC).z80", 0x00941, 0x1bdc6c4b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpractice, Specpractice, Spectrum)
STD_ROM_FN(Specpractice)

struct BurnDriver BurnSpecpractice = {
	"spec_practice", NULL, "spec_spectrum", NULL, "1997",
	"Practice (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpracticeRomInfo, SpecpracticeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prehistoria, La (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecprehlaesRomDesc[] = {
	{ "Prehistoria, La (1990)(Grupo Creators Union)(es)(Part 1 of 2).z80", 0x097a7, 0x186456c2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprehlaes, Specprehlaes, Spectrum)
STD_ROM_FN(Specprehlaes)

struct BurnDriver BurnSpecprehlaes = {
	"spec_prehlaes", NULL, "spec_spectrum", NULL, "1990",
	"Prehistoria, La (Spanish) (Part 1 of 2) (48K)\0", NULL, "Grupo Creators Union", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprehlaesRomInfo, SpecprehlaesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prehistoria, La (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specprehlaes2RomDesc[] = {
	{ "Prehistoria, La (1990)(Grupo Creators Union)(es)(Part 2 of 2).z80", 0x09858, 0x8c472476, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprehlaes2, Specprehlaes2, Spectrum)
STD_ROM_FN(Specprehlaes2)

struct BurnDriver BurnSpecprehlaes2 = {
	"spec_prehlaes2", "spec_prehlaes", "spec_spectrum", NULL, "1990",
	"Prehistoria, La (Spanish) (Part 2 of 2) (48K)\0", NULL, "Grupo Creators Union", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specprehlaes2RomInfo, Specprehlaes2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prehistoric Adventure (48K)

static struct BurnRomInfo SpecprehadveRomDesc[] = {
	{ "Prehistoric Adventure (1986)(Crusader Computing).z80", 0x088cd, 0x04b8a4c9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprehadve, Specprehadve, Spectrum)
STD_ROM_FN(Specprehadve)

struct BurnDriver BurnSpecprehadve = {
	"spec_prehadve", NULL, "spec_spectrum", NULL, "1986",
	"Prehistoric Adventure (48K)\0", NULL, "Crusader Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprehadveRomInfo, SpecprehadveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prelude to D-Day (48K)

static struct BurnRomInfo SpecpreddayRomDesc[] = {
	{ "Prelude to D-Day (1985)(Central Solutions).z80", 0x0972e, 0x2212aa89, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpredday, Specpredday, Spectrum)
STD_ROM_FN(Specpredday)

struct BurnDriver BurnSpecpredday = {
	"spec_predday", NULL, "spec_spectrum", NULL, "1985",
	"Prelude to D-Day (48K)\0", NULL, "Central Solutions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpreddayRomInfo, SpecpreddayRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Premier League (E&J Software) (48K)

static struct BurnRomInfo SpecpremleagRomDesc[] = {
	{ "Premier League (1985)(E&J Software).z80", 0x09aff, 0xa74b1f21, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpremleag, Specpremleag, Spectrum)
STD_ROM_FN(Specpremleag)

struct BurnDriver BurnSpecpremleag = {
	"spec_premleag", NULL, "spec_spectrum", NULL, "1985",
	"Premier League (E&J Software) (48K)\0", NULL, "E&J Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpremleagRomInfo, SpecpremleagRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Premier League (Challenge Software) (48K)

static struct BurnRomInfo SpecpremleagcRomDesc[] = {
	{ "Premier League (1987)(Challenge Software)[re-release].z80", 0x09233, 0xffa59f31, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpremleagc, Specpremleagc, Spectrum)
STD_ROM_FN(Specpremleagc)

struct BurnDriver BurnSpecpremleagc = {
	"spec_premleagc", "spec_premleag", "spec_spectrum", NULL, "1987",
	"Premier League (Challenge Software) (48K)\0", NULL, "Challenge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpremleagcRomInfo, SpecpremleagcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Premio, El (Spanish) (48K)

static struct BurnRomInfo SpecpremelesRomDesc[] = {
	{ "Premio, El (1984)(Zafiro Software Division)(es)[aka Prize, The].z80", 0x07f81, 0x83ea8f16, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpremeles, Specpremeles, Spectrum)
STD_ROM_FN(Specpremeles)

struct BurnDriver BurnSpecpremeles = {
	"spec_premeles", NULL, "spec_spectrum", NULL, "1984",
	"Premio, El (Spanish) (48K)\0", NULL, "Zafiro Software Division", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpremelesRomInfo, SpecpremelesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// President (48K)

static struct BurnRomInfo SpecpresidenRomDesc[] = {
	{ "President (1987)(Addictive Games).z80", 0x0919b, 0x1bfd3457, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpresiden, Specpresiden, Spectrum)
STD_ROM_FN(Specpresiden)

struct BurnDriver BurnSpecpresiden = {
	"spec_presiden", NULL, "spec_spectrum", NULL, "1987",
	"President (48K)\0", NULL, "Addictive Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpresidenRomInfo, SpecpresidenRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// President's Guard (128K)

static struct BurnRomInfo SpecpresguarRomDesc[] = {
	{ "President's Guard (1994)(Cannonball)[128K].z80", 0x0715a, 0xacf8cc36, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpresguar, Specpresguar, Spectrum)
STD_ROM_FN(Specpresguar)

struct BurnDriver BurnSpecpresguar = {
	"spec_presguar", NULL, "spec_spec128", NULL, "1994",
	"President's Guard (128K)\0", NULL, "Cannonball", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpresguarRomInfo, SpecpresguarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prestavba (sk) (48K)

static struct BurnRomInfo SpecprestavbRomDesc[] = {
	{ "Prestavba (1988)(UV Software)(sk).z80", 0x02bd7, 0xb1bf9e64, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprestavb, Specprestavb, Spectrum)
STD_ROM_FN(Specprestavb)

struct BurnDriver BurnSpecprestavb = {
	"spec_prestavb", NULL, "spec_spectrum", NULL, "1988",
	"Prestavba (sk) (48K)\0", NULL, "UV Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprestavbRomInfo, SpecprestavbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prijsvraag, De (nl) (48K)

static struct BurnRomInfo SpecprijdenlRomDesc[] = {
	{ "Prijsvraag, De (1985)(MCN Software)(nl).z80", 0x094cd, 0xa0036799, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprijdenl, Specprijdenl, Spectrum)
STD_ROM_FN(Specprijdenl)

struct BurnDriver BurnSpecprijdenl = {
	"spec_prijdenl", NULL, "spec_spectrum", NULL, "1985",
	"Prijsvraag, De (nl) (48K)\0", NULL, "MCN Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprijdenlRomInfo, SpecprijdenlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prince Clumsy (48K)

static struct BurnRomInfo SpecprinclumRomDesc[] = {
	{ "Prince Clumsy (1990)(Codemasters).z80", 0x08f75, 0xc5ab98f3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprinclum, Specprinclum, Spectrum)
STD_ROM_FN(Specprinclum)

struct BurnDriver BurnSpecprinclum = {
	"spec_princlum", NULL, "spec_spectrum", NULL, "1990",
	"Prince Clumsy (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprinclumRomInfo, SpecprinclumRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prince of Persia (demo) (128K)

static struct BurnRomInfo SpecprinpersRomDesc[] = {
	{ "Prince of Persia (demo) (1995)(Magic Soft)[128K].z80", 0x0d9ae, 0x10a0b887, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprinpers, Specprinpers, Spectrum)
STD_ROM_FN(Specprinpers)

struct BurnDriver BurnSpecprinpers = {
	"spec_prinpers", NULL, "spec_spec128", NULL, "1995",
	"Prince of Persia (demo) (128K)\0", NULL, "Magic Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprinpersRomInfo, SpecprinpersRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prince of Tyndal, The (48K)

static struct BurnRomInfo SpecpritynthRomDesc[] = {
	{ "Prince of Tyndal, The (1987)(Tartan Software).z80", 0x0ab44, 0xc04e0dac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpritynth, Specpritynth, Spectrum)
STD_ROM_FN(Specpritynth)

struct BurnDriver BurnSpecpritynth = {
	"spec_pritynth", NULL, "spec_spectrum", NULL, "1987",
	"Prince of Tyndal, The (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpritynthRomInfo, SpecpritynthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prince, The (48K)

static struct BurnRomInfo SpecprintheRomDesc[] = {
	{ "Prince, The (1984)(CCS).z80", 0x09d1a, 0xe112a330, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprinthe, Specprinthe, Spectrum)
STD_ROM_FN(Specprinthe)

struct BurnDriver BurnSpecprinthe = {
	"spec_printhe", NULL, "spec_spectrum", NULL, "1984",
	"Prince, The (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprintheRomInfo, SpecprintheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Princesa, La (Spanish) (48K)

static struct BurnRomInfo SpecprinlaesRomDesc[] = {
	{ "Princesa, La (1985)(Software Center)(es).z80", 0x06560, 0xc8186750, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprinlaes, Specprinlaes, Spectrum)
STD_ROM_FN(Specprinlaes)

struct BurnDriver BurnSpecprinlaes = {
	"spec_prinlaes", NULL, "spec_spectrum", NULL, "1985",
	"Princesa, La (Spanish) (48K)\0", NULL, "Software Center", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprinlaesRomInfo, SpecprinlaesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prinsessen i Berget det Blaa (sv) (48K)

static struct BurnRomInfo SpecpriberblRomDesc[] = {
	{ "Prinsessen i Berget det Blaa (19xx)(-)(sv).z80", 0x048f5, 0x58e5097c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpriberbl, Specpriberbl, Spectrum)
STD_ROM_FN(Specpriberbl)

struct BurnDriver BurnSpecpriberbl = {
	"spec_priberbl", NULL, "spec_spectrum", NULL, "19xx",
	"Prinsessen i Berget det Blaa (sv) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpriberblRomInfo, SpecpriberblRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Print Shop (48K)

static struct BurnRomInfo SpecprinshopRomDesc[] = {
	{ "Print Shop (1982)(CCS).z80", 0x025fa, 0x7543a21a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprinshop, Specprinshop, Spectrum)
STD_ROM_FN(Specprinshop)

struct BurnDriver BurnSpecprinshop = {
	"spec_prinshop", NULL, "spec_spectrum", NULL, "1982",
	"Print Shop (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprinshopRomInfo, SpecprinshopRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prison Blues (48K)

static struct BurnRomInfo SpecprisblueRomDesc[] = {
	{ "Prison Blues (1991)(The Guild).z80", 0x07dd0, 0x648327f8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprisblue, Specprisblue, Spectrum)
STD_ROM_FN(Specprisblue)

struct BurnDriver BurnSpecprisblue = {
	"spec_prisblue", NULL, "spec_spectrum", NULL, "1991",
	"Prison Blues (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprisblueRomInfo, SpecprisblueRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prison Camp (nl) (48K)

static struct BurnRomInfo SpecpriscampRomDesc[] = {
	{ "Prison Camp (1985)(Tir - Capsoft)(nl).z80", 0x02834, 0x848d8b3c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpriscamp, Specpriscamp, Spectrum)
STD_ROM_FN(Specpriscamp)

struct BurnDriver BurnSpecpriscamp = {
	"spec_priscamp", NULL, "spec_spectrum", NULL, "1985",
	"Prison Camp (nl) (48K)\0", NULL, "Tir - Capsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpriscampRomInfo, SpecpriscampRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prison Riot (48K)

static struct BurnRomInfo Specprisriot_48RomDesc[] = {
	{ "Prison Riot (1990)(Players Premier Software).z80", 0x099e5, 0xedc849bb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprisriot_48, Specprisriot_48, Spectrum)
STD_ROM_FN(Specprisriot_48)

struct BurnDriver BurnSpecprisriot_48 = {
	"spec_prisriot_48", "spec_prisriot", "spec_spectrum", NULL, "1990",
	"Prison Riot (48K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specprisriot_48RomInfo, Specprisriot_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prison Riot (128K)

static struct BurnRomInfo SpecprisriotRomDesc[] = {
	{ "Prison Riot (1990)(Players Premier Software)[128K].z80", 0x0c1dc, 0x6ed6ffdd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprisriot, Specprisriot, Spectrum)
STD_ROM_FN(Specprisriot)

struct BurnDriver BurnSpecprisriot = {
	"spec_prisriot", NULL, "spec_spec128", NULL, "1990",
	"Prison Riot (128K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprisriotRomInfo, SpecprisriotRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prisoner No. 6 (48K)

static struct BurnRomInfo Specprisno6RomDesc[] = {
	{ "Prisoner No. 6 (19xx)(Adventure Software).z80", 0x06aa7, 0x49213200, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprisno6, Specprisno6, Spectrum)
STD_ROM_FN(Specprisno6)

struct BurnDriver BurnSpecprisno6 = {
	"spec_prisno6", NULL, "spec_spectrum", NULL, "19xx",
	"Prisoner No. 6 (48K)\0", NULL, "Adventure Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specprisno6RomInfo, Specprisno6RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prize, The (48K)

static struct BurnRomInfo SpecpriztheRomDesc[] = {
	{ "Prize, The (1984)(Arcade Software).z80", 0x0803d, 0xec7edc20, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprizthe, Specprizthe, Spectrum)
STD_ROM_FN(Specprizthe)

struct BurnDriver BurnSpecprizthe = {
	"spec_prizthe", NULL, "spec_spectrum", NULL, "1984",
	"Prize, The (48K)\0", NULL, "Arcade Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpriztheRomInfo, SpecpriztheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pro Boxing Simulator (48K)

static struct BurnRomInfo SpecproboxsiRomDesc[] = {
	{ "Pro Boxing Simulator (1990)(Codemasters)[aka By Fair Means or Foul].z80", 0x09f13, 0x2a8f3441, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specproboxsi, Specproboxsi, Spectrum)
STD_ROM_FN(Specproboxsi)

struct BurnDriver BurnSpecproboxsi = {
	"spec_proboxsi", NULL, "spec_spectrum", NULL, "1990",
	"Pro Boxing Simulator (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecproboxsiRomInfo, SpecproboxsiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pro Golf - Part 1 - Pebble Beach (48K)

static struct BurnRomInfo SpecprogolfRomDesc[] = {
	{ "Pro Golf - Part 1 - Pebble Beach (1986)(Atlantis Software).z80", 0x0a8b3, 0x0ec43e26, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprogolf, Specprogolf, Spectrum)
STD_ROM_FN(Specprogolf)

struct BurnDriver BurnSpecprogolf = {
	"spec_progolf", NULL, "spec_spectrum", NULL, "1986",
	"Pro Golf - Part 1 - Pebble Beach (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprogolfRomInfo, SpecprogolfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pro Golf - Part 2 - Sunningdale (48K)

static struct BurnRomInfo Specprogolf2RomDesc[] = {
	{ "Pro Golf - Part 2 - Sunningdale (1986)(Atlantis Software).z80", 0x0a74e, 0xba946d30, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprogolf2, Specprogolf2, Spectrum)
STD_ROM_FN(Specprogolf2)

struct BurnDriver BurnSpecprogolf2 = {
	"spec_progolf2", "spec_progolf", "spec_spectrum", NULL, "1986",
	"Pro Golf - Part 2 - Sunningdale (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specprogolf2RomInfo, Specprogolf2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pro Golf Simulator (48K)

static struct BurnRomInfo Specproglfsm_48RomDesc[] = {
	{ "Pro Golf Simulator (1990)(Codemasters).z80", 0x09b48, 0x5a13a0fc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specproglfsm_48, Specproglfsm_48, Spectrum)
STD_ROM_FN(Specproglfsm_48)

struct BurnDriver BurnSpecproglfsm_48 = {
	"spec_proglfsm_48", "spec_proglfsm", "spec_spectrum", NULL, "1990",
	"Pro Golf Simulator (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specproglfsm_48RomInfo, Specproglfsm_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pro Golf Simulator (128K)

static struct BurnRomInfo SpecproglfsmRomDesc[] = {
	{ "Pro Golf Simulator (1990)(Codemasters)[128K].z80", 0x0a17b, 0xc8362a7e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specproglfsm, Specproglfsm, Spectrum)
STD_ROM_FN(Specproglfsm)

struct BurnDriver BurnSpecproglfsm = {
	"spec_proglfsm", NULL, "spec_spec128", NULL, "1990",
	"Pro Golf Simulator (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecproglfsmRomInfo, SpecproglfsmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pro Mountain Bike Simulator - Editor (48K)

static struct BurnRomInfo SpecprmobisieRomDesc[] = {
	{ "Pro Mountain Bike Simulator - Editor (1989)(Alternative Software).z80", 0x052c9, 0x0c418101, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprmobisie, Specprmobisie, Spectrum)
STD_ROM_FN(Specprmobisie)

struct BurnDriver BurnSpecprmobisie = {
	"spec_prmobisie", "spec_prmobisi", "spec_spectrum", NULL, "1989",
	"Pro Mountain Bike Simulator - Editor (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprmobisieRomInfo, SpecprmobisieRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pro Mountain Bike Simulator (48K)

static struct BurnRomInfo SpecprmobisiRomDesc[] = {
	{ "Pro Mountain Bike Simulator (1989)(Alternative Software).z80", 0x09fe5, 0x767c25bb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprmobisi, Specprmobisi, Spectrum)
STD_ROM_FN(Specprmobisi)

struct BurnDriver BurnSpecprmobisi = {
	"spec_prmobisi", NULL, "spec_spectrum", NULL, "1989",
	"Pro Mountain Bike Simulator (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprmobisiRomInfo, SpecprmobisiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pro Power Boat Simulator (48K)

static struct BurnRomInfo SpecprpobosiRomDesc[] = {
	{ "Pro Power Boat Simulator (1989)(Codemasters).z80", 0x08112, 0x6f720074, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprpobosi, Specprpobosi, Spectrum)
STD_ROM_FN(Specprpobosi)

struct BurnDriver BurnSpecprpobosi = {
	"spec_prpobosi", NULL, "spec_spectrum", NULL, "1989",
	"Pro Power Boat Simulator (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprpobosiRomInfo, SpecprpobosiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pro Skateboard Simulator (48K)

static struct BurnRomInfo Specproskasi_48RomDesc[] = {
	{ "Pro Skateboard Simulator (1989)(Codemasters).z80", 0x09d02, 0x2a02e24d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specproskasi_48, Specproskasi_48, Spectrum)
STD_ROM_FN(Specproskasi_48)

struct BurnDriver BurnSpecproskasi_48 = {
	"spec_proskasi_48", "spec_proskasi", "spec_spectrum", NULL, "1989",
	"Pro Skateboard Simulator (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specproskasi_48RomInfo, Specproskasi_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pro Skateboard Simulator (128K)

static struct BurnRomInfo SpecproskasiRomDesc[] = {
	{ "Pro Skateboard Simulator (1989)(Codemasters)[128K].z80", 0x0a82f, 0x128b51fb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specproskasi, Specproskasi, Spectrum)
STD_ROM_FN(Specproskasi)

struct BurnDriver BurnSpecproskasi = {
	"spec_proskasi", NULL, "spec_spec128", NULL, "1989",
	"Pro Skateboard Simulator (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecproskasiRomInfo, SpecproskasiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pro Tennis Simulator (48K)

static struct BurnRomInfo SpecprotensiRomDesc[] = {
	{ "Pro Tennis Simulator (1990)(Codemasters).z80", 0x0641a, 0x2d150ed0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprotensi, Specprotensi, Spectrum)
STD_ROM_FN(Specprotensi)

struct BurnDriver BurnSpecprotensi = {
	"spec_protensi", NULL, "spec_spectrum", NULL, "1990",
	"Pro Tennis Simulator (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprotensiRomInfo, SpecprotensiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pro Tennis Tour - Great Courts (48K)

static struct BurnRomInfo SpecprtetogrRomDesc[] = {
	{ "Pro Tennis Tour - Great Courts (1990)(Ubi Soft).z80", 0x09aa6, 0x138fb988, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprtetogr, Specprtetogr, Spectrum)
STD_ROM_FN(Specprtetogr)

struct BurnDriver BurnSpecprtetogr = {
	"spec_prtetogr", NULL, "spec_spectrum", NULL, "1990",
	"Pro Tennis Tour - Great Courts (48K)\0", NULL, "Ubi Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprtetogrRomInfo, SpecprtetogrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pro Tennis Tour (48K)

static struct BurnRomInfo SpecprotentoRomDesc[] = {
	{ "Pro Tennis Tour (1990)(Ubi Soft).z80", 0x09809, 0x01bca8c3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprotento, Specprotento, Spectrum)
STD_ROM_FN(Specprotento)

struct BurnDriver BurnSpecprotento = {
	"spec_protento", NULL, "spec_spectrum", NULL, "1990",
	"Pro Tennis Tour (48K)\0", NULL, "Ubi Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprotentoRomInfo, SpecprotentoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prochazka Starou Prahou (cs) (48K)

static struct BurnRomInfo SpecprostaprRomDesc[] = {
	{ "Prochazka Starou Prahou (1989)(Software Studio)(cs).z80", 0x0480b, 0xefcc284b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprostapr, Specprostapr, Spectrum)
STD_ROM_FN(Specprostapr)

struct BurnDriver BurnSpecprostapr = {
	"spec_prostapr", NULL, "spec_spectrum", NULL, "1989",
	"Prochazka Starou Prahou (cs) (48K)\0", NULL, "Software Studio", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprostaprRomInfo, SpecprostaprRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prodigy (48K)

static struct BurnRomInfo SpecprodigyRomDesc[] = {
	{ "Prodigy (1986)(Electric Dreams Software).z80", 0x0a8a7, 0xc15f6b6b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprodigy, Specprodigy, Spectrum)
STD_ROM_FN(Specprodigy)

struct BurnDriver BurnSpecprodigy = {
	"spec_prodigy", NULL, "spec_spectrum", NULL, "1986",
	"Prodigy (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprodigyRomInfo, SpecprodigyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Producent Boubli (pl) (48K)

static struct BurnRomInfo SpecprodboubRomDesc[] = {
	{ "Producent Boubli (19xx)(Clasic)(pl).z80", 0x06612, 0xde151103, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprodboub, Specprodboub, Spectrum)
STD_ROM_FN(Specprodboub)

struct BurnDriver BurnSpecprodboub = {
	"spec_prodboub", NULL, "spec_spectrum", NULL, "19xx",
	"Producent Boubli (pl) (48K)\0", NULL, "Clasic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprodboubRomInfo, SpecprodboubRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Professional BMX Simulator - Expert (Desert Riding) (48K)

static struct BurnRomInfo SpecprobmzxdreRomDesc[] = {
	{ "Professional BMX Simulator - Expert (1988)(Codemasters Plus)[Desert Riding].z80", 0x0aa88, 0x0e17633b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprobmzxdre, Specprobmzxdre, Spectrum)
STD_ROM_FN(Specprobmzxdre)

struct BurnDriver BurnSpecprobmzxdre = {
	"spec_probmzxdre", "spec_probmzx", "spec_spectrum", NULL, "1988",
	"Professional BMX Simulator - Expert (Desert Riding) (48K)\0", NULL, "Codemasters Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprobmzxdreRomInfo, SpecprobmzxdreRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Professional BMX Simulator - Expert (Dirt Biking) (48K)

static struct BurnRomInfo SpecprobmzxdkeRomDesc[] = {
	{ "Professional BMX Simulator - Expert (1988)(Codemasters Plus)[Dirt Biking].z80", 0x0a93b, 0xec7e2885, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprobmzxdke, Specprobmzxdke, Spectrum)
STD_ROM_FN(Specprobmzxdke)

struct BurnDriver BurnSpecprobmzxdke = {
	"spec_probmzxdke", "spec_probmzx", "spec_spectrum", NULL, "1988",
	"Professional BMX Simulator - Expert (Dirt Biking) (48K)\0", NULL, "Codemasters Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprobmzxdkeRomInfo, SpecprobmzxdkeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Professional BMX Simulator - Expert (Quarry Racing) (48K)

static struct BurnRomInfo SpecprobmzxqreRomDesc[] = {
	{ "Professional BMX Simulator - Expert (1988)(Codemasters Plus)[Quarry Racing].z80", 0x0a9ea, 0x72dcd4aa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprobmzxqre, Specprobmzxqre, Spectrum)
STD_ROM_FN(Specprobmzxqre)

struct BurnDriver BurnSpecprobmzxqre = {
	"spec_probmzxqre", "spec_probmzx", "spec_spectrum", NULL, "1988",
	"Professional BMX Simulator - Expert (Quarry Racing) (48K)\0", NULL, "Codemasters Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprobmzxqreRomInfo, SpecprobmzxqreRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Professional BMX Simulator - Standard (Desert Riding) (48K)

static struct BurnRomInfo SpecprobmzxRomDesc[] = {
	{ "Professional BMX Simulator - Standard (1988)(Codemasters Plus)[Desert Riding].z80", 0x0a97c, 0xa497e940, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprobmzx, Specprobmzx, Spectrum)
STD_ROM_FN(Specprobmzx)

struct BurnDriver BurnSpecprobmzx = {
	"spec_probmzx", NULL, "spec_spectrum", NULL, "1988",
	"Professional BMX Simulator - Standard (Desert Riding) (48K)\0", NULL, "Codemasters Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprobmzxRomInfo, SpecprobmzxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Professional BMX Simulator - Standard (Dirt Biking) (48K)

static struct BurnRomInfo SpecprobmzxdbRomDesc[] = {
	{ "Professional BMX Simulator - Standard (1988)(Codemasters Plus)[Dirt Biking].z80", 0x0a827, 0x8fb0630f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprobmzxdb, Specprobmzxdb, Spectrum)
STD_ROM_FN(Specprobmzxdb)

struct BurnDriver BurnSpecprobmzxdb = {
	"spec_probmzxdb", "spec_probmzx", "spec_spectrum", NULL, "1988",
	"Professional BMX Simulator - Standard (Dirt Biking) (48K)\0", NULL, "Codemasters Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprobmzxdbRomInfo, SpecprobmzxdbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Professional BMX Simulator - Standard (Quarry Racing) (48K)

static struct BurnRomInfo SpecprobmzxqrRomDesc[] = {
	{ "Professional BMX Simulator - Standard (1988)(Codemasters Plus)[Quarry Racing].z80", 0x0a8e0, 0x7f30a8e1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprobmzxqr, Specprobmzxqr, Spectrum)
STD_ROM_FN(Specprobmzxqr)

struct BurnDriver BurnSpecprobmzxqr = {
	"spec_probmzxqr", "spec_probmzx", "spec_spectrum", NULL, "1988",
	"Professional BMX Simulator - Standard (Quarry Racing) (48K)\0", NULL, "Codemasters Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprobmzxqrRomInfo, SpecprobmzxqrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Professional Footballer (48K)

static struct BurnRomInfo SpecproffootRomDesc[] = {
	{ "Professional Footballer (1988)(Cult Games).z80", 0x0910c, 0x25cec270, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specproffoot, Specproffoot, Spectrum)
STD_ROM_FN(Specproffoot)

struct BurnDriver BurnSpecproffoot = {
	"spec_proffoot", NULL, "spec_spectrum", NULL, "1988",
	"Professional Footballer (48K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecproffootRomInfo, SpecproffootRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Professional Go-Kart Simulator (48K)

static struct BurnRomInfo SpecprgokasiRomDesc[] = {
	{ "Professional Go-Kart Simulator (1990)(Zeppelin Games).z80", 0x09d95, 0x855e861c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprgokasi, Specprgokasi, Spectrum)
STD_ROM_FN(Specprgokasi)

struct BurnDriver BurnSpecprgokasi = {
	"spec_prgokasi", NULL, "spec_spectrum", NULL, "1990",
	"Professional Go-Kart Simulator (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprgokasiRomInfo, SpecprgokasiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Professional Ski Simulator (48K)

static struct BurnRomInfo SpecproskisiRomDesc[] = {
	{ "Professional Ski Simulator (1987)(Codemasters).z80", 0x0aa51, 0x5d583032, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specproskisi, Specproskisi, Spectrum)
STD_ROM_FN(Specproskisi)

struct BurnDriver BurnSpecproskisi = {
	"spec_proskisi", NULL, "spec_spectrum", NULL, "1987",
	"Professional Ski Simulator (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecproskisiRomInfo, SpecproskisiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Professional Snooker Simulator (M3) (48K)

static struct BurnRomInfo Specprsnsim3RomDesc[] = {
	{ "Professional Snooker Simulator (1987)(Codemasters)(M3)[aka Tournament Snooker].z80", 0x057b7, 0x1265eecd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprsnsim3, Specprsnsim3, Spectrum)
STD_ROM_FN(Specprsnsim3)

struct BurnDriver BurnSpecprsnsim3 = {
	"spec_prsnsim3", NULL, "spec_spectrum", NULL, "1987",
	"Professional Snooker Simulator (M3) (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specprsnsim3RomInfo, Specprsnsim3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prohibition (48K)

static struct BurnRomInfo SpecprohibitRomDesc[] = {
	{ "Prohibition (1987)(Infogrames).z80", 0x08f96, 0xc5550ca4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprohibit, Specprohibit, Spectrum)
STD_ROM_FN(Specprohibit)

struct BurnDriver BurnSpecprohibit = {
	"spec_prohibit", NULL, "spec_spectrum", NULL, "1987",
	"Prohibition (48K)\0", NULL, "Infogrames", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprohibitRomInfo, SpecprohibitRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Project Future (48K)

static struct BurnRomInfo SpecprojfutuRomDesc[] = {
	{ "Project Future (1985)(Micromania).z80", 0x099a8, 0x2c397500, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprojfutu, Specprojfutu, Spectrum)
STD_ROM_FN(Specprojfutu)

struct BurnDriver BurnSpecprojfutu = {
	"spec_projfutu", NULL, "spec_spectrum", NULL, "1985",
	"Project Future (48K)\0", NULL, "Micromania", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprojfutuRomInfo, SpecprojfutuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Project Nova (Part 1 of 2) (48K)

static struct BurnRomInfo SpecprojnovaRomDesc[] = {
	{ "Project Nova (1992)(Zenobi Software)(Part 1 of 2)[re-release].z80", 0x09024, 0xbcb5c4be, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprojnova, Specprojnova, Spectrum)
STD_ROM_FN(Specprojnova)

struct BurnDriver BurnSpecprojnova = {
	"spec_projnova", NULL, "spec_spectrum", NULL, "1992",
	"Project Nova (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprojnovaRomInfo, SpecprojnovaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Project Nova (Part 2 of 2) (48K)

static struct BurnRomInfo Specprojnova2RomDesc[] = {
	{ "Project Nova (1992)(Zenobi Software)(Part 2 of 2)[re-release].z80", 0x08f82, 0x52664366, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprojnova2, Specprojnova2, Spectrum)
STD_ROM_FN(Specprojnova2)

struct BurnDriver BurnSpecprojnova2 = {
	"spec_projnova2", "spec_projnova", "spec_spectrum", NULL, "1992",
	"Project Nova (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specprojnova2RomInfo, Specprojnova2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Project X - The Microman (48K)

static struct BurnRomInfo SpecprojectxRomDesc[] = {
	{ "Project X - The Microman (1986)(Compass Software).z80", 0x0afd3, 0xd08e1439, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprojectx, Specprojectx, Spectrum)
STD_ROM_FN(Specprojectx)

struct BurnDriver BurnSpecprojectx = {
	"spec_projectx", NULL, "spec_spectrum", NULL, "1986",
	"Project X - The Microman (48K)\0", NULL, "Compass Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprojectxRomInfo, SpecprojectxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Project-X II - The O Zone (48K)

static struct BurnRomInfo Specprojctx2RomDesc[] = {
	{ "Project-X II - The O Zone (1986)(Compass Software).z80", 0x0b48c, 0xd60f65db, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprojctx2, Specprojctx2, Spectrum)
STD_ROM_FN(Specprojctx2)

struct BurnDriver BurnSpecprojctx2 = {
	"spec_projctx2", NULL, "spec_spectrum", NULL, "1986",
	"Project-X II - The O Zone (48K)\0", NULL, "Compass Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specprojctx2RomInfo, Specprojctx2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Project-X III - The Micro Mutant (48K)

static struct BurnRomInfo Specprojctx3RomDesc[] = {
	{ "Project-X III - The Micro Mutant (1991)(Compass Software).z80", 0x09ed9, 0x80af6934, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprojctx3, Specprojctx3, Spectrum)
STD_ROM_FN(Specprojctx3)

struct BurnDriver BurnSpecprojctx3 = {
	"spec_projctx3", NULL, "spec_spectrum", NULL, "1991",
	"Project-X III - The Micro Mutant (48K)\0", NULL, "Compass Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specprojctx3RomInfo, Specprojctx3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Proof of Destruction (48K)

static struct BurnRomInfo SpecproodestRomDesc[] = {
	{ "Proof of Destruction (1988)(Mastertronic).z80", 0x0632b, 0x61920c18, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specproodest, Specproodest, Spectrum)
STD_ROM_FN(Specproodest)

struct BurnDriver BurnSpecproodest = {
	"spec_proodest", NULL, "spec_spectrum", NULL, "1988",
	"Proof of Destruction (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecproodestRomInfo, SpecproodestRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prophecy, The (48K)

static struct BurnRomInfo SpecproptheRomDesc[] = {
	{ "Prophecy, The (19xx)(The Guild).z80", 0x09b5b, 0xfa152a06, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpropthe, Specpropthe, Spectrum)
STD_ROM_FN(Specpropthe)

struct BurnDriver BurnSpecpropthe = {
	"spec_propthe", NULL, "spec_spectrum", NULL, "19xx",
	"Prophecy, The (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecproptheRomInfo, SpecproptheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prospector, The - Intro (48K)

static struct BurnRomInfo SpecprospctrRomDesc[] = {
	{ "Prospector, The - Intro (1987)(Tartan Software).z80", 0x01cdf, 0x2cfbe82f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprospctr, Specprospctr, Spectrum)
STD_ROM_FN(Specprospctr)

struct BurnDriver BurnSpecprospctr = {
	"spec_prospctr", NULL, "spec_spectrum", NULL, "1987",
	"Prospector, The - Intro (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprospctrRomInfo, SpecprospctrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prospector, The (48K)

static struct BurnRomInfo SpecprospctrgRomDesc[] = {
	{ "Prospector, The (1987)(Tartan Software).z80", 0x0ae41, 0x018db860, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprospctrg, Specprospctrg, Spectrum)
STD_ROM_FN(Specprospctrg)

struct BurnDriver BurnSpecprospctrg = {
	"spec_prospctrg", "spec_prospctr", "spec_spectrum", NULL, "1987",
	"Prospector, The (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprospctrgRomInfo, SpecprospctrgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Protect and Survive (Part 1-2 of 3) (128K)

static struct BurnRomInfo SpecprotsurvRomDesc[] = {
	{ "Protect and Survive (1992)(Northern Underground)(Part 1-2 of 3)[128K].z80", 0x0ff7a, 0x2916dd5d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprotsurv, Specprotsurv, Spectrum)
STD_ROM_FN(Specprotsurv)

struct BurnDriver BurnSpecprotsurv = {
	"spec_protsurv", NULL, "spec_spec128", NULL, "1992",
	"Protect and Survive (Part 1-2 of 3) (128K)\0", NULL, "Northern Underground", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprotsurvRomInfo, SpecprotsurvRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Protect and Survive (Part 3 of 3) (128K)

static struct BurnRomInfo Specprotsurv3RomDesc[] = {
	{ "Protect and Survive (1992)(Northern Underground)(Part 3 of 3)[128K].z80", 0x077c2, 0x5c910858, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprotsurv3, Specprotsurv3, Spectrum)
STD_ROM_FN(Specprotsurv3)

struct BurnDriver BurnSpecprotsurv3 = {
	"spec_protsurv3", "spec_protsurv", "spec_spec128", NULL, "1992",
	"Protect and Survive (Part 3 of 3) (128K)\0", NULL, "Northern Underground", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specprotsurv3RomInfo, Specprotsurv3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Protector (48K)

static struct BurnRomInfo SpecprotectoRomDesc[] = {
	{ "Protector (1989)(Mastertronic Plus).z80", 0x0690a, 0x5f8cbd2e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprotecto, Specprotecto, Spectrum)
STD_ROM_FN(Specprotecto)

struct BurnDriver BurnSpecprotecto = {
	"spec_protecto", NULL, "spec_spectrum", NULL, "1989",
	"Protector (48K)\0", NULL, "Mastertronic Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprotectoRomInfo, SpecprotectoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Proteus (Spanish) (48K)

static struct BurnRomInfo SpecproteuseRomDesc[] = {
	{ "Proteus (1986)(Jorge Perez Barreiro)(es).z80", 0x064cc, 0xc179d952, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specproteuse, Specproteuse, Spectrum)
STD_ROM_FN(Specproteuse)

struct BurnDriver BurnSpecproteuse = {
	"spec_proteuse", NULL, "spec_spectrum", NULL, "1986",
	"Proteus (Spanish) (48K)\0", NULL, "Jorge Perez Barreiro", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecproteuseRomInfo, SpecproteuseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prowler (48K)

static struct BurnRomInfo SpecprowlerRomDesc[] = {
	{ "Prowler (1988)(Mastertronic).z80", 0x08b94, 0x3f6721a0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprowler, Specprowler, Spectrum)
STD_ROM_FN(Specprowler)

struct BurnDriver BurnSpecprowler = {
	"spec_prowler", NULL, "spec_spectrum", NULL, "1988",
	"Prowler (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprowlerRomInfo, SpecprowlerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prva Akcia (sk) (48K)

static struct BurnRomInfo Specprvaakci_48RomDesc[] = {
	{ "Prva Akcia (1992)(Ultrasoft)(sk).z80", 0x09f55, 0x741003fe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprvaakci_48, Specprvaakci_48, Spectrum)
STD_ROM_FN(Specprvaakci_48)

struct BurnDriver BurnSpecprvaakci_48 = {
	"spec_prvaakci_48", "spec_prvaakci", "spec_spectrum", NULL, "1992",
	"Prva Akcia (sk) (48K)\0", NULL, "Ultrasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specprvaakci_48RomInfo, Specprvaakci_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Prva Akcia (sk) (128K)

static struct BurnRomInfo SpecprvaakciRomDesc[] = {
	{ "Prva Akcia (1992)(Ultrasoft)(sk)[128K].z80", 0x0a11d, 0xb2e5ec54, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specprvaakci, Specprvaakci, Spectrum)
STD_ROM_FN(Specprvaakci)

struct BurnDriver BurnSpecprvaakci = {
	"spec_prvaakci", NULL, "spec_spec128", NULL, "1992",
	"Prva Akcia (sk) (128K)\0", NULL, "Ultrasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecprvaakciRomInfo, SpecprvaakciRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Psi Chess (48K)

static struct BurnRomInfo SpecpsichessRomDesc[] = {
	{ "Psi Chess (1986)(The Edge Software).z80", 0x08225, 0x206608be, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpsichess, Specpsichess, Spectrum)
STD_ROM_FN(Specpsichess)

struct BurnDriver BurnSpecpsichess = {
	"spec_psichess", NULL, "spec_spectrum", NULL, "1986",
	"Psi Chess (48K)\0", NULL, "The Edge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpsichessRomInfo, SpecpsichessRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Psi Spy (48K)

static struct BurnRomInfo SpecpsispyRomDesc[] = {
	{ "Psi Spy (1983)(Postern)[speech].z80", 0x09229, 0x3b82e57e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpsispy, Specpsispy, Spectrum)
STD_ROM_FN(Specpsispy)

struct BurnDriver BurnSpecpsispy = {
	"spec_psispy", NULL, "spec_spectrum", NULL, "1983",
	"Psi Spy (48K)\0", NULL, "Postern", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpsispyRomInfo, SpecpsispyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Psycho City (48K)

static struct BurnRomInfo SpecpsyccityRomDesc[] = {
	{ "Psycho City (1989)(Players Software).z80", 0x09a96, 0x5f5941f4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpsyccity, Specpsyccity, Spectrum)
STD_ROM_FN(Specpsyccity)

struct BurnDriver BurnSpecpsyccity = {
	"spec_psyccity", NULL, "spec_spectrum", NULL, "1989",
	"Psycho City (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpsyccityRomInfo, SpecpsyccityRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Psycho Hopper (48K)

static struct BurnRomInfo SpecpsychoppRomDesc[] = {
	{ "Psycho Hopper (1989)(Mastertronic Plus).z80", 0x07fb7, 0xa2922e11, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpsychopp, Specpsychopp, Spectrum)
STD_ROM_FN(Specpsychopp)

struct BurnDriver BurnSpecpsychopp = {
	"spec_psychopp", NULL, "spec_spectrum", NULL, "1989",
	"Psycho Hopper (48K)\0", NULL, "Mastertronic Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpsychoppRomInfo, SpecpsychoppRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Psycho Pig U.X.B. (128K)

static struct BurnRomInfo SpecpspiuxbRomDesc[] = {
	{ "Psycho Pig U.X.B. (1988)(U.S. Gold)[128K].z80", 0x0bce1, 0x7ef6bc21, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpspiuxb, Specpspiuxb, Spectrum)
STD_ROM_FN(Specpspiuxb)

struct BurnDriver BurnSpecpspiuxb = {
	"spec_pspiuxb", NULL, "spec_spec128", NULL, "1988",
	"Psycho Pig U.X.B. (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpspiuxbRomInfo, SpecpspiuxbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Psycho Soldier (48K)

static struct BurnRomInfo SpecpsycsoldRomDesc[] = {
	{ "Psycho Soldier (1988)(Imagine Software)[incomplete].z80", 0x0760a, 0x0a0cdde4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpsycsold, Specpsycsold, Spectrum)
STD_ROM_FN(Specpsycsold)

struct BurnDriver BurnSpecpsycsold = {
	"spec_psycsold", NULL, "spec_spectrum", NULL, "1988",
	"Psycho Soldier (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpsycsoldRomInfo, SpecpsycsoldRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Psytraxx (48K)

static struct BurnRomInfo SpecpsytraxxRomDesc[] = {
	{ "Psytraxx (1984)(The Edge Software).z80", 0x0ae95, 0x362277ef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpsytraxx, Specpsytraxx, Spectrum)
STD_ROM_FN(Specpsytraxx)

struct BurnDriver BurnSpecpsytraxx = {
	"spec_psytraxx", NULL, "spec_spectrum", NULL, "1984",
	"Psytraxx (48K)\0", NULL, "The Edge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpsytraxxRomInfo, SpecpsytraxxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Psytron (48K)

static struct BurnRomInfo SpecpsytronRomDesc[] = {
	{ "Psytron (1984)(Beyond Software).z80", 0x0aa20, 0x7a3e1c90, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpsytron, Specpsytron, Spectrum)
STD_ROM_FN(Specpsytron)

struct BurnDriver BurnSpecpsytron = {
	"spec_psytron", NULL, "spec_spectrum", NULL, "1984",
	"Psytron (48K)\0", NULL, "Beyond Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpsytronRomInfo, SpecpsytronRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pub Trivia (48K)

static struct BurnRomInfo Specpubtrivi_48RomDesc[] = {
	{ "Pub Trivia (1989)(Codemasters).z80", 0x0a6a9, 0xa1c050aa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpubtrivi_48, Specpubtrivi_48, Spectrum)
STD_ROM_FN(Specpubtrivi_48)

struct BurnDriver BurnSpecpubtrivi_48 = {
	"spec_pubtrivi_48", "spec_pubtrivi", "spec_spectrum", NULL, "1989",
	"Pub Trivia (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpubtrivi_48RomInfo, Specpubtrivi_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pub Trivia (128K)

static struct BurnRomInfo SpecpubtriviRomDesc[] = {
	{ "Pub Trivia (1989)(Codemasters)[128K].z80", 0x18987, 0xbafbf528, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpubtrivi, Specpubtrivi, Spectrum)
STD_ROM_FN(Specpubtrivi)

struct BurnDriver BurnSpecpubtrivi = {
	"spec_pubtrivi", NULL, "spec_spec128", NULL, "1989",
	"Pub Trivia (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpubtriviRomInfo, SpecpubtriviRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pud Pud in Weird World (48K)

static struct BurnRomInfo SpecpupuwewoRomDesc[] = {
	{ "Pud Pud in Weird World (1985)(Ocean).z80", 0x08cac, 0x829cf827, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpupuwewo, Specpupuwewo, Spectrum)
STD_ROM_FN(Specpupuwewo)

struct BurnDriver BurnSpecpupuwewo = {
	"spec_pupuwewo", NULL, "spec_spectrum", NULL, "1985",
	"Pud Pud in Weird World (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpupuwewoRomInfo, SpecpupuwewoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pueblo de la Noche (Spanish) (48K)

static struct BurnRomInfo SpecpuebnochRomDesc[] = {
	{ "Pueblo de la Noche (1989)(Grupo Creators Union)(es).z80", 0x09c50, 0xa45227d8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpuebnoch, Specpuebnoch, Spectrum)
STD_ROM_FN(Specpuebnoch)

struct BurnDriver BurnSpecpuebnoch = {
	"spec_puebnoch", NULL, "spec_spectrum", NULL, "1989",
	"Pueblo de la Noche (Spanish) (48K)\0", NULL, "Grupo Creators Union", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpuebnochRomInfo, SpecpuebnochRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Puffy's Saga (48K)

static struct BurnRomInfo Specpuffsaga_48RomDesc[] = {
	{ "Puffy's Saga (1989)(Ubi Soft).z80", 0x0a23f, 0xb487d0dd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpuffsaga_48, Specpuffsaga_48, Spectrum)
STD_ROM_FN(Specpuffsaga_48)

struct BurnDriver BurnSpecpuffsaga_48 = {
	"spec_puffsaga_48", "spec_puffsaga", "spec_spectrum", NULL, "1989",
	"Puffy's Saga (48K)\0", NULL, "Ubi Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpuffsaga_48RomInfo, Specpuffsaga_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Puffy's Saga (128K)

static struct BurnRomInfo SpecpuffsagaRomDesc[] = {
	{ "Puffy's Saga (1989)(Ubi Soft)[128K].z80", 0x191a1, 0xf9e8283b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpuffsaga, Specpuffsaga, Spectrum)
STD_ROM_FN(Specpuffsaga)

struct BurnDriver BurnSpecpuffsaga = {
	"spec_puffsaga", NULL, "spec_spec128", NULL, "1989",
	"Puffy's Saga (128K)\0", NULL, "Ubi Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpuffsagaRomInfo, SpecpuffsagaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pulsator (48K)

static struct BurnRomInfo SpecpulsatorRomDesc[] = {
	{ "Pulsator (1987)(Martech Games).z80", 0x0a6ea, 0x375d1aef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpulsator, Specpulsator, Spectrum)
STD_ROM_FN(Specpulsator)

struct BurnDriver BurnSpecpulsator = {
	"spec_pulsator", NULL, "spec_spectrum", NULL, "1987",
	"Pulsator (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpulsatorRomInfo, SpecpulsatorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pulse Warrior (48K)

static struct BurnRomInfo SpecpulswarrRomDesc[] = {
	{ "Pulse Warrior (1988)(Mastertronic).z80", 0x06e69, 0x75a6c55a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpulswarr, Specpulswarr, Spectrum)
STD_ROM_FN(Specpulswarr)

struct BurnDriver BurnSpecpulswarr = {
	"spec_pulswarr", NULL, "spec_spectrum", NULL, "1988",
	"Pulse Warrior (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpulswarrRomInfo, SpecpulswarrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Puluc (German) (48K)

static struct BurnRomInfo SpecpulucdeRomDesc[] = {
	{ "Puluc (19xx)(-)(de).z80", 0x030c7, 0xc57825dc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpulucde, Specpulucde, Spectrum)
STD_ROM_FN(Specpulucde)

struct BurnDriver BurnSpecpulucde = {
	"spec_pulucde", NULL, "spec_spectrum", NULL, "19xx",
	"Puluc (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpulucdeRomInfo, SpecpulucdeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Punch & Judy (48K)

static struct BurnRomInfo SpecpuncjudyRomDesc[] = {
	{ "Punch & Judy (1989)(Alternative Software).z80", 0x08cdc, 0x38e87b01, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpuncjudy, Specpuncjudy, Spectrum)
STD_ROM_FN(Specpuncjudy)

struct BurnDriver BurnSpecpuncjudy = {
	"spec_puncjudy", NULL, "spec_spectrum", NULL, "1989",
	"Punch & Judy (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpuncjudyRomInfo, SpecpuncjudyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Punchy (48K)

static struct BurnRomInfo SpecpunchyRomDesc[] = {
	{ "Punchy (1983)(Mr. Micro).z80", 0x0887c, 0x4758759e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpunchy, Specpunchy, Spectrum)
STD_ROM_FN(Specpunchy)

struct BurnDriver BurnSpecpunchy = {
	"spec_punchy", NULL, "spec_spectrum", NULL, "1983",
	"Punchy (48K)\0", NULL, "Mr. Micro", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpunchyRomInfo, SpecpunchyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Punk Star (Spanish) (48K)

static struct BurnRomInfo SpecpunkstarRomDesc[] = {
	{ "Punk Star (1988)(Iber Soft)(es).z80", 0x06d33, 0x19d97ca2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpunkstar, Specpunkstar, Spectrum)
STD_ROM_FN(Specpunkstar)

struct BurnDriver BurnSpecpunkstar = {
	"spec_punkstar", NULL, "spec_spectrum", NULL, "1988",
	"Punk Star (Spanish) (48K)\0", NULL, "Iber Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpunkstarRomInfo, SpecpunkstarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Purple Demon (48K)

static struct BurnRomInfo SpecpurpdmnRomDesc[] = {
	{ "Purple Demon (1996)(CSSCGC).z80", 0x01095, 0x034f11c2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpurpdmn, Specpurpdmn, Spectrum)
STD_ROM_FN(Specpurpdmn)

struct BurnDriver BurnSpecpurpdmn = {
	"spec_purpdmn", NULL, "spec_spectrum", NULL, "1996",
	"Purple Demon (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpurpdmnRomInfo, SpecpurpdmnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Purple Demon 2 (48K)

static struct BurnRomInfo Specpurpdmn2RomDesc[] = {
	{ "Purple Demon 2 (1997)(CSSCGC).z80", 0x01580, 0xd60d4811, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpurpdmn2, Specpurpdmn2, Spectrum)
STD_ROM_FN(Specpurpdmn2)

struct BurnDriver BurnSpecpurpdmn2 = {
	"spec_purpdmn2", NULL, "spec_spectrum", NULL, "1997",
	"Purple Demon 2 (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpurpdmn2RomInfo, Specpurpdmn2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Purple Demon 3 (48K)

static struct BurnRomInfo Specpurpdmn3RomDesc[] = {
	{ "Purple Demon 3 (1998)(CSSCGC).z80", 0x012f5, 0xd0dd0889, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpurpdmn3, Specpurpdmn3, Spectrum)
STD_ROM_FN(Specpurpdmn3)

struct BurnDriver BurnSpecpurpdmn3 = {
	"spec_purpdmn3", NULL, "spec_spectrum", NULL, "1998",
	"Purple Demon 3 (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpurpdmn3RomInfo, Specpurpdmn3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pursuit Ship (48K)

static struct BurnRomInfo SpecpursshipRomDesc[] = {
	{ "Pursuit Ship (19xx)(-).z80", 0x04481, 0x7eee057e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpursship, Specpursship, Spectrum)
STD_ROM_FN(Specpursship)

struct BurnDriver BurnSpecpursship = {
	"spec_pursship", NULL, "spec_spectrum", NULL, "19xx",
	"Pursuit Ship (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpursshipRomInfo, SpecpursshipRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Push Off (48K)

static struct BurnRomInfo SpecpushoffRomDesc[] = {
	{ "Push Off (1983)(Software Projects).z80", 0x024bf, 0x8dc94df8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpushoff, Specpushoff, Spectrum)
STD_ROM_FN(Specpushoff)

struct BurnDriver BurnSpecpushoff = {
	"spec_pushoff", NULL, "spec_spectrum", NULL, "1983",
	"Push Off (48K)\0", NULL, "Software Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpushoffRomInfo, SpecpushoffRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pustman (sv) (48K)

static struct BurnRomInfo SpecpustmansRomDesc[] = {
	{ "Pustman (19xx)(Birger Larsson)(sv).z80", 0x02e0d, 0x721445d5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpustmans, Specpustmans, Spectrum)
STD_ROM_FN(Specpustmans)

struct BurnDriver BurnSpecpustmans = {
	"spec_pustmans", NULL, "spec_spectrum", NULL, "19xx",
	"Pustman (sv) (48K)\0", NULL, "Birger Larsson", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpustmansRomInfo, SpecpustmansRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Puszka Pandory (pl) (48K)

static struct BurnRomInfo SpecpuszpandRomDesc[] = {
	{ "Puszka Pandory (1986)(Marcin Borkowski)(pl).z80", 0x0758f, 0x3c92d0ae, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpuszpand, Specpuszpand, Spectrum)
STD_ROM_FN(Specpuszpand)

struct BurnDriver BurnSpecpuszpand = {
	"spec_puszpand", NULL, "spec_spectrum", NULL, "1986",
	"Puszka Pandory (pl) (48K)\0", NULL, "Marcin Borkowski", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpuszpandRomInfo, SpecpuszpandRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Puzzle, The (48K)

static struct BurnRomInfo SpecpuzzleRomDesc[] = {
	{ "Puzzle, The (1989)(Spectrum Club).z80", 0x09dd5, 0x0854975d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpuzzle, Specpuzzle, Spectrum)
STD_ROM_FN(Specpuzzle)

struct BurnDriver BurnSpecpuzzle = {
	"spec_puzzle", NULL, "spec_spectrum", NULL, "1989",
	"Puzzle, The (48K)\0", NULL, "Spectrum Club", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpuzzleRomInfo, SpecpuzzleRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Puzznic (48K)

static struct BurnRomInfo Specpuzznic_48RomDesc[] = {
	{ "Puzznic (1990)(Ocean).z80", 0x06bc9, 0x1b6a8858, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpuzznic_48, Specpuzznic_48, Spectrum)
STD_ROM_FN(Specpuzznic_48)

struct BurnDriver BurnSpecpuzznic_48 = {
	"spec_puzznic_48", "spec_puzznic", "spec_spectrum", NULL, "1990",
	"Puzznic (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specpuzznic_48RomInfo, Specpuzznic_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Puzznic (128K)

static struct BurnRomInfo SpecpuzznicRomDesc[] = {
	{ "Puzznic (1990)(Ocean)[128K].z80", 0x11c44, 0x138fe09d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpuzznic, Specpuzznic, Spectrum)
STD_ROM_FN(Specpuzznic)

struct BurnDriver BurnSpecpuzznic = {
	"spec_puzznic", NULL, "spec_spec128", NULL, "1990",
	"Puzznic (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpuzznicRomInfo, SpecpuzznicRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pyjamarama (48K)

static struct BurnRomInfo SpecpyjamaraRomDesc[] = {
	{ "Pyjamarama (1984)(Mikro-Gen).z80", 0x0a455, 0x6801d962, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpyjamara, Specpyjamara, Spectrum)
STD_ROM_FN(Specpyjamara)

struct BurnDriver BurnSpecpyjamara = {
	"spec_pyjamara", NULL, "spec_spectrum", NULL, "1984",
	"Pyjamarama (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpyjamaraRomInfo, SpecpyjamaraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pyramid Anim (48K)

static struct BurnRomInfo SpecpyraanimRomDesc[] = {
	{ "Pyramid Anim (1995)(Vaxalon).z80", 0x015f2, 0x37124b55, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpyraanim, Specpyraanim, Spectrum)
STD_ROM_FN(Specpyraanim)

struct BurnDriver BurnSpecpyraanim = {
	"spec_pyraanim", NULL, "spec_spectrum", NULL, "1995",
	"Pyramid Anim (48K)\0", NULL, "Vaxalon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpyraanimRomInfo, SpecpyraanimRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pyramid of Rameses (48K)

static struct BurnRomInfo SpecpyrarameRomDesc[] = {
	{ "Pyramid of Rameses (1983)(Longman Software).z80", 0x0aa7b, 0x9e2610db, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpyrarame, Specpyrarame, Spectrum)
STD_ROM_FN(Specpyrarame)

struct BurnDriver BurnSpecpyrarame = {
	"spec_pyrarame", NULL, "spec_spectrum", NULL, "1983",
	"Pyramid of Rameses (48K)\0", NULL, "Longman Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpyrarameRomInfo, SpecpyrarameRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pyramid Patience (48K)

static struct BurnRomInfo SpecpyrapatiRomDesc[] = {
	{ "Pyramid Patience (1996)(Tiger's Claw).z80", 0x02063, 0xf71dbbe6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpyrapati, Specpyrapati, Spectrum)
STD_ROM_FN(Specpyrapati)

struct BurnDriver BurnSpecpyrapati = {
	"spec_pyrapati", NULL, "spec_spectrum", NULL, "1996",
	"Pyramid Patience (48K)\0", NULL, "Tiger's Claw", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpyrapatiRomInfo, SpecpyrapatiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Pyramid, The (48K)

static struct BurnRomInfo SpecpyratheRomDesc[] = {
	{ "Pyramid, The (1983)(Fantasy Software).z80", 0x07e0d, 0x9e491f46, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specpyrathe, Specpyrathe, Spectrum)
STD_ROM_FN(Specpyrathe)

struct BurnDriver BurnSpecpyrathe = {
	"spec_pyrathe", NULL, "spec_spectrum", NULL, "1983",
	"Pyramid, The (48K)\0", NULL, "Fantasy Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecpyratheRomInfo, SpecpyratheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Q10 Tankbuster (48K)

static struct BurnRomInfo Specq10tankbRomDesc[] = {
	{ "Q10 Tankbuster (1992)(Zeppelin Games).z80", 0x08a20, 0x6b3c7a5d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specq10tankb, Specq10tankb, Spectrum)
STD_ROM_FN(Specq10tankb)

struct BurnDriver BurnSpecq10tankb = {
	"spec_q10tankb", NULL, "spec_spectrum", NULL, "1992",
	"Q10 Tankbuster (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specq10tankbRomInfo, Specq10tankbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Qang (cs) (48K)

static struct BurnRomInfo SpecqangcsRomDesc[] = {
	{ "Qang (1991)(Scorpion)(cs).z80", 0x043fd, 0xef7f941c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specqangcs, Specqangcs, Spectrum)
STD_ROM_FN(Specqangcs)

struct BurnDriver BurnSpecqangcs = {
	"spec_qangcs", NULL, "spec_spectrum", NULL, "1991",
	"Qang (cs) (48K)\0", NULL, "Scorpion", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecqangcsRomInfo, SpecqangcsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quack-Shot (48K)

static struct BurnRomInfo SpecquacshotRomDesc[] = {
	{ "Quack-Shot (1985)(Sparklers).z80", 0x07cdf, 0xdf5c044c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specquacshot, Specquacshot, Spectrum)
STD_ROM_FN(Specquacshot)

struct BurnDriver BurnSpecquacshot = {
	"spec_quacshot", NULL, "spec_spectrum", NULL, "1985",
	"Quack-Shot (48K)\0", NULL, "Sparklers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecquacshotRomInfo, SpecquacshotRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quadrato (German) (48K)

static struct BurnRomInfo SpecquadratoRomDesc[] = {
	{ "Quadrato (19xx)(-)(de).z80", 0x02b3e, 0x97383c06, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specquadrato, Specquadrato, Spectrum)
STD_ROM_FN(Specquadrato)

struct BurnDriver BurnSpecquadrato = {
	"spec_quadrato", NULL, "spec_spectrum", NULL, "19xx",
	"Quadrato (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecquadratoRomInfo, SpecquadratoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quadrax (sk) (48K)

static struct BurnRomInfo SpecquadraxsRomDesc[] = {
	{ "Quadrax (1994)(Ultrasoft - Sintech)(sk).z80", 0x0b239, 0x05fb4367, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specquadraxs, Specquadraxs, Spectrum)
STD_ROM_FN(Specquadraxs)

struct BurnDriver BurnSpecquadraxs = {
	"spec_quadraxs", NULL, "spec_spectrum", NULL, "1994",
	"Quadrax (sk) (48K)\0", NULL, "Ultrasoft - Sintech", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecquadraxsRomInfo, SpecquadraxsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quake (48K)

static struct BurnRomInfo SpecquakeRomDesc[] = {
	{ "Quake (1998)(CSSCGC).z80", 0x00b43, 0x8684f56d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specquake, Specquake, Spectrum)
STD_ROM_FN(Specquake)

struct BurnDriver BurnSpecquake = {
	"spec_quake", NULL, "spec_spectrum", NULL, "1998",
	"Quake (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecquakeRomInfo, SpecquakeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quann Tulla (48K)

static struct BurnRomInfo SpecquantullRomDesc[] = {
	{ "Quann Tulla (1985)(8th Day Software).z80", 0x08ddb, 0xd84b93f3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specquantull, Specquantull, Spectrum)
STD_ROM_FN(Specquantull)

struct BurnDriver BurnSpecquantull = {
	"spec_quantull", NULL, "spec_spectrum", NULL, "1985",
	"Quann Tulla (48K)\0", NULL, "8th Day Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecquantullRomInfo, SpecquantullRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quann Tulla v2 (48K)

static struct BurnRomInfo Specquantul2RomDesc[] = {
	{ "Quann Tulla v2 (1985)(8th Day Software).z80", 0x09489, 0x039e5bcc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specquantul2, Specquantul2, Spectrum)
STD_ROM_FN(Specquantul2)

struct BurnDriver BurnSpecquantul2 = {
	"spec_quantul2", NULL, "spec_spectrum", NULL, "1985",
	"Quann Tulla v2 (48K)\0", NULL, "8th Day Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specquantul2RomInfo, Specquantul2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quartet (48K)

static struct BurnRomInfo SpecquartetRomDesc[] = {
	{ "Quartet (1987)(Activision).z80", 0x08a9e, 0x45711e73, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specquartet, Specquartet, Spectrum)
STD_ROM_FN(Specquartet)

struct BurnDriver BurnSpecquartet = {
	"spec_quartet", NULL, "spec_spectrum", NULL, "1987",
	"Quartet (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecquartetRomInfo, SpecquartetRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quazatron (48K)

static struct BurnRomInfo SpecquazatroRomDesc[] = {
	{ "Quazatron (1986)(Hewson Consultants).z80", 0x07e39, 0xdf931658, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specquazatro, Specquazatro, Spectrum)
STD_ROM_FN(Specquazatro)

struct BurnDriver BurnSpecquazatro = {
	"spec_quazatro", NULL, "spec_spectrum", NULL, "1986",
	"Quazatron (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecquazatroRomInfo, SpecquazatroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quest Adventure (48K)

static struct BurnRomInfo SpecquesadveRomDesc[] = {
	{ "Quest Adventure (1983)(Hewson Consultants).z80", 0x0a26b, 0xf99973ab, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specquesadve, Specquesadve, Spectrum)
STD_ROM_FN(Specquesadve)

struct BurnDriver BurnSpecquesadve = {
	"spec_quesadve", NULL, "spec_spectrum", NULL, "1983",
	"Quest Adventure (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecquesadveRomInfo, SpecquesadveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quest for Eternity (48K)

static struct BurnRomInfo SpecqueseterRomDesc[] = {
	{ "Quest for Eternity (1984)(Mind Games).z80", 0x0a4ba, 0xe821150b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specqueseter, Specqueseter, Spectrum)
STD_ROM_FN(Specqueseter)

struct BurnDriver BurnSpecqueseter = {
	"spec_queseter", NULL, "spec_spectrum", NULL, "1984",
	"Quest for Eternity (48K)\0", NULL, "Mind Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecqueseterRomInfo, SpecqueseterRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quest for the Golden Eggcup, The (Network Adventure Games) (48K)

static struct BurnRomInfo SpecqugoegthRomDesc[] = {
	{ "Quest for the Golden Eggcup, The (1986)(Network Adventure Games).z80", 0x085f3, 0x72c72af7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specqugoegth, Specqugoegth, Spectrum)
STD_ROM_FN(Specqugoegth)

struct BurnDriver BurnSpecqugoegth = {
	"spec_qugoegth", NULL, "spec_spectrum", NULL, "1986",
	"Quest for the Golden Eggcup, The (Network Adventure Games) (48K)\0", NULL, "Network Adventure Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecqugoegthRomInfo, SpecqugoegthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quest for the Golden Eggcup, The (Mastertronic) (48K)

static struct BurnRomInfo Specqugoegth_48RomDesc[] = {
	{ "Quest for the Golden Eggcup, The (1988)(Mastertronic)[re-release].z80", 0x0ac89, 0xe5145377, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specqugoegth_48, Specqugoegth_48, Spectrum)
STD_ROM_FN(Specqugoegth_48)

struct BurnDriver BurnSpecqugoegth_48 = {
	"spec_qugoegth_48", "spec_qugoegth", "spec_spectrum", NULL, "1988",
	"Quest for the Golden Eggcup, The (Mastertronic) (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specqugoegth_48RomInfo, Specqugoegth_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quest for the Golden Orange Peel (48K)

static struct BurnRomInfo SpecqugoorpeRomDesc[] = {
	{ "Quest for the Golden Orange Peel (1986)(Dual Dimension Software).z80", 0x0896c, 0xdf74f062, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specqugoorpe, Specqugoorpe, Spectrum)
STD_ROM_FN(Specqugoorpe)

struct BurnDriver BurnSpecqugoorpe = {
	"spec_qugoorpe", NULL, "spec_spectrum", NULL, "1986",
	"Quest for the Golden Orange Peel (48K)\0", NULL, "Dual Dimension Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecqugoorpeRomInfo, SpecqugoorpeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quest for the Holy Grail, The (48K)

static struct BurnRomInfo SpecquhogrthRomDesc[] = {
	{ "Quest for the Holy Grail, The (1984)(Mastertronic).z80", 0x09aaf, 0x34275a5c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specquhogrth, Specquhogrth, Spectrum)
STD_ROM_FN(Specquhogrth)

struct BurnDriver BurnSpecquhogrth = {
	"spec_quhogrth", NULL, "spec_spectrum", NULL, "1984",
	"Quest for the Holy Grail, The (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecquhogrthRomInfo, SpecquhogrthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quest for the Holy Joystick, The (48K)

static struct BurnRomInfo SpecquhojothRomDesc[] = {
	{ "Quest for the Holy Joystick, The (1984)(Delta 4 Software).z80", 0x09646, 0xe14a72e7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specquhojoth, Specquhojoth, Spectrum)
STD_ROM_FN(Specquhojoth)

struct BurnDriver BurnSpecquhojoth = {
	"spec_quhojoth", NULL, "spec_spectrum", NULL, "1984",
	"Quest for the Holy Joystick, The (48K)\0", NULL, "Delta 4 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecquhojothRomInfo, SpecquhojothRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quest for the Holy Snail, The (48K)

static struct BurnRomInfo SpecquhosnthRomDesc[] = {
	{ "Quest for the Holy Snail, The (1992)(Zenobi Software).z80", 0x08b53, 0x74dd0c14, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specquhosnth, Specquhosnth, Spectrum)
STD_ROM_FN(Specquhosnth)

struct BurnDriver BurnSpecquhosnth = {
	"spec_quhosnth", NULL, "spec_spectrum", NULL, "1992",
	"Quest for the Holy Snail, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecquhosnthRomInfo, SpecquhosnthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quest for the Holy Something, The (Part 1 of 2) (48K)

static struct BurnRomInfo SpecquhosothRomDesc[] = {
	{ "Quest for the Holy Something, The (1992)(Zenobi Software)(Part 1 of 2).z80", 0x0a688, 0x6afb89d6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specquhosoth, Specquhosoth, Spectrum)
STD_ROM_FN(Specquhosoth)

struct BurnDriver BurnSpecquhosoth = {
	"spec_quhosoth", NULL, "spec_spectrum", NULL, "1992",
	"Quest for the Holy Something, The (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecquhosothRomInfo, SpecquhosothRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quest for the Holy Something, The (Part 2 of 2) (48K)

static struct BurnRomInfo Specquhosoth2RomDesc[] = {
	{ "Quest for the Holy Something, The (1992)(Zenobi Software)(Part 2 of 2).z80", 0x0a57d, 0x269df790, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specquhosoth2, Specquhosoth2, Spectrum)
STD_ROM_FN(Specquhosoth2)

struct BurnDriver BurnSpecquhosoth2 = {
	"spec_quhosoth2", "spec_quhosoth", "spec_spectrum", NULL, "1992",
	"Quest for the Holy Something, The (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specquhosoth2RomInfo, Specquhosoth2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quest for the Mindstone (48K)

static struct BurnRomInfo SpecquesmindRomDesc[] = {
	{ "Quest for the Mindstone (1986)(The Edge Software).z80", 0x0b535, 0xf8d26e2a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specquesmind, Specquesmind, Spectrum)
STD_ROM_FN(Specquesmind)

struct BurnDriver BurnSpecquesmind = {
	"spec_quesmind", NULL, "spec_spectrum", NULL, "1986",
	"Quest for the Mindstone (48K)\0", NULL, "The Edge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecquesmindRomInfo, SpecquesmindRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quest for the Poorly Snail (Part 1 of 3) (48K)

static struct BurnRomInfo SpecqustprsnRomDesc[] = {
	{ "Quest for the Poorly Snail (1988)(Futuresoft)(Part 1 of 3).z80", 0x0968d, 0xb7dfba00, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specqustprsn, Specqustprsn, Spectrum)
STD_ROM_FN(Specqustprsn)

struct BurnDriver BurnSpecqustprsn = {
	"spec_qustprsn", NULL, "spec_spectrum", NULL, "1988",
	"Quest for the Poorly Snail (Part 1 of 3) (48K)\0", NULL, "Futuresoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecqustprsnRomInfo, SpecqustprsnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quest for the Poorly Snail (Part 2 of 3) (48K)

static struct BurnRomInfo Specqustprsn2RomDesc[] = {
	{ "Quest for the Poorly Snail (1988)(Futuresoft)(Part 2 of 3).z80", 0x08a02, 0x87d2ab3f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specqustprsn2, Specqustprsn2, Spectrum)
STD_ROM_FN(Specqustprsn2)

struct BurnDriver BurnSpecqustprsn2 = {
	"spec_qustprsn2", "spec_qustprsn", "spec_spectrum", NULL, "1988",
	"Quest for the Poorly Snail (Part 2 of 3) (48K)\0", NULL, "Futuresoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specqustprsn2RomInfo, Specqustprsn2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quest for the Poorly Snail (Part 3 of 3) (48K)

static struct BurnRomInfo Specqustprsn3RomDesc[] = {
	{ "Quest for the Poorly Snail (1988)(Futuresoft)(Part 3 of 3).z80", 0x07f72, 0xfe79d32f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specqustprsn3, Specqustprsn3, Spectrum)
STD_ROM_FN(Specqustprsn3)

struct BurnDriver BurnSpecqustprsn3 = {
	"spec_qustprsn3", "spec_qustprsn", "spec_spectrum", NULL, "1988",
	"Quest for the Poorly Snail (Part 3 of 3) (48K)\0", NULL, "Futuresoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specqustprsn3RomInfo, Specqustprsn3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quest, The (48K)

static struct BurnRomInfo SpecquestRomDesc[] = {
	{ "Quest, The (1982)(Impact Software).z80", 0x08d27, 0x237d13c4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specquest, Specquest, Spectrum)
STD_ROM_FN(Specquest)

struct BurnDriver BurnSpecquest = {
	"spec_quest", NULL, "spec_spectrum", NULL, "1982",
	"Quest, The (48K)\0", NULL, "Impact Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecquestRomInfo, SpecquestRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Questprobe 1 - The Hulk (48K)

static struct BurnRomInfo Specquestpr1RomDesc[] = {
	{ "Questprobe 1 - The Hulk (1984)(Adventure International).z80", 0x09f17, 0xcdab3993, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specquestpr1, Specquestpr1, Spectrum)
STD_ROM_FN(Specquestpr1)

struct BurnDriver BurnSpecquestpr1 = {
	"spec_questpr1", NULL, "spec_spectrum", NULL, "1984",
	"Questprobe 1 - The Hulk (48K)\0", NULL, "Adventure International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specquestpr1RomInfo, Specquestpr1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Questprobe 2 - Spider-Man (48K)

static struct BurnRomInfo Specquestpr2RomDesc[] = {
	{ "Questprobe 2 - Spider-Man (1984)(Adventure International).z80", 0x0a4c4, 0x067da2b6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specquestpr2, Specquestpr2, Spectrum)
STD_ROM_FN(Specquestpr2)

struct BurnDriver BurnSpecquestpr2 = {
	"spec_questpr2", NULL, "spec_spectrum", NULL, "1984",
	"Questprobe 2 - Spider-Man (48K)\0", NULL, "Adventure International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specquestpr2RomInfo, Specquestpr2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Questprobe 3 - The Human Torch and The Thing (48K)

static struct BurnRomInfo Specquestpr3RomDesc[] = {
	{ "Questprobe 3 - The Human Torch and The Thing (1985)(Adventure International).z80", 0x0aa2a, 0xea6831f7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specquestpr3, Specquestpr3, Spectrum)
STD_ROM_FN(Specquestpr3)

struct BurnDriver BurnSpecquestpr3 = {
	"spec_questpr3", NULL, "spec_spectrum", NULL, "1985",
	"Questprobe 3 - The Human Torch and The Thing (48K)\0", NULL, "Adventure International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specquestpr3RomInfo, Specquestpr3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quetzalcoatl (48K)

static struct BurnRomInfo SpecquetzalcRomDesc[] = {
	{ "Quetzalcoatl (1983)(Virgin Games).z80", 0x0744a, 0xe2d242e2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specquetzalc, Specquetzalc, Spectrum)
STD_ROM_FN(Specquetzalc)

struct BurnDriver BurnSpecquetzalc = {
	"spec_quetzalc", NULL, "spec_spectrum", NULL, "1983",
	"Quetzalcoatl (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecquetzalcRomInfo, SpecquetzalcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quick Draw McGraw (48K)

static struct BurnRomInfo SpecqudrmcgrRomDesc[] = {
	{ "Quick Draw McGraw (1990)(Hi-Tec Software).z80", 0x09765, 0x75318ffc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specqudrmcgr, Specqudrmcgr, Spectrum)
STD_ROM_FN(Specqudrmcgr)

struct BurnDriver BurnSpecqudrmcgr = {
	"spec_qudrmcgr", NULL, "spec_spectrum", NULL, "1990",
	"Quick Draw McGraw (48K)\0", NULL, "Hi-Tec Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecqudrmcgrRomInfo, SpecqudrmcgrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quincy (48K)

static struct BurnRomInfo SpecquincyRomDesc[] = {
	{ "Quincy (1983)(Severn Software).z80", 0x06830, 0xa95cd68a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specquincy, Specquincy, Spectrum)
STD_ROM_FN(Specquincy)

struct BurnDriver BurnSpecquincy = {
	"spec_quincy", NULL, "spec_spectrum", NULL, "1983",
	"Quincy (48K)\0", NULL, "Severn Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecquincyRomInfo, SpecquincyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Quondam (48K)

static struct BurnRomInfo SpecquondamRomDesc[] = {
	{ "Quondam (1989)(Ocean).z80", 0x09e70, 0xf272cc25, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specquondam, Specquondam, Spectrum)
STD_ROM_FN(Specquondam)

struct BurnDriver BurnSpecquondam = {
	"spec_quondam", NULL, "spec_spectrum", NULL, "1989",
	"Quondam (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecquondamRomInfo, SpecquondamRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// R.B.I. 2 Baseball (128K)

static struct BurnRomInfo Specrbi2baseRomDesc[] = {
	{ "R.B.I. 2 Baseball (1991)(Domark)[128K].z80", 0x11fa6, 0xc863164b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrbi2base, Specrbi2base, Spectrum)
STD_ROM_FN(Specrbi2base)

struct BurnDriver BurnSpecrbi2base = {
	"spec_rbi2base", NULL, "spec_spec128", NULL, "1991",
	"R.B.I. 2 Baseball (128K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrbi2baseRomInfo, Specrbi2baseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rabbit Shoot (Part 1 of 2) (48K)

static struct BurnRomInfo SpecrabbitshRomDesc[] = {
	{ "Rabbit Shoot (1983)(Phipps Associates)(Part 1 of 2).z80", 0x01cec, 0x6283a052, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrabbitsh, Specrabbitsh, Spectrum)
STD_ROM_FN(Specrabbitsh)

struct BurnDriver BurnSpecrabbitsh = {
	"spec_rabbitsh", NULL, "spec_spectrum", NULL, "1983",
	"Rabbit Shoot (Part 1 of 2) (48K)\0", NULL, "Phipps Associates", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrabbitshRomInfo, SpecrabbitshRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rabbit Shoot (Part 2 of 2) (48K)

static struct BurnRomInfo Specrabbitsh2RomDesc[] = {
	{ "Rabbit Shoot (1983)(Phipps Associates)(Part 2 of 2).z80", 0x02cc1, 0x1814c69f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrabbitsh2, Specrabbitsh2, Spectrum)
STD_ROM_FN(Specrabbitsh2)

struct BurnDriver BurnSpecrabbitsh2 = {
	"spec_rabbitsh2", "spec_rabbitsh", "spec_spectrum", NULL, "1983",
	"Rabbit Shoot (Part 2 of 2) (48K)\0", NULL, "Phipps Associates", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrabbitsh2RomInfo, Specrabbitsh2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Race Against Time, The (48K)

static struct BurnRomInfo SpecraagtithRomDesc[] = {
	{ "Race Against Time, The (1988)(Codemasters Plus).z80", 0x0ac87, 0xfe86ca68, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specraagtith, Specraagtith, Spectrum)
STD_ROM_FN(Specraagtith)

struct BurnDriver BurnSpecraagtith = {
	"spec_raagtith", NULL, "spec_spectrum", NULL, "1988",
	"Race Against Time, The (48K)\0", NULL, "Codemasters Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecraagtithRomInfo, SpecraagtithRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Race Fun (48K)

static struct BurnRomInfo SpecracefunRomDesc[] = {
	{ "Race Fun (1983)(Rabbit Software).z80", 0x0256e, 0xb7cfed7a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specracefun, Specracefun, Spectrum)
STD_ROM_FN(Specracefun)

struct BurnDriver BurnSpecracefun = {
	"spec_racefun", NULL, "spec_spectrum", NULL, "1983",
	"Race Fun (48K)\0", NULL, "Rabbit Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecracefunRomInfo, SpecracefunRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Race Track (48K)

static struct BurnRomInfo SpecracetracRomDesc[] = {
	{ "Race Track (1982)(Sinclair Research).z80", 0x02743, 0xb6a288bd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specracetrac, Specracetrac, Spectrum)
STD_ROM_FN(Specracetrac)

struct BurnDriver BurnSpecracetrac = {
	"spec_racetrac", NULL, "spec_spectrum", NULL, "1982",
	"Race Track (48K)\0", NULL, "Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecracetracRomInfo, SpecracetracRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Race, The (48K)

static struct BurnRomInfo SpecraceRomDesc[] = {
	{ "Race, The (1990)(Players Premier Software).z80", 0x079b8, 0xa1538f66, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrace, Specrace, Spectrum)
STD_ROM_FN(Specrace)

struct BurnDriver BurnSpecrace = {
	"spec_race", NULL, "spec_spectrum", NULL, "1990",
	"Race, The (48K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecraceRomInfo, SpecraceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Racing Manager (48K)

static struct BurnRomInfo SpecracmngrRomDesc[] = {
	{ "Racing Manager (1983)(Virgin Games).z80", 0x08f73, 0x2f73476f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specracmngr, Specracmngr, Spectrum)
STD_ROM_FN(Specracmngr)

struct BurnDriver BurnSpecracmngr = {
	"spec_racmngr", NULL, "spec_spectrum", NULL, "1983",
	"Racing Manager (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecracmngrRomInfo, SpecracmngrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rad Ramp Racer (48K)

static struct BurnRomInfo SpecradramraRomDesc[] = {
	{ "Rad Ramp Racer (1990)(Mastertronic Plus).z80", 0x0642c, 0x49ce4bd8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specradramra, Specradramra, Spectrum)
STD_ROM_FN(Specradramra)

struct BurnDriver BurnSpecradramra = {
	"spec_radramra", NULL, "spec_spectrum", NULL, "1990",
	"Rad Ramp Racer (48K)\0", NULL, "Mastertronic Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecradramraRomInfo, SpecradramraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Radiomania - Intro (48K)

static struct BurnRomInfo SpecradiomanRomDesc[] = {
	{ "Radiomania - Intro (1991)(Zenobi Software).z80", 0x01475, 0xbfcb5aac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specradioman, Specradioman, Spectrum)
STD_ROM_FN(Specradioman)

struct BurnDriver BurnSpecradioman = {
	"spec_radioman", NULL, "spec_spectrum", NULL, "1991",
	"Radiomania - Intro (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecradiomanRomInfo, SpecradiomanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Radiomania (48K)

static struct BurnRomInfo SpecradiomangRomDesc[] = {
	{ "Radiomania (1991)(Zenobi Software).z80", 0x0a2c8, 0x796e401b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specradiomang, Specradiomang, Spectrum)
STD_ROM_FN(Specradiomang)

struct BurnDriver BurnSpecradiomang = {
	"spec_radiomang", "spec_radioman", "spec_spectrum", NULL, "1991",
	"Radiomania (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecradiomangRomInfo, SpecradiomangRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Raid on Lethos (48K)

static struct BurnRomInfo SpecraidlethRomDesc[] = {
	{ "Raid on Lethos (1984)(Dave Newton).z80", 0x0a1e0, 0xddae8ded, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specraidleth, Specraidleth, Spectrum)
STD_ROM_FN(Specraidleth)

struct BurnDriver BurnSpecraidleth = {
	"spec_raidleth", NULL, "spec_spectrum", NULL, "1984",
	"Raid on Lethos (48K)\0", NULL, "Dave Newton", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecraidlethRomInfo, SpecraidlethRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Raid over Moscow (48K)

static struct BurnRomInfo SpecraidmoscRomDesc[] = {
	{ "Raid over Moscow (1985)(U.S. Gold).z80", 0x090ac, 0x63868056, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specraidmosc, Specraidmosc, Spectrum)
STD_ROM_FN(Specraidmosc)

struct BurnDriver BurnSpecraidmosc = {
	"spec_raidmosc", NULL, "spec_spectrum", NULL, "1985",
	"Raid over Moscow (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecraidmoscRomInfo, SpecraidmoscRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Raider of the Cursed Mine (48K)

static struct BurnRomInfo SpecraicurmiRomDesc[] = {
	{ "Raider of the Cursed Mine (1983)(Arcade Software).z80", 0x05422, 0x27600c6a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specraicurmi, Specraicurmi, Spectrum)
STD_ROM_FN(Specraicurmi)

struct BurnDriver BurnSpecraicurmi = {
	"spec_raicurmi", NULL, "spec_spectrum", NULL, "1983",
	"Raider of the Cursed Mine (48K)\0", NULL, "Arcade Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecraicurmiRomInfo, SpecraicurmiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rainbow Islands - The Story of Bubble Bobble 2 (48K)

static struct BurnRomInfo Specrbisland_48RomDesc[] = {
	{ "Rainbow Islands - The Story of Bubble Bobble 2 (1990)(Ocean).z80", 0x07da0, 0xad2c841f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrbisland_48, Specrbisland_48, Spectrum)
STD_ROM_FN(Specrbisland_48)

struct BurnDriver BurnSpecrbisland_48 = {
	"spec_rbisland_48", "spec_rbisland", "spec_spectrum", NULL, "1990",
	"Rainbow Islands - The Story of Bubble Bobble 2 (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrbisland_48RomInfo, Specrbisland_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rainbow Islands - The Story of Bubble Bobble 2 (128K)

static struct BurnRomInfo SpecrbislandRomDesc[] = {
	{ "Rainbow Islands - The Story of Bubble Bobble 2 (1990)(Ocean)[128K].z80", 0x161bb, 0x0211cd1d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrbisland, Specrbisland, Spectrum)
STD_ROM_FN(Specrbisland)

struct BurnDriver BurnSpecrbisland = {
	"spec_rbisland", NULL, "spec_spec128", NULL, "1990",
	"Rainbow Islands - The Story of Bubble Bobble 2 (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrbislandRomInfo, SpecrbislandRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rainy Day (48K)

static struct BurnRomInfo SpecraindayRomDesc[] = {
	{ "Rainy Day (1984)(CCS).z80", 0x07337, 0xfecdbe08, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrainday, Specrainday, Spectrum)
STD_ROM_FN(Specrainday)

struct BurnDriver BurnSpecrainday = {
	"spec_rainday", NULL, "spec_spectrum", NULL, "1984",
	"Rainy Day (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecraindayRomInfo, SpecraindayRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rainy Day (with speech) (48K)

static struct BurnRomInfo SpecraindaysRomDesc[] = {
	{ "Rainy Day (1984)(CCS)[speech].z80", 0x0733a, 0xafec4466, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specraindays, Specraindays, Spectrum)
STD_ROM_FN(Specraindays)

struct BurnDriver BurnSpecraindays = {
	"spec_raindays", "spec_rainday", "spec_spectrum", NULL, "1984",
	"Rainy Day (with speech) (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecraindaysRomInfo, SpecraindaysRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rally Cross Simulator (48K)

static struct BurnRomInfo SpecralcrosiRomDesc[] = {
	{ "Rally Cross Simulator (1990)(Codemasters).z80", 0x09830, 0xc9ccad66, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specralcrosi, Specralcrosi, Spectrum)
STD_ROM_FN(Specralcrosi)

struct BurnDriver BurnSpecralcrosi = {
	"spec_ralcrosi", NULL, "spec_spectrum", NULL, "1990",
	"Rally Cross Simulator (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecralcrosiRomInfo, SpecralcrosiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rally Driver (48K)

static struct BurnRomInfo SpecralldrivRomDesc[] = {
	{ "Rally Driver (1984)(Hill MacGibbon).z80", 0x0913c, 0x717a4f7b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specralldriv, Specralldriv, Spectrum)
STD_ROM_FN(Specralldriv)

struct BurnDriver BurnSpecralldriv = {
	"spec_ralldriv", NULL, "spec_spectrum", NULL, "1984",
	"Rally Driver (48K)\0", NULL, "Hill MacGibbon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecralldrivRomInfo, SpecralldrivRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rally Simulator (48K)

static struct BurnRomInfo SpecrallsimuRomDesc[] = {
	{ "Rally Simulator (1989)(Zeppelin Games).z80", 0x0958d, 0x25d21a6b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrallsimu, Specrallsimu, Spectrum)
STD_ROM_FN(Specrallsimu)

struct BurnDriver BurnSpecrallsimu = {
	"spec_rallsimu", NULL, "spec_spectrum", NULL, "1989",
	"Rally Simulator (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrallsimuRomInfo, SpecrallsimuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rambo (48K)

static struct BurnRomInfo SpecramboRomDesc[] = {
	{ "Rambo (1985)(Ocean).z80", 0x09bd0, 0x655b6fa1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrambo, Specrambo, Spectrum)
STD_ROM_FN(Specrambo)

struct BurnDriver BurnSpecrambo = {
	"spec_rambo", NULL, "spec_spectrum", NULL, "1985",
	"Rambo (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecramboRomInfo, SpecramboRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rambo III (128K)

static struct BurnRomInfo Specrambo3RomDesc[] = {
	{ "Rambo III (1988)(Ocean)[128K].z80", 0x1b487, 0xf2b6d24f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrambo3, Specrambo3, Spectrum)
STD_ROM_FN(Specrambo3)

struct BurnDriver BurnSpecrambo3 = {
	"spec_rambo3", NULL, "spec_spec128", NULL, "1988",
	"Rambo III (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrambo3RomInfo, Specrambo3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ramon Rodriguez (Spanish) (48K)

static struct BurnRomInfo SpecramorodrRomDesc[] = {
	{ "Ramon Rodriguez (1986)(Erbe Software)(es).z80", 0x08abc, 0x059e2c7d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specramorodr, Specramorodr, Spectrum)
STD_ROM_FN(Specramorodr)

struct BurnDriver BurnSpecramorodr = {
	"spec_ramorodr", NULL, "spec_spectrum", NULL, "1986",
	"Ramon Rodriguez (Spanish) (48K)\0", NULL, "Erbe Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecramorodrRomInfo, SpecramorodrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rampage (48K)

static struct BurnRomInfo SpecrampageRomDesc[] = {
	{ "Rampage (1988)(Activision).z80", 0x094eb, 0x3735beaf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrampage, Specrampage, Spectrum)
STD_ROM_FN(Specrampage)

struct BurnDriver BurnSpecrampage = {
	"spec_rampage", NULL, "spec_spectrum", NULL, "1988",
	"Rampage (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrampageRomInfo, SpecrampageRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ramparts (48K)

static struct BurnRomInfo SpecrampartsRomDesc[] = {
	{ "Ramparts (1988)(Go!).z80", 0x08cc9, 0x65625b0a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specramparts, Specramparts, Spectrum)
STD_ROM_FN(Specramparts)

struct BurnDriver BurnSpecramparts = {
	"spec_ramparts", NULL, "spec_spectrum", NULL, "1988",
	"Ramparts (48K)\0", NULL, "Go!", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrampartsRomInfo, SpecrampartsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rana Rama (48K)

static struct BurnRomInfo SpecranaramaRomDesc[] = {
	{ "Rana Rama (1987)(Hewson Consultants).z80", 0x0968d, 0x4894e422, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specranarama, Specranarama, Spectrum)
STD_ROM_FN(Specranarama)

struct BurnDriver BurnSpecranarama = {
	"spec_ranarama", NULL, "spec_spectrum", NULL, "1987",
	"Rana Rama (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecranaramaRomInfo, SpecranaramaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rancho (Spanish) (48K)

static struct BurnRomInfo SpecranchoesRomDesc[] = {
	{ "Rancho (1984)(Idealogic)(es)[aka Ranch].z80", 0x04350, 0x023af68d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specranchoes, Specranchoes, Spectrum)
STD_ROM_FN(Specranchoes)

struct BurnDriver BurnSpecranchoes = {
	"spec_ranchoes", NULL, "spec_spectrum", NULL, "1984",
	"Rancho (Spanish) (48K)\0", NULL, "Idealogic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecranchoesRomInfo, SpecranchoesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Randex (128K)

static struct BurnRomInfo SpecrandexRomDesc[] = {
	{ "Randex (1994)(R.A. Soft)[128K].z80", 0x086aa, 0x46377bb3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrandex, Specrandex, Spectrum)
STD_ROM_FN(Specrandex)

struct BurnDriver BurnSpecrandex = {
	"spec_randex", NULL, "spec_spec128", NULL, "1994",
	"Randex (128K)\0", NULL, "R.A. Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrandexRomInfo, SpecrandexRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Random Attack (48K)

static struct BurnRomInfo SpecrandattaRomDesc[] = {
	{ "Random Attack (1985)(Micro-Engineering).z80", 0x0373a, 0x31a777fc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrandatta, Specrandatta, Spectrum)
STD_ROM_FN(Specrandatta)

struct BurnDriver BurnSpecrandatta = {
	"spec_randatta", NULL, "spec_spectrum", NULL, "1985",
	"Random Attack (48K)\0", NULL, "Micro-Engineering", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrandattaRomInfo, SpecrandattaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rapede - The Centipede's Revenge (48K)

static struct BurnRomInfo SpecrathcereRomDesc[] = {
	{ "Rapede - The Centipede's Revenge (1983)(Visions Software Factory).z80", 0x01e68, 0x3e7346d9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrathcere, Specrathcere, Spectrum)
STD_ROM_FN(Specrathcere)

struct BurnDriver BurnSpecrathcere = {
	"spec_rathcere", NULL, "spec_spectrum", NULL, "1983",
	"Rapede - The Centipede's Revenge (48K)\0", NULL, "Visions Software Factory", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrathcereRomInfo, SpecrathcereRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rapid Fire (48K)

static struct BurnRomInfo SpecrapifireRomDesc[] = {
	{ "Rapid Fire (1987)(Mastertronic).z80", 0x09c7c, 0x8ba29424, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrapifire, Specrapifire, Spectrum)
STD_ROM_FN(Specrapifire)

struct BurnDriver BurnSpecrapifire = {
	"spec_rapifire", NULL, "spec_spectrum", NULL, "1987",
	"Rapid Fire (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrapifireRomInfo, SpecrapifireRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rapscallion (48K)

static struct BurnRomInfo SpecrapscallRomDesc[] = {
	{ "Rapscallion (1984)(Bug-Byte Software).z80", 0x0a2c4, 0x1e4cd874, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrapscall, Specrapscall, Spectrum)
STD_ROM_FN(Specrapscall)

struct BurnDriver BurnSpecrapscall = {
	"spec_rapscall", NULL, "spec_spectrum", NULL, "1984",
	"Rapscallion (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrapscallRomInfo, SpecrapscallRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rasputin (48K)

static struct BurnRomInfo Specrasputin_48RomDesc[] = {
	{ "Rasputin (1986)(Firebird Software).z80", 0x089bd, 0x4f015eaf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrasputin_48, Specrasputin_48, Spectrum)
STD_ROM_FN(Specrasputin_48)

struct BurnDriver BurnSpecrasputin_48 = {
	"spec_rasputin_48", "spec_rasputin", "spec_spectrum", NULL, "1986",
	"Rasputin (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrasputin_48RomInfo, Specrasputin_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rasputin (128K)

static struct BurnRomInfo SpecrasputinRomDesc[] = {
	{ "Rasputin (1986)(Firebird Software)[128K].z80", 0x134be, 0xf0b5b669, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrasputin, Specrasputin, Spectrum)
STD_ROM_FN(Specrasputin)

struct BurnDriver BurnSpecrasputin = {
	"spec_rasputin", NULL, "spec_spec128", NULL, "1986",
	"Rasputin (128K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrasputinRomInfo, SpecrasputinRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rastan (128K)

static struct BurnRomInfo SpecrastanRomDesc[] = {
	{ "Rastan (1988)(Imagine Software)[128K].z80", 0x1441f, 0x0440b5e8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrastan, Specrastan, Spectrum)
STD_ROM_FN(Specrastan)

struct BurnDriver BurnSpecrastan = {
	"spec_rastan", NULL, "spec_spec128", NULL, "1988",
	"Rastan (128K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrastanRomInfo, SpecrastanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Raster Runner (128K)

static struct BurnRomInfo SpecrastrunnRomDesc[] = {
	{ "Raster Runner (1990)(Mastertronic Plus)[128K].z80", 0x06a35, 0x9602751c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrastrunn, Specrastrunn, Spectrum)
STD_ROM_FN(Specrastrunn)

struct BurnDriver BurnSpecrastrunn = {
	"spec_rastrunn", NULL, "spec_spec128", NULL, "1990",
	"Raster Runner (128K)\0", NULL, "Mastertronic Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrastrunnRomInfo, SpecrastrunnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rats, The - Intro (48K)

static struct BurnRomInfo SpecratsRomDesc[] = {
	{ "Rats, The - Intro (1985)(Hodder & Stoughton).z80", 0x08678, 0xa780fb76, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrats, Specrats, Spectrum)
STD_ROM_FN(Specrats)

struct BurnDriver BurnSpecrats = {
	"spec_rats", NULL, "spec_spectrum", NULL, "1985",
	"Rats, The - Intro (48K)\0", NULL, "Hodder & Stoughton", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecratsRomInfo, SpecratsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rats, The (48K)

static struct BurnRomInfo SpecratsgRomDesc[] = {
	{ "Rats, The (1985)(Hodder & Stoughton)[incomplete].z80", 0x09dec, 0x15f914ac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specratsg, Specratsg, Spectrum)
STD_ROM_FN(Specratsg)

struct BurnDriver BurnSpecratsg = {
	"spec_ratsg", "spec_rats", "spec_spectrum", NULL, "1985",
	"Rats, The (48K)\0", NULL, "Hodder & Stoughton", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecratsgRomInfo, SpecratsgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rattler (48K)

static struct BurnRomInfo SpecrattlerRomDesc[] = {
	{ "Rattler (1985)(Atlantis Software).z80", 0x06506, 0xb004cd7f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrattler, Specrattler, Spectrum)
STD_ROM_FN(Specrattler)

struct BurnDriver BurnSpecrattler = {
	"spec_rattler", NULL, "spec_spectrum", NULL, "1985",
	"Rattler (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrattlerRomInfo, SpecrattlerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Raven, The (128K)

static struct BurnRomInfo SpecravetheRomDesc[] = {
	{ "Raven, The (1988)(8th Day Software)[128K].z80", 0x131ae, 0x857fdc85, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specravethe, Specravethe, Spectrum)
STD_ROM_FN(Specravethe)

struct BurnDriver BurnSpecravethe = {
	"spec_ravethe", NULL, "spec_spec128", NULL, "1988",
	"Raven, The (128K)\0", NULL, "8th Day Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecravetheRomInfo, SpecravetheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Raw Recruit (48K)

static struct BurnRomInfo SpecrawrecruRomDesc[] = {
	{ "Raw Recruit (1988)(Mastertronic Added Dimension).z80", 0x0a2ad, 0xc6387382, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrawrecru, Specrawrecru, Spectrum)
STD_ROM_FN(Specrawrecru)

struct BurnDriver BurnSpecrawrecru = {
	"spec_rawrecru", NULL, "spec_spectrum", NULL, "1988",
	"Raw Recruit (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrawrecruRomInfo, SpecrawrecruRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Raymond Pringle's Quest for the Fabled Jar of Pickled Cabbage (48K)

static struct BurnRomInfo SpecrpqfjpcRomDesc[] = {
	{ "Raymond Pringle's Quest for the Fabled Jar of Pickled Cabbage (1992)(Delbert the Hamster Software).z80", 0x06051, 0x2244079a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrpqfjpc, Specrpqfjpc, Spectrum)
STD_ROM_FN(Specrpqfjpc)

struct BurnDriver BurnSpecrpqfjpc = {
	"spec_rpqfjpc", NULL, "spec_spectrum", NULL, "1992",
	"Raymond Pringle's Quest for the Fabled Jar of Pickled Cabbage (48K)\0", NULL, "Delbert the Hamster Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrpqfjpcRomInfo, SpecrpqfjpcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rays (48K)

static struct BurnRomInfo SpecraysRomDesc[] = {
	{ "Rays (1987)(Tartan Software).z80", 0x07c3e, 0xf31ef983, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrays, Specrays, Spectrum)
STD_ROM_FN(Specrays)

struct BurnDriver BurnSpecrays = {
	"spec_rays", NULL, "spec_spectrum", NULL, "1987",
	"Rays (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecraysRomInfo, SpecraysRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Reaction Tester (48K)

static struct BurnRomInfo SpecreactestRomDesc[] = {
	{ "Reaction Tester (1995)(Vaxalon).z80", 0x01308, 0xb84945ec, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specreactest, Specreactest, Spectrum)
STD_ROM_FN(Specreactest)

struct BurnDriver BurnSpecreactest = {
	"spec_reactest", NULL, "spec_spectrum", NULL, "1995",
	"Reaction Tester (48K)\0", NULL, "Vaxalon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecreactestRomInfo, SpecreactestRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Reaction Time (48K)

static struct BurnRomInfo SpecreactimeRomDesc[] = {
	{ "Reaction Time (1996)(CSSCGC).z80", 0x008e0, 0xb107db58, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specreactime, Specreactime, Spectrum)
STD_ROM_FN(Specreactime)

struct BurnDriver BurnSpecreactime = {
	"spec_reactime", NULL, "spec_spectrum", NULL, "1996",
	"Reaction Time (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecreactimeRomInfo, SpecreactimeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ready Steady Go (48K)

static struct BurnRomInfo SpecreastegoRomDesc[] = {
	{ "Ready Steady Go (1988)(Alternative Software).z80", 0x09bfd, 0x1396f885, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specreastego, Specreastego, Spectrum)
STD_ROM_FN(Specreastego)

struct BurnDriver BurnSpecreastego = {
	"spec_reastego", NULL, "spec_spectrum", NULL, "1988",
	"Ready Steady Go (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecreastegoRomInfo, SpecreastegoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Really Smart Game (48K)

static struct BurnRomInfo SpecreasmagaRomDesc[] = {
	{ "Really Smart Game (1999)(CSSCGC).z80", 0x0269d, 0xc7cdf965, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specreasmaga, Specreasmaga, Spectrum)
STD_ROM_FN(Specreasmaga)

struct BurnDriver BurnSpecreasmaga = {
	"spec_reasmaga", NULL, "spec_spectrum", NULL, "1999",
	"Really Smart Game (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecreasmagaRomInfo, SpecreasmagaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Realm of Darkness (48K)

static struct BurnRomInfo SpecrealdarkRomDesc[] = {
	{ "Realm of Darkness (1987)(Zenobi Software).z80", 0x09913, 0x062c58da, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrealdark, Specrealdark, Spectrum)
STD_ROM_FN(Specrealdark)

struct BurnDriver BurnSpecrealdark = {
	"spec_realdark", NULL, "spec_spectrum", NULL, "1987",
	"Realm of Darkness (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrealdarkRomInfo, SpecrealdarkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Realm of Impossibility (Spanish) (48K)

static struct BurnRomInfo SpecrealimpoRomDesc[] = {
	{ "Realm of Impossibility (1985)(Dro Soft)(es)[needs tape load][re-release].z80", 0x06486, 0x70ddb00b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrealimpo, Specrealimpo, Spectrum)
STD_ROM_FN(Specrealimpo)

struct BurnDriver BurnSpecrealimpo = {
	"spec_realimpo", NULL, "spec_spectrum", NULL, "1985",
	"Realm of Impossibility (Spanish) (48K)\0", NULL, "Dro Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrealimpoRomInfo, SpecrealimpoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Realm of the Undead (48K)

static struct BurnRomInfo SpecrealundeRomDesc[] = {
	{ "Realm of the Undead (1984)(MC Lothlorien)[re-release].z80", 0x042b2, 0xfebad2e0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrealunde, Specrealunde, Spectrum)
STD_ROM_FN(Specrealunde)

struct BurnDriver BurnSpecrealunde = {
	"spec_realunde", NULL, "spec_spectrum", NULL, "1984",
	"Realm of the Undead (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrealundeRomInfo, SpecrealundeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Realm, The (48K)

static struct BurnRomInfo SpecrealmRomDesc[] = {
	{ "Realm, The (1986)(Cult Games).z80", 0x09ec2, 0xff33c529, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrealm, Specrealm, Spectrum)
STD_ROM_FN(Specrealm)

struct BurnDriver BurnSpecrealm = {
	"spec_realm", NULL, "spec_spectrum", NULL, "1986",
	"Realm, The (48K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrealmRomInfo, SpecrealmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Reaper (128K)

static struct BurnRomInfo SpecreaperRomDesc[] = {
	{ "Reaper (1991)(Ubi Soft)[128K].z80", 0x0d34a, 0x6f35d3a9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specreaper, Specreaper, Spectrum)
STD_ROM_FN(Specreaper)

struct BurnDriver BurnSpecreaper = {
	"spec_reaper", NULL, "spec_spec128", NULL, "1991",
	"Reaper (128K)\0", NULL, "Ubi Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecreaperRomInfo, SpecreaperRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rebel Planet (48K)

static struct BurnRomInfo SpecrebeplanRomDesc[] = {
	{ "Rebel Planet (1986)(U.S. Gold).z80", 0x0b56a, 0xc9662b51, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrebeplan, Specrebeplan, Spectrum)
STD_ROM_FN(Specrebeplan)

struct BurnDriver BurnSpecrebeplan = {
	"spec_rebeplan", NULL, "spec_spectrum", NULL, "1986",
	"Rebel Planet (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrebeplanRomInfo, SpecrebeplanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rebel Star - 1 Player (48K)

static struct BurnRomInfo SpecrebelstrRomDesc[] = {
	{ "Rebel Star - 1 Player (1986)(Firebird Software).z80", 0x09ad1, 0xbc63169c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrebelstr, Specrebelstr, Spectrum)
STD_ROM_FN(Specrebelstr)

struct BurnDriver BurnSpecrebelstr = {
	"spec_rebelstr", NULL, "spec_spectrum", NULL, "1986",
	"Rebel Star - 1 Player (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrebelstrRomInfo, SpecrebelstrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rebel Star - 2 Players (48K)

static struct BurnRomInfo Specrebelstr2RomDesc[] = {
	{ "Rebel Star - 2 Players (1986)(Firebird Software).z80", 0x0a237, 0x7b608a8c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrebelstr2, Specrebelstr2, Spectrum)
STD_ROM_FN(Specrebelstr2)

struct BurnDriver BurnSpecrebelstr2 = {
	"spec_rebelstr2", "spec_rebelstr", "spec_spectrum", NULL, "1986",
	"Rebel Star - 2 Players (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrebelstr2RomInfo, Specrebelstr2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rebel Star II - Alien Encounter - 1 Player (48K)

static struct BurnRomInfo Specrblstar2RomDesc[] = {
	{ "Rebel Star II - Alien Encounter - 1 Player (1988)(Silverbird Software).z80", 0x09eff, 0xd0d52509, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrblstar2, Specrblstar2, Spectrum)
STD_ROM_FN(Specrblstar2)

struct BurnDriver BurnSpecrblstar2 = {
	"spec_rblstar2", NULL, "spec_spectrum", NULL, "1988",
	"Rebel Star II - Alien Encounter - 1 Player (48K)\0", NULL, "Silverbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrblstar2RomInfo, Specrblstar2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rebel Star II - Alien Encounter - 2 Players (48K)

static struct BurnRomInfo Specrblstar22RomDesc[] = {
	{ "Rebel Star II - Alien Encounter - 2 Players (1988)(Silverbird Software).z80", 0x0878a, 0x4bbd08ec, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrblstar22, Specrblstar22, Spectrum)
STD_ROM_FN(Specrblstar22)

struct BurnDriver BurnSpecrblstar22 = {
	"spec_rblstar22", "spec_rblstar2", "spec_spectrum", NULL, "1988",
	"Rebel Star II - Alien Encounter - 2 Players (48K)\0", NULL, "Silverbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrblstar22RomInfo, Specrblstar22RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rebelstar Raiders - Scenario 1 - Moonbase (48K)

static struct BurnRomInfo SpecrerascmoRomDesc[] = {
	{ "Rebelstar Raiders - Scenario 1 - Moonbase (1984)(Red Shift).z80", 0x07ea8, 0x9cb95e76, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrerascmo, Specrerascmo, Spectrum)
STD_ROM_FN(Specrerascmo)

struct BurnDriver BurnSpecrerascmo = {
	"spec_rerascmo", NULL, "spec_spectrum", NULL, "1984",
	"Rebelstar Raiders - Scenario 1 - Moonbase (48K)\0", NULL, "Red Shift", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrerascmoRomInfo, SpecrerascmoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Reckless Rufus (48K)

static struct BurnRomInfo Specreckrufu_48RomDesc[] = {
	{ "Reckless Rufus (1992)(Alternative Software).z80", 0x09ce5, 0x2587fd41, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specreckrufu_48, Specreckrufu_48, Spectrum)
STD_ROM_FN(Specreckrufu_48)

struct BurnDriver BurnSpecreckrufu_48 = {
	"spec_reckrufu_48", "spec_reckrufu", "spec_spectrum", NULL, "1992",
	"Reckless Rufus (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specreckrufu_48RomInfo, Specreckrufu_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Reckless Rufus (128K)

static struct BurnRomInfo SpecreckrufuRomDesc[] = {
	{ "Reckless Rufus (1992)(Alternative Software)[128K].z80", 0x0adb2, 0xff468fb0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specreckrufu, Specreckrufu, Spectrum)
STD_ROM_FN(Specreckrufu)

struct BurnDriver BurnSpecreckrufu = {
	"spec_reckrufu", NULL, "spec_spec128", NULL, "1992",
	"Reckless Rufus (128K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecreckrufuRomInfo, SpecreckrufuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Recovery (cs) (48K)

static struct BurnRomInfo SpecrecoveryRomDesc[] = {
	{ "Recovery (1989)(Jioi Chabek)(cs).z80", 0x07f8a, 0xfadcbb7d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrecovery, Specrecovery, Spectrum)
STD_ROM_FN(Specrecovery)

struct BurnDriver BurnSpecrecovery = {
	"spec_recovery", NULL, "spec_spectrum", NULL, "1989",
	"Recovery (cs) (48K)\0", NULL, "Jioi Chabek", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrecoveryRomInfo, SpecrecoveryRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Red Alert (Part 1 of 2) (48K)

static struct BurnRomInfo SpecredalertRomDesc[] = {
	{ "Red Alert (1991)(Zenobi Software)(Part 1 of 2).z80", 0x0a421, 0xa79f6045, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specredalert, Specredalert, Spectrum)
STD_ROM_FN(Specredalert)

struct BurnDriver BurnSpecredalert = {
	"spec_redalert", NULL, "spec_spectrum", NULL, "1991",
	"Red Alert (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecredalertRomInfo, SpecredalertRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Red Alert (Part 2 of 2) (48K)

static struct BurnRomInfo Specredalert2RomDesc[] = {
	{ "Red Alert (1991)(Zenobi Software)(Part 2 of 2).z80", 0x0a9a4, 0xb043c969, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specredalert2, Specredalert2, Spectrum)
STD_ROM_FN(Specredalert2)

struct BurnDriver BurnSpecredalert2 = {
	"spec_redalert2", "spec_redalert", "spec_spectrum", NULL, "1991",
	"Red Alert (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specredalert2RomInfo, Specredalert2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Red Arrows (48K)

static struct BurnRomInfo SpecredarrowRomDesc[] = {
	{ "Red Arrows (1985)(Database Software).z80", 0x06b8c, 0x7d5062de, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specredarrow, Specredarrow, Spectrum)
STD_ROM_FN(Specredarrow)

struct BurnDriver BurnSpecredarrow = {
	"spec_redarrow", NULL, "spec_spectrum", NULL, "1985",
	"Red Arrows (48K)\0", NULL, "Database Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecredarrowRomInfo, SpecredarrowRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Red Attack (48K)

static struct BurnRomInfo SpecredattacRomDesc[] = {
	{ "Red Attack (1984)(Unique).z80", 0x020f8, 0xa78480a2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specredattac, Specredattac, Spectrum)
STD_ROM_FN(Specredattac)

struct BurnDriver BurnSpecredattac = {
	"spec_redattac", NULL, "spec_spectrum", NULL, "1984",
	"Red Attack (48K)\0", NULL, "Unique", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecredattacRomInfo, SpecredattacRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Red Baron (48K)

static struct BurnRomInfo SpecredbaronRomDesc[] = {
	{ "Red Baron (1983)(MC Lothlorien).z80", 0x08cd4, 0x124d7cf0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specredbaron, Specredbaron, Spectrum)
STD_ROM_FN(Specredbaron)

struct BurnDriver BurnSpecredbaron = {
	"spec_redbaron", NULL, "spec_spectrum", NULL, "1983",
	"Red Baron (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecredbaronRomInfo, SpecredbaronRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Red Door (48K)

static struct BurnRomInfo SpecreddoorRomDesc[] = {
	{ "Red Door (1988)(Tartan Software).z80", 0x09fbf, 0xe1dd4596, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specreddoor, Specreddoor, Spectrum)
STD_ROM_FN(Specreddoor)

struct BurnDriver BurnSpecreddoor = {
	"spec_reddoor", NULL, "spec_spectrum", NULL, "1988",
	"Red Door (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecreddoorRomInfo, SpecreddoorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Red Heat (48K)

static struct BurnRomInfo SpecredheatRomDesc[] = {
	{ "Red Heat (1989)(Ocean).z80", 0x0a150, 0x117e8935, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specredheat, Specredheat, Spectrum)
STD_ROM_FN(Specredheat)

struct BurnDriver BurnSpecredheat = {
	"spec_redheat", NULL, "spec_spectrum", NULL, "1989",
	"Red Heat (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecredheatRomInfo, SpecredheatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Red Lion, The (48K)

static struct BurnRomInfo SpecredliothRomDesc[] = {
	{ "Red Lion, The (1987)(Mystic Software).z80", 0x09379, 0x1cf7df32, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specredlioth, Specredlioth, Spectrum)
STD_ROM_FN(Specredlioth)

struct BurnDriver BurnSpecredlioth = {
	"spec_redlioth", NULL, "spec_spectrum", NULL, "1987",
	"Red Lion, The (48K)\0", NULL, "Mystic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecredliothRomInfo, SpecredliothRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Red Scorpion (48K)

static struct BurnRomInfo SpecredscorpRomDesc[] = {
	{ "Red Scorpion (1987)(Quicksilva).z80", 0x0864b, 0x41f482dd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specredscorp, Specredscorp, Spectrum)
STD_ROM_FN(Specredscorp)

struct BurnDriver BurnSpecredscorp = {
	"spec_redscorp", NULL, "spec_spectrum", NULL, "1987",
	"Red Scorpion (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecredscorpRomInfo, SpecredscorpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Red Weed (48K)

static struct BurnRomInfo SpecredweedRomDesc[] = {
	{ "Red Weed (1983)(MC Lothlorien).z80", 0x05b45, 0x5124b846, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specredweed, Specredweed, Spectrum)
STD_ROM_FN(Specredweed)

struct BurnDriver BurnSpecredweed = {
	"spec_redweed", NULL, "spec_spectrum", NULL, "1983",
	"Red Weed (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecredweedRomInfo, SpecredweedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Redcoats (48K)

static struct BurnRomInfo SpecredcoatsRomDesc[] = {
	{ "Redcoats (1984)(MC Lothlorien).z80", 0x06f86, 0x3601cbfa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specredcoats, Specredcoats, Spectrum)
STD_ROM_FN(Specredcoats)

struct BurnDriver BurnSpecredcoats = {
	"spec_redcoats", NULL, "spec_spectrum", NULL, "1984",
	"Redcoats (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecredcoatsRomInfo, SpecredcoatsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Redhawk (48K)

static struct BurnRomInfo SpecredhawkRomDesc[] = {
	{ "Redhawk (1986)(Melbourne House).z80", 0x0a80d, 0x496877fc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specredhawk, Specredhawk, Spectrum)
STD_ROM_FN(Specredhawk)

struct BurnDriver BurnSpecredhawk = {
	"spec_redhawk", NULL, "spec_spectrum", NULL, "1986",
	"Redhawk (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecredhawkRomInfo, SpecredhawkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Redhawk II - Kwah! (48K)

static struct BurnRomInfo Specredhawk2RomDesc[] = {
	{ "Redhawk II - Kwah! (1986)(Melbourne House).z80", 0x0a1f0, 0xed244675, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specredhawk2, Specredhawk2, Spectrum)
STD_ROM_FN(Specredhawk2)

struct BurnDriver BurnSpecredhawk2 = {
	"spec_redhawk2", NULL, "spec_spectrum", NULL, "1986",
	"Redhawk II - Kwah! (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specredhawk2RomInfo, Specredhawk2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Reis-Staerke (German) (48K)

static struct BurnRomInfo SpecreisstaeRomDesc[] = {
	{ "Reis-Staerke (1984)(Aquarius)(de)[aka Mr. Wong's Loopy Laundry].z80", 0x0286e, 0xc8092e29, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specreisstae, Specreisstae, Spectrum)
STD_ROM_FN(Specreisstae)

struct BurnDriver BurnSpecreisstae = {
	"spec_reisstae", NULL, "spec_spectrum", NULL, "1984",
	"Reis-Staerke (German) (48K)\0", NULL, "Aquarius", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecreisstaeRomInfo, SpecreisstaeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Reka (sr) (48K)

static struct BurnRomInfo SpecrekasrRomDesc[] = {
	{ "Reka (1986)(Colic)(sr).z80", 0x0201d, 0x094eadaa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrekasr, Specrekasr, Spectrum)
STD_ROM_FN(Specrekasr)

struct BurnDriver BurnSpecrekasr = {
	"spec_rekasr", NULL, "spec_spectrum", NULL, "1986",
	"Reka (sr) (48K)\0", NULL, "Colic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrekasrRomInfo, SpecrekasrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Renegade (48K)

static struct BurnRomInfo Specrenegade_48RomDesc[] = {
	{ "Renegade (1987)(Imagine Software).z80", 0x0a2d7, 0x9faf0d9e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrenegade_48, Specrenegade_48, Spectrum)
STD_ROM_FN(Specrenegade_48)

struct BurnDriver BurnSpecrenegade_48 = {
	"spec_renegade_48", "spec_renegade", "spec_spectrum", NULL, "1987",
	"Renegade (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrenegade_48RomInfo, Specrenegade_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Renegade (128K)

static struct BurnRomInfo SpecrenegadeRomDesc[] = {
	{ "Renegade (1987)(Imagine Software)[128K].z80", 0x16f0d, 0xcd930d9a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrenegade, Specrenegade, Spectrum)
STD_ROM_FN(Specrenegade)

struct BurnDriver BurnSpecrenegade = {
	"spec_renegade", NULL, "spec_spec128", NULL, "1987",
	"Renegade (128K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrenegadeRomInfo, SpecrenegadeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Renegade II - Target Renegade (128K)

static struct BurnRomInfo Specrenegad2RomDesc[] = {
	{ "Renegade II - Target Renegade (1988)(Imagine Software)[128K].z80", 0x1a950, 0x25d57e2c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrenegad2, Specrenegad2, Spectrum)
STD_ROM_FN(Specrenegad2)

struct BurnDriver BurnSpecrenegad2 = {
	"spec_renegad2", NULL, "spec_spec128", NULL, "1988",
	"Renegade II - Target Renegade (128K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrenegad2RomInfo, Specrenegad2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Renegade III - The Final Chapter (128K)

static struct BurnRomInfo Specrenegad3RomDesc[] = {
	{ "Renegade III - The Final Chapter (1989)(Imagine Software)[128K].z80", 0x18519, 0x45f783f9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrenegad3, Specrenegad3, Spectrum)
STD_ROM_FN(Specrenegad3)

struct BurnDriver BurnSpecrenegad3 = {
	"spec_renegad3", NULL, "spec_spec128", NULL, "1989",
	"Renegade III - The Final Chapter (128K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrenegad3RomInfo, Specrenegad3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rentakill Rita (48K)

static struct BurnRomInfo SpecrentritaRomDesc[] = {
	{ "Rentakill Rita (1987)(Mastertronic).z80", 0x098fb, 0x5fc416ed, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrentrita, Specrentrita, Spectrum)
STD_ROM_FN(Specrentrita)

struct BurnDriver BurnSpecrentrita = {
	"spec_rentrita", NULL, "spec_spectrum", NULL, "1987",
	"Rentakill Rita (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrentritaRomInfo, SpecrentritaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Repton (48K)

static struct BurnRomInfo SpecreptonRomDesc[] = {
	{ "Repton (1989)(Alligata Software).z80", 0x08eae, 0x23742c99, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrepton, Specrepton, Spectrum)
STD_ROM_FN(Specrepton)

struct BurnDriver BurnSpecrepton = {
	"spec_repton", NULL, "spec_spectrum", NULL, "1989",
	"Repton (48K)\0", NULL, "Alligata Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecreptonRomInfo, SpecreptonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Resaca (Spanish) (48K)

static struct BurnRomInfo SpecresacaesRomDesc[] = {
	{ "Resaca (1990)(Alberto Vinuela)(es).z80", 0x0680f, 0xa119e3de, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specresacaes, Specresacaes, Spectrum)
STD_ROM_FN(Specresacaes)

struct BurnDriver BurnSpecresacaes = {
	"spec_resacaes", NULL, "spec_spectrum", NULL, "1990",
	"Resaca (Spanish) (48K)\0", NULL, "Alberto Vinuela", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecresacaesRomInfo, SpecresacaesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rescate Atlantida (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo Specrescatla_48RomDesc[] = {
	{ "Rescate Atlantida (1989)(Dinamic Software)(es)(Part 1 of 2).z80", 0x0a0d5, 0x3e57dd47, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrescatla_48, Specrescatla_48, Spectrum)
STD_ROM_FN(Specrescatla_48)

struct BurnDriver BurnSpecrescatla_48 = {
	"spec_rescatla_48", "spec_rescatla", "spec_spectrum", NULL, "1989",
	"Rescate Atlantida (Spanish) (Part 1 of 2) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrescatla_48RomInfo, Specrescatla_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rescate Atlantida (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specrescatla2_48RomDesc[] = {
	{ "Rescate Atlantida (1989)(Dinamic Software)(es)(Part 2 of 2).z80", 0x0afd9, 0xba3164e0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrescatla2_48, Specrescatla2_48, Spectrum)
STD_ROM_FN(Specrescatla2_48)

struct BurnDriver BurnSpecrescatla2_48 = {
	"spec_rescatla2_48", "spec_rescatla", "spec_spectrum", NULL, "1989",
	"Rescate Atlantida (Spanish) (Part 2 of 2) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrescatla2_48RomInfo, Specrescatla2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rescate Atlantida (Spanish) (128K)

static struct BurnRomInfo SpecrescatlaRomDesc[] = {
	{ "Rescate Atlantida (1989)(Dinamic Software)(es)[128K].z80", 0x1ac9c, 0xc437d0e7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrescatla, Specrescatla, Spectrum)
STD_ROM_FN(Specrescatla)

struct BurnDriver BurnSpecrescatla = {
	"spec_rescatla", NULL, "spec_spec128", NULL, "1989",
	"Rescate Atlantida (Spanish) (128K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrescatlaRomInfo, SpecrescatlaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rescate en el Golfo (Part 1 of 2) (48K)

static struct BurnRomInfo SpecrescgolfRomDesc[] = {
	{ "Rescate en el Golfo (1990)(Opera Soft)(Part 1 of 2).z80", 0x08338, 0x550ee9f3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrescgolf, Specrescgolf, Spectrum)
STD_ROM_FN(Specrescgolf)

struct BurnDriver BurnSpecrescgolf = {
	"spec_rescgolf", NULL, "spec_spectrum", NULL, "1990",
	"Rescate en el Golfo (Part 1 of 2) (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrescgolfRomInfo, SpecrescgolfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rescate en el Golfo (Part 2 of 2) (48K)

static struct BurnRomInfo Specrescgolf2RomDesc[] = {
	{ "Rescate en el Golfo (1990)(Opera Soft)(Part 2 of 2).z80", 0x08b3d, 0xb436e801, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrescgolf2, Specrescgolf2, Spectrum)
STD_ROM_FN(Specrescgolf2)

struct BurnDriver BurnSpecrescgolf2 = {
	"spec_rescgolf2", "spec_rescgolf", "spec_spectrum", NULL, "1990",
	"Rescate en el Golfo (Part 2 of 2) (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrescgolf2RomInfo, Specrescgolf2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rescue - Intro (48K)

static struct BurnRomInfo SpecrescueRomDesc[] = {
	{ "Rescue - Intro (1982)(CRL Group).z80", 0x030e9, 0x6ad7fadf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrescue, Specrescue, Spectrum)
STD_ROM_FN(Specrescue)

struct BurnDriver BurnSpecrescue = {
	"spec_rescue", NULL, "spec_spectrum", NULL, "1982",
	"Rescue - Intro (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrescueRomInfo, SpecrescueRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rescue (48K)

static struct BurnRomInfo SpecrescuegRomDesc[] = {
	{ "Rescue (1987)(Mastertronic).z80", 0x095c3, 0xb2ed4c8d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrescueg, Specrescueg, Spectrum)
STD_ROM_FN(Specrescueg)

struct BurnDriver BurnSpecrescueg = {
	"spec_rescueg", "spec_rescue", "spec_spectrum", NULL, "1987",
	"Rescue (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrescuegRomInfo, SpecrescuegRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rescue from Doom (48K)

static struct BurnRomInfo SpecrescdoomRomDesc[] = {
	{ "Rescue from Doom (1986)(The Guild).z80", 0x064b5, 0xa6c9107f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrescdoom, Specrescdoom, Spectrum)
STD_ROM_FN(Specrescdoom)

struct BurnDriver BurnSpecrescdoom = {
	"spec_rescdoom", NULL, "spec_spectrum", NULL, "1986",
	"Rescue from Doom (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrescdoomRomInfo, SpecrescdoomRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rescue on Fractalus (48K)

static struct BurnRomInfo SpecrescfracRomDesc[] = {
	{ "Rescue on Fractalus (1986)(Activision).z80", 0x08def, 0x047c0ae8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrescfrac, Specrescfrac, Spectrum)
STD_ROM_FN(Specrescfrac)

struct BurnDriver BurnSpecrescfrac = {
	"spec_rescfrac", NULL, "spec_spectrum", NULL, "1986",
	"Rescue on Fractalus (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrescfracRomInfo, SpecrescfracRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Retarded Creatures & Caverns (48K)

static struct BurnRomInfo SpecretcrecaRomDesc[] = {
	{ "Retarded Creatures & Caverns (1989)(Zenobi Software).z80", 0x0a8cd, 0x971c8e54, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specretcreca, Specretcreca, Spectrum)
STD_ROM_FN(Specretcreca)

struct BurnDriver BurnSpecretcreca = {
	"spec_retcreca", NULL, "spec_spectrum", NULL, "1989",
	"Retarded Creatures & Caverns (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecretcrecaRomInfo, SpecretcrecaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Return of the Holy Joystick (48K)

static struct BurnRomInfo SpecretholjoRomDesc[] = {
	{ "Return of the Holy Joystick (1984)(Delta 4 Software).z80", 0x0a6d3, 0xaa1b08cd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specretholjo, Specretholjo, Spectrum)
STD_ROM_FN(Specretholjo)

struct BurnDriver BurnSpecretholjo = {
	"spec_retholjo", NULL, "spec_spectrum", NULL, "1984",
	"Return of the Holy Joystick (48K)\0", NULL, "Delta 4 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecretholjoRomInfo, SpecretholjoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Return of the Jedi - Death Star Battle (48K)

static struct BurnRomInfo SpecrejedestRomDesc[] = {
	{ "Return of the Jedi - Death Star Battle (1984)(Parker Software - Sinclair Research).z80", 0x0397b, 0x36ce8b58, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrejedest, Specrejedest, Spectrum)
STD_ROM_FN(Specrejedest)

struct BurnDriver BurnSpecrejedest = {
	"spec_rejedest", NULL, "spec_spectrum", NULL, "1984",
	"Return of the Jedi - Death Star Battle (48K)\0", NULL, "Parker Software - Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrejedestRomInfo, SpecrejedestRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Return to Ithaca (48K)

static struct BurnRomInfo SpecretuithaRomDesc[] = {
	{ "Return to Ithaca (1985)(Atlantis Software).z80", 0x0a471, 0x87dba7d8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specretuitha, Specretuitha, Spectrum)
STD_ROM_FN(Specretuitha)

struct BurnDriver BurnSpecretuitha = {
	"spec_retuitha", NULL, "spec_spectrum", NULL, "1985",
	"Return to Ithaca (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecretuithaRomInfo, SpecretuithaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Return to Oz (48K)

static struct BurnRomInfo SpecretuozRomDesc[] = {
	{ "Return to Oz (1986)(U.S. Gold).z80", 0x0944b, 0x743aea8e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specretuoz, Specretuoz, Spectrum)
STD_ROM_FN(Specretuoz)

struct BurnDriver BurnSpecretuoz = {
	"spec_retuoz", NULL, "spec_spectrum", NULL, "1986",
	"Return to Oz (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecretuozRomInfo, SpecretuozRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Reveal (48K)

static struct BurnRomInfo SpecrevealRomDesc[] = {
	{ "Reveal (1989)(Mastertronic).z80", 0x04f0e, 0x9f130f9b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specreveal, Specreveal, Spectrum)
STD_ROM_FN(Specreveal)

struct BurnDriver BurnSpecreveal = {
	"spec_reveal", NULL, "spec_spectrum", NULL, "1989",
	"Reveal (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrevealRomInfo, SpecrevealRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Revenge of the C5 (48K)

static struct BurnRomInfo Specrevec5RomDesc[] = {
	{ "Revenge of the C5 (1985)(Atlantis Software).z80", 0x08382, 0x58cf0e10, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrevec5, Specrevec5, Spectrum)
STD_ROM_FN(Specrevec5)

struct BurnDriver BurnSpecrevec5 = {
	"spec_revec5", NULL, "spec_spectrum", NULL, "1985",
	"Revenge of the C5 (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrevec5RomInfo, Specrevec5RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Revenge of the Killer Tomatoes (48K)

static struct BurnRomInfo SpecrevkiltoRomDesc[] = {
	{ "Revenge of the Killer Tomatoes (1984)(Visions Software Factory).z80", 0x08424, 0x83732659, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrevkilto, Specrevkilto, Spectrum)
STD_ROM_FN(Specrevkilto)

struct BurnDriver BurnSpecrevkilto = {
	"spec_revkilto", NULL, "spec_spectrum", NULL, "1984",
	"Revenge of the Killer Tomatoes (48K)\0", NULL, "Visions Software Factory", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrevkiltoRomInfo, SpecrevkiltoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Revenge of the Space Pirates - Part 1 - Daris (48K)

static struct BurnRomInfo SpecrevspcpiRomDesc[] = {
	{ "Revenge of the Space Pirates - Part 1 - Daris (1994)(FSF Adventures).z80", 0x09304, 0x8d6dfb5b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrevspcpi, Specrevspcpi, Spectrum)
STD_ROM_FN(Specrevspcpi)

struct BurnDriver BurnSpecrevspcpi = {
	"spec_revspcpi", NULL, "spec_spectrum", NULL, "1994",
	"Revenge of the Space Pirates - Part 1 - Daris (48K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrevspcpiRomInfo, SpecrevspcpiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Revenge of the Space Pirates - Part 2 - Waystar (48K)

static struct BurnRomInfo Specrevspcpi2RomDesc[] = {
	{ "Revenge of the Space Pirates - Part 2 - Waystar (1994)(FSF Adventures).z80", 0x0933c, 0x9bb384b3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrevspcpi2, Specrevspcpi2, Spectrum)
STD_ROM_FN(Specrevspcpi2)

struct BurnDriver BurnSpecrevspcpi2 = {
	"spec_revspcpi2", "spec_revspcpi", "spec_spectrum", NULL, "1994",
	"Revenge of the Space Pirates - Part 2 - Waystar (48K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrevspcpi2RomInfo, Specrevspcpi2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Reversor (German) (48K)

static struct BurnRomInfo SpecreversorRomDesc[] = {
	{ "Reversor (1983)(Peter Witzgall)(de).z80", 0x026d7, 0x76206d93, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specreversor, Specreversor, Spectrum)
STD_ROM_FN(Specreversor)

struct BurnDriver BurnSpecreversor = {
	"spec_reversor", NULL, "spec_spectrum", NULL, "1983",
	"Reversor (German) (48K)\0", NULL, "Peter Witzgall", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecreversorRomInfo, SpecreversorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Revolution (48K)

static struct BurnRomInfo SpecrevolutiRomDesc[] = {
	{ "Revolution (1986)(U.S. Gold).z80", 0x08937, 0xef66636f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrevoluti, Specrevoluti, Spectrum)
STD_ROM_FN(Specrevoluti)

struct BurnDriver BurnSpecrevoluti = {
	"spec_revoluti", NULL, "spec_spectrum", NULL, "1986",
	"Revolution (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrevolutiRomInfo, SpecrevolutiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Revolver (48K)

static struct BurnRomInfo SpecrevolverRomDesc[] = {
	{ "Revolver (1988)(Alternative Software).z80", 0x08a45, 0x5230d025, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrevolver, Specrevolver, Spectrum)
STD_ROM_FN(Specrevolver)

struct BurnDriver BurnSpecrevolver = {
	"spec_revolver", NULL, "spec_spectrum", NULL, "1988",
	"Revolver (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrevolverRomInfo, SpecrevolverRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rex (Part 1 of 2) (48K)

static struct BurnRomInfo Specrex_48RomDesc[] = {
	{ "Rex (1988)(Martech Games)(Part 1 of 2).z80", 0x0aab7, 0xecb7d3dc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrex_48, Specrex_48, Spectrum)
STD_ROM_FN(Specrex_48)

struct BurnDriver BurnSpecrex_48 = {
	"spec_rex_48", "spec_rex", "spec_spectrum", NULL, "1988",
	"Rex (Part 1 of 2) (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrex_48RomInfo, Specrex_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rex (Part 2 of 2) (48K)

static struct BurnRomInfo Specrex2_48RomDesc[] = {
	{ "Rex (1988)(Martech Games)(Part 2 of 2).z80", 0x09f3a, 0x51130dc0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrex2_48, Specrex2_48, Spectrum)
STD_ROM_FN(Specrex2_48)

struct BurnDriver BurnSpecrex2_48 = {
	"spec_rex2_48", "spec_rex", "spec_spectrum", NULL, "1988",
	"Rex (Part 2 of 2) (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrex2_48RomInfo, Specrex2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rex (128K)

static struct BurnRomInfo SpecrexRomDesc[] = {
	{ "Rex (1988)(Martech Games)[128K].z80", 0x0d833, 0xf5fc8541, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrex, Specrex, Spectrum)
STD_ROM_FN(Specrex)

struct BurnDriver BurnSpecrex = {
	"spec_rex", NULL, "spec_spec128", NULL, "1988",
	"Rex (128K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrexRomInfo, SpecrexRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rex Hard (Spanish) (48K)

static struct BurnRomInfo SpecrexhardeRomDesc[] = {
	{ "Rex Hard (1987)(Mister Chip)(es).z80", 0x0b472, 0xa11e08b3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrexharde, Specrexharde, Spectrum)
STD_ROM_FN(Specrexharde)

struct BurnDriver BurnSpecrexharde = {
	"spec_rexharde", NULL, "spec_spectrum", NULL, "1987",
	"Rex Hard (Spanish) (48K)\0", NULL, "Mister Chip", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrexhardeRomInfo, SpecrexhardeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Reyes y Castillos (Spanish) (48K)

static struct BurnRomInfo SpecreyecastRomDesc[] = {
	{ "Reyes y Castillos (1984)(Special Soft)(es).z80", 0x0729c, 0x83897c3d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specreyecast, Specreyecast, Spectrum)
STD_ROM_FN(Specreyecast)

struct BurnDriver BurnSpecreyecast = {
	"spec_reyecast", NULL, "spec_spectrum", NULL, "1984",
	"Reyes y Castillos (Spanish) (48K)\0", NULL, "Special Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecreyecastRomInfo, SpecreyecastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rhyme Cryme (128K)

static struct BurnRomInfo SpecrhymcrymRomDesc[] = {
	{ "Rhyme Cryme (1996)(Zenobi Software)[128K].z80", 0x0c755, 0x3c2f7bc7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrhymcrym, Specrhymcrym, Spectrum)
STD_ROM_FN(Specrhymcrym)

struct BurnDriver BurnSpecrhymcrym = {
	"spec_rhymcrym", NULL, "spec_spec128", NULL, "1996",
	"Rhyme Cryme (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrhymcrymRomInfo, SpecrhymcrymRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rick Dangerous (48K)

static struct BurnRomInfo SpecrickdangRomDesc[] = {
	{ "Rick Dangerous (1989)(Firebird Software).z80", 0x09cb3, 0x556a8928, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrickdang, Specrickdang, Spectrum)
STD_ROM_FN(Specrickdang)

struct BurnDriver BurnSpecrickdang = {
	"spec_rickdang", NULL, "spec_spectrum", NULL, "1989",
	"Rick Dangerous (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrickdangRomInfo, SpecrickdangRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ricochet (48K)

static struct BurnRomInfo SpecricochetRomDesc[] = {
	{ "Ricochet (1987)(Firebird Software).z80", 0x07e43, 0x930d2b19, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specricochet, Specricochet, Spectrum)
STD_ROM_FN(Specricochet)

struct BurnDriver BurnSpecricochet = {
	"spec_ricochet", NULL, "spec_spectrum", NULL, "1987",
	"Ricochet (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecricochetRomInfo, SpecricochetRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Riddler's Den (48K)

static struct BurnRomInfo SpecridddenRomDesc[] = {
	{ "Riddler's Den (1985)(Electric Dreams Software).z80", 0x08284, 0xf98d1baf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specriddden, Specriddden, Spectrum)
STD_ROM_FN(Specriddden)

struct BurnDriver BurnSpecriddden = {
	"spec_riddden", NULL, "spec_spectrum", NULL, "1985",
	"Riddler's Den (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecridddenRomInfo, SpecridddenRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rider - Intro (48K)

static struct BurnRomInfo SpecriderRomDesc[] = {
	{ "Rider - Intro (1983)(Virgin Games).z80", 0x01368, 0xeb2757f6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrider, Specrider, Spectrum)
STD_ROM_FN(Specrider)

struct BurnDriver BurnSpecrider = {
	"spec_rider", NULL, "spec_spectrum", NULL, "1983",
	"Rider - Intro (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecriderRomInfo, SpecriderRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Riding the Rapids (48K)

static struct BurnRomInfo SpecridirapiRomDesc[] = {
	{ "Riding the Rapids (1987)(Players Software).z80", 0x08451, 0x3812a5f8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specridirapi, Specridirapi, Spectrum)
STD_ROM_FN(Specridirapi)

struct BurnDriver BurnSpecridirapi = {
	"spec_ridirapi", NULL, "spec_spectrum", NULL, "1987",
	"Riding the Rapids (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecridirapiRomInfo, SpecridirapiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rifle Range - Intro (48K)

static struct BurnRomInfo SpecrifleranRomDesc[] = {
	{ "Rifle Range - Intro (1984)(Mastertronic).z80", 0x01219, 0xc818cbf6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrifleran, Specrifleran, Spectrum)
STD_ROM_FN(Specrifleran)

struct BurnDriver BurnSpecrifleran = {
	"spec_rifleran", NULL, "spec_spectrum", NULL, "1984",
	"Rifle Range - Intro (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrifleranRomInfo, SpecrifleranRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rifle Range (48K)

static struct BurnRomInfo SpecriflerangRomDesc[] = {
	{ "Rifle Range (1984)(Mastertronic).z80", 0x02e49, 0xc442fe8f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specriflerang, Specriflerang, Spectrum)
STD_ROM_FN(Specriflerang)

struct BurnDriver BurnSpecriflerang = {
	"spec_riflerang", "spec_rifleran", "spec_spectrum", NULL, "1984",
	"Rifle Range (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecriflerangRomInfo, SpecriflerangRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rifts of Time, The (48K)

static struct BurnRomInfo SpecriftimthRomDesc[] = {
	{ "Rifts of Time, The (1984)(Pocket Money Software).z80", 0x058de, 0x01bd39d2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specriftimth, Specriftimth, Spectrum)
STD_ROM_FN(Specriftimth)

struct BurnDriver BurnSpecriftimth = {
	"spec_riftimth", NULL, "spec_spectrum", NULL, "1984",
	"Rifts of Time, The (48K)\0", NULL, "Pocket Money Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecriftimthRomInfo, SpecriftimthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rigel's Revenge (Part 1 of 2) (48K)

static struct BurnRomInfo SpecrigelrevRomDesc[] = {
	{ "Rigel's Revenge (1987)(Bulldog)(Part 1 of 2).z80", 0x0a4db, 0x0ea17a4c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrigelrev, Specrigelrev, Spectrum)
STD_ROM_FN(Specrigelrev)

struct BurnDriver BurnSpecrigelrev = {
	"spec_rigelrev", NULL, "spec_spectrum", NULL, "1987",
	"Rigel's Revenge (Part 1 of 2) (48K)\0", NULL, "Bulldog", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrigelrevRomInfo, SpecrigelrevRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rigel's Revenge (Part 2 of 2) (48K)

static struct BurnRomInfo Specrigelrev2RomDesc[] = {
	{ "Rigel's Revenge (1987)(Bulldog)(Part 2 of 2).z80", 0x0a139, 0xd14d1a92, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrigelrev2, Specrigelrev2, Spectrum)
STD_ROM_FN(Specrigelrev2)

struct BurnDriver BurnSpecrigelrev2 = {
	"spec_rigelrev2", "spec_rigelrev", "spec_spectrum", NULL, "1987",
	"Rigel's Revenge (Part 2 of 2) (48K)\0", NULL, "Bulldog", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrigelrev2RomInfo, Specrigelrev2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rik the Roadie (48K)

static struct BurnRomInfo SpecriktroadRomDesc[] = {
	{ "Rik the Roadie (1988)(Alternative Software).z80", 0x04afe, 0x4dd99ba7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specriktroad, Specriktroad, Spectrum)
STD_ROM_FN(Specriktroad)

struct BurnDriver BurnSpecriktroad = {
	"spec_riktroad", NULL, "spec_spectrum", NULL, "1988",
	"Rik the Roadie (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecriktroadRomInfo, SpecriktroadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ring Master (48K)

static struct BurnRomInfo SpecringmastRomDesc[] = {
	{ "Ring Master (19xx)(-).z80", 0x088e0, 0xb9a54135, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specringmast, Specringmast, Spectrum)
STD_ROM_FN(Specringmast)

struct BurnDriver BurnSpecringmast = {
	"spec_ringmast", NULL, "spec_spectrum", NULL, "19xx",
	"Ring Master (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecringmastRomInfo, SpecringmastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ring of Darkness, The (48K)

static struct BurnRomInfo SpecrindarthRomDesc[] = {
	{ "Ring of Darkness, The (1983)(Wintersoft)[needs tape load].z80", 0x04eb0, 0xdd88ff99, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrindarth, Specrindarth, Spectrum)
STD_ROM_FN(Specrindarth)

struct BurnDriver BurnSpecrindarth = {
	"spec_rindarth", NULL, "spec_spectrum", NULL, "1983",
	"Ring of Darkness, The (48K)\0", NULL, "Wintersoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrindarthRomInfo, SpecrindarthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ring Quest (48K)

static struct BurnRomInfo SpecringquesRomDesc[] = {
	{ "Ring Quest (19xx)(Uburrg Software).z80", 0x09fc0, 0x153c2908, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specringques, Specringques, Spectrum)
STD_ROM_FN(Specringques)

struct BurnDriver BurnSpecringques = {
	"spec_ringques", NULL, "spec_spectrum", NULL, "19xx",
	"Ring Quest (48K)\0", NULL, "Uburrg Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecringquesRomInfo, SpecringquesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ring Wars (48K)

static struct BurnRomInfo SpecringwarsRomDesc[] = {
	{ "Ring Wars (1989)(Cascade Games).z80", 0x09591, 0xc8dc5ee8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specringwars, Specringwars, Spectrum)
STD_ROM_FN(Specringwars)

struct BurnDriver BurnSpecringwars = {
	"spec_ringwars", NULL, "spec_spectrum", NULL, "1989",
	"Ring Wars (48K)\0", NULL, "Cascade Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecringwarsRomInfo, SpecringwarsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rings of Saturn, The (48K)

static struct BurnRomInfo SpecrinsatthRomDesc[] = {
	{ "Rings of Saturn, The (19xx)(-).z80", 0x0a6ff, 0x4ab5cbc7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrinsatth, Specrinsatth, Spectrum)
STD_ROM_FN(Specrinsatth)

struct BurnDriver BurnSpecrinsatth = {
	"spec_rinsatth", NULL, "spec_spectrum", NULL, "19xx",
	"Rings of Saturn, The (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrinsatthRomInfo, SpecrinsatthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// River Raid (48K)

static struct BurnRomInfo SpecriveraidRomDesc[] = {
	{ "River Raid (1984)(Activision).z80", 0x0869c, 0xb1659f1b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specriveraid, Specriveraid, Spectrum)
STD_ROM_FN(Specriveraid)

struct BurnDriver BurnSpecriveraid = {
	"spec_riveraid", NULL, "spec_spectrum", NULL, "1984",
	"River Raid (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecriveraidRomInfo, SpecriveraidRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// River Rescue (48K)

static struct BurnRomInfo SpecriverescRomDesc[] = {
	{ "River Rescue (1984)(Thorn Emi Video).z80", 0x02832, 0x182ca5d7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specriveresc, Specriveresc, Spectrum)
STD_ROM_FN(Specriveresc)

struct BurnDriver BurnSpecriveresc = {
	"spec_riveresc", NULL, "spec_spectrum", NULL, "1984",
	"River Rescue (48K)\0", NULL, "Thorn Emi Video", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecriverescRomInfo, SpecriverescRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Road Blasters (128K)

static struct BurnRomInfo SpecroadblasRomDesc[] = {
	{ "Road Blasters (1988)(U.S. Gold)[128K].z80", 0x18568, 0x64455e8a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specroadblas, Specroadblas, Spectrum)
STD_ROM_FN(Specroadblas)

struct BurnDriver BurnSpecroadblas = {
	"spec_roadblas", NULL, "spec_spec128", NULL, "1988",
	"Road Blasters (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecroadblasRomInfo, SpecroadblasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Road Racer (48K)

static struct BurnRomInfo SpecroadracrRomDesc[] = {
	{ "Road Racer (1983)(Hyperion Software).z80", 0x02e30, 0xb8372426, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specroadracr, Specroadracr, Spectrum)
STD_ROM_FN(Specroadracr)

struct BurnDriver BurnSpecroadracr = {
	"spec_roadracr", NULL, "spec_spectrum", NULL, "1983",
	"Road Racer (48K)\0", NULL, "Hyperion Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecroadracrRomInfo, SpecroadracrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Road Racers (48K)

static struct BurnRomInfo SpecroadrcrsRomDesc[] = {
	{ "Road Racers (1983)(Artic Computing).z80", 0x02544, 0xf78f558e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specroadrcrs, Specroadrcrs, Spectrum)
STD_ROM_FN(Specroadrcrs)

struct BurnDriver BurnSpecroadrcrs = {
	"spec_roadrcrs", NULL, "spec_spectrum", NULL, "1983",
	"Road Racers (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecroadrcrsRomInfo, SpecroadrcrsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Road Runner (Protek Computing) (48K)

static struct BurnRomInfo SpecroadrunpRomDesc[] = {
	{ "Road Runner (1983)(Protek Computing).z80", 0x019c8, 0xdcdd8e9d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specroadrunp, Specroadrunp, Spectrum)
STD_ROM_FN(Specroadrunp)

struct BurnDriver BurnSpecroadrunp = {
	"spec_roadrunp", NULL, "spec_spectrum", NULL, "1983",
	"Road Runner (Protek Computing) (48K)\0", NULL, "Protek Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecroadrunpRomInfo, SpecroadrunpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Road Runner (U.S. Gold) (48K)

static struct BurnRomInfo SpecroadrunuRomDesc[] = {
	{ "Road Runner (1985)(U.S. Gold).z80", 0x0b043, 0x4b781d7c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specroadrunu, Specroadrunu, Spectrum)
STD_ROM_FN(Specroadrunu)

struct BurnDriver BurnSpecroadrunu = {
	"spec_roadrunu", NULL, "spec_spectrum", NULL, "1985",
	"Road Runner (U.S. Gold) (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecroadrunuRomInfo, SpecroadrunuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Road Runner and Wile E. Coyote (48K)

static struct BurnRomInfo SpecroadrunwRomDesc[] = {
	{ "Road Runner and Wile E. Coyote (1991)(Hi-Tec Software).z80", 0x0804c, 0x68c9c307, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specroadrunw, Specroadrunw, Spectrum)
STD_ROM_FN(Specroadrunw)

struct BurnDriver BurnSpecroadrunw = {
	"spec_roadrunw", NULL, "spec_spectrum", NULL, "1991",
	"Road Runner and Wile E. Coyote (48K)\0", NULL, "Hi-Tec Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecroadrunwRomInfo, SpecroadrunwRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Road Wars (48K)

static struct BurnRomInfo SpecroadwarsRomDesc[] = {
	{ "Road Wars (1987)(Melbourne House).z80", 0x094d1, 0xc6cff06e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specroadwars, Specroadwars, Spectrum)
STD_ROM_FN(Specroadwars)

struct BurnDriver BurnSpecroadwars = {
	"spec_roadwars", NULL, "spec_spectrum", NULL, "1987",
	"Road Wars (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecroadwarsRomInfo, SpecroadwarsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Roads of Plexar, The (48K)

static struct BurnRomInfo SpecroaplethRomDesc[] = {
	{ "Roads of Plexar, The (1987)(Mastertronic Added Dimension).z80", 0x0a7ba, 0x67aaead6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specroapleth, Specroapleth, Spectrum)
STD_ROM_FN(Specroapleth)

struct BurnDriver BurnSpecroapleth = {
	"spec_roapleth", NULL, "spec_spectrum", NULL, "1987",
	"Roads of Plexar, The (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecroaplethRomInfo, SpecroaplethRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robber (48K)

static struct BurnRomInfo Specrobber_48RomDesc[] = {
	{ "Robber (1983)(Virgin Games).z80", 0x04029, 0xbdfdca6f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrobber_48, Specrobber_48, Spectrum)
STD_ROM_FN(Specrobber_48)

struct BurnDriver BurnSpecrobber_48 = {
	"spec_robber_48", "spec_robbo", "spec_spectrum", NULL, "1983",
	"Robber (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrobber_48RomInfo, Specrobber_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robbo (128K)

static struct BurnRomInfo SpecrobboRomDesc[] = {
	{ "Robbo (1997)(Amilton)[128K].z80", 0x0889a, 0x236f4002, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrobbo, Specrobbo, Spectrum)
STD_ROM_FN(Specrobbo)

struct BurnDriver BurnSpecrobbo = {
	"spec_robbo", NULL, "spec_spec128", NULL, "1997",
	"Robbo (128K)\0", NULL, "Amilton", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrobboRomInfo, SpecrobboRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robin Hood - Legend Quest (48K)

static struct BurnRomInfo SpecroholequRomDesc[] = {
	{ "Robin Hood - Legend Quest (1993)(Codemasters).z80", 0x09775, 0x6a7128a6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specroholequ, Specroholequ, Spectrum)
STD_ROM_FN(Specroholequ)

struct BurnDriver BurnSpecroholequ = {
	"spec_roholequ", NULL, "spec_spectrum", NULL, "1993",
	"Robin Hood - Legend Quest (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecroholequRomInfo, SpecroholequRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robin of Sherlock (Part 1 of 3) (48K)

static struct BurnRomInfo SpecrobinshRomDesc[] = {
	{ "Robin of Sherlock (1985)(Silversoft)(Part 1 of 3).z80", 0x0aad6, 0xbe40e084, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrobinsh, Specrobinsh, Spectrum)
STD_ROM_FN(Specrobinsh)

struct BurnDriver BurnSpecrobinsh = {
	"spec_robinsh", NULL, "spec_spectrum", NULL, "1985",
	"Robin of Sherlock (Part 1 of 3) (48K)\0", NULL, "Silversoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrobinshRomInfo, SpecrobinshRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robin of Sherlock (Part 2 of 3) (48K)

static struct BurnRomInfo Specrobinsh2RomDesc[] = {
	{ "Robin of Sherlock (1985)(Silversoft)(Part 2 of 3).z80", 0x09ced, 0x3763fc1a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrobinsh2, Specrobinsh2, Spectrum)
STD_ROM_FN(Specrobinsh2)

struct BurnDriver BurnSpecrobinsh2 = {
	"spec_robinsh2", "spec_robinsh", "spec_spectrum", NULL, "1985",
	"Robin of Sherlock (Part 2 of 3) (48K)\0", NULL, "Silversoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrobinsh2RomInfo, Specrobinsh2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robin of Sherlock (Part 3 of 3) (48K)

static struct BurnRomInfo Specrobinsh3RomDesc[] = {
	{ "Robin of Sherlock (1985)(Silversoft)(Part 3 of 3).z80", 0x0a1be, 0x5e47ea8f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrobinsh3, Specrobinsh3, Spectrum)
STD_ROM_FN(Specrobinsh3)

struct BurnDriver BurnSpecrobinsh3 = {
	"spec_robinsh3", "spec_robinsh", "spec_spectrum", NULL, "1985",
	"Robin of Sherlock (Part 3 of 3) (48K)\0", NULL, "Silversoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrobinsh3RomInfo, Specrobinsh3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robin of Sherwood - The Touchstones of Rhiannon - Intro (48K)

static struct BurnRomInfo SpecrobinshrRomDesc[] = {
	{ "Robin of Sherwood - The Touchstones of Rhiannon - Intro (1985)(Adventure International).z80", 0x01697, 0x2a999807, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrobinshr, Specrobinshr, Spectrum)
STD_ROM_FN(Specrobinshr)

struct BurnDriver BurnSpecrobinshr = {
	"spec_robinshr", NULL, "spec_spectrum", NULL, "1985",
	"Robin of Sherwood - The Touchstones of Rhiannon - Intro (48K)\0", NULL, "Adventure International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrobinshrRomInfo, SpecrobinshrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robin of Sherwood - The Touchstones of Rhiannon (48K)

static struct BurnRomInfo SpecrobinshrgRomDesc[] = {
	{ "Robin of Sherwood - The Touchstones of Rhiannon (1985)(Adventure International).z80", 0x0ace8, 0xacbf72cd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrobinshrg, Specrobinshrg, Spectrum)
STD_ROM_FN(Specrobinshrg)

struct BurnDriver BurnSpecrobinshrg = {
	"spec_robinshrg", "spec_robinshr", "spec_spectrum", NULL, "1985",
	"Robin of Sherwood - The Touchstones of Rhiannon (48K)\0", NULL, "Adventure International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrobinshrgRomInfo, SpecrobinshrgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robin of the Wood (48K)

static struct BurnRomInfo Specrobiwood_48RomDesc[] = {
	{ "Robin of the Wood (1985)(Odin Computer Graphics).z80", 0x093ee, 0xef9ce3c9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrobiwood_48, Specrobiwood_48, Spectrum)
STD_ROM_FN(Specrobiwood_48)

struct BurnDriver BurnSpecrobiwood_48 = {
	"spec_robiwood_48", "spec_robiwood", "spec_spectrum", NULL, "1985",
	"Robin of the Wood (48K)\0", NULL, "Odin Computer Graphics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrobiwood_48RomInfo, Specrobiwood_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robin of the Wood (128K)

static struct BurnRomInfo SpecrobiwoodRomDesc[] = {
	{ "Robin of the Wood (1985)(Odin Computer Graphics)[128K].z80", 0x0f415, 0x2f200203, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrobiwood, Specrobiwood, Spectrum)
STD_ROM_FN(Specrobiwood)

struct BurnDriver BurnSpecrobiwood = {
	"spec_robiwood", NULL, "spec_spec128", NULL, "1985",
	"Robin of the Wood (128K)\0", NULL, "Odin Computer Graphics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrobiwoodRomInfo, SpecrobiwoodRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robin of the Wood (Kempston) (48K)

static struct BurnRomInfo Specrobiwoodk_48RomDesc[] = {
	{ "Robin of the Wood (1985)(Odin Computer Graphics)[kempston].z80", 0x0a9ef, 0x00fe3bf8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrobiwoodk_48, Specrobiwoodk_48, Spectrum)
STD_ROM_FN(Specrobiwoodk_48)

struct BurnDriver BurnSpecrobiwoodk_48 = {
	"spec_robiwoodk_48", "spec_robiwood", "spec_spectrum", NULL, "1985",
	"Robin of the Wood (Kempston) (48K)\0", NULL, "Odin Computer Graphics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrobiwoodk_48RomInfo, Specrobiwoodk_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robin Smith's International Cricket (48K)

static struct BurnRomInfo SpecrosmincrRomDesc[] = {
	{ "Robin Smith's International Cricket (1990)(Challenge Software).z80", 0x09755, 0xf5e669fa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrosmincr, Specrosmincr, Spectrum)
STD_ROM_FN(Specrosmincr)

struct BurnDriver BurnSpecrosmincr = {
	"spec_rosmincr", NULL, "spec_spectrum", NULL, "1990",
	"Robin Smith's International Cricket (48K)\0", NULL, "Challenge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrosmincrRomInfo, SpecrosmincrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robo Rumpus (1985) (48K)

static struct BurnRomInfo SpecroborumpRomDesc[] = {
	{ "Robo Rumpus (1985)(Atlantis Software).z80", 0x05bdb, 0x618046a1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specroborump, Specroborump, Spectrum)
STD_ROM_FN(Specroborump)

struct BurnDriver BurnSpecroborump = {
	"spec_roborump", NULL, "spec_spectrum", NULL, "1985",
	"Robo Rumpus (1985) (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecroborumpRomInfo, SpecroborumpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robocop (128K)

static struct BurnRomInfo SpecrobocopRomDesc[] = {
	{ "Robocop (1988)(Ocean)[128K].z80", 0x1cbf8, 0xdcc4bf16, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrobocop, Specrobocop, Spectrum)
STD_ROM_FN(Specrobocop)

struct BurnDriver BurnSpecrobocop = {
	"spec_robocop", NULL, "spec_spec128", NULL, "1988",
	"Robocop (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrobocopRomInfo, SpecrobocopRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robocop 2 (128K)

static struct BurnRomInfo Specrobocop2RomDesc[] = {
	{ "Robocop 2 (1990)(Ocean)[128K].z80", 0x1c73e, 0xe9b44bc7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrobocop2, Specrobocop2, Spectrum)
STD_ROM_FN(Specrobocop2)

struct BurnDriver BurnSpecrobocop2 = {
	"spec_robocop2", NULL, "spec_spec128", NULL, "1990",
	"Robocop 2 (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrobocop2RomInfo, Specrobocop2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robocop 3 (128K)

static struct BurnRomInfo Specrobocop3RomDesc[] = {
	{ "Robocop 3 (1992)(Ocean)[128K].z80", 0x1ac8a, 0x21b5c6b7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrobocop3, Specrobocop3, Spectrum)
STD_ROM_FN(Specrobocop3)

struct BurnDriver BurnSpecrobocop3 = {
	"spec_robocop3", NULL, "spec_spec128", NULL, "1992",
	"Robocop 3 (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrobocop3RomInfo, Specrobocop3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robon (48K)

static struct BurnRomInfo SpecrobonRomDesc[] = {
	{ "Robon (1983)(Softek Software International).z80", 0x02b85, 0x82b875ee, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrobon, Specrobon, Spectrum)
STD_ROM_FN(Specrobon)

struct BurnDriver BurnSpecrobon = {
	"spec_robon", NULL, "spec_spectrum", NULL, "1983",
	"Robon (48K)\0", NULL, "Softek Software International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrobonRomInfo, SpecrobonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robot Attack (48K)

static struct BurnRomInfo SpecroboattaRomDesc[] = {
	{ "Robot Attack (1989)(Mastertronic).z80", 0x05f8e, 0x55cfdb87, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specroboatta, Specroboatta, Spectrum)
STD_ROM_FN(Specroboatta)

struct BurnDriver BurnSpecroboatta = {
	"spec_roboatta", NULL, "spec_spectrum", NULL, "1989",
	"Robot Attack (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecroboattaRomInfo, SpecroboattaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robot Escape (Spanish) (48K)

static struct BurnRomInfo Specroboesca_48RomDesc[] = {
	{ "Robot Escape (1988)(SPE)(es).z80", 0x092f9, 0x1c745502, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specroboesca_48, Specroboesca_48, Spectrum)
STD_ROM_FN(Specroboesca_48)

struct BurnDriver BurnSpecroboesca_48 = {
	"spec_roboesca_48", "spec_roboesca", "spec_spectrum", NULL, "1988",
	"Robot Escape (Spanish) (48K)\0", NULL, "SPE", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specroboesca_48RomInfo, Specroboesca_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robot Escape (Spanish) (128K)

static struct BurnRomInfo SpecroboescaRomDesc[] = {
	{ "Robot Escape (1988)(SPE)(es)[128K].z80", 0x08f99, 0x23768786, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specroboesca, Specroboesca, Spectrum)
STD_ROM_FN(Specroboesca)

struct BurnDriver BurnSpecroboesca = {
	"spec_roboesca", NULL, "spec_spec128", NULL, "1988",
	"Robot Escape (Spanish) (128K)\0", NULL, "SPE", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecroboescaRomInfo, SpecroboescaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robot Factory (Spanish) (48K)

static struct BurnRomInfo SpecrobofactRomDesc[] = {
	{ "Robot Factory (1984)(Ventamatic)(es).z80", 0x07e75, 0xb64bd2ae, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrobofact, Specrobofact, Spectrum)
STD_ROM_FN(Specrobofact)

struct BurnDriver BurnSpecrobofact = {
	"spec_robofact", NULL, "spec_spectrum", NULL, "1984",
	"Robot Factory (Spanish) (48K)\0", NULL, "Ventamatic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrobofactRomInfo, SpecrobofactRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robot Messiah (48K)

static struct BurnRomInfo SpecrobomessRomDesc[] = {
	{ "Robot Messiah (1985)(Alphabatim).z80", 0x0a8a6, 0x5531719f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrobomess, Specrobomess, Spectrum)
STD_ROM_FN(Specrobomess)

struct BurnDriver BurnSpecrobomess = {
	"spec_robomess", NULL, "spec_spectrum", NULL, "1985",
	"Robot Messiah (48K)\0", NULL, "Alphabatim", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrobomessRomInfo, SpecrobomessRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robot Riot (48K)

static struct BurnRomInfo SpecroboriotRomDesc[] = {
	{ "Robot Riot (1983)(Silversoft).z80", 0x066f7, 0x17367165, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specroboriot, Specroboriot, Spectrum)
STD_ROM_FN(Specroboriot)

struct BurnDriver BurnSpecroboriot = {
	"spec_roboriot", NULL, "spec_spectrum", NULL, "1983",
	"Robot Riot (48K)\0", NULL, "Silversoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecroboriotRomInfo, SpecroboriotRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robotank (48K)

static struct BurnRomInfo SpecrobotankRomDesc[] = {
	{ "Robotank (19xx)(-).z80", 0x02fb9, 0x9675a674, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrobotank, Specrobotank, Spectrum)
STD_ROM_FN(Specrobotank)

struct BurnDriver BurnSpecrobotank = {
	"spec_robotank", NULL, "spec_spectrum", NULL, "19xx",
	"Robotank (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrobotankRomInfo, SpecrobotankRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Roboto (48K)

static struct BurnRomInfo SpecrobotoRomDesc[] = {
	{ "Roboto (1985)(Bug-Byte Software).z80", 0x09f47, 0x639f4f93, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specroboto, Specroboto, Spectrum)
STD_ROM_FN(Specroboto)

struct BurnDriver BurnSpecroboto = {
	"spec_roboto", NULL, "spec_spectrum", NULL, "1985",
	"Roboto (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrobotoRomInfo, SpecrobotoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robotron (48K)

static struct BurnRomInfo SpecrobotronRomDesc[] = {
	{ "Robotron (1984)(PAB).z80", 0x02714, 0x2ed40f91, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrobotron, Specrobotron, Spectrum)
STD_ROM_FN(Specrobotron)

struct BurnDriver BurnSpecrobotron = {
	"spec_robotron", NULL, "spec_spectrum", NULL, "1984",
	"Robotron (48K)\0", NULL, "PAB", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrobotronRomInfo, SpecrobotronRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robotron 2084 (48K)

static struct BurnRomInfo Specrobo2084RomDesc[] = {
	{ "Robotron 2084 (1984)(Atarisoft).z80", 0x08bb7, 0x333fa355, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrobo2084, Specrobo2084, Spectrum)
STD_ROM_FN(Specrobo2084)

struct BurnDriver BurnSpecrobo2084 = {
	"spec_robo2084", NULL, "spec_spectrum", NULL, "1984",
	"Robotron 2084 (48K)\0", NULL, "Atarisoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrobo2084RomInfo, Specrobo2084RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robyn Hode (Part 1 of 2) (48K)

static struct BurnRomInfo SpecrobinhodRomDesc[] = {
	{ "Robyn Hode (1986)(ACD Software)(Part 1 of 2).z80", 0x08d08, 0x23c839cf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrobinhod, Specrobinhod, Spectrum)
STD_ROM_FN(Specrobinhod)

struct BurnDriver BurnSpecrobinhod = {
	"spec_robinhod", NULL, "spec_spectrum", NULL, "1986",
	"Robyn Hode (Part 1 of 2) (48K)\0", NULL, "ACD Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrobinhodRomInfo, SpecrobinhodRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Robyn Hode (Part 2 of 2) (48K)

static struct BurnRomInfo Specrobinhod2RomDesc[] = {
	{ "Robyn Hode (1986)(ACD Software)(Part 2 of 2).z80", 0x08959, 0x286b8d69, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrobinhod2, Specrobinhod2, Spectrum)
STD_ROM_FN(Specrobinhod2)

struct BurnDriver BurnSpecrobinhod2 = {
	"spec_robinhod2", "spec_robinhod", "spec_spectrum", NULL, "1986",
	"Robyn Hode (Part 2 of 2) (48K)\0", NULL, "ACD Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrobinhod2RomInfo, Specrobinhod2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rocco (48K)

static struct BurnRomInfo SpecroccoRomDesc[] = {
	{ "Rocco (1985)(Gremlin Graphics Software)[aka Rocky].z80", 0x09496, 0x728ff61c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrocco, Specrocco, Spectrum)
STD_ROM_FN(Specrocco)

struct BurnDriver BurnSpecrocco = {
	"spec_rocco", NULL, "spec_spectrum", NULL, "1985",
	"Rocco (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecroccoRomInfo, SpecroccoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rock 'n Roller (Spanish) (48K)

static struct BurnRomInfo SpecrockrollRomDesc[] = {
	{ "Rock 'n Roller (1988)(Topo Soft)(es).z80", 0x0acfc, 0x499898c2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrockroll, Specrockroll, Spectrum)
STD_ROM_FN(Specrockroll)

struct BurnDriver BurnSpecrockroll = {
	"spec_rockroll", NULL, "spec_spectrum", NULL, "1988",
	"Rock 'n Roller (Spanish) (48K)\0", NULL, "Topo Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrockrollRomInfo, SpecrockrollRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rock 'n Wrestle (48K)

static struct BurnRomInfo SpecrockwresRomDesc[] = {
	{ "Rock 'n Wrestle (1985)(Melbourne House).z80", 0x0af74, 0x3d9667b6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrockwres, Specrockwres, Spectrum)
STD_ROM_FN(Specrockwres)

struct BurnDriver BurnSpecrockwres = {
	"spec_rockwres", NULL, "spec_spectrum", NULL, "1985",
	"Rock 'n Wrestle (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrockwresRomInfo, SpecrockwresRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rock Star Ate my Hamster (128K)

static struct BurnRomInfo SpecrockshamRomDesc[] = {
	{ "Rock Star Ate my Hamster (1989)(Codemasters)[t][128K].z80", 0x0ffbd, 0xcf617748, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrocksham, Specrocksham, Spectrum)
STD_ROM_FN(Specrocksham)

struct BurnDriver BurnSpecrocksham = {
	"spec_rocksham", NULL, "spec_spec128", NULL, "1989",
	"Rock Star Ate my Hamster (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrockshamRomInfo, SpecrockshamRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rockford (48K)

static struct BurnRomInfo SpecrockfordRomDesc[] = {
	{ "Rockford (1988)(Mastertronic Added Dimension).z80", 0x0a658, 0x9d7027ce, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrockford, Specrockford, Spectrum)
STD_ROM_FN(Specrockford)

struct BurnDriver BurnSpecrockford = {
	"spec_rockford", NULL, "spec_spectrum", NULL, "1988",
	"Rockford (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrockfordRomInfo, SpecrockfordRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rockman (48K)

static struct BurnRomInfo SpecrockmanRomDesc[] = {
	{ "Rockman (1985)(Mastertronic).z80", 0x095d0, 0xeae98f8e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrockman, Specrockman, Spectrum)
STD_ROM_FN(Specrockman)

struct BurnDriver BurnSpecrockman = {
	"spec_rockman", NULL, "spec_spectrum", NULL, "1985",
	"Rockman (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrockmanRomInfo, SpecrockmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rocky (48K)

static struct BurnRomInfo SpecrockyRomDesc[] = {
	{ "Rocky (1985)(Dinamic Software).z80", 0x0948a, 0x79a0f6b2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrocky, Specrocky, Spectrum)
STD_ROM_FN(Specrocky)

struct BurnDriver BurnSpecrocky = {
	"spec_rocky", NULL, "spec_spectrum", NULL, "1985",
	"Rocky (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrockyRomInfo, SpecrockyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rocky Horror Show, The (48K)

static struct BurnRomInfo Specrockyhs_48RomDesc[] = {
	{ "Rocky Horror Show, The (1985)(CRL Group).z80", 0x0aa5b, 0x5c402dd4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrockyhs_48, Specrockyhs_48, Spectrum)
STD_ROM_FN(Specrockyhs_48)

struct BurnDriver BurnSpecrockyhs_48 = {
	"spec_rockyhs_48", "spec_rockyhs", "spec_spectrum", NULL, "1985",
	"Rocky Horror Show, The (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrockyhs_48RomInfo, Specrockyhs_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rocky Horror Show, The (128K)

static struct BurnRomInfo SpecrockyhsRomDesc[] = {
	{ "Rocky Horror Show, The (1985)(CRL Group)[128K].z80", 0x0d174, 0x8b07c55f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrockyhs, Specrockyhs, Spectrum)
STD_ROM_FN(Specrockyhs)

struct BurnDriver BurnSpecrockyhs = {
	"spec_rockyhs", NULL, "spec_spec128", NULL, "1985",
	"Rocky Horror Show, The (128K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrockyhsRomInfo, SpecrockyhsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rocman (Spanish) (48K)

static struct BurnRomInfo SpecrocmanesRomDesc[] = {
	{ "Rocman (1986)(Magic Team)(es).z80", 0x0a212, 0xa058c1a6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrocmanes, Specrocmanes, Spectrum)
STD_ROM_FN(Specrocmanes)

struct BurnDriver BurnSpecrocmanes = {
	"spec_rocmanes", NULL, "spec_spectrum", NULL, "1986",
	"Rocman (Spanish) (48K)\0", NULL, "Magic Team", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrocmanesRomInfo, SpecrocmanesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rodent Run (48K)

static struct BurnRomInfo SpecroderunRomDesc[] = {
	{ "Rodent Run (2002)(Naffsoft).z80", 0x01ce4, 0xcf5c2076, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specroderun, Specroderun, Spectrum)
STD_ROM_FN(Specroderun)

struct BurnDriver BurnSpecroderun = {
	"spec_roderun", NULL, "spec_spectrum", NULL, "2002",
	"Rodent Run (48K)\0", NULL, "Naffsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecroderunRomInfo, SpecroderunRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rod-Land (128K)

static struct BurnRomInfo SpecrodlandRomDesc[] = {
	{ "Rod-Land (1991)(Storm Software)[128K].z80", 0x1b7a5, 0xd35544ac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrodland, Specrodland, Spectrum)
STD_ROM_FN(Specrodland)

struct BurnDriver BurnSpecrodland = {
	"spec_rodland", NULL, "spec_spec128", NULL, "1991",
	"Rod-Land (128K)\0", NULL, "Storm Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrodlandRomInfo, SpecrodlandRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rogue (48K)

static struct BurnRomInfo SpecrogueRomDesc[] = {
	{ "Rogue (1988)(Mastertronic).z80", 0x071bb, 0x61d6f2a6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrogue, Specrogue, Spectrum)
STD_ROM_FN(Specrogue)

struct BurnDriver BurnSpecrogue = {
	"spec_rogue", NULL, "spec_spectrum", NULL, "1988",
	"Rogue (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrogueRomInfo, SpecrogueRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rogue Trooper (Alernative Software) (48K)

static struct BurnRomInfo SpecroguetraRomDesc[] = {
	{ "Rogue Trooper (1986)(Alternative Software)[m][re-release].z80", 0x090ed, 0xd109fe57, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specroguetra, Specroguetra, Spectrum)
STD_ROM_FN(Specroguetra)

struct BurnDriver BurnSpecroguetra = {
	"spec_roguetra", "spec_roguetr", "spec_spectrum", NULL, "1986",
	"Rogue Trooper (Alernative Software) (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecroguetraRomInfo, SpecroguetraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rogue Trooper (Piranha) (48K)

static struct BurnRomInfo SpecroguetrRomDesc[] = {
	{ "Rogue Trooper (1986)(Piranha).z80", 0x09211, 0x5153906c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specroguetr, Specroguetr, Spectrum)
STD_ROM_FN(Specroguetr)

struct BurnDriver BurnSpecroguetr = {
	"spec_roguetr", NULL, "spec_spectrum", NULL, "1986",
	"Rogue Trooper (Piranha) (48K)\0", NULL, "Piranha", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecroguetrRomInfo, SpecroguetrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Roland's Rat Race (48K)

static struct BurnRomInfo SpecrolratraRomDesc[] = {
	{ "Roland's Rat Race (1985)(Ocean).z80", 0x08910, 0xce9f93ea, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrolratra, Specrolratra, Spectrum)
STD_ROM_FN(Specrolratra)

struct BurnDriver BurnSpecrolratra = {
	"spec_rolratra", NULL, "spec_spectrum", NULL, "1985",
	"Roland's Rat Race (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrolratraRomInfo, SpecrolratraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rollaround (48K)

static struct BurnRomInfo SpecrollarouRomDesc[] = {
	{ "Rollaround (1988)(Mastertronic).z80", 0x06c7d, 0x0c2b9a16, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrollarou, Specrollarou, Spectrum)
STD_ROM_FN(Specrollarou)

struct BurnDriver BurnSpecrollarou = {
	"spec_rollarou", NULL, "spec_spectrum", NULL, "1988",
	"Rollaround (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrollarouRomInfo, SpecrollarouRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Roll'Em (48K)

static struct BurnRomInfo SpecrollemRomDesc[] = {
	{ "Roll'Em (2002)(Naffsoft).z80", 0x0196c, 0xd8f6b53d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrollem, Specrollem, Spectrum)
STD_ROM_FN(Specrollem)

struct BurnDriver BurnSpecrollem = {
	"spec_rollem", NULL, "spec_spectrum", NULL, "2002",
	"Roll'Em (48K)\0", NULL, "Naffsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrollemRomInfo, SpecrollemRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Roller Coaster (48K)

static struct BurnRomInfo SpecrollcoasRomDesc[] = {
	{ "Roller Coaster (1985)(Elite Systems).z80", 0x0a578, 0x9cc4373c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrollcoas, Specrollcoas, Spectrum)
STD_ROM_FN(Specrollcoas)

struct BurnDriver BurnSpecrollcoas = {
	"spec_rollcoas", NULL, "spec_spectrum", NULL, "1985",
	"Roller Coaster (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrollcoasRomInfo, SpecrollcoasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rolling Thunder (48K)

static struct BurnRomInfo SpecrollthunRomDesc[] = {
	{ "Rolling Thunder (1988)(U.S. Gold).z80", 0x09e57, 0x41bc00e3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrollthun, Specrollthun, Spectrum)
STD_ROM_FN(Specrollthun)

struct BurnDriver BurnSpecrollthun = {
	"spec_rollthun", NULL, "spec_spectrum", NULL, "1988",
	"Rolling Thunder (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrollthunRomInfo, SpecrollthunRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Roman Empire (48K)

static struct BurnRomInfo SpecromaempiRomDesc[] = {
	{ "Roman Empire (1982)(MC Lothlorien).z80", 0x03864, 0x34d3e758, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specromaempi, Specromaempi, Spectrum)
STD_ROM_FN(Specromaempi)

struct BurnDriver BurnSpecromaempi = {
	"spec_romaempi", NULL, "spec_spectrum", NULL, "1982",
	"Roman Empire (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecromaempiRomInfo, SpecromaempiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rommel's Revenge (48K)

static struct BurnRomInfo SpecrommreveRomDesc[] = {
	{ "Rommel's Revenge (1983)(Crystal Computing).z80", 0x073d3, 0x343f3456, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrommreve, Specrommreve, Spectrum)
STD_ROM_FN(Specrommreve)

struct BurnDriver BurnSpecrommreve = {
	"spec_rommreve", NULL, "spec_spectrum", NULL, "1983",
	"Rommel's Revenge (48K)\0", NULL, "Crystal Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrommreveRomInfo, SpecrommreveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ronnie Goes to Hollywood (48K)

static struct BurnRomInfo SpecrongoehoRomDesc[] = {
	{ "Ronnie Goes to Hollywood (1987)(8th Day Software).z80", 0x0adc4, 0x06ac1829, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrongoeho, Specrongoeho, Spectrum)
STD_ROM_FN(Specrongoeho)

struct BurnDriver BurnSpecrongoeho = {
	"spec_rongoeho", NULL, "spec_spectrum", NULL, "1987",
	"Ronnie Goes to Hollywood (48K)\0", NULL, "8th Day Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrongoehoRomInfo, SpecrongoehoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rookie (48K)

static struct BurnRomInfo SpecrookieRomDesc[] = {
	{ "Rookie (1989)(Mastertronic).z80", 0x062b4, 0xc8c17ebb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrookie, Specrookie, Spectrum)
STD_ROM_FN(Specrookie)

struct BurnDriver BurnSpecrookie = {
	"spec_rookie", NULL, "spec_spectrum", NULL, "1989",
	"Rookie (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrookieRomInfo, SpecrookieRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Room Ten (48K)

static struct BurnRomInfo SpecroomtenRomDesc[] = {
	{ "Room Ten (1986)(CRL Group).z80", 0x0638c, 0x3806c9a1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specroomten, Specroomten, Spectrum)
STD_ROM_FN(Specroomten)

struct BurnDriver BurnSpecroomten = {
	"spec_roomten", NULL, "spec_spectrum", NULL, "1986",
	"Room Ten (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecroomtenRomInfo, SpecroomtenRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Roulette (Dymond Software) (48K)

static struct BurnRomInfo SpecroulettdRomDesc[] = {
	{ "Roulette (1982)(Dymond Software).z80", 0x03e81, 0x47177125, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specroulettd, Specroulettd, Spectrum)
STD_ROM_FN(Specroulettd)

struct BurnDriver BurnSpecroulettd = {
	"spec_roulettd", NULL, "spec_spectrum", NULL, "1982",
	"Roulette (Dymond Software) (48K)\0", NULL, "Dymond Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecroulettdRomInfo, SpecroulettdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Roulette (Stefan Freise) (48K)

static struct BurnRomInfo SpecroulettsRomDesc[] = {
	{ "Roulette (1982)(Stefan Freise).z80", 0x04f9e, 0xa14ebed2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrouletts, Specrouletts, Spectrum)
STD_ROM_FN(Specrouletts)

struct BurnDriver BurnSpecrouletts = {
	"spec_rouletts", NULL, "spec_spectrum", NULL, "1982",
	"Roulette (Stefan Freise) (48K)\0", NULL, "Stefan Freise", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecroulettsRomInfo, SpecroulettsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Round the Bend! (48K)

static struct BurnRomInfo SpecrounbendRomDesc[] = {
	{ "Round the Bend! (1991)(Zeppelin Games).z80", 0x0946b, 0xa81d3c5b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrounbend, Specrounbend, Spectrum)
STD_ROM_FN(Specrounbend)

struct BurnDriver BurnSpecrounbend = {
	"spec_rounbend", NULL, "spec_spectrum", NULL, "1991",
	"Round the Bend! (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrounbendRomInfo, SpecrounbendRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Roundheads & Cavaliers (48K)

static struct BurnRomInfo SpecrouncavaRomDesc[] = {
	{ "Roundheads & Cavaliers (1987)(Argus Press Software).z80", 0x0751d, 0x21f61062, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrouncava, Specrouncava, Spectrum)
STD_ROM_FN(Specrouncava)

struct BurnDriver BurnSpecrouncava = {
	"spec_rouncava", NULL, "spec_spectrum", NULL, "1987",
	"Roundheads & Cavaliers (48K)\0", NULL, "Argus Press Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrouncavaRomInfo, SpecrouncavaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Roy of the Rovers (128K)

static struct BurnRomInfo Specroyrovm4RomDesc[] = {
	{ "Roy of the Rovers (1988)(Gremlin Graphics Software)(M4)[128K].z80", 0x1a858, 0x07a796d1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specroyrovm4, Specroyrovm4, Spectrum)
STD_ROM_FN(Specroyrovm4)

struct BurnDriver BurnSpecroyrovm4 = {
	"spec_royrovm4", NULL, "spec_spec128", NULL, "1988",
	"Roy of the Rovers (128K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specroyrovm4RomInfo, Specroyrovm4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Royal Adventures of a Common Frog (48K)

static struct BurnRomInfo SpecroadcofrRomDesc[] = {
	{ "Royal Adventures of a Common Frog (1985)(Automata UK).z80", 0x0a5f6, 0x2e1a517c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specroadcofr, Specroadcofr, Spectrum)
STD_ROM_FN(Specroadcofr)

struct BurnDriver BurnSpecroadcofr = {
	"spec_roadcofr", NULL, "spec_spectrum", NULL, "1985",
	"Royal Adventures of a Common Frog (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecroadcofrRomInfo, SpecroadcofrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// RTC Kings Cross (48K)

static struct BurnRomInfo SpecrtckingsRomDesc[] = {
	{ "RTC Kings Cross (1986)(Dee Kay Systems).z80", 0x0917e, 0xb77bed26, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrtckings, Specrtckings, Spectrum)
STD_ROM_FN(Specrtckings)

struct BurnDriver BurnSpecrtckings = {
	"spec_rtckings", NULL, "spec_spectrum", NULL, "1986",
	"RTC Kings Cross (48K)\0", NULL, "Dee Kay Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrtckingsRomInfo, SpecrtckingsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// RTC Penzance (48K)

static struct BurnRomInfo SpecrtcpenzaRomDesc[] = {
	{ "RTC Penzance (1986)(Dee Kay Systems).z80", 0x090b2, 0x15253c0c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrtcpenza, Specrtcpenza, Spectrum)
STD_ROM_FN(Specrtcpenza)

struct BurnDriver BurnSpecrtcpenza = {
	"spec_rtcpenza", NULL, "spec_spectrum", NULL, "1986",
	"RTC Penzance (48K)\0", NULL, "Dee Kay Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrtcpenzaRomInfo, SpecrtcpenzaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// R-Type (48K)

static struct BurnRomInfo SpecrtypeRomDesc[] = {
	{ "R-Type (1988)(Electric Dreams Software)[b].z80", 0x07cc1, 0x7db5c98f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrtype, Specrtype, Spectrum)
STD_ROM_FN(Specrtype)

struct BurnDriver BurnSpecrtype = {
	"spec_rtype", NULL, "spec_spectrum", NULL, "1988",
	"R-Type (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrtypeRomInfo, SpecrtypeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rubicon (48K)

static struct BurnRomInfo SpecrubiconRomDesc[] = {
	{ "Rubicon (1987)(Bug-Byte Software).z80", 0x082a4, 0xbbcb23cf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrubicon, Specrubicon, Spectrum)
STD_ROM_FN(Specrubicon)

struct BurnDriver BurnSpecrubicon = {
	"spec_rubicon", NULL, "spec_spectrum", NULL, "1987",
	"Rubicon (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrubiconRomInfo, SpecrubiconRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rubics Wurfel (German) (48K)

static struct BurnRomInfo SpecrubiwurfRomDesc[] = {
	{ "Rubics Wurfel (1982)(-)(de)[aka Acme Glass Cube].z80", 0x01e70, 0x3ec8ce99, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrubiwurf, Specrubiwurf, Spectrum)
STD_ROM_FN(Specrubiwurf)

struct BurnDriver BurnSpecrubiwurf = {
	"spec_rubiwurf", NULL, "spec_spectrum", NULL, "1982",
	"Rubics Wurfel (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrubiwurfRomInfo, SpecrubiwurfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ruby Runabout (48K)

static struct BurnRomInfo SpecrubyrunaRomDesc[] = {
	{ "Ruby Runabout (1984)(Scorpio Software).z80", 0x07f24, 0x9c5928f8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrubyruna, Specrubyruna, Spectrum)
STD_ROM_FN(Specrubyruna)

struct BurnDriver BurnSpecrubyruna = {
	"spec_rubyruna", NULL, "spec_spectrum", NULL, "1984",
	"Ruby Runabout (48K)\0", NULL, "Scorpio Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrubyrunaRomInfo, SpecrubyrunaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ruff and Reddy in The Space Adventure (48K)

static struct BurnRomInfo Specruffred_48RomDesc[] = {
	{ "Ruff and Reddy in The Space Adventure (1990)(Hi-Tec Software).z80", 0x08c27, 0xbb620287, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specruffred_48, Specruffred_48, Spectrum)
STD_ROM_FN(Specruffred_48)

struct BurnDriver BurnSpecruffred_48 = {
	"spec_ruffred_48", "spec_ruffred", "spec_spectrum", NULL, "1990",
	"Ruff and Reddy in The Space Adventure (48K)\0", NULL, "Hi-Tec Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specruffred_48RomInfo, Specruffred_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ruff and Reddy in The Space Adventure (128K)

static struct BurnRomInfo SpecruffredRomDesc[] = {
	{ "Ruff and Reddy in The Space Adventure (1990)(Hi-Tec Software)[128K].z80", 0x0a972, 0x61f72f6d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specruffred, Specruffred, Spectrum)
STD_ROM_FN(Specruffred)

struct BurnDriver BurnSpecruffred = {
	"spec_ruffred", NULL, "spec_spec128", NULL, "1990",
	"Ruff and Reddy in The Space Adventure (128K)\0", NULL, "Hi-Tec Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecruffredRomInfo, SpecruffredRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rugby Coach (48K)

static struct BurnRomInfo SpecrugbcoacRomDesc[] = {
	{ "Rugby Coach (1991)(Cult Games).z80", 0x08ef3, 0x802020bf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrugbcoac, Specrugbcoac, Spectrum)
STD_ROM_FN(Specrugbcoac)

struct BurnDriver BurnSpecrugbcoac = {
	"spec_rugbcoac", NULL, "spec_spectrum", NULL, "1991",
	"Rugby Coach (48K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrugbcoacRomInfo, SpecrugbcoacRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rugby Manager (Arctic Computing) (48K)

static struct BurnRomInfo SpecrugbmanaRomDesc[] = {
	{ "Rugby Manager (1986)(Artic Computing).z80", 0x0a130, 0x3f176f33, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrugbmana, Specrugbmana, Spectrum)
STD_ROM_FN(Specrugbmana)

struct BurnDriver BurnSpecrugbmana = {
	"spec_rugbmana", NULL, "spec_spectrum", NULL, "1986",
	"Rugby Manager (Arctic Computing) (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrugbmanaRomInfo, SpecrugbmanaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rugby Manager (Mastertronic Plus) (48K)

static struct BurnRomInfo SpecrugbmanmRomDesc[] = {
	{ "Rugby Manager (1989)(Mastertronic Plus).z80", 0x09285, 0xe05288ee, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrugbmanm, Specrugbmanm, Spectrum)
STD_ROM_FN(Specrugbmanm)

struct BurnDriver BurnSpecrugbmanm = {
	"spec_rugbmanm", NULL, "spec_spectrum", NULL, "1989",
	"Rugby Manager (Mastertronic Plus) (48K)\0", NULL, "Mastertronic Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrugbmanmRomInfo, SpecrugbmanmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Run the Gauntlet (128K)

static struct BurnRomInfo SpecrungauntRomDesc[] = {
	{ "Run the Gauntlet (1989)(Ocean)[128K].z80", 0x18211, 0xc3aef7d9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrungaunt, Specrungaunt, Spectrum)
STD_ROM_FN(Specrungaunt)

struct BurnDriver BurnSpecrungaunt = {
	"spec_rungaunt", NULL, "spec_spec128", NULL, "1989",
	"Run the Gauntlet (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrungauntRomInfo, SpecrungauntRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Run, Bronwynn, Run! (Part 1 of 3) (48K)

static struct BurnRomInfo SpecrubbronwRomDesc[] = {
	{ "Run, Bronwynn, Run! (1992)(FSF Adventures)(Part 1 of 3).z80", 0x091ff, 0x72a64086, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrubbronw, Specrubbronw, Spectrum)
STD_ROM_FN(Specrubbronw)

struct BurnDriver BurnSpecrubbronw = {
	"spec_rubbronw", NULL, "spec_spectrum", NULL, "1992",
	"Run, Bronwynn, Run! (Part 1 of 3) (48K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrubbronwRomInfo, SpecrubbronwRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Run, Bronwynn, Run! (Part 2 of 3) (48K)

static struct BurnRomInfo Specrubbronw2RomDesc[] = {
	{ "Run, Bronwynn, Run! (1992)(FSF Adventures)(Part 2 of 3).z80", 0x09283, 0xcef003d9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrubbronw2, Specrubbronw2, Spectrum)
STD_ROM_FN(Specrubbronw2)

struct BurnDriver BurnSpecrubbronw2 = {
	"spec_rubbronw2", "spec_rubbronw", "spec_spectrum", NULL, "1992",
	"Run, Bronwynn, Run! (Part 2 of 3) (48K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrubbronw2RomInfo, Specrubbronw2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Run, Bronwynn, Run! (Part 3 of 3) (48K)

static struct BurnRomInfo Specrubbronw3RomDesc[] = {
	{ "Run, Bronwynn, Run! (1992)(FSF Adventures)(Part 3 of 3).z80", 0x09259, 0x346c199a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrubbronw3, Specrubbronw3, Spectrum)
STD_ROM_FN(Specrubbronw3)

struct BurnDriver BurnSpecrubbronw3 = {
	"spec_rubbronw3", "spec_rubbronw", "spec_spectrum", NULL, "1992",
	"Run, Bronwynn, Run! (Part 3 of 3) (48K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrubbronw3RomInfo, Specrubbronw3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Runes of Zendos, The (48K)

static struct BurnRomInfo SpecrunzenthRomDesc[] = {
	{ "Runes of Zendos, The (1984)(Dorcas Software).z80", 0x09682, 0x1e367aa8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrunzenth, Specrunzenth, Spectrum)
STD_ROM_FN(Specrunzenth)

struct BurnDriver BurnSpecrunzenth = {
	"spec_runzenth", NULL, "spec_spectrum", NULL, "1984",
	"Runes of Zendos, The (48K)\0", NULL, "Dorcas Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrunzenthRomInfo, SpecrunzenthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Runestone (48K)

static struct BurnRomInfo SpecrunestonRomDesc[] = {
	{ "Runestone (1986)(Firebird Software).z80", 0x099f2, 0xf5f4df69, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specruneston, Specruneston, Spectrum)
STD_ROM_FN(Specruneston)

struct BurnDriver BurnSpecruneston = {
	"spec_runeston", NULL, "spec_spectrum", NULL, "1986",
	"Runestone (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrunestonRomInfo, SpecrunestonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Runestone of Zaobab, The (48K)

static struct BurnRomInfo SpecrunzaothRomDesc[] = {
	{ "Runestone of Zaobab, The (1988)(Eric Stewart).z80", 0x09f92, 0x5a6c3a97, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrunzaoth, Specrunzaoth, Spectrum)
STD_ROM_FN(Specrunzaoth)

struct BurnDriver BurnSpecrunzaoth = {
	"spec_runzaoth", NULL, "spec_spectrum", NULL, "1988",
	"Runestone of Zaobab, The (48K)\0", NULL, "Eric Stewart", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrunzaothRomInfo, SpecrunzaothRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rupert and the Ice Castle (48K)

static struct BurnRomInfo SpecrupicecaRomDesc[] = {
	{ "Rupert and the Ice Castle (1986)(Bug-Byte Software).z80", 0x087ff, 0x3bc1dbfd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrupiceca, Specrupiceca, Spectrum)
STD_ROM_FN(Specrupiceca)

struct BurnDriver BurnSpecrupiceca = {
	"spec_rupiceca", NULL, "spec_spectrum", NULL, "1986",
	"Rupert and the Ice Castle (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrupicecaRomInfo, SpecrupicecaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rupert and the Toymaker's Party (48K)

static struct BurnRomInfo SpecruptoypaRomDesc[] = {
	{ "Rupert and the Toymaker's Party (1985)(Quicksilva).z80", 0x07789, 0xa965fc3f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specruptoypa, Specruptoypa, Spectrum)
STD_ROM_FN(Specruptoypa)

struct BurnDriver BurnSpecruptoypa = {
	"spec_ruptoypa", NULL, "spec_spectrum", NULL, "1985",
	"Rupert and the Toymaker's Party (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecruptoypaRomInfo, SpecruptoypaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rychle Sipy (cs) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecrychsipyRomDesc[] = {
	{ "Rychle Sipy (1990)(MAJA Software - CID Software)(cs)(Part 1 of 2).z80", 0x04482, 0xc8b746ce, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrychsipy, Specrychsipy, Spectrum)
STD_ROM_FN(Specrychsipy)

struct BurnDriver BurnSpecrychsipy = {
	"spec_rychsipy", NULL, "spec_spectrum", NULL, "1990",
	"Rychle Sipy (cs) (Part 1 of 2) (48K)\0", NULL, "MAJA Software - CID Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrychsipyRomInfo, SpecrychsipyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rychle Sipy (cs) (Part 2 of 2) (48K)

static struct BurnRomInfo Specrychsipy2RomDesc[] = {
	{ "Rychle Sipy (1990)(MAJA Software - CID Software)(cs)(Part 2 of 2).z80", 0x07f5d, 0xfdea9f1b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrychsipy2, Specrychsipy2, Spectrum)
STD_ROM_FN(Specrychsipy2)

struct BurnDriver BurnSpecrychsipy2 = {
	"spec_rychsipy2", "spec_rychsipy", "spec_spectrum", NULL, "1990",
	"Rychle Sipy (cs) (Part 2 of 2) (48K)\0", NULL, "MAJA Software - CID Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrychsipy2RomInfo, Specrychsipy2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rygar (48K)

static struct BurnRomInfo Specrygar_48RomDesc[] = {
	{ "Rygar (1987)(U.S. Gold).z80", 0x0713e, 0xaaef2c33, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrygar_48, Specrygar_48, Spectrum)
STD_ROM_FN(Specrygar_48)

struct BurnDriver BurnSpecrygar_48 = {
	"spec_rygar_48", "spec_rygar", "spec_spectrum", NULL, "1987",
	"Rygar (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specrygar_48RomInfo, Specrygar_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Rygar (128K)

static struct BurnRomInfo SpecrygarRomDesc[] = {
	{ "Rygar (1987)(U.S. Gold)[128K].z80", 0x076cc, 0x260afb11, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specrygar, Specrygar, Spectrum)
STD_ROM_FN(Specrygar)

struct BurnDriver BurnSpecrygar = {
	"spec_rygar", NULL, "spec_spec128", NULL, "1987",
	"Rygar (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecrygarRomInfo, SpecrygarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// S.A.S. Assault (48K)

static struct BurnRomInfo SpecsasassauRomDesc[] = {
	{ "S.A.S. Assault (1983)(Mikro-Gen).z80", 0x0a749, 0xd472dcca, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsasassau, Specsasassau, Spectrum)
STD_ROM_FN(Specsasassau)

struct BurnDriver BurnSpecsasassau = {
	"spec_sasassau", NULL, "spec_spectrum", NULL, "1983",
	"S.A.S. Assault (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsasassauRomInfo, SpecsasassauRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// S.A.S. Combat Simulator (48K)

static struct BurnRomInfo SpecsascombaRomDesc[] = {
	{ "S.A.S. Combat Simulator (1988)(Codemasters).z80", 0x08a21, 0x19c7c8a5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsascomba, Specsascomba, Spectrum)
STD_ROM_FN(Specsascomba)

struct BurnDriver BurnSpecsascomba = {
	"spec_sascomba", NULL, "spec_spectrum", NULL, "1988",
	"S.A.S. Combat Simulator (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsascombaRomInfo, SpecsascombaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// S.A.S. Operation Thunderflash (48K)

static struct BurnRomInfo SpecsasoperaRomDesc[] = {
	{ "S.A.S. Operation Thunderflash (1986)(Sparklers).z80", 0x083e5, 0xf765f2ad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsasopera, Specsasopera, Spectrum)
STD_ROM_FN(Specsasopera)

struct BurnDriver BurnSpecsasopera = {
	"spec_sasopera", NULL, "spec_spectrum", NULL, "1986",
	"S.A.S. Operation Thunderflash (48K)\0", NULL, "Sparklers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsasoperaRomInfo, SpecsasoperaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// S.D.I. - Strategic Defence Initiative (48K)

static struct BurnRomInfo SpecsdisdiRomDesc[] = {
	{ "S.D.I. - Strategic Defence Initiative (1988)(Activision).z80", 0x08bad, 0xe0faaf57, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsdisdi, Specsdisdi, Spectrum)
STD_ROM_FN(Specsdisdi)

struct BurnDriver BurnSpecsdisdi = {
	"spec_sdisdi", NULL, "spec_spectrum", NULL, "1988",
	"S.D.I. - Strategic Defence Initiative (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsdisdiRomInfo, SpecsdisdiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// S.M.A.S.H.E.D. (48K)

static struct BurnRomInfo SpecsmashedRomDesc[] = {
	{ "S.M.A.S.H.E.D. (1987)(Alternative Software).z80", 0x0a6b3, 0x8db76260, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsmashed, Specsmashed, Spectrum)
STD_ROM_FN(Specsmashed)

struct BurnDriver BurnSpecsmashed = {
	"spec_smashed", NULL, "spec_spectrum", NULL, "1987",
	"S.M.A.S.H.E.D. (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsmashedRomInfo, SpecsmashedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// S.O.S. (Version Software Factory) (48K)

static struct BurnRomInfo SpecsosvsRomDesc[] = {
	{ "S.O.S. (1984)(Visions Software Factory).z80", 0x08242, 0xca8ccd48, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsosvs, Specsosvs, Spectrum)
STD_ROM_FN(Specsosvs)

struct BurnDriver BurnSpecsosvs = {
	"spec_sosvs", NULL, "spec_spectrum", NULL, "1984",
	"S.O.S. (Version Software Factory) (48K)\0", NULL, "Visions Software Factory", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsosvsRomInfo, SpecsosvsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// S.O.S. (Mastertronic) (48K)

static struct BurnRomInfo SpecsosmtRomDesc[] = {
	{ "S.O.S. (1986)(Mastertronic).z80", 0x06730, 0xe8240a13, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsosmt, Specsosmt, Spectrum)
STD_ROM_FN(Specsosmt)

struct BurnDriver BurnSpecsosmt = {
	"spec_sosmt", NULL, "spec_spectrum", NULL, "1986",
	"S.O.S. (Mastertronic) (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsosmtRomInfo, SpecsosmtRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// S.T.I. - The Search for Terrestrial Intelligence (48K)

static struct BurnRomInfo SpecstitstipRomDesc[] = {
	{ "S.T.I. - The Search for Terrestrial Intelligence (1988)(Bug-Byte Software)(Part 1 of y).z80", 0x08f23, 0x63f077de, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstitstip, Specstitstip, Spectrum)
STD_ROM_FN(Specstitstip)

struct BurnDriver BurnSpecstitstip = {
	"spec_stitstip", NULL, "spec_spectrum", NULL, "1988",
	"S.T.I. - The Search for Terrestrial Intelligence (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstitstipRomInfo, SpecstitstipRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// S.T.U.N. Runner (48K)

static struct BurnRomInfo SpecstunrunnRomDesc[] = {
	{ "S.T.U.N. Runner (1991)(Domark).z80", 0x08b6d, 0x96a08e01, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstunrunn, Specstunrunn, Spectrum)
STD_ROM_FN(Specstunrunn)

struct BurnDriver BurnSpecstunrunn = {
	"spec_stunrunn", NULL, "spec_spectrum", NULL, "1991",
	"S.T.U.N. Runner (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstunrunnRomInfo, SpecstunrunnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sabo (48K)

static struct BurnRomInfo SpecsaboRomDesc[] = {
	{ "Sabo (19xx)(-).z80", 0x01df7, 0xc82a620b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsabo, Specsabo, Spectrum)
STD_ROM_FN(Specsabo)

struct BurnDriver BurnSpecsabo = {
	"spec_sabo", NULL, "spec_spectrum", NULL, "19xx",
	"Sabo (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsaboRomInfo, SpecsaboRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sabotage (German) (48K)

static struct BurnRomInfo SpecsabotaggRomDesc[] = {
	{ "Sabotage (1983)(Eric Lawo)(de).z80", 0x045df, 0xfd9bfef1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsabotagg, Specsabotagg, Spectrum)
STD_ROM_FN(Specsabotagg)

struct BurnDriver BurnSpecsabotagg = {
	"spec_sabotagg", NULL, "spec_spectrum", NULL, "1983",
	"Sabotage (German) (48K)\0", NULL, "Eric Lawo", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsabotaggRomInfo, SpecsabotaggRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sabotage (Quicksilva) (48K)

static struct BurnRomInfo SpecsabotagqRomDesc[] = {
	{ "Sabotage (1985)(Quicksilva).z80", 0x0a631, 0xfb8f2377, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsabotagq, Specsabotagq, Spectrum)
STD_ROM_FN(Specsabotagq)

struct BurnDriver BurnSpecsabotagq = {
	"spec_sabotagq", NULL, "spec_spectrum", NULL, "1985",
	"Sabotage (Quicksilva) (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsabotagqRomInfo, SpecsabotagqRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sabotage (Zeppelin Games) (48K)

static struct BurnRomInfo SpecsabotagzRomDesc[] = {
	{ "Sabotage (1988)(Zeppelin Games).z80", 0x08b60, 0xf335e823, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsabotagz, Specsabotagz, Spectrum)
STD_ROM_FN(Specsabotagz)

struct BurnDriver BurnSpecsabotagz = {
	"spec_sabotagz", NULL, "spec_spectrum", NULL, "1988",
	"Sabotage (Zeppelin Games) (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsabotagzRomInfo, SpecsabotagzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Saboteur (Durell Software) (48K)

static struct BurnRomInfo SpecsaboteurRomDesc[] = {
	{ "Saboteur (1986)(Durell Software).z80", 0x09af0, 0xa7a89067, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsaboteur, Specsaboteur, Spectrum)
STD_ROM_FN(Specsaboteur)

struct BurnDriver BurnSpecsaboteur = {
	"spec_saboteur", NULL, "spec_spectrum", NULL, "1986",
	"Saboteur (Durell Software) (48K)\0", NULL, "Durell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsaboteurRomInfo, SpecsaboteurRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Saboteur II - Avenging Angel (Poland) (48K)

static struct BurnRomInfo Specsabotur2p_48RomDesc[] = {
	{ "Saboteur II - Avenging Angel (1987)(Durell Software)(pl).z80", 0x0a74e, 0xf2a4c818, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsabotur2p_48, Specsabotur2p_48, Spectrum)
STD_ROM_FN(Specsabotur2p_48)

struct BurnDriver BurnSpecsabotur2p_48 = {
	"spec_sabotur2p_48", "spec_sabotur2", "spec_spectrum", NULL, "1987",
	"Saboteur II - Avenging Angel (Poland) (48K)\0", NULL, "Durell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsabotur2p_48RomInfo, Specsabotur2p_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Saboteur II - Avenging Angel (48K)

static struct BurnRomInfo Specsabotur2_48RomDesc[] = {
	{ "Saboteur II - Avenging Angel (1987)(Durell Software).z80", 0x0a739, 0x497dcf1c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsabotur2_48, Specsabotur2_48, Spectrum)
STD_ROM_FN(Specsabotur2_48)

struct BurnDriver BurnSpecsabotur2_48 = {
	"spec_sabotur2_48", "spec_sabotur2", "spec_spectrum", NULL, "1987",
	"Saboteur II - Avenging Angel (48K)\0", NULL, "Durell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsabotur2_48RomInfo, Specsabotur2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Saboteur II - Avenging Angel (128K)

static struct BurnRomInfo Specsabotur2RomDesc[] = {
	{ "Saboteur II - Avenging Angel (1987)(Durell Software)[128K].z80", 0x0b790, 0x7aad77db, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsabotur2, Specsabotur2, Spectrum)
STD_ROM_FN(Specsabotur2)

struct BurnDriver BurnSpecsabotur2 = {
	"spec_sabotur2", NULL, "spec_spec128", NULL, "1987",
	"Saboteur II - Avenging Angel (128K)\0", NULL, "Durell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsabotur2RomInfo, Specsabotur2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sabre Wulf (48K)

static struct BurnRomInfo SpecsabrwulfRomDesc[] = {
	{ "Sabre Wulf (1984)(Ultimate Play The Game).z80", 0x09a21, 0x75fe1462, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsabrwulf, Specsabrwulf, Spectrum)
STD_ROM_FN(Specsabrwulf)

struct BurnDriver BurnSpecsabrwulf = {
	"spec_sabrwulf", NULL, "spec_spectrum", NULL, "1984",
	"Sabre Wulf (48K)\0", NULL, "Ultimate Play The Game", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsabrwulfRomInfo, SpecsabrwulfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sacred Armour of Antiriad, The (48K)

static struct BurnRomInfo SpecsaaranthRomDesc[] = {
	{ "Sacred Armour of Antiriad, The (1986)(Palace Software).z80", 0x0a034, 0x1abe0529, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsaaranth, Specsaaranth, Spectrum)
STD_ROM_FN(Specsaaranth)

struct BurnDriver BurnSpecsaaranth = {
	"spec_saaranth", NULL, "spec_spectrum", NULL, "1986",
	"Sacred Armour of Antiriad, The (48K)\0", NULL, "Palace Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsaaranthRomInfo, SpecsaaranthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Saga of a Mad Barbarian (48K)

static struct BurnRomInfo SpecsagmadbaRomDesc[] = {
	{ "Saga of a Mad Barbarian (1991)(Psychaedelic Hedgehog Software).z80", 0x08971, 0xff557884, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsagmadba, Specsagmadba, Spectrum)
STD_ROM_FN(Specsagmadba)

struct BurnDriver BurnSpecsagmadba = {
	"spec_sagmadba", NULL, "spec_spectrum", NULL, "1991",
	"Saga of a Mad Barbarian (48K)\0", NULL, "Psychaedelic Hedgehog Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsagmadbaRomInfo, SpecsagmadbaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Saga of Erik the Viking, The (48K)

static struct BurnRomInfo SpecsaervithRomDesc[] = {
	{ "Saga of Erik the Viking, The (1984)(Mosaic Publishing).z80", 0x0a636, 0x8f46557a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsaervith, Specsaervith, Spectrum)
STD_ROM_FN(Specsaervith)

struct BurnDriver BurnSpecsaervith = {
	"spec_saervith", NULL, "spec_spectrum", NULL, "1984",
	"Saga of Erik the Viking, The (48K)\0", NULL, "Mosaic Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsaervithRomInfo, SpecsaervithRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sagenhafte Schatz des Minotaurus (German) (48K)

static struct BurnRomInfo SpecsagschmiRomDesc[] = {
	{ "Sagenhafte Schatz des Minotaurus (19xx)(RGH Software)(de).z80", 0x052c3, 0x4e4c8583, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsagschmi, Specsagschmi, Spectrum)
STD_ROM_FN(Specsagschmi)

struct BurnDriver BurnSpecsagschmi = {
	"spec_sagschmi", NULL, "spec_spectrum", NULL, "19xx",
	"Sagenhafte Schatz des Minotaurus (German) (48K)\0", NULL, "RGH Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsagschmiRomInfo, SpecsagschmiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sai Combat (48K)

static struct BurnRomInfo SpecsaicombaRomDesc[] = {
	{ "Sai Combat (1986)(Mirrorsoft).z80", 0x0a701, 0xe21576e3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsaicomba, Specsaicomba, Spectrum)
STD_ROM_FN(Specsaicomba)

struct BurnDriver BurnSpecsaicomba = {
	"spec_saicomba", NULL, "spec_spectrum", NULL, "1986",
	"Sai Combat (48K)\0", NULL, "Mirrorsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsaicombaRomInfo, SpecsaicombaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Saigon Combat Unit (Part 1 of 2) (48K)

static struct BurnRomInfo SpecsaigonRomDesc[] = {
	{ "Saigon Combat Unit (1989)(Players Premier Software)(Part 1 of 2).z80", 0x07b09, 0x797266a5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsaigon, Specsaigon, Spectrum)
STD_ROM_FN(Specsaigon)

struct BurnDriver BurnSpecsaigon = {
	"spec_saigon", NULL, "spec_spectrum", NULL, "1989",
	"Saigon Combat Unit (Part 1 of 2) (48K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsaigonRomInfo, SpecsaigonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Saigon Combat Unit (Part 2 of 2) (48K)

static struct BurnRomInfo Specsaigon2RomDesc[] = {
	{ "Saigon Combat Unit (1989)(Players Premier Software)(Part 2 of 2).z80", 0x07b09, 0x4d1b0007, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsaigon2, Specsaigon2, Spectrum)
STD_ROM_FN(Specsaigon2)

struct BurnDriver BurnSpecsaigon2 = {
	"spec_saigon2", "spec_saigon", "spec_spectrum", NULL, "1989",
	"Saigon Combat Unit (Part 2 of 2) (48K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsaigon2RomInfo, Specsaigon2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sailing (48K)

static struct BurnRomInfo SpecsailingRomDesc[] = {
	{ "Sailing (1987)(Activision).z80", 0x08c74, 0xdd3e8aa6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsailing, Specsailing, Spectrum)
STD_ROM_FN(Specsailing)

struct BurnDriver BurnSpecsailing = {
	"spec_sailing", NULL, "spec_spectrum", NULL, "1987",
	"Sailing (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsailingRomInfo, SpecsailingRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Saimazoom (Spanish) (48K)

static struct BurnRomInfo SpecsaimazooRomDesc[] = {
	{ "Saimazoom (1984)(Dinamic Software)(es).z80", 0x0911a, 0x7a67e3b9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsaimazoo, Specsaimazoo, Spectrum)
STD_ROM_FN(Specsaimazoo)

struct BurnDriver BurnSpecsaimazoo = {
	"spec_saimazoo", NULL, "spec_spectrum", NULL, "1984",
	"Saimazoom (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsaimazooRomInfo, SpecsaimazooRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Salamander (48K)

static struct BurnRomInfo SpecsalamandRomDesc[] = {
	{ "Salamander (1987)(Imagine Software).z80", 0x0a680, 0x5ae35d91, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsalamand, Specsalamand, Spectrum)
STD_ROM_FN(Specsalamand)

struct BurnDriver BurnSpecsalamand = {
	"spec_salamand", NULL, "spec_spectrum", NULL, "1987",
	"Salamander (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsalamandRomInfo, SpecsalamandRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Salte la Banca (Spanish) (48K)

static struct BurnRomInfo SpecsaltbancRomDesc[] = {
	{ "Salte la Banca (1992)(Millansoft)(es).z80", 0x01d5d, 0x6ca7dc7c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsaltbanc, Specsaltbanc, Spectrum)
STD_ROM_FN(Specsaltbanc)

struct BurnDriver BurnSpecsaltbanc = {
	"spec_saltbanc", NULL, "spec_spectrum", NULL, "1992",
	"Salte la Banca (Spanish) (48K)\0", NULL, "Millansoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsaltbancRomInfo, SpecsaltbancRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sam Stoat Safebreaker (48K)

static struct BurnRomInfo SpecsamstosaRomDesc[] = {
	{ "Sam Stoat Safebreaker (1985)(Gremlin Graphics Software).z80", 0x07fe1, 0x485a91eb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsamstosa, Specsamstosa, Spectrum)
STD_ROM_FN(Specsamstosa)

struct BurnDriver BurnSpecsamstosa = {
	"spec_samstosa", NULL, "spec_spectrum", NULL, "1985",
	"Sam Stoat Safebreaker (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsamstosaRomInfo, SpecsamstosaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Samantha Fox Strip Poker (48K)

static struct BurnRomInfo SpecsamfoxspRomDesc[] = {
	{ "Samantha Fox Strip Poker (1986)(Martech Games).z80", 0x0ac84, 0x8e694347, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsamfoxsp, Specsamfoxsp, Spectrum)
STD_ROM_FN(Specsamfoxsp)

struct BurnDriver BurnSpecsamfoxsp = {
	"spec_samfoxsp", NULL, "spec_spectrum", NULL, "1986",
	"Samantha Fox Strip Poker (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsamfoxspRomInfo, SpecsamfoxspRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Samoumor (sl) (48K)

static struct BurnRomInfo SpecsamoumorRomDesc[] = {
	{ "Samoumor (19xx)(Aurora Software)(sl).z80", 0x03618, 0xece48fa3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsamoumor, Specsamoumor, Spectrum)
STD_ROM_FN(Specsamoumor)

struct BurnDriver BurnSpecsamoumor = {
	"spec_samoumor", NULL, "spec_spectrum", NULL, "19xx",
	"Samoumor (sl) (48K)\0", NULL, "Aurora Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsamoumorRomInfo, SpecsamoumorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sam's Un-Excellent Adventure (48K)

static struct BurnRomInfo SpecsaunexadRomDesc[] = {
	{ "Sam's Un-Excellent Adventure (1994)(Zenobi Software).z80", 0x096d8, 0x8bc24495, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsaunexad, Specsaunexad, Spectrum)
STD_ROM_FN(Specsaunexad)

struct BurnDriver BurnSpecsaunexad = {
	"spec_saunexad", NULL, "spec_spectrum", NULL, "1994",
	"Sam's Un-Excellent Adventure (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsaunexadRomInfo, SpecsaunexadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Samurai (48K)

static struct BurnRomInfo SpecsamuraiRomDesc[] = {
	{ "Samurai (1986)(CRL Group).z80", 0x0a43c, 0xe9c7a007, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsamurai, Specsamurai, Spectrum)
STD_ROM_FN(Specsamurai)

struct BurnDriver BurnSpecsamurai = {
	"spec_samurai", NULL, "spec_spectrum", NULL, "1986",
	"Samurai (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsamuraiRomInfo, SpecsamuraiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Samurai Warrior - The Battles of Usaji Yojimbo (48K)

static struct BurnRomInfo SpecswtbuyRomDesc[] = {
	{ "Samurai Warrior - The Battles of Usaji Yojimbo (1988)(Firebird Software).z80", 0x0acb2, 0x0b36f4a1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specswtbuy, Specswtbuy, Spectrum)
STD_ROM_FN(Specswtbuy)

struct BurnDriver BurnSpecswtbuy = {
	"spec_swtbuy", NULL, "spec_spectrum", NULL, "1988",
	"Samurai Warrior - The Battles of Usaji Yojimbo (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecswtbuyRomInfo, SpecswtbuyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sand Scorchers (48K)

static struct BurnRomInfo SpecsandscorRomDesc[] = {
	{ "Sand Scorchers (1984)(Unique).z80", 0x04d81, 0x5bd09153, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsandscor, Specsandscor, Spectrum)
STD_ROM_FN(Specsandscor)

struct BurnDriver BurnSpecsandscor = {
	"spec_sandscor", NULL, "spec_spectrum", NULL, "1984",
	"Sand Scorchers (48K)\0", NULL, "Unique", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsandscorRomInfo, SpecsandscorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Santa Paravia en Fiumaccio (nl) (48K)

static struct BurnRomInfo SpecsanparfiRomDesc[] = {
	{ "Santa Paravia en Fiumaccio (19xx)(D.J. de Korte)(nl).z80", 0x04bfa, 0x6ae28221, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsanparfi, Specsanparfi, Spectrum)
STD_ROM_FN(Specsanparfi)

struct BurnDriver BurnSpecsanparfi = {
	"spec_sanparfi", NULL, "spec_spectrum", NULL, "19xx",
	"Santa Paravia en Fiumaccio (nl) (48K)\0", NULL, "D.J. de Korte", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsanparfiRomInfo, SpecsanparfiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Santa's Search (48K)

static struct BurnRomInfo SpecsantsearRomDesc[] = {
	{ "Santa's Search (19xx)(-).z80", 0x02eab, 0xf426af63, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsantsear, Specsantsear, Spectrum)
STD_ROM_FN(Specsantsear)

struct BurnDriver BurnSpecsantsear = {
	"spec_santsear", NULL, "spec_spectrum", NULL, "19xx",
	"Santa's Search (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsantsearRomInfo, SpecsantsearRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sanxion - The Spectrum Remix (48K)

static struct BurnRomInfo Specsanxion_48RomDesc[] = {
	{ "Sanxion - The Spectrum Remix (1989)(Thalamus).z80", 0x04c9f, 0x97a506fa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsanxion_48, Specsanxion_48, Spectrum)
STD_ROM_FN(Specsanxion_48)

struct BurnDriver BurnSpecsanxion_48 = {
	"spec_sanxion_48", "spec_sanxion", "spec_spectrum", NULL, "1989",
	"Sanxion - The Spectrum Remix (48K)\0", NULL, "Thalamus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsanxion_48RomInfo, Specsanxion_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sanxion - The Spectrum Remix (128K)

static struct BurnRomInfo SpecsanxionRomDesc[] = {
	{ "Sanxion - The Spectrum Remix (1989)(Thalamus)[128K].z80", 0x0b6d6, 0x830070d9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsanxion, Specsanxion, Spectrum)
STD_ROM_FN(Specsanxion)

struct BurnDriver BurnSpecsanxion = {
	"spec_sanxion", NULL, "spec_spec128", NULL, "1989",
	"Sanxion - The Spectrum Remix (128K)\0", NULL, "Thalamus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsanxionRomInfo, SpecsanxionRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Saracen (48K)

static struct BurnRomInfo SpecsaracenRomDesc[] = {
	{ "Saracen (1987)(U.S. Gold).z80", 0x096a2, 0xac83df0f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsaracen, Specsaracen, Spectrum)
STD_ROM_FN(Specsaracen)

struct BurnDriver BurnSpecsaracen = {
	"spec_saracen", NULL, "spec_spectrum", NULL, "1987",
	"Saracen (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsaracenRomInfo, SpecsaracenRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Satan (Spanish) (48K)

static struct BurnRomInfo SpecsatanesRomDesc[] = {
	{ "Satan (1989)(Dinamic Software)(es)(Part 1 of 2).z80", 0x09c57, 0xcb3aa91b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsatanes, Specsatanes, Spectrum)
STD_ROM_FN(Specsatanes)

struct BurnDriver BurnSpecsatanes = {
	"spec_satanes", "spec_satan", "spec_spectrum", NULL, "1989",
	"Satan (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsatanesRomInfo, SpecsatanesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Satan (Part 1 of 2) (128K)

static struct BurnRomInfo SpecsatanRomDesc[] = {
	{ "Satan (1989)(Dinamic Software)(Part 1 of 2)[128K].z80", 0x0898a, 0xd0116da2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsatan, Specsatan, Spectrum)
STD_ROM_FN(Specsatan)

struct BurnDriver BurnSpecsatan = {
	"spec_satan", NULL, "spec_spec128", NULL, "1989",
	"Satan (Part 1 of 2) (128K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsatanRomInfo, SpecsatanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Satan (Part 2 of 2) (128K)

static struct BurnRomInfo Specsatan2RomDesc[] = {
	{ "Satan (1989)(Dinamic Software)(Part 2 of 2)[128K].z80", 0x08f4d, 0xd8e20890, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsatan2, Specsatan2, Spectrum)
STD_ROM_FN(Specsatan2)

struct BurnDriver BurnSpecsatan2 = {
	"spec_satan2", "spec_satan", "spec_spec128", NULL, "1989",
	"Satan (Part 2 of 2) (128K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsatan2RomInfo, Specsatan2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Satan's Pendulum (48K)

static struct BurnRomInfo SpecsatapendRomDesc[] = {
	{ "Satan's Pendulum (1983)(Minatron Computing).z80", 0x044da, 0xf452d39c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsatapend, Specsatapend, Spectrum)
STD_ROM_FN(Specsatapend)

struct BurnDriver BurnSpecsatapend = {
	"spec_satapend", NULL, "spec_spectrum", NULL, "1983",
	"Satan's Pendulum (48K)\0", NULL, "Minatron Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsatapendRomInfo, SpecsatapendRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Satcom (48K)

static struct BurnRomInfo SpecsatcomRomDesc[] = {
	{ "Satcom (1987)(Atlantis Software).z80", 0x09c2e, 0x7be608dc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsatcom, Specsatcom, Spectrum)
STD_ROM_FN(Specsatcom)

struct BurnDriver BurnSpecsatcom = {
	"spec_satcom", NULL, "spec_spectrum", NULL, "1987",
	"Satcom (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsatcomRomInfo, SpecsatcomRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Satochin (sk) (48K)

static struct BurnRomInfo SpecsatochinRomDesc[] = {
	{ "Satochin (1988)(Sybilasoft)(sk).z80", 0x0a600, 0x92bae378, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsatochin, Specsatochin, Spectrum)
STD_ROM_FN(Specsatochin)

struct BurnDriver BurnSpecsatochin = {
	"spec_satochin", NULL, "spec_spectrum", NULL, "1988",
	"Satochin (sk) (48K)\0", NULL, "Sybilasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsatochinRomInfo, SpecsatochinRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Saucer (48K)

static struct BurnRomInfo SpecsaucerRomDesc[] = {
	{ "Saucer (2002)(Naffsoft).z80", 0x01a42, 0x0bfca57c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsaucer, Specsaucer, Spectrum)
STD_ROM_FN(Specsaucer)

struct BurnDriver BurnSpecsaucer = {
	"spec_saucer", NULL, "spec_spectrum", NULL, "2002",
	"Saucer (48K)\0", NULL, "Naffsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsaucerRomInfo, SpecsaucerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Savage - Intro (48K)

static struct BurnRomInfo SpecsavageiRomDesc[] = {
	{ "Savage - Intro (1988)(Firebird Software).z80", 0x0792f, 0xe606ebf0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsavagei, Specsavagei, Spectrum)
STD_ROM_FN(Specsavagei)

struct BurnDriver BurnSpecsavagei = {
	"spec_savagei", "spec_savage", "spec_spectrum", NULL, "1988",
	"Savage - Intro (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsavageiRomInfo, SpecsavageiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Savage (Part 1 of 3) (48K)

static struct BurnRomInfo Specsavage1RomDesc[] = {
	{ "Savage (1988)(Firebird Software)(Part 1 of 3).z80", 0x0921c, 0xf8071892, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsavage1, Specsavage1, Spectrum)
STD_ROM_FN(Specsavage1)

struct BurnDriver BurnSpecsavage1 = {
	"spec_savage1", "spec_savage", "spec_spectrum", NULL, "1988",
	"Savage (Part 1 of 3) (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsavage1RomInfo, Specsavage1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Savage (Part 2 of 3) (48K)

static struct BurnRomInfo Specsavage2RomDesc[] = {
	{ "Savage (1988)(Firebird Software)(Part 2 of 3).z80", 0x09a20, 0x4f8ddec1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsavage2, Specsavage2, Spectrum)
STD_ROM_FN(Specsavage2)

struct BurnDriver BurnSpecsavage2 = {
	"spec_savage2", "spec_savage", "spec_spectrum", NULL, "1988",
	"Savage (Part 2 of 3) (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsavage2RomInfo, Specsavage2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Savage (Part 3 of 3) (48K)

static struct BurnRomInfo Specsavage3RomDesc[] = {
	{ "Savage (1988)(Firebird Software)(Part 3 of 3).z80", 0x08475, 0xe994f627, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsavage3, Specsavage3, Spectrum)
STD_ROM_FN(Specsavage3)

struct BurnDriver BurnSpecsavage3 = {
	"spec_savage3", "spec_savage", "spec_spectrum", NULL, "1988",
	"Savage (Part 3 of 3) (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsavage3RomInfo, Specsavage3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Savage (128K)

static struct BurnRomInfo SpecsavageRomDesc[] = {
	{ "Savage (1988)(Firebird Software)[128K].z80", 0x091a9, 0x09aef12f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsavage, Specsavage, Spectrum)
STD_ROM_FN(Specsavage)

struct BurnDriver BurnSpecsavage = {
	"spec_savage", NULL, "spec_spec128", NULL, "1988",
	"Savage (128K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsavageRomInfo, SpecsavageRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sbugetti Junction (48K)

static struct BurnRomInfo SpecsbugjuncRomDesc[] = {
	{ "Sbugetti Junction (1986)(Bug-Byte Software).z80", 0x091db, 0x69e9034e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsbugjunc, Specsbugjunc, Spectrum)
STD_ROM_FN(Specsbugjunc)

struct BurnDriver BurnSpecsbugjunc = {
	"spec_sbugjunc", NULL, "spec_spectrum", NULL, "1986",
	"Sbugetti Junction (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsbugjuncRomInfo, SpecsbugjuncRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Scalextric (48K)

static struct BurnRomInfo SpecscalextrRomDesc[] = {
	{ "Scalextric (1986)(Leisure Genius).z80", 0x08c36, 0x1a121eb4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specscalextr, Specscalextr, Spectrum)
STD_ROM_FN(Specscalextr)

struct BurnDriver BurnSpecscalextr = {
	"spec_scalextr", NULL, "spec_spectrum", NULL, "1986",
	"Scalextric (48K)\0", NULL, "Leisure Genius", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecscalextrRomInfo, SpecscalextrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Scapeghost (Part 1 of 3) (128K)

static struct BurnRomInfo SpecscapegtRomDesc[] = {
	{ "Scapeghost (1989)(Level 9 Computing)(Part 1 of 3)[128K].z80", 0x0d91b, 0xb6a3bb39, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specscapegt, Specscapegt, Spectrum)
STD_ROM_FN(Specscapegt)

struct BurnDriver BurnSpecscapegt = {
	"spec_scapegt", NULL, "spec_spec128", NULL, "1989",
	"Scapeghost (Part 1 of 3) (128K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecscapegtRomInfo, SpecscapegtRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Scapeghost (Part 2 of 3) (128K)

static struct BurnRomInfo Specscapegt2RomDesc[] = {
	{ "Scapeghost (1989)(Level 9 Computing)(Part 2 of 3)[128K].z80", 0x0c056, 0xb0082f31, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specscapegt2, Specscapegt2, Spectrum)
STD_ROM_FN(Specscapegt2)

struct BurnDriver BurnSpecscapegt2 = {
	"spec_scapegt2", "spec_scapegt", "spec_spec128", NULL, "1989",
	"Scapeghost (Part 2 of 3) (128K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specscapegt2RomInfo, Specscapegt2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Scapeghost (Part 3 of 3) (128K)

static struct BurnRomInfo Specscapegt3RomDesc[] = {
	{ "Scapeghost (1989)(Level 9 Computing)(Part 3 of 3)[128K].z80", 0x0d749, 0x7ae23a63, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specscapegt3, Specscapegt3, Spectrum)
STD_ROM_FN(Specscapegt3)

struct BurnDriver BurnSpecscapegt3 = {
	"spec_scapegt3", "spec_scapegt", "spec_spec128", NULL, "1989",
	"Scapeghost (Part 3 of 3) (128K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specscapegt3RomInfo, Specscapegt3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Scary Mansion (Part 1 of 2) (48K)

static struct BurnRomInfo SpecscarymanRomDesc[] = {
	{ "Scary Mansion (1987)(Zodiac Software)(Part 1 of 2).z80", 0x08d81, 0x3984f1ab, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specscaryman, Specscaryman, Spectrum)
STD_ROM_FN(Specscaryman)

struct BurnDriver BurnSpecscaryman = {
	"spec_scaryman", NULL, "spec_spectrum", NULL, "1987",
	"Scary Mansion (Part 1 of 2) (48K)\0", NULL, "Zodiac Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecscarymanRomInfo, SpecscarymanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Scary Mansion (Part 2 of 2) (48K)

static struct BurnRomInfo Specscaryman2RomDesc[] = {
	{ "Scary Mansion (1987)(Zodiac Software)(Part 2 of 2).z80", 0x08b5b, 0xc54d1486, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specscaryman2, Specscaryman2, Spectrum)
STD_ROM_FN(Specscaryman2)

struct BurnDriver BurnSpecscaryman2 = {
	"spec_scaryman2", "spec_scaryman", "spec_spectrum", NULL, "1987",
	"Scary Mansion (Part 2 of 2) (48K)\0", NULL, "Zodiac Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specscaryman2RomInfo, Specscaryman2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sceptical 3 (48K)

static struct BurnRomInfo SpecscepticaRomDesc[] = {
	{ "Sceptical 3 (1987)(Delta 4 Software).z80", 0x0a236, 0xfc1bfba2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsceptica, Specsceptica, Spectrum)
STD_ROM_FN(Specsceptica)

struct BurnDriver BurnSpecsceptica = {
	"spec_sceptica", NULL, "spec_spectrum", NULL, "1987",
	"Sceptical 3 (48K)\0", NULL, "Delta 4 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecscepticaRomInfo, SpecscepticaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sceptre of Bagdad (48K)

static struct BurnRomInfo SpecscepbagdRomDesc[] = {
	{ "Sceptre of Bagdad (1987)(Atlantis Software).z80", 0x0ad53, 0x4c0ab213, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specscepbagd, Specscepbagd, Spectrum)
STD_ROM_FN(Specscepbagd)

struct BurnDriver BurnSpecscepbagd = {
	"spec_scepbagd", NULL, "spec_spectrum", NULL, "1987",
	"Sceptre of Bagdad (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecscepbagdRomInfo, SpecscepbagdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Schalk 2 (48K)

static struct BurnRomInfo Specschalk2RomDesc[] = {
	{ "Schalk 2 (1984)(Hartmut Seba).z80", 0x02c6c, 0xa151e197, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specschalk2, Specschalk2, Spectrum)
STD_ROM_FN(Specschalk2)

struct BurnDriver BurnSpecschalk2 = {
	"spec_schalk2", NULL, "spec_spectrum", NULL, "1984",
	"Schalk 2 (48K)\0", NULL, "Hartmut Seba", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specschalk2RomInfo, Specschalk2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Schiffe Versenken (German) (48K)

static struct BurnRomInfo SpecschiversRomDesc[] = {
	{ "Schiffe Versenken (1983)(Omega-Soft)(de).z80", 0x020b6, 0x811e05ac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specschivers, Specschivers, Spectrum)
STD_ROM_FN(Specschivers)

struct BurnDriver BurnSpecschivers = {
	"spec_schivers", NULL, "spec_spectrum", NULL, "1983",
	"Schiffe Versenken (German) (48K)\0", NULL, "Omega-Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecschiversRomInfo, SpecschiversRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Schizofrenia (48K)

static struct BurnRomInfo SpecschizofrRomDesc[] = {
	{ "Schizofrenia (1985)(Quicksilva).z80", 0x09458, 0x1d03918d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specschizofr, Specschizofr, Spectrum)
STD_ROM_FN(Specschizofr)

struct BurnDriver BurnSpecschizofr = {
	"spec_schizofr", NULL, "spec_spectrum", NULL, "1985",
	"Schizofrenia (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecschizofrRomInfo, SpecschizofrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Schloss in Den Karpaten, Das (German) (48K)

static struct BurnRomInfo SpecscdekadaRomDesc[] = {
	{ "Schloss in Den Karpaten, Das (1985)(Michael Silverberg)(de).z80", 0x03e90, 0x4e73dd65, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specscdekada, Specscdekada, Spectrum)
STD_ROM_FN(Specscdekada)

struct BurnDriver BurnSpecscdekada = {
	"spec_scdekada", NULL, "spec_spectrum", NULL, "1985",
	"Schloss in Den Karpaten, Das (German) (48K)\0", NULL, "Michael Silverberg", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecscdekadaRomInfo, SpecscdekadaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Schnapsen (German) (48K)

static struct BurnRomInfo SpecschnapseRomDesc[] = {
	{ "Schnapsen (1984)(Chris Gandler)(de).z80", 0x0536c, 0x1a9483fd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specschnapse, Specschnapse, Spectrum)
STD_ROM_FN(Specschnapse)

struct BurnDriver BurnSpecschnapse = {
	"spec_schnapse", NULL, "spec_spectrum", NULL, "1984",
	"Schnapsen (German) (48K)\0", NULL, "Chris Gandler", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecschnapseRomInfo, SpecschnapseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Scissors, Paper, Stone (48K)

static struct BurnRomInfo SpecscipapstRomDesc[] = {
	{ "Scissors, Paper, Stone (1999)(CSSCGC).z80", 0x0133c, 0x61962ed8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specscipapst, Specscipapst, Spectrum)
STD_ROM_FN(Specscipapst)

struct BurnDriver BurnSpecscipapst = {
	"spec_scipapst", NULL, "spec_spectrum", NULL, "1999",
	"Scissors, Paper, Stone (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecscipapstRomInfo, SpecscipapstRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Scooby Doo (48K)

static struct BurnRomInfo SpecscoobdooRomDesc[] = {
	{ "Scooby Doo (1986)(Elite Systems).z80", 0x080bd, 0x031b9d4c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specscoobdoo, Specscoobdoo, Spectrum)
STD_ROM_FN(Specscoobdoo)

struct BurnDriver BurnSpecscoobdoo = {
	"spec_scoobdoo", NULL, "spec_spectrum", NULL, "1986",
	"Scooby Doo (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecscoobdooRomInfo, SpecscoobdooRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Scooby Doo and Scrappy Doo (48K)

static struct BurnRomInfo SpecscoobscrRomDesc[] = {
	{ "Scooby Doo and Scrappy Doo (1991)(Hi-Tec Software).z80", 0x09273, 0x429a4595, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specscoobscr, Specscoobscr, Spectrum)
STD_ROM_FN(Specscoobscr)

struct BurnDriver BurnSpecscoobscr = {
	"spec_scoobscr", NULL, "spec_spectrum", NULL, "1991",
	"Scooby Doo and Scrappy Doo (48K)\0", NULL, "Hi-Tec Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecscoobscrRomInfo, SpecscoobscrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Score 3020 (Spanish) (48K)

static struct BurnRomInfo Specscor3020sRomDesc[] = {
	{ "Score 3020 (1988)(Topo Soft)(es).z80", 0x08969, 0x3f505d11, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specscor3020s, Specscor3020s, Spectrum)
STD_ROM_FN(Specscor3020s)

struct BurnDriver BurnSpecscor3020s = {
	"spec_scor3020s", "spec_scor3020", "spec_spectrum", NULL, "1988",
	"Score 3020 (Spanish) (48K)\0", NULL, "Topo Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specscor3020sRomInfo, Specscor3020sRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Score 3020 (48K)

static struct BurnRomInfo Specscor3020RomDesc[] = {
	{ "Score 3020 (1988)(Topo Soft).z80", 0x0934b, 0xca9afeff, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specscor3020, Specscor3020, Spectrum)
STD_ROM_FN(Specscor3020)

struct BurnDriver BurnSpecscor3020 = {
	"spec_scor3020", NULL, "spec_spectrum", NULL, "1988",
	"Score 3020 (48K)\0", NULL, "Topo Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specscor3020RomInfo, Specscor3020RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Scoreboard (48K)

static struct BurnRomInfo SpecscoreboaRomDesc[] = {
	{ "Scoreboard (1986)(Byron Software).z80", 0x098b4, 0xc9631c3e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specscoreboa, Specscoreboa, Spectrum)
STD_ROM_FN(Specscoreboa)

struct BurnDriver BurnSpecscoreboa = {
	"spec_scoreboa", NULL, "spec_spectrum", NULL, "1986",
	"Scoreboard (48K)\0", NULL, "Byron Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecscoreboaRomInfo, SpecscoreboaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Scrabble DeLuxe (128K)

static struct BurnRomInfo SpecscrdeluxRomDesc[] = {
	{ "Scrabble DeLuxe (1987)(Virgin Games)[128K].z80", 0x102a7, 0xabd03e1c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specscrdelux, Specscrdelux, Spectrum)
STD_ROM_FN(Specscrdelux)

struct BurnDriver BurnSpecscrdelux = {
	"spec_scrdelux", NULL, "spec_spec128", NULL, "1987",
	"Scrabble DeLuxe (128K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecscrdeluxRomInfo, SpecscrdeluxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Scramble Spirits (48K)

static struct BurnRomInfo Specscrspirt_48RomDesc[] = {
	{ "Scramble Spirits (1990)(Grandslam Entertainments).z80", 0x092c7, 0xf292ffc7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specscrspirt_48, Specscrspirt_48, Spectrum)
STD_ROM_FN(Specscrspirt_48)

struct BurnDriver BurnSpecscrspirt_48 = {
	"spec_scrspirt_48", "spec_scrspirt", "spec_spectrum", NULL, "1990",
	"Scramble Spirits (48K)\0", NULL, "Grandslam Entertainments", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specscrspirt_48RomInfo, Specscrspirt_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Scramble Spirits (128K)

static struct BurnRomInfo SpecscrspirtRomDesc[] = {
	{ "Scramble Spirits (1990)(Grandslam Entertainments)[128K].z80", 0x14309, 0xf293694e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specscrspirt, Specscrspirt, Spectrum)
STD_ROM_FN(Specscrspirt)

struct BurnDriver BurnSpecscrspirt = {
	"spec_scrspirt", NULL, "spec_spec128", NULL, "1990",
	"Scramble Spirits (128K)\0", NULL, "Grandslam Entertainments", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecscrspirtRomInfo, SpecscrspirtRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Scroolisis - Rubbish Rain (Spanish) (48K)

static struct BurnRomInfo SpecscrrubraRomDesc[] = {
	{ "Scroolisis - Rubbish Rain (19xx)(EP Software)(es).z80", 0x01486, 0xd1b905e7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specscrrubra, Specscrrubra, Spectrum)
STD_ROM_FN(Specscrrubra)

struct BurnDriver BurnSpecscrrubra = {
	"spec_scrrubra", NULL, "spec_spectrum", NULL, "19xx",
	"Scroolisis - Rubbish Rain (Spanish) (48K)\0", NULL, "EP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecscrrubraRomInfo, SpecscrrubraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Scuba Dive (48K)

static struct BurnRomInfo SpecscubdiveRomDesc[] = {
	{ "Scuba Dive (1983)(Durell Software).z80", 0x07dd5, 0x09c3b2a8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specscubdive, Specscubdive, Spectrum)
STD_ROM_FN(Specscubdive)

struct BurnDriver BurnSpecscubdive = {
	"spec_scubdive", NULL, "spec_spectrum", NULL, "1983",
	"Scuba Dive (48K)\0", NULL, "Durell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecscubdiveRomInfo, SpecscubdiveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Scuba Kidz (48K)

static struct BurnRomInfo SpecscubkidzRomDesc[] = {
	{ "Scuba Kidz (1989)(Silverbird Software).z80", 0x07188, 0x74b8abdc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specscubkidz, Specscubkidz, Spectrum)
STD_ROM_FN(Specscubkidz)

struct BurnDriver BurnSpecscubkidz = {
	"spec_scubkidz", NULL, "spec_spectrum", NULL, "1989",
	"Scuba Kidz (48K)\0", NULL, "Silverbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecscubkidzRomInfo, SpecscubkidzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Scumball (48K)

static struct BurnRomInfo SpecscumballRomDesc[] = {
	{ "Scumball (1988)(Bulldog).z80", 0x0a704, 0xcfbdfe25, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specscumball, Specscumball, Spectrum)
STD_ROM_FN(Specscumball)

struct BurnDriver BurnSpecscumball = {
	"spec_scumball", NULL, "spec_spectrum", NULL, "1988",
	"Scumball (48K)\0", NULL, "Bulldog", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecscumballRomInfo, SpecscumballRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sea Battles (48K)

static struct BurnRomInfo SpecseabattlRomDesc[] = {
	{ "Sea Battles (1984)(Atlantis Software).z80", 0x05ae0, 0xf656fa21, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specseabattl, Specseabattl, Spectrum)
STD_ROM_FN(Specseabattl)

struct BurnDriver BurnSpecseabattl = {
	"spec_seabattl", NULL, "spec_spectrum", NULL, "1984",
	"Sea Battles (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecseabattlRomInfo, SpecseabattlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sea of Zirun (48K)

static struct BurnRomInfo SpecseaoziruRomDesc[] = {
	{ "Sea of Zirun (1985)(Gilsoft International).z80", 0x059f8, 0xb6cb505e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specseaoziru, Specseaoziru, Spectrum)
STD_ROM_FN(Specseaoziru)

struct BurnDriver BurnSpecseaoziru = {
	"spec_seaoziru", NULL, "spec_spectrum", NULL, "1985",
	"Sea of Zirun (48K)\0", NULL, "Gilsoft International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecseaoziruRomInfo, SpecseaoziruRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sea Surfer (48K)

static struct BurnRomInfo SpecseasurfeRomDesc[] = {
	{ "Sea Surfer (1986)(K'Soft).z80", 0x07506, 0x6410ce8e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specseasurfe, Specseasurfe, Spectrum)
STD_ROM_FN(Specseasurfe)

struct BurnDriver BurnSpecseasurfe = {
	"spec_seasurfe", NULL, "spec_spectrum", NULL, "1986",
	"Sea Surfer (48K)\0", NULL, "K'Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecseasurfeRomInfo, SpecseasurfeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Seahawk (48K)

static struct BurnRomInfo SpecseahawkRomDesc[] = {
	{ "Seahawk (1990)(Atlantis Software).z80", 0x09b17, 0x2661429e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specseahawk, Specseahawk, Spectrum)
STD_ROM_FN(Specseahawk)

struct BurnDriver BurnSpecseahawk = {
	"spec_seahawk", NULL, "spec_spectrum", NULL, "1990",
	"Seahawk (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecseahawkRomInfo, SpecseahawkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sealed City, The - Intro (48K)

static struct BurnRomInfo SpecsealcityRomDesc[] = {
	{ "Sealed City, The - Intro (1986)(Central Solutions).z80", 0x019e8, 0xcf455bb7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsealcity, Specsealcity, Spectrum)
STD_ROM_FN(Specsealcity)

struct BurnDriver BurnSpecsealcity = {
	"spec_sealcity", NULL, "spec_spectrum", NULL, "1986",
	"Sealed City, The - Intro (48K)\0", NULL, "Central Solutions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsealcityRomInfo, SpecsealcityRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sealed City, The (48K)

static struct BurnRomInfo SpecsealcitygRomDesc[] = {
	{ "Sealed City, The (1986)(Central Solutions).z80", 0x083fb, 0x41304ac8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsealcityg, Specsealcityg, Spectrum)
STD_ROM_FN(Specsealcityg)

struct BurnDriver BurnSpecsealcityg = {
	"spec_sealcityg", "spec_sealcity", "spec_spectrum", NULL, "1986",
	"Sealed City, The (48K)\0", NULL, "Central Solutions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsealcitygRomInfo, SpecsealcitygRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sealed City, The (different font) (48K)

static struct BurnRomInfo SpecsealcitygaRomDesc[] = {
	{ "Sealed City, The (1986)(Central Solutions)[different font].z80", 0x08678, 0x1b7ebb4c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsealcityga, Specsealcityga, Spectrum)
STD_ROM_FN(Specsealcityga)

struct BurnDriver BurnSpecsealcityga = {
	"spec_sealcityga", "spec_sealcity", "spec_spectrum", NULL, "1986",
	"Sealed City, The (different font) (48K)\0", NULL, "Central Solutions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsealcitygaRomInfo, SpecsealcitygaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Search for the Nether Regions, The (Part 1 of 2) (48K)

static struct BurnRomInfo SpecsrchnethRomDesc[] = {
	{ "Search for the Nether Regions, The (1994)(Zenobi Software)(Part 1 of 2).z80", 0x093fa, 0x81c732b6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsrchneth, Specsrchneth, Spectrum)
STD_ROM_FN(Specsrchneth)

struct BurnDriver BurnSpecsrchneth = {
	"spec_srchneth", NULL, "spec_spectrum", NULL, "1994",
	"Search for the Nether Regions, The (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsrchnethRomInfo, SpecsrchnethRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Search for the Nether Regions, The (Part 2 of 2) (48K)

static struct BurnRomInfo Specsrchneth2RomDesc[] = {
	{ "Search for the Nether Regions, The (1994)(Zenobi Software)(Part 2 of 2).z80", 0x0924e, 0x40ed7136, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsrchneth2, Specsrchneth2, Spectrum)
STD_ROM_FN(Specsrchneth2)

struct BurnDriver BurnSpecsrchneth2 = {
	"spec_srchneth2", "spec_srchneth", "spec_spectrum", NULL, "1994",
	"Search for the Nether Regions, The (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsrchneth2RomInfo, Specsrchneth2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Search for the Wonderful Whotsit, The (128K)

static struct BurnRomInfo SpecsewowhthRomDesc[] = {
	{ "Search for the Wonderful Whotsit, The (1996)(Adventure Probe Software)[128K].z80", 0x0e3d3, 0x934e832f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsewowhth, Specsewowhth, Spectrum)
STD_ROM_FN(Specsewowhth)

struct BurnDriver BurnSpecsewowhth = {
	"spec_sewowhth", NULL, "spec_spec128", NULL, "1996",
	"Search for the Wonderful Whotsit, The (128K)\0", NULL, "Adventure Probe Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsewowhthRomInfo, SpecsewowhthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Seas of Blood (48K)

static struct BurnRomInfo SpecseasblooRomDesc[] = {
	{ "Seas of Blood (1985)(Adventure International).z80", 0x0b3b8, 0x74acb699, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specseasbloo, Specseasbloo, Spectrum)
STD_ROM_FN(Specseasbloo)

struct BurnDriver BurnSpecseasbloo = {
	"spec_seasbloo", NULL, "spec_spectrum", NULL, "1985",
	"Seas of Blood (48K)\0", NULL, "Adventure International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecseasblooRomInfo, SpecseasblooRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Season Ticket (48K)

static struct BurnRomInfo SpecseastickRomDesc[] = {
	{ "Season Ticket (19xx)(-).z80", 0x08a72, 0xd6ccba60, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specseastick, Specseastick, Spectrum)
STD_ROM_FN(Specseastick)

struct BurnDriver BurnSpecseastick = {
	"spec_seastick", NULL, "spec_spectrum", NULL, "19xx",
	"Season Ticket (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecseastickRomInfo, SpecseastickRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Secret Diary of Adrian Mole, The (Part 1 of 4) (48K)

static struct BurnRomInfo SpecsdamtpRomDesc[] = {
	{ "Secret Diary of Adrian Mole, The (1985)(Mosaic Publishing)(Part 1 of 4).z80", 0x0b36f, 0xa38b2b7e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsdamtp, Specsdamtp, Spectrum)
STD_ROM_FN(Specsdamtp)

struct BurnDriver BurnSpecsdamtp = {
	"spec_sdamtp", NULL, "spec_spectrum", NULL, "1985",
	"Secret Diary of Adrian Mole, The (Part 1 of 4) (48K)\0", NULL, "Mosaic Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsdamtpRomInfo, SpecsdamtpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Secret Diary of Adrian Mole, The (Part 2 of 4) (48K)

static struct BurnRomInfo Specsdamtp2RomDesc[] = {
	{ "Secret Diary of Adrian Mole, The (1985)(Mosaic Publishing)(Part 2 of 4).z80", 0x0b2de, 0x34ea8a08, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsdamtp2, Specsdamtp2, Spectrum)
STD_ROM_FN(Specsdamtp2)

struct BurnDriver BurnSpecsdamtp2 = {
	"spec_sdamtp2", "spec_sdamtp", "spec_spectrum", NULL, "1985",
	"Secret Diary of Adrian Mole, The (Part 2 of 4) (48K)\0", NULL, "Mosaic Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsdamtp2RomInfo, Specsdamtp2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Secret Diary of Adrian Mole, The (Part 3 of 4) (48K)

static struct BurnRomInfo Specsdamtp3RomDesc[] = {
	{ "Secret Diary of Adrian Mole, The (1985)(Mosaic Publishing)(Part 3 of 4).z80", 0x0a38b, 0x868bc3e0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsdamtp3, Specsdamtp3, Spectrum)
STD_ROM_FN(Specsdamtp3)

struct BurnDriver BurnSpecsdamtp3 = {
	"spec_sdamtp3", "spec_sdamtp", "spec_spectrum", NULL, "1985",
	"Secret Diary of Adrian Mole, The (Part 3 of 4) (48K)\0", NULL, "Mosaic Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsdamtp3RomInfo, Specsdamtp3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Secret Diary of Adrian Mole, The (Part 4 of 4) (48K)

static struct BurnRomInfo Specsdamtp4RomDesc[] = {
	{ "Secret Diary of Adrian Mole, The (1985)(Mosaic Publishing)(Part 4 of 4).z80", 0x0a5f1, 0xa2d27f05, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsdamtp4, Specsdamtp4, Spectrum)
STD_ROM_FN(Specsdamtp4)

struct BurnDriver BurnSpecsdamtp4 = {
	"spec_sdamtp4", "spec_sdamtp", "spec_spectrum", NULL, "1985",
	"Secret Diary of Adrian Mole, The (Part 4 of 4) (48K)\0", NULL, "Mosaic Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsdamtp4RomInfo, Specsdamtp4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Secret Mission 007 James Bond (cs) (48K)

static struct BurnRomInfo SpecsemijaboRomDesc[] = {
	{ "Secret Mission 007 James Bond (1987)(Petr Spad)(cs).z80", 0x0663f, 0x9931d649, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsemijabo, Specsemijabo, Spectrum)
STD_ROM_FN(Specsemijabo)

struct BurnDriver BurnSpecsemijabo = {
	"spec_semijabo", NULL, "spec_spectrum", NULL, "1987",
	"Secret Mission 007 James Bond (cs) (48K)\0", NULL, "Petr Spad", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsemijaboRomInfo, SpecsemijaboRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Secret of Levitation, The (48K)

static struct BurnRomInfo SpecseclevthRomDesc[] = {
	{ "Secret of Levitation, The (1986)(Atlantis Software).z80", 0x08297, 0x11afa88c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specseclevth, Specseclevth, Spectrum)
STD_ROM_FN(Specseclevth)

struct BurnDriver BurnSpecseclevth = {
	"spec_seclevth", NULL, "spec_spectrum", NULL, "1986",
	"Secret of Levitation, The (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecseclevthRomInfo, SpecseclevthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Secret of Little Hodcome, The (48K)

static struct BurnRomInfo SpecselihothRomDesc[] = {
	{ "Secret of Little Hodcome, The (1987)(Zenobi Software).z80", 0x0a3e6, 0xe024cd8f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specselihoth, Specselihoth, Spectrum)
STD_ROM_FN(Specselihoth)

struct BurnDriver BurnSpecselihoth = {
	"spec_selihoth", NULL, "spec_spectrum", NULL, "1987",
	"Secret of Little Hodcome, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecselihothRomInfo, SpecselihothRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Secret of St. Brides, The (48K)

static struct BurnRomInfo SpecsestbrthRomDesc[] = {
	{ "Secret of St. Brides, The (1985)(St. Bride's School).z80", 0x0a5d7, 0x2b7545fb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsestbrth, Specsestbrth, Spectrum)
STD_ROM_FN(Specsestbrth)

struct BurnDriver BurnSpecsestbrth = {
	"spec_sestbrth", NULL, "spec_spectrum", NULL, "1985",
	"Secret of St. Brides, The (48K)\0", NULL, "St. Bride's School", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsestbrthRomInfo, SpecsestbrthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sector 90 (48K)

static struct BurnRomInfo Specsector90RomDesc[] = {
	{ "Sector 90 (1987)(Argus Press Software).z80", 0x06cb7, 0x4e79c476, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsector90, Specsector90, Spectrum)
STD_ROM_FN(Specsector90)

struct BurnDriver BurnSpecsector90 = {
	"spec_sector90", NULL, "spec_spectrum", NULL, "1987",
	"Sector 90 (48K)\0", NULL, "Argus Press Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsector90RomInfo, Specsector90RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Segunda Muerte de Dracula, La (Spanish) (128K)

static struct BurnRomInfo SpecsemudrlaRomDesc[] = {
	{ "Segunda Muerte de Dracula, La (2001)(Iron Chip)(es)[128K].z80", 0x191d3, 0xb44c23a8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsemudrla, Specsemudrla, Spectrum)
STD_ROM_FN(Specsemudrla)

struct BurnDriver BurnSpecsemudrla = {
	"spec_semudrla", NULL, "spec_spec128", NULL, "2001",
	"Segunda Muerte de Dracula, La (Spanish) (128K)\0", NULL, "Iron Chip", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsemudrlaRomInfo, SpecsemudrlaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Se-Kaa of Assiah (Part 1 of 2) (48K)

static struct BurnRomInfo SpecsekaaspaRomDesc[] = {
	{ "Se-Kaa of Assiah (1984)(Mastervision)(Part 1 of 2).z80", 0x0a510, 0xd24f4cf6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsekaaspa, Specsekaaspa, Spectrum)
STD_ROM_FN(Specsekaaspa)

struct BurnDriver BurnSpecsekaaspa = {
	"spec_sekaaspa", NULL, "spec_spectrum", NULL, "1984",
	"Se-Kaa of Assiah (Part 1 of 2) (48K)\0", NULL, "Mastervision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsekaaspaRomInfo, SpecsekaaspaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Se-Kaa of Assiah (Part 2 of 2) (48K)

static struct BurnRomInfo Specsekaaspa2RomDesc[] = {
	{ "Se-Kaa of Assiah (1984)(Mastervision)(Part 2 of 2).z80", 0x09af3, 0x722ae493, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsekaaspa2, Specsekaaspa2, Spectrum)
STD_ROM_FN(Specsekaaspa2)

struct BurnDriver BurnSpecsekaaspa2 = {
	"spec_sekaaspa2", "spec_sekaaspa", "spec_spectrum", NULL, "1984",
	"Se-Kaa of Assiah (Part 2 of 2) (48K)\0", NULL, "Mastervision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsekaaspa2RomInfo, Specsekaaspa2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Self Destruct (48K)

static struct BurnRomInfo SpecselfdestRomDesc[] = {
	{ "Self Destruct (1985)(Atlantis Software).z80", 0x0997d, 0x9ed92be4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specselfdest, Specselfdest, Spectrum)
STD_ROM_FN(Specselfdest)

struct BurnDriver BurnSpecselfdest = {
	"spec_selfdest", NULL, "spec_spectrum", NULL, "1985",
	"Self Destruct (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecselfdestRomInfo, SpecselfdestRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Senda Salvaje (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecsendsalvRomDesc[] = {
	{ "Senda Salvaje (1990)(Zigurat Software)(es)(Part 1 of 2).z80", 0x09a9a, 0x7b40dcbf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsendsalv, Specsendsalv, Spectrum)
STD_ROM_FN(Specsendsalv)

struct BurnDriver BurnSpecsendsalv = {
	"spec_sendsalv", NULL, "spec_spectrum", NULL, "1990",
	"Senda Salvaje (Spanish) (Part 1 of 2) (48K)\0", NULL, "Zigurat Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsendsalvRomInfo, SpecsendsalvRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Senda Salvaje (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specsendsalv2RomDesc[] = {
	{ "Senda Salvaje (1990)(Zigurat Software)(es)(Part 2 of 2).z80", 0x098c6, 0x26d374e5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsendsalv2, Specsendsalv2, Spectrum)
STD_ROM_FN(Specsendsalv2)

struct BurnDriver BurnSpecsendsalv2 = {
	"spec_sendsalv2", "spec_sendsalv", "spec_spectrum", NULL, "1990",
	"Senda Salvaje (Spanish) (Part 2 of 2) (48K)\0", NULL, "Zigurat Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsendsalv2RomInfo, Specsendsalv2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Senor del Dragon, El (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecsendraelRomDesc[] = {
	{ "Senor del Dragon, El (1990)(Grupo Creators Union)(es)(Part 1 of 2).z80", 0x096b2, 0xf0c96671, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsendrael, Specsendrael, Spectrum)
STD_ROM_FN(Specsendrael)

struct BurnDriver BurnSpecsendrael = {
	"spec_sendrael", NULL, "spec_spectrum", NULL, "1990",
	"Senor del Dragon, El (Spanish) (Part 1 of 2) (48K)\0", NULL, "Grupo Creators Union", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsendraelRomInfo, SpecsendraelRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Senor del Dragon, El (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specsendrael2RomDesc[] = {
	{ "Senor del Dragon, El (1990)(Grupo Creators Union)(es)(Part 2 of 2).z80", 0x09e60, 0x47b556f7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsendrael2, Specsendrael2, Spectrum)
STD_ROM_FN(Specsendrael2)

struct BurnDriver BurnSpecsendrael2 = {
	"spec_sendrael2", "spec_sendrael", "spec_spectrum", NULL, "1990",
	"Senor del Dragon, El (Spanish) (Part 2 of 2) (48K)\0", NULL, "Grupo Creators Union", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsendrael2RomInfo, Specsendrael2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Senso (German) (48K)

static struct BurnRomInfo SpecsensodeRomDesc[] = {
	{ "Senso (19xx)(-)(de).z80", 0x01aec, 0x780a4002, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsensode, Specsensode, Spectrum)
STD_ROM_FN(Specsensode)

struct BurnDriver BurnSpecsensode = {
	"spec_sensode", NULL, "spec_spectrum", NULL, "19xx",
	"Senso (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsensodeRomInfo, SpecsensodeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sentinel, The (48K)

static struct BurnRomInfo SpecsenttheRomDesc[] = {
	{ "Sentinel, The (1987)(Firebird Software).z80", 0x09119, 0xb5f6bb10, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsentthe, Specsentthe, Spectrum)
STD_ROM_FN(Specsentthe)

struct BurnDriver BurnSpecsentthe = {
	"spec_sentthe", NULL, "spec_spectrum", NULL, "1987",
	"Sentinel, The (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsenttheRomInfo, SpecsenttheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sentinels (48K)

static struct BurnRomInfo SpecsentinelRomDesc[] = {
	{ "Sentinels (1984)(Century City Software).z80", 0x019f3, 0x9e4b1737, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsentinel, Specsentinel, Spectrum)
STD_ROM_FN(Specsentinel)

struct BurnDriver BurnSpecsentinel = {
	"spec_sentinel", NULL, "spec_spectrum", NULL, "1984",
	"Sentinels (48K)\0", NULL, "Century City Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsentinelRomInfo, SpecsentinelRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Serf's Tale, The (48K)

static struct BurnRomInfo Specsefttale_48RomDesc[] = {
	{ "Serf's Tale, The (1986)(Players Software).z80", 0x0a645, 0x6195cf8f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsefttale_48, Specsefttale_48, Spectrum)
STD_ROM_FN(Specsefttale_48)

struct BurnDriver BurnSpecsefttale_48 = {
	"spec_sefttale_48", "spec_sefttale", "spec_spectrum", NULL, "1986",
	"Serf's Tale, The (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsefttale_48RomInfo, Specsefttale_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Serf's Tale, The (128K)

static struct BurnRomInfo SpecsefttaleRomDesc[] = {
	{ "Serf's Tale, The (1986)(Players Software)[128K].z80", 0x0ac2f, 0x0f812dca, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsefttale, Specsefttale, Spectrum)
STD_ROM_FN(Specsefttale)

struct BurnDriver BurnSpecsefttale = {
	"spec_sefttale", NULL, "spec_spec128", NULL, "1986",
	"Serf's Tale, The (128K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsefttaleRomInfo, SpecsefttaleRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sergeant Seymour Robotcop (48K)

static struct BurnRomInfo Specsrgntsey_48RomDesc[] = {
	{ "Sergeant Seymour Robotcop (1992)(Codemasters).z80", 0x084ee, 0xadbb0306, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsrgntsey_48, Specsrgntsey_48, Spectrum)
STD_ROM_FN(Specsrgntsey_48)

struct BurnDriver BurnSpecsrgntsey_48 = {
	"spec_srgntsey_48", "spec_srgntsey", "spec_spectrum", NULL, "1992",
	"Sergeant Seymour Robotcop (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsrgntsey_48RomInfo, Specsrgntsey_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sergeant Seymour Robotcop (128K)

static struct BurnRomInfo SpecsrgntseyRomDesc[] = {
	{ "Sergeant Seymour Robotcop (1992)(Codemasters)[128K].z80", 0x0af43, 0x83912e1e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsrgntsey, Specsrgntsey, Spectrum)
STD_ROM_FN(Specsrgntsey)

struct BurnDriver BurnSpecsrgntsey = {
	"spec_srgntsey", NULL, "spec_spec128", NULL, "1992",
	"Sergeant Seymour Robotcop (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsrgntseyRomInfo, SpecsrgntseyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Serpes (Spanish) (48K)

static struct BurnRomInfo SpecserpesesRomDesc[] = {
	{ "Serpes (2003)(David Amigaman)(es).z80", 0x024d4, 0x146eb330, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specserpeses, Specserpeses, Spectrum)
STD_ROM_FN(Specserpeses)

struct BurnDriver BurnSpecserpeses = {
	"spec_serpeses", NULL, "spec_spectrum", NULL, "2003",
	"Serpes (Spanish) (48K)\0", NULL, "David Amigaman", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecserpesesRomInfo, SpecserpesesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sest Ran do Klobouku (sl) (48K)

static struct BurnRomInfo SpecsesranklRomDesc[] = {
	{ "Sest Ran do Klobouku (1986)(SPL)(sl).z80", 0x08139, 0x2af5e65b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsesrankl, Specsesrankl, Spectrum)
STD_ROM_FN(Specsesrankl)

struct BurnDriver BurnSpecsesrankl = {
	"spec_sesrankl", NULL, "spec_spectrum", NULL, "1986",
	"Sest Ran do Klobouku (sl) (48K)\0", NULL, "SPL", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsesranklRomInfo, SpecsesranklRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Seventh Cavalry (48K)

static struct BurnRomInfo SpecsevecavaRomDesc[] = {
	{ "Seventh Cavalry (1985)(Black Knight Software).z80", 0x07338, 0x332dae5a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsevecava, Specsevecava, Spectrum)
STD_ROM_FN(Specsevecava)

struct BurnDriver BurnSpecsevecava = {
	"spec_sevecava", NULL, "spec_spectrum", NULL, "1985",
	"Seventh Cavalry (48K)\0", NULL, "Black Knight Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsevecavaRomInfo, SpecsevecavaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sex Crime (pt) (48K)

static struct BurnRomInfo SpecsexcrimeRomDesc[] = {
	{ "Sex Crime (1985)(Omycron Software)(pt).z80", 0x06b0d, 0x4460a101, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsexcrime, Specsexcrime, Spectrum)
STD_ROM_FN(Specsexcrime)

struct BurnDriver BurnSpecsexcrime = {
	"spec_sexcrime", NULL, "spec_spectrum", NULL, "1985",
	"Sex Crime (pt) (48K)\0", NULL, "Omycron Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsexcrimeRomInfo, SpecsexcrimeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sex Game (48K)

static struct BurnRomInfo SpecsexgameRomDesc[] = {
	{ "Sex Game (19xx)(Softlake - Meastrosoft).z80", 0x02ca9, 0x27f44107, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsexgame, Specsexgame, Spectrum)
STD_ROM_FN(Specsexgame)

struct BurnDriver BurnSpecsexgame = {
	"spec_sexgame", NULL, "spec_spectrum", NULL, "19xx",
	"Sex Game (48K)\0", NULL, "Softlake - Meastrosoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsexgameRomInfo, SpecsexgameRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sex Machine (128K)

static struct BurnRomInfo SpecsexmachiRomDesc[] = {
	{ "Sex Machine (1987)(Shattered Dreams)[128K].z80", 0x05869, 0xcd652c00, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsexmachi, Specsexmachi, Spectrum)
STD_ROM_FN(Specsexmachi)

struct BurnDriver BurnSpecsexmachi = {
	"spec_sexmachi", NULL, "spec_spec128", NULL, "1987",
	"Sex Machine (128K)\0", NULL, "Shattered Dreams", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsexmachiRomInfo, SpecsexmachiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sex Poker (pl) (48K)

static struct BurnRomInfo SpecsexpokerRomDesc[] = {
	{ "Sex Poker (1986)(Janusz Gajewicz)(pl).z80", 0x0a198, 0xd9bb348d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsexpoker, Specsexpoker, Spectrum)
STD_ROM_FN(Specsexpoker)

struct BurnDriver BurnSpecsexpoker = {
	"spec_sexpoker", NULL, "spec_spectrum", NULL, "1986",
	"Sex Poker (pl) (48K)\0", NULL, "Janusz Gajewicz", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsexpokerRomInfo, SpecsexpokerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sex Tetris 2 (Russian) (128K)

static struct BurnRomInfo Specsextetr2RomDesc[] = {
	{ "Sex Tetris 2 (1995)(Seamans)(ru)[128K].z80", 0x0b5c8, 0xfc610d38, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsextetr2, Specsextetr2, Spectrum)
STD_ROM_FN(Specsextetr2)

struct BurnDriver BurnSpecsextetr2 = {
	"spec_sextetr2", NULL, "spec_spec128", NULL, "1995",
	"Sex Tetris 2 (Russian) (128K)\0", NULL, "Seamans", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsextetr2RomInfo, Specsextetr2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sex Tetris v1.2 (128K)

static struct BurnRomInfo SpecsextetriRomDesc[] = {
	{ "Sex Tetris v1.2 (1993)(Russian Soft)[128K].z80", 0x09c18, 0x7672e748, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsextetri, Specsextetri, Spectrum)
STD_ROM_FN(Specsextetri)

struct BurnDriver BurnSpecsextetri = {
	"spec_sextetri", NULL, "spec_spec128", NULL, "1993",
	"Sex Tetris v1.2 (128K)\0", NULL, "Russian Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsextetriRomInfo, SpecsextetriRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Seymour at the Movies (48K)

static struct BurnRomInfo SpecseymmoviRomDesc[] = {
	{ "Seymour at the Movies (1991)(Codemasters).z80", 0x0b3c7, 0xc91a5fa5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specseymmovi, Specseymmovi, Spectrum)
STD_ROM_FN(Specseymmovi)

struct BurnDriver BurnSpecseymmovi = {
	"spec_seymmovi", NULL, "spec_spectrum", NULL, "1991",
	"Seymour at the Movies (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecseymmoviRomInfo, SpecseymmoviRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sgrizam (48K)

static struct BurnRomInfo SpecsgrizamRomDesc[] = {
	{ "Sgrizam (1985)(Dinamic Software).z80", 0x0890a, 0x32304911, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsgrizam, Specsgrizam, Spectrum)
STD_ROM_FN(Specsgrizam)

struct BurnDriver BurnSpecsgrizam = {
	"spec_sgrizam", NULL, "spec_spectrum", NULL, "1985",
	"Sgrizam (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsgrizamRomInfo, SpecsgrizamRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shackled (128K)

static struct BurnRomInfo SpecshackledRomDesc[] = {
	{ "Shackled (1988)(U.S. Gold)[128K].z80", 0x0ff55, 0xc4e73fd3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshackled, Specshackled, Spectrum)
STD_ROM_FN(Specshackled)

struct BurnDriver BurnSpecshackled = {
	"spec_shackled", NULL, "spec_spec128", NULL, "1988",
	"Shackled (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshackledRomInfo, SpecshackledRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shadow of the Unicorn (48K)

static struct BurnRomInfo SpecshadunicRomDesc[] = {
	{ "Shadow of the Unicorn (1985)(Mikro-Gen)[needs custom rom].z80", 0x09a05, 0x0990611c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshadunic, Specshadunic, Spectrum)
STD_ROM_FN(Specshadunic)

struct BurnDriver BurnSpecshadunic = {
	"spec_shadunic", NULL, "spec_spectrum", NULL, "1985",
	"Shadow of the Unicorn (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshadunicRomInfo, SpecshadunicRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shadow Skimmer (48K)

static struct BurnRomInfo SpecshadskimRomDesc[] = {
	{ "Shadow Skimmer (1987)(The Edge Software).z80", 0x08f0b, 0xef527f09, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshadskim, Specshadskim, Spectrum)
STD_ROM_FN(Specshadskim)

struct BurnDriver BurnSpecshadskim = {
	"spec_shadskim", NULL, "spec_spectrum", NULL, "1987",
	"Shadow Skimmer (48K)\0", NULL, "The Edge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshadskimRomInfo, SpecshadskimRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shadow Warriors (128K)

static struct BurnRomInfo SpecshadwarrRomDesc[] = {
	{ "Shadow Warriors (1990)(Ocean)[128K].z80", 0x1c463, 0x8a034e94, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshadwarr, Specshadwarr, Spectrum)
STD_ROM_FN(Specshadwarr)

struct BurnDriver BurnSpecshadwarr = {
	"spec_shadwarr", NULL, "spec_spec128", NULL, "1990",
	"Shadow Warriors (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshadwarrRomInfo, SpecshadwarrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shadowfax (48K)

static struct BurnRomInfo SpecshadowfaRomDesc[] = {
	{ "Shadowfax (1983)(Postern).z80", 0x0113d, 0x40ea4a5e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshadowfa, Specshadowfa, Spectrum)
STD_ROM_FN(Specshadowfa)

struct BurnDriver BurnSpecshadowfa = {
	"spec_shadowfa", NULL, "spec_spectrum", NULL, "1983",
	"Shadowfax (48K)\0", NULL, "Postern", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshadowfaRomInfo, SpecshadowfaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shadowfire (48K)

static struct BurnRomInfo SpecshadowfiRomDesc[] = {
	{ "Shadowfire (1985)(Beyond Software).z80", 0x0920f, 0xe24cc450, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshadowfi, Specshadowfi, Spectrum)
STD_ROM_FN(Specshadowfi)

struct BurnDriver BurnSpecshadowfi = {
	"spec_shadowfi", NULL, "spec_spectrum", NULL, "1985",
	"Shadowfire (48K)\0", NULL, "Beyond Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshadowfiRomInfo, SpecshadowfiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shadowfire Tuner (48K)

static struct BurnRomInfo SpecshadtuneRomDesc[] = {
	{ "Shadowfire Tuner (1985)(Beyond Software).z80", 0x07dab, 0x7b73aeaa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshadtune, Specshadtune, Spectrum)
STD_ROM_FN(Specshadtune)

struct BurnDriver BurnSpecshadtune = {
	"spec_shadtune", NULL, "spec_spectrum", NULL, "1985",
	"Shadowfire Tuner (48K)\0", NULL, "Beyond Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshadtuneRomInfo, SpecshadtuneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shaky Game, The (48K)

static struct BurnRomInfo SpecshagamthRomDesc[] = {
	{ "Shaky Game, The (1983)(Olympic Software).z80", 0x0414d, 0xee999e8b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshagamth, Specshagamth, Spectrum)
STD_ROM_FN(Specshagamth)

struct BurnDriver BurnSpecshagamth = {
	"spec_shagamth", NULL, "spec_spectrum", NULL, "1983",
	"Shaky Game, The (48K)\0", NULL, "Olympic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshagamthRomInfo, SpecshagamthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shanghai Karate (48K)

static struct BurnRomInfo Specshngkara_48RomDesc[] = {
	{ "Shanghai Karate (1988)(Players Software).z80", 0x0a102, 0xc044933a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshngkara_48, Specshngkara_48, Spectrum)
STD_ROM_FN(Specshngkara_48)

struct BurnDriver BurnSpecshngkara_48 = {
	"spec_shngkara_48", "spec_shngkara", "spec_spectrum", NULL, "1988",
	"Shanghai Karate (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specshngkara_48RomInfo, Specshngkara_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shanghai Karate (128K)

static struct BurnRomInfo SpecshngkaraRomDesc[] = {
	{ "Shanghai Karate (1988)(Players Software)[128K].z80", 0x120c6, 0xe3c30c1e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshngkara, Specshngkara, Spectrum)
STD_ROM_FN(Specshngkara)

struct BurnDriver BurnSpecshngkara = {
	"spec_shngkara", NULL, "spec_spec128", NULL, "1988",
	"Shanghai Karate (128K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshngkaraRomInfo, SpecshngkaraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shao-Lin's Road (48K)

static struct BurnRomInfo SpecshalinroRomDesc[] = {
	{ "Shao-Lin's Road (1987)(The Edge Software).z80", 0x096c3, 0x2e50936a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshalinro, Specshalinro, Spectrum)
STD_ROM_FN(Specshalinro)

struct BurnDriver BurnSpecshalinro = {
	"spec_shalinro", NULL, "spec_spectrum", NULL, "1987",
	"Shao-Lin's Road (48K)\0", NULL, "The Edge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshalinroRomInfo, SpecshalinroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shard of Inovar (48K)

static struct BurnRomInfo SpecsharinovRomDesc[] = {
	{ "Shard of Inovar (1987)(Bulldog).z80", 0x0ad6b, 0x590e419f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsharinov, Specsharinov, Spectrum)
STD_ROM_FN(Specsharinov)

struct BurnDriver BurnSpecsharinov = {
	"spec_sharinov", NULL, "spec_spectrum", NULL, "1987",
	"Shard of Inovar (48K)\0", NULL, "Bulldog", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsharinovRomInfo, SpecsharinovRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shark (48K)

static struct BurnRomInfo Specshark_48RomDesc[] = {
	{ "Shark (1989)(Players Premier Software).z80", 0x09113, 0x98a9546e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshark_48, Specshark_48, Spectrum)
STD_ROM_FN(Specshark_48)

struct BurnDriver BurnSpecshark_48 = {
	"spec_shark_48", "spec_shark", "spec_spectrum", NULL, "1989",
	"Shark (48K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specshark_48RomInfo, Specshark_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shark (128K)

static struct BurnRomInfo SpecsharkRomDesc[] = {
	{ "Shark (1989)(Players Premier Software)[128K].z80", 0x0a738, 0x1c9ec303, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshark, Specshark, Spectrum)
STD_ROM_FN(Specshark)

struct BurnDriver BurnSpecshark = {
	"spec_shark", NULL, "spec_spec128", NULL, "1989",
	"Shark (128K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsharkRomInfo, SpecsharkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shark Game, The (128K)

static struct BurnRomInfo SpecshrkgameRomDesc[] = {
	{ "Shark Game, The (1983)(Olympic Software)[128K].z80", 0x095d7, 0xed2121e4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshrkgame, Specshrkgame, Spectrum)
STD_ROM_FN(Specshrkgame)

struct BurnDriver BurnSpecshrkgame = {
	"spec_shrkgame", NULL, "spec_spec128", NULL, "1983",
	"Shark Game, The (128K)\0", NULL, "Olympic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshrkgameRomInfo, SpecshrkgameRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sharkey's Moll (48K)

static struct BurnRomInfo SpecsharmollRomDesc[] = {
	{ "Sharkey's Moll (1991)(Zeppelin Games).z80", 0x08617, 0x515fda6d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsharmoll, Specsharmoll, Spectrum)
STD_ROM_FN(Specsharmoll)

struct BurnDriver BurnSpecsharmoll = {
	"spec_sharmoll", NULL, "spec_spectrum", NULL, "1991",
	"Sharkey's Moll (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsharmollRomInfo, SpecsharmollRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sheepwalk (48K)

static struct BurnRomInfo SpecsheepwalRomDesc[] = {
	{ "Sheepwalk (1983)(Virgin Games).z80", 0x034b5, 0x3c560655, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsheepwal, Specsheepwal, Spectrum)
STD_ROM_FN(Specsheepwal)

struct BurnDriver BurnSpecsheepwal = {
	"spec_sheepwal", NULL, "spec_spectrum", NULL, "1983",
	"Sheepwalk (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsheepwalRomInfo, SpecsheepwalRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sheriff (Spanish) (128K)

static struct BurnRomInfo SpecsheriffeRomDesc[] = {
	{ "Sheriff (1989)(Antonio de Haro Leon)(es)[128K].z80", 0x10a25, 0x07e473a0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsheriffe, Specsheriffe, Spectrum)
STD_ROM_FN(Specsheriffe)

struct BurnDriver BurnSpecsheriffe = {
	"spec_sheriffe", NULL, "spec_spec128", NULL, "1989",
	"Sheriff (Spanish) (128K)\0", NULL, "Antonio de Haro Leon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsheriffeRomInfo, SpecsheriffeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sherlock (48K)

static struct BurnRomInfo SpecsherlockRomDesc[] = {
	{ "Sherlock (1984)(Melbourne House).z80", 0x0ab73, 0x91d7e211, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsherlock, Specsherlock, Spectrum)
STD_ROM_FN(Specsherlock)

struct BurnDriver BurnSpecsherlock = {
	"spec_sherlock", NULL, "spec_spectrum", NULL, "1984",
	"Sherlock (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsherlockRomInfo, SpecsherlockRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sherlock Holmes - The Case of the Beheaded Smuggler (Part 1 of 2) (48K)

static struct BurnRomInfo SpecshtcbspRomDesc[] = {
	{ "Sherlock Holmes - The Case of the Beheaded Smuggler (1990)(Zenobi Software)(Part 1 of 2).z80", 0x09029, 0x789bdadd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshtcbsp, Specshtcbsp, Spectrum)
STD_ROM_FN(Specshtcbsp)

struct BurnDriver BurnSpecshtcbsp = {
	"spec_shtcbsp", NULL, "spec_spectrum", NULL, "1990",
	"Sherlock Holmes - The Case of the Beheaded Smuggler (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshtcbspRomInfo, SpecshtcbspRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sherlock Holmes - The Case of the Beheaded Smuggler (Part 2 of 2) (48K)

static struct BurnRomInfo Specshtcbsp2RomDesc[] = {
	{ "Sherlock Holmes - The Case of the Beheaded Smuggler (1990)(Zenobi Software)(Part 2 of 2).z80", 0x08a3d, 0xf5323ba8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshtcbsp2, Specshtcbsp2, Spectrum)
STD_ROM_FN(Specshtcbsp2)

struct BurnDriver BurnSpecshtcbsp2 = {
	"spec_shtcbsp2", "spec_shtcbsp", "spec_spectrum", NULL, "1990",
	"Sherlock Holmes - The Case of the Beheaded Smuggler (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specshtcbsp2RomInfo, Specshtcbsp2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sherlock Holmes - The Lamberley Mystery (Part 1 of 3) (48K)

static struct BurnRomInfo SpecshtlmpRomDesc[] = {
	{ "Sherlock Holmes - The Lamberley Mystery (1990)(Zenobi Software)(Part 1 of 3).z80", 0x093db, 0x72286dbd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshtlmp, Specshtlmp, Spectrum)
STD_ROM_FN(Specshtlmp)

struct BurnDriver BurnSpecshtlmp = {
	"spec_shtlmp", NULL, "spec_spectrum", NULL, "1990",
	"Sherlock Holmes - The Lamberley Mystery (Part 1 of 3) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshtlmpRomInfo, SpecshtlmpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sherlock Holmes - The Lamberley Mystery (Part 2 of 3) (48K)

static struct BurnRomInfo Specshtlmp2RomDesc[] = {
	{ "Sherlock Holmes - The Lamberley Mystery (1990)(Zenobi Software)(Part 2 of 3).z80", 0x094ba, 0x09bcc7f5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshtlmp2, Specshtlmp2, Spectrum)
STD_ROM_FN(Specshtlmp2)

struct BurnDriver BurnSpecshtlmp2 = {
	"spec_shtlmp2", "spec_shtlmp", "spec_spectrum", NULL, "1990",
	"Sherlock Holmes - The Lamberley Mystery (Part 2 of 3) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specshtlmp2RomInfo, Specshtlmp2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sherlock Holmes - The Lamberley Mystery (Part 3 of 3) (48K)

static struct BurnRomInfo Specshtlmp3RomDesc[] = {
	{ "Sherlock Holmes - The Lamberley Mystery (1990)(Zenobi Software)(Part 3 of 3).z80", 0x09450, 0x53f5030d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshtlmp3, Specshtlmp3, Spectrum)
STD_ROM_FN(Specshtlmp3)

struct BurnDriver BurnSpecshtlmp3 = {
	"spec_shtlmp3", "spec_shtlmp", "spec_spectrum", NULL, "1990",
	"Sherlock Holmes - The Lamberley Mystery (Part 3 of 3) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specshtlmp3RomInfo, Specshtlmp3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sherlock Holmes - Traja Garridebovia (sk) (48K)

static struct BurnRomInfo SpecshhotrgaRomDesc[] = {
	{ "Sherlock Holmes - Traja Garridebovia (1987)(Sybilasoft)(sk).z80", 0x072de, 0xfbfde211, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshhotrga, Specshhotrga, Spectrum)
STD_ROM_FN(Specshhotrga)

struct BurnDriver BurnSpecshhotrga = {
	"spec_shhotrga", NULL, "spec_spectrum", NULL, "1987",
	"Sherlock Holmes - Traja Garridebovia (sk) (48K)\0", NULL, "Sybilasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshhotrgaRomInfo, SpecshhotrgaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sherwood (sk) (128K)

static struct BurnRomInfo SpecsherwoodRomDesc[] = {
	{ "Sherwood (1992)(Ultrasoft)(sk)[128K].z80", 0x0ac03, 0xe25ffce9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsherwood, Specsherwood, Spectrum)
STD_ROM_FN(Specsherwood)

struct BurnDriver BurnSpecsherwood = {
	"spec_sherwood", NULL, "spec_spec128", NULL, "1992",
	"Sherwood (sk) (128K)\0", NULL, "Ultrasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsherwoodRomInfo, SpecsherwoodRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sherwood Forest (48K)

static struct BurnRomInfo SpecsherforeRomDesc[] = {
	{ "Sherwood Forest (1984)(Delta 4 Software).z80", 0x08ac1, 0x49ca0f98, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsherfore, Specsherfore, Spectrum)
STD_ROM_FN(Specsherfore)

struct BurnDriver BurnSpecsherfore = {
	"spec_sherfore", NULL, "spec_spectrum", NULL, "1984",
	"Sherwood Forest (48K)\0", NULL, "Delta 4 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsherforeRomInfo, SpecsherforeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shimmerkin (48K)

static struct BurnRomInfo SpecshimmerkRomDesc[] = {
	{ "Shimmerkin (19xx)(Adventure Probe Software).z80", 0x09240, 0xb0fefae5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshimmerk, Specshimmerk, Spectrum)
STD_ROM_FN(Specshimmerk)

struct BurnDriver BurnSpecshimmerk = {
	"spec_shimmerk", NULL, "spec_spectrum", NULL, "19xx",
	"Shimmerkin (48K)\0", NULL, "Adventure Probe Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshimmerkRomInfo, SpecshimmerkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shinobi (128K)

static struct BurnRomInfo SpecshinobiRomDesc[] = {
	{ "Shinobi (1989)(Virgin Games)[128K].z80", 0x0d8b0, 0x3ca7a9e7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshinobi, Specshinobi, Spectrum)
STD_ROM_FN(Specshinobi)

struct BurnDriver BurnSpecshinobi = {
	"spec_shinobi", NULL, "spec_spec128", NULL, "1989",
	"Shinobi (128K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshinobiRomInfo, SpecshinobiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ship of the Line (48K)

static struct BurnRomInfo SpecshiplineRomDesc[] = {
	{ "Ship of the Line (1982)(Richard Shepherd Software).z80", 0x044f8, 0xb0077504, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshipline, Specshipline, Spectrum)
STD_ROM_FN(Specshipline)

struct BurnDriver BurnSpecshipline = {
	"spec_shipline", NULL, "spec_spectrum", NULL, "1982",
	"Ship of the Line (48K)\0", NULL, "Richard Shepherd Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshiplineRomInfo, SpecshiplineRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ships (pl) (48K)

static struct BurnRomInfo SpecshipsplRomDesc[] = {
	{ "Ships (1984)(J. Cichorski)(pl).z80", 0x03f57, 0xeae7be2b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshipspl, Specshipspl, Spectrum)
STD_ROM_FN(Specshipspl)

struct BurnDriver BurnSpecshipspl = {
	"spec_shipspl", NULL, "spec_spectrum", NULL, "1984",
	"Ships (pl) (48K)\0", NULL, "J. Cichorski", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshipsplRomInfo, SpecshipsplRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shipwreck (48K)

static struct BurnRomInfo SpecshipwrecRomDesc[] = {
	{ "Shipwreck (1987)(Tartan Software).z80", 0x0b0e7, 0x2ab7015a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshipwrec, Specshipwrec, Spectrum)
STD_ROM_FN(Specshipwrec)

struct BurnDriver BurnSpecshipwrec = {
	"spec_shipwrec", NULL, "spec_spectrum", NULL, "1987",
	"Shipwreck (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshipwrecRomInfo, SpecshipwrecRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shockway Rider (48K)

static struct BurnRomInfo SpecshocrideRomDesc[] = {
	{ "Shockway Rider (1987)(Faster Than Light).z80", 0x09ba6, 0xab0cd22e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshocride, Specshocride, Spectrum)
STD_ROM_FN(Specshocride)

struct BurnDriver BurnSpecshocride = {
	"spec_shocride", NULL, "spec_spectrum", NULL, "1987",
	"Shockway Rider (48K)\0", NULL, "Faster Than Light", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshocrideRomInfo, SpecshocrideRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shoot Out (48K)

static struct BurnRomInfo Specshootout_48RomDesc[] = {
	{ "Shoot Out (1988)(Martech Games).z80", 0x09228, 0xd41de8d2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshootout_48, Specshootout_48, Spectrum)
STD_ROM_FN(Specshootout_48)

struct BurnDriver BurnSpecshootout_48 = {
	"spec_shootout_48", "spec_shootout", "spec_spectrum", NULL, "1988",
	"Shoot Out (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specshootout_48RomInfo, Specshootout_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shoot Out (128K)

static struct BurnRomInfo SpecshootoutRomDesc[] = {
	{ "Shoot Out (1988)(Martech Games)[128K].z80", 0x092ae, 0x44094bbe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshootout, Specshootout, Spectrum)
STD_ROM_FN(Specshootout)

struct BurnDriver BurnSpecshootout = {
	"spec_shootout", NULL, "spec_spec128", NULL, "1988",
	"Shoot Out (128K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshootoutRomInfo, SpecshootoutRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shoot That Tank (48K)

static struct BurnRomInfo SpecshothataRomDesc[] = {
	{ "Shoot That Tank (1996)(CSSCGC).z80", 0x020e5, 0xadd49af7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshothata, Specshothata, Spectrum)
STD_ROM_FN(Specshothata)

struct BurnDriver BurnSpecshothata = {
	"spec_shothata", NULL, "spec_spectrum", NULL, "1996",
	"Shoot That Tank (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshothataRomInfo, SpecshothataRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shoot'em Down (sv) (48K)

static struct BurnRomInfo SpecshoodownRomDesc[] = {
	{ "Shoot'em Down (19xx)(Bo Jangeborg)(sv).z80", 0x01c33, 0x2550729b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshoodown, Specshoodown, Spectrum)
STD_ROM_FN(Specshoodown)

struct BurnDriver BurnSpecshoodown = {
	"spec_shoodown", NULL, "spec_spectrum", NULL, "19xx",
	"Shoot'em Down (sv) (48K)\0", NULL, "Bo Jangeborg", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshoodownRomInfo, SpecshoodownRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Short Circuit (Part 1 of 2) (48K)

static struct BurnRomInfo Specshortcir_48RomDesc[] = {
	{ "Short Circuit (1987)(Ocean)(Part 1 of 2).z80", 0x09a3d, 0x12e76953, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshortcir_48, Specshortcir_48, Spectrum)
STD_ROM_FN(Specshortcir_48)

struct BurnDriver BurnSpecshortcir_48 = {
	"spec_shortcir_48", "spec_shortcir", "spec_spectrum", NULL, "1987",
	"Short Circuit (Part 1 of 2) (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specshortcir_48RomInfo, Specshortcir_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Short Circuit (Part 2 of 2) (48K)

static struct BurnRomInfo Specshortcir2_48RomDesc[] = {
	{ "Short Circuit (1987)(Ocean)(Part 2 of 2).z80", 0x09394, 0x2d4995a8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshortcir2_48, Specshortcir2_48, Spectrum)
STD_ROM_FN(Specshortcir2_48)

struct BurnDriver BurnSpecshortcir2_48 = {
	"spec_shortcir2_48", "spec_shortcir", "spec_spectrum", NULL, "1987",
	"Short Circuit (Part 2 of 2) (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specshortcir2_48RomInfo, Specshortcir2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Short Circuit (128K)

static struct BurnRomInfo SpecshortcirRomDesc[] = {
	{ "Short Circuit (1987)(Ocean)[128K].z80", 0x14317, 0x389c76eb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshortcir, Specshortcir, Spectrum)
STD_ROM_FN(Specshortcir)

struct BurnDriver BurnSpecshortcir = {
	"spec_shortcir", NULL, "spec_spec128", NULL, "1987",
	"Short Circuit (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshortcirRomInfo, SpecshortcirRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Short's Fuse (48K)

static struct BurnRomInfo SpecshorfuseRomDesc[] = {
	{ "Short's Fuse (1985)(Firebird Software).z80", 0x07d04, 0x0caa52dc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshorfuse, Specshorfuse, Spectrum)
STD_ROM_FN(Specshorfuse)

struct BurnDriver BurnSpecshorfuse = {
	"spec_shorfuse", NULL, "spec_spectrum", NULL, "1985",
	"Short's Fuse (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshorfuseRomInfo, SpecshorfuseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Show Jumping (48K)

static struct BurnRomInfo SpecshowjumpRomDesc[] = {
	{ "Show Jumping (1986)(Alligata Software).z80", 0x0a4b3, 0xc019ad0d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshowjump, Specshowjump, Spectrum)
STD_ROM_FN(Specshowjump)

struct BurnDriver BurnSpecshowjump = {
	"spec_showjump", NULL, "spec_spectrum", NULL, "1986",
	"Show Jumping (48K)\0", NULL, "Alligata Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshowjumpRomInfo, SpecshowjumpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shrewsbury Key (48K)

static struct BurnRomInfo SpecshrekeyRomDesc[] = {
	{ "Shrewsbury Key (1986)(Players Software).z80", 0x097ae, 0x27fe2415, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshrekey, Specshrekey, Spectrum)
STD_ROM_FN(Specshrekey)

struct BurnDriver BurnSpecshrekey = {
	"spec_shrekey", NULL, "spec_spectrum", NULL, "1986",
	"Shrewsbury Key (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshrekeyRomInfo, SpecshrekeyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shrink Wrapped V.5 (48K)

static struct BurnRomInfo Specshrwrav5RomDesc[] = {
	{ "Shrink Wrapped V.5 (1985)(Keith Symonds).z80", 0x01641, 0x931ed3a9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshrwrav5, Specshrwrav5, Spectrum)
STD_ROM_FN(Specshrwrav5)

struct BurnDriver BurnSpecshrwrav5 = {
	"spec_shrwrav5", NULL, "spec_spectrum", NULL, "1985",
	"Shrink Wrapped V.5 (48K)\0", NULL, "Keith Symonds", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specshrwrav5RomInfo, Specshrwrav5RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shuttle (48K)

static struct BurnRomInfo SpecshuttleRomDesc[] = {
	{ "Shuttle (1983)(Blaby Computer Games).z80", 0x05d4f, 0xb77921f3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshuttle, Specshuttle, Spectrum)
STD_ROM_FN(Specshuttle)

struct BurnDriver BurnSpecshuttle = {
	"spec_shuttle", NULL, "spec_spectrum", NULL, "1983",
	"Shuttle (48K)\0", NULL, "Blaby Computer Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshuttleRomInfo, SpecshuttleRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shuttle Shock (48K)

static struct BurnRomInfo SpecshutshocRomDesc[] = {
	{ "Shuttle Shock (1984)(Software Super Savers).z80", 0x039a5, 0x2b7a04d5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshutshoc, Specshutshoc, Spectrum)
STD_ROM_FN(Specshutshoc)

struct BurnDriver BurnSpecshutshoc = {
	"spec_shutshoc", NULL, "spec_spectrum", NULL, "1984",
	"Shuttle Shock (48K)\0", NULL, "Software Super Savers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshutshocRomInfo, SpecshutshocRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Shuttle Simulator (48K)

static struct BurnRomInfo SpecshutsimuRomDesc[] = {
	{ "Shuttle Simulator (1983)(Microdeal).z80", 0x05ef6, 0xcf915208, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshutsimu, Specshutsimu, Spectrum)
STD_ROM_FN(Specshutsimu)

struct BurnDriver BurnSpecshutsimu = {
	"spec_shutsimu", NULL, "spec_spectrum", NULL, "1983",
	"Shuttle Simulator (48K)\0", NULL, "Microdeal", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshutsimuRomInfo, SpecshutsimuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Side Arms (48K)

static struct BurnRomInfo SpecsidearmsRomDesc[] = {
	{ "Side Arms (1988)(Go!).z80", 0x0b89b, 0xcb9fcf76, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsidearms, Specsidearms, Spectrum)
STD_ROM_FN(Specsidearms)

struct BurnDriver BurnSpecsidearms = {
	"spec_sidearms", NULL, "spec_spectrum", NULL, "1988",
	"Side Arms (48K)\0", NULL, "Go!", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsidearmsRomInfo, SpecsidearmsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sideral War (48K)

static struct BurnRomInfo SpecsidewarRomDesc[] = {
	{ "Sideral War (1990)(Delta Software).z80", 0x068e3, 0x4a1b6381, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsidewar, Specsidewar, Spectrum)
STD_ROM_FN(Specsidewar)

struct BurnDriver BurnSpecsidewar = {
	"spec_sidewar", NULL, "spec_spectrum", NULL, "1990",
	"Sideral War (48K)\0", NULL, "Delta Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsidewarRomInfo, SpecsidewarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sidewalk (48K)

static struct BurnRomInfo SpecsidewalkRomDesc[] = {
	{ "Sidewalk (1987)(Infogrames).z80", 0x0a5c6, 0xaa955516, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsidewalk, Specsidewalk, Spectrum)
STD_ROM_FN(Specsidewalk)

struct BurnDriver BurnSpecsidewalk = {
	"spec_sidewalk", NULL, "spec_spectrum", NULL, "1987",
	"Sidewalk (48K)\0", NULL, "Infogrames", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsidewalkRomInfo, SpecsidewalkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sidewinder II (48K)

static struct BurnRomInfo Specsidewnd2RomDesc[] = {
	{ "Sidewinder II (1989)(Mastertronic Plus).z80", 0x09400, 0xd9ee2928, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsidewnd2, Specsidewnd2, Spectrum)
STD_ROM_FN(Specsidewnd2)

struct BurnDriver BurnSpecsidewnd2 = {
	"spec_sidewnd2", NULL, "spec_spectrum", NULL, "1989",
	"Sidewinder II (48K)\0", NULL, "Mastertronic Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsidewnd2RomInfo, Specsidewnd2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sidewize (48K)

static struct BurnRomInfo SpecsidewizeRomDesc[] = {
	{ "Sidewize (1987)(Firebird Software).z80", 0x0a57f, 0x21fba6ed, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsidewize, Specsidewize, Spectrum)
STD_ROM_FN(Specsidewize)

struct BurnDriver BurnSpecsidewize = {
	"spec_sidewize", NULL, "spec_spectrum", NULL, "1987",
	"Sidewize (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsidewizeRomInfo, SpecsidewizeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sieddab Attack (48K)

static struct BurnRomInfo SpecsiedattaRomDesc[] = {
	{ "Sieddab Attack (1984)(Hewson Consultants).z80", 0x02d93, 0x1efd9de7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsiedatta, Specsiedatta, Spectrum)
STD_ROM_FN(Specsiedatta)

struct BurnDriver BurnSpecsiedatta = {
	"spec_siedatta", NULL, "spec_spectrum", NULL, "1984",
	"Sieddab Attack (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsiedattaRomInfo, SpecsiedattaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Siege (48K)

static struct BurnRomInfo SpecsiegeRomDesc[] = {
	{ "Siege (1983)(Postern).z80", 0x012d4, 0x4f2f2910, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsiege, Specsiege, Spectrum)
STD_ROM_FN(Specsiege)

struct BurnDriver BurnSpecsiege = {
	"spec_siege", NULL, "spec_spectrum", NULL, "1983",
	"Siege (48K)\0", NULL, "Postern", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsiegeRomInfo, SpecsiegeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sigma 7 (48K)

static struct BurnRomInfo Specsigma7_48RomDesc[] = {
	{ "Sigma 7 (1987)(Durell Software).z80", 0x09689, 0xe5d22d89, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsigma7_48, Specsigma7_48, Spectrum)
STD_ROM_FN(Specsigma7_48)

struct BurnDriver BurnSpecsigma7_48 = {
	"spec_sigma7_48", "spec_sigma7", "spec_spectrum", NULL, "1987",
	"Sigma 7 (48K)\0", NULL, "Durell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsigma7_48RomInfo, Specsigma7_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sigma 7 (128K)

static struct BurnRomInfo Specsigma7RomDesc[] = {
	{ "Sigma 7 (1987)(Durell Software)[128K].z80", 0x0a5da, 0xd398c447, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsigma7, Specsigma7, Spectrum)
STD_ROM_FN(Specsigma7)

struct BurnDriver BurnSpecsigma7 = {
	"spec_sigma7", NULL, "spec_spec128", NULL, "1987",
	"Sigma 7 (128K)\0", NULL, "Durell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsigma7RomInfo, Specsigma7RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Silent Service (48K)

static struct BurnRomInfo SpecsileservRomDesc[] = {
	{ "Silent Service (1986)(Microprose Software).z80", 0x09754, 0x7c1d9396, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsileserv, Specsileserv, Spectrum)
STD_ROM_FN(Specsileserv)

struct BurnDriver BurnSpecsileserv = {
	"spec_sileserv", NULL, "spec_spectrum", NULL, "1986",
	"Silent Service (48K)\0", NULL, "Microprose Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsileservRomInfo, SpecsileservRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Silicon Dreams Trilogy I - Snowball (48K)

static struct BurnRomInfo SpecsilcndrmRomDesc[] = {
	{ "Silicon Dreams Trilogy I - Snowball (1983)(Level 9 Computing).z80", 0x076f3, 0xcf48e939, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsilcndrm, Specsilcndrm, Spectrum)
STD_ROM_FN(Specsilcndrm)

struct BurnDriver BurnSpecsilcndrm = {
	"spec_silcndrm", NULL, "spec_spectrum", NULL, "1983",
	"Silicon Dreams Trilogy I - Snowball (48K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsilcndrmRomInfo, SpecsilcndrmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Silicon Dreams Trilogy II - Return to Eden (48K)

static struct BurnRomInfo Specsilcndr2RomDesc[] = {
	{ "Silicon Dreams Trilogy II - Return to Eden (1984)(Level 9 Computing).z80", 0x0b408, 0xb8fc479e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsilcndr2, Specsilcndr2, Spectrum)
STD_ROM_FN(Specsilcndr2)

struct BurnDriver BurnSpecsilcndr2 = {
	"spec_silcndr2", NULL, "spec_spectrum", NULL, "1984",
	"Silicon Dreams Trilogy II - Return to Eden (48K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsilcndr2RomInfo, Specsilcndr2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Silicon Dreams Trilogy III - The Worm in Paradise (48K)

static struct BurnRomInfo Specsilcndr3RomDesc[] = {
	{ "Silicon Dreams Trilogy III - The Worm in Paradise (1985)(Level 9 Computing).z80", 0x09782, 0x45966c05, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsilcndr3, Specsilcndr3, Spectrum)
STD_ROM_FN(Specsilcndr3)

struct BurnDriver BurnSpecsilcndr3 = {
	"spec_silcndr3", NULL, "spec_spectrum", NULL, "1985",
	"Silicon Dreams Trilogy III - The Worm in Paradise (48K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsilcndr3RomInfo, Specsilcndr3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Silicon Dreams Trilogy III - The Worm in Paradise v2 (48K)

static struct BurnRomInfo Specsilcndr4RomDesc[] = {
	{ "Silicon Dreams Trilogy III - The Worm in Paradise v2 (1985)(Level 9 Computing).z80", 0x0ac8f, 0xf33983ac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsilcndr4, Specsilcndr4, Spectrum)
STD_ROM_FN(Specsilcndr4)

struct BurnDriver BurnSpecsilcndr4 = {
	"spec_silcndr4", NULL, "spec_spectrum", NULL, "1985",
	"Silicon Dreams Trilogy III - The Worm in Paradise v2 (48K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsilcndr4RomInfo, Specsilcndr4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Silkworm (128K)

static struct BurnRomInfo SpecsilkwormRomDesc[] = {
	{ "Silkworm (1989)(Virgin Games)[128K].z80", 0x174d9, 0xeb973e1c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsilkworm, Specsilkworm, Spectrum)
STD_ROM_FN(Specsilkworm)

struct BurnDriver BurnSpecsilkworm = {
	"spec_silkworm", NULL, "spec_spec128", NULL, "1989",
	"Silkworm (128K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsilkwormRomInfo, SpecsilkwormRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Silly Adventure Number One (48K)

static struct BurnRomInfo SpecsiadnuonRomDesc[] = {
	{ "Silly Adventure Number One (19xx)(D.R. Stone).z80", 0x099c0, 0x2260ec58, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsiadnuon, Specsiadnuon, Spectrum)
STD_ROM_FN(Specsiadnuon)

struct BurnDriver BurnSpecsiadnuon = {
	"spec_siadnuon", NULL, "spec_spectrum", NULL, "19xx",
	"Silly Adventure Number One (48K)\0", NULL, "D.R. Stone", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsiadnuonRomInfo, SpecsiadnuonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sillycon War, The (48K)

static struct BurnRomInfo SpecsilwarthRomDesc[] = {
	{ "Sillycon War, The (1985)(Maz H. Spork).z80", 0x08e85, 0xcb2124e7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsilwarth, Specsilwarth, Spectrum)
STD_ROM_FN(Specsilwarth)

struct BurnDriver BurnSpecsilwarth = {
	"spec_silwarth", NULL, "spec_spectrum", NULL, "1985",
	"Sillycon War, The (48K)\0", NULL, "Maz H. Spork", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsilwarthRomInfo, SpecsilwarthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Silverwolf - Part 1 - Quest for the Sword (48K)

static struct BurnRomInfo SpecsilvwolfRomDesc[] = {
	{ "Silverwolf - Part 1 - Quest for the Sword (1992)(Zenobi Software).z80", 0x0996c, 0x33076e11, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsilvwolf, Specsilvwolf, Spectrum)
STD_ROM_FN(Specsilvwolf)

struct BurnDriver BurnSpecsilvwolf = {
	"spec_silvwolf", NULL, "spec_spectrum", NULL, "1992",
	"Silverwolf - Part 1 - Quest for the Sword (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsilvwolfRomInfo, SpecsilvwolfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Silverwolf - Part 2 - The Sacred Mountain (48K)

static struct BurnRomInfo Specsilvwolf2RomDesc[] = {
	{ "Silverwolf - Part 2 - The Sacred Mountain (1992)(Zenobi Software).z80", 0x098f6, 0x91eda55a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsilvwolf2, Specsilvwolf2, Spectrum)
STD_ROM_FN(Specsilvwolf2)

struct BurnDriver BurnSpecsilvwolf2 = {
	"spec_silvwolf2", "spec_silvwolf", "spec_spectrum", NULL, "1992",
	"Silverwolf - Part 2 - The Sacred Mountain (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsilvwolf2RomInfo, Specsilvwolf2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sim City (48K)

static struct BurnRomInfo SpecsimcityRomDesc[] = {
	{ "Sim City (1989)(Infogrames).z80", 0x066f0, 0x83ec2144, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsimcity, Specsimcity, Spectrum)
STD_ROM_FN(Specsimcity)

struct BurnDriver BurnSpecsimcity = {
	"spec_simcity", NULL, "spec_spectrum", NULL, "1989",
	"Sim City (48K)\0", NULL, "Infogrames", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsimcityRomInfo, SpecsimcityRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Simeon (48K)

static struct BurnRomInfo SpecsimeonRomDesc[] = {
	{ "Simeon (1986)(DDS).z80", 0x03390, 0xbe534de9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsimeon, Specsimeon, Spectrum)
STD_ROM_FN(Specsimeon)

struct BurnDriver BurnSpecsimeon = {
	"spec_simeon", NULL, "spec_spectrum", NULL, "1986",
	"Simeon (48K)\0", NULL, "DDS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsimeonRomInfo, SpecsimeonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Simulador Profesional de Tenis (Spanish) (48K)

static struct BurnRomInfo SpecsimproteRomDesc[] = {
	{ "Simulador Profesional de Tenis (1990)(Dinamic Software)(es).z80", 0x0b06f, 0x6a0f2449, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsimprote, Specsimprote, Spectrum)
STD_ROM_FN(Specsimprote)

struct BurnDriver BurnSpecsimprote = {
	"spec_simprote", NULL, "spec_spectrum", NULL, "1990",
	"Simulador Profesional de Tenis (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsimproteRomInfo, SpecsimproteRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sin Nombre (Spanish) (48K)

static struct BurnRomInfo SpecsinnombrRomDesc[] = {
	{ "Sin Nombre (1990)(Juana Pueblo Soft)(es).z80", 0x08bad, 0x5db34676, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsinnombr, Specsinnombr, Spectrum)
STD_ROM_FN(Specsinnombr)

struct BurnDriver BurnSpecsinnombr = {
	"spec_sinnombr", NULL, "spec_spectrum", NULL, "1990",
	"Sin Nombre (Spanish) (48K)\0", NULL, "Juana Pueblo Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsinnombrRomInfo, SpecsinnombrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sinbad and the Golden Ship (Part 1 of 2) (48K)

static struct BurnRomInfo SpecsinbadgsRomDesc[] = {
	{ "Sinbad and the Golden Ship (1986)(Mastervision)(Part 1 of 2).z80", 0x0a7c1, 0x6892ec36, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsinbadgs, Specsinbadgs, Spectrum)
STD_ROM_FN(Specsinbadgs)

struct BurnDriver BurnSpecsinbadgs = {
	"spec_sinbadgs", NULL, "spec_spectrum", NULL, "1986",
	"Sinbad and the Golden Ship (Part 1 of 2) (48K)\0", NULL, "Mastervision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsinbadgsRomInfo, SpecsinbadgsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sinbad and the Golden Ship (Part 2 of 2) (48K)

static struct BurnRomInfo Specsinbadgs2RomDesc[] = {
	{ "Sinbad and the Golden Ship (1986)(Mastervision)(Part 2 of 2).z80", 0x0a95d, 0x29478e24, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsinbadgs2, Specsinbadgs2, Spectrum)
STD_ROM_FN(Specsinbadgs2)

struct BurnDriver BurnSpecsinbadgs2 = {
	"spec_sinbadgs2", "spec_sinbadgs", "spec_spectrum", NULL, "1986",
	"Sinbad and the Golden Ship (Part 2 of 2) (48K)\0", NULL, "Mastervision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsinbadgs2RomInfo, Specsinbadgs2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sink the Belgrano (48K)

static struct BurnRomInfo SpecsinkbelgRomDesc[] = {
	{ "Sink the Belgrano (1997)(CSSCGC).z80", 0x010db, 0x5267dc63, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsinkbelg, Specsinkbelg, Spectrum)
STD_ROM_FN(Specsinkbelg)

struct BurnDriver BurnSpecsinkbelg = {
	"spec_sinkbelg", NULL, "spec_spectrum", NULL, "1997",
	"Sink the Belgrano (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsinkbelgRomInfo, SpecsinkbelgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sir Fred (48K)

static struct BurnRomInfo SpecsirfredRomDesc[] = {
	{ "Sir Fred (1986)(Mikro-Gen)[re-release].z80", 0x0a363, 0x4004e360, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsirfred, Specsirfred, Spectrum)
STD_ROM_FN(Specsirfred)

struct BurnDriver BurnSpecsirfred = {
	"spec_sirfred", NULL, "spec_spectrum", NULL, "1986",
	"Sir Fred (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsirfredRomInfo, SpecsirfredRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sir Lancelot (48K)

static struct BurnRomInfo SpecsirlanceRomDesc[] = {
	{ "Sir Lancelot (1984)(Melbourne House).z80", 0x030de, 0xc2acb9df, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsirlance, Specsirlance, Spectrum)
STD_ROM_FN(Specsirlance)

struct BurnDriver BurnSpecsirlance = {
	"spec_sirlance", NULL, "spec_spectrum", NULL, "1984",
	"Sir Lancelot (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsirlanceRomInfo, SpecsirlanceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sir Loin (48K)

static struct BurnRomInfo SpecsirloinRomDesc[] = {
	{ "Sir Loin (1987)(Silverbird Software).z80", 0x0a244, 0xfdd7e0fa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsirloin, Specsirloin, Spectrum)
STD_ROM_FN(Specsirloin)

struct BurnDriver BurnSpecsirloin = {
	"spec_sirloin", NULL, "spec_spectrum", NULL, "1987",
	"Sir Loin (48K)\0", NULL, "Silverbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsirloinRomInfo, SpecsirloinRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sir Sigfrid (Spanish) (48K)

static struct BurnRomInfo SpecsirsigfrRomDesc[] = {
	{ "Sir Sigfrid (1986)(Luis I. Garcia Ventura)(es).z80", 0x0951b, 0xd8d81f0a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsirsigfr, Specsirsigfr, Spectrum)
STD_ROM_FN(Specsirsigfr)

struct BurnDriver BurnSpecsirsigfr = {
	"spec_sirsigfr", NULL, "spec_spectrum", NULL, "1986",
	"Sir Sigfrid (Spanish) (48K)\0", NULL, "Luis I. Garcia Ventura", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsirsigfrRomInfo, SpecsirsigfrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sirwood - Intro (128K)

static struct BurnRomInfo SpecsirwoodRomDesc[] = {
	{ "Sirwood - Intro (1990)(Opera Soft)[128K].z80", 0x0a1e6, 0x3ab17799, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsirwood, Specsirwood, Spectrum)
STD_ROM_FN(Specsirwood)

struct BurnDriver BurnSpecsirwood = {
	"spec_sirwood", NULL, "spec_spec128", NULL, "1990",
	"Sirwood - Intro (128K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsirwoodRomInfo, SpecsirwoodRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sirwood (Part 1 of 3) (128K)

static struct BurnRomInfo Specsirwoodg1RomDesc[] = {
	{ "Sirwood (1990)(Opera Soft)(Part 1 of 3)[t][128K].z80", 0x0b051, 0xcc5e4c01, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsirwoodg1, Specsirwoodg1, Spectrum)
STD_ROM_FN(Specsirwoodg1)

struct BurnDriver BurnSpecsirwoodg1 = {
	"spec_sirwoodg1", "spec_sirwood", "spec_spec128", NULL, "1990",
	"Sirwood (Part 1 of 3) (128K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsirwoodg1RomInfo, Specsirwoodg1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sirwood (Part 2 of 3) (128K)

static struct BurnRomInfo Specsirwoodg2RomDesc[] = {
	{ "Sirwood (1990)(Opera Soft)(Part 2 of 3)[t][128K].z80", 0x0b174, 0x5e203953, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsirwoodg2, Specsirwoodg2, Spectrum)
STD_ROM_FN(Specsirwoodg2)

struct BurnDriver BurnSpecsirwoodg2 = {
	"spec_sirwoodg2", "spec_sirwood", "spec_spec128", NULL, "1990",
	"Sirwood (Part 2 of 3) (128K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsirwoodg2RomInfo, Specsirwoodg2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sirwood (Part 3 of 3) (128K)

static struct BurnRomInfo Specsirwoodg3RomDesc[] = {
	{ "Sirwood (1990)(Opera Soft)(Part 3 of 3)[t][128K].z80", 0x09ccb, 0x30ae0216, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsirwoodg3, Specsirwoodg3, Spectrum)
STD_ROM_FN(Specsirwoodg3)

struct BurnDriver BurnSpecsirwoodg3 = {
	"spec_sirwoodg3", "spec_sirwood", "spec_spec128", NULL, "1990",
	"Sirwood (Part 3 of 3) (128K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsirwoodg3RomInfo, Specsirwoodg3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sito Pons 500cc Grand Prix (Spanish) (48K)

static struct BurnRomInfo SpecsipogrprRomDesc[] = {
	{ "Sito Pons 500cc Grand Prix (1990)(Zigurat Software)(es).z80", 0x09fee, 0x28afa0c2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsipogrpr, Specsipogrpr, Spectrum)
STD_ROM_FN(Specsipogrpr)

struct BurnDriver BurnSpecsipogrpr = {
	"spec_sipogrpr", NULL, "spec_spectrum", NULL, "1990",
	"Sito Pons 500cc Grand Prix (Spanish) (48K)\0", NULL, "Zigurat Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsipogrprRomInfo, SpecsipogrprRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Six Card Cribbage (48K)

static struct BurnRomInfo SpecsixcarcrRomDesc[] = {
	{ "Six Card Cribbage (1987)(Esem Software).z80", 0x04504, 0xda837efd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsixcarcr, Specsixcarcr, Spectrum)
STD_ROM_FN(Specsixcarcr)

struct BurnDriver BurnSpecsixcarcr = {
	"spec_sixcarcr", NULL, "spec_spectrum", NULL, "1987",
	"Six Card Cribbage (48K)\0", NULL, "Esem Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsixcarcrRomInfo, SpecsixcarcrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Skabet (da) (48K)

static struct BurnRomInfo SpecskabetdaRomDesc[] = {
	{ "Skabet (1985)(JC Jumbo Data)(da).z80", 0x0bca8, 0x162fbcf0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specskabetda, Specskabetda, Spectrum)
STD_ROM_FN(Specskabetda)

struct BurnDriver BurnSpecskabetda = {
	"spec_skabetda", NULL, "spec_spectrum", NULL, "1985",
	"Skabet (da) (48K)\0", NULL, "JC Jumbo Data", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecskabetdaRomInfo, SpecskabetdaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Skate Crazy (Part 1 of 2) (128K)

static struct BurnRomInfo SpecskatecrRomDesc[] = {
	{ "Skate Crazy (1988)(Gremlin Graphics Software)(Part 1 of 2)[128K].z80", 0x0c5df, 0x16add75c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specskatecr, Specskatecr, Spectrum)
STD_ROM_FN(Specskatecr)

struct BurnDriver BurnSpecskatecr = {
	"spec_skatecr", NULL, "spec_spec128", NULL, "1988",
	"Skate Crazy (Part 1 of 2) (128K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecskatecrRomInfo, SpecskatecrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Skate Crazy (Part 2 of 2) (48K)

static struct BurnRomInfo Specskatecr2RomDesc[] = {
	{ "Skate Crazy (1988)(Gremlin Graphics Software)(Part 2 of 2).z80", 0x08ac4, 0x82d5426e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specskatecr2, Specskatecr2, Spectrum)
STD_ROM_FN(Specskatecr2)

struct BurnDriver BurnSpecskatecr2 = {
	"spec_skatecr2", "spec_skatecr", "spec_spectrum", NULL, "1988",
	"Skate Crazy (Part 2 of 2) (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specskatecr2RomInfo, Specskatecr2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Skateball (48K)

static struct BurnRomInfo SpecskatebalRomDesc[] = {
	{ "Skateball (1988)(Ubi Soft).z80", 0x088e4, 0x38a70c73, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specskatebal, Specskatebal, Spectrum)
STD_ROM_FN(Specskatebal)

struct BurnDriver BurnSpecskatebal = {
	"spec_skatebal", NULL, "spec_spectrum", NULL, "1988",
	"Skateball (48K)\0", NULL, "Ubi Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecskatebalRomInfo, SpecskatebalRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Skateboard Construction System (48K)

static struct BurnRomInfo SpecskaconsyRomDesc[] = {
	{ "Skateboard Construction System (1988)(Players Premier Software).z80", 0x090cc, 0xc09520a6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specskaconsy, Specskaconsy, Spectrum)
STD_ROM_FN(Specskaconsy)

struct BurnDriver BurnSpecskaconsy = {
	"spec_skaconsy", NULL, "spec_spectrum", NULL, "1988",
	"Skateboard Construction System (48K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecskaconsyRomInfo, SpecskaconsyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Skateboard Joust (48K)

static struct BurnRomInfo SpecskatjousRomDesc[] = {
	{ "Skateboard Joust (1989)(Silverbird Software).z80", 0x082d4, 0xfe15eeb4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specskatjous, Specskatjous, Spectrum)
STD_ROM_FN(Specskatjous)

struct BurnDriver BurnSpecskatjous = {
	"spec_skatjous", NULL, "spec_spectrum", NULL, "1989",
	"Skateboard Joust (48K)\0", NULL, "Silverbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecskatjousRomInfo, SpecskatjousRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Skateboard Kidz (128K)

static struct BurnRomInfo SpecskatkidzRomDesc[] = {
	{ "Skateboard Kidz (1988)(Silverbird Software)[128K].z80", 0x0fed4, 0x4811f561, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specskatkidz, Specskatkidz, Spectrum)
STD_ROM_FN(Specskatkidz)

struct BurnDriver BurnSpecskatkidz = {
	"spec_skatkidz", NULL, "spec_spec128", NULL, "1988",
	"Skateboard Kidz (128K)\0", NULL, "Silverbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecskatkidzRomInfo, SpecskatkidzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Skatin' USA (48K)

static struct BurnRomInfo SpecskusaRomDesc[] = {
	{ "Skatin' USA (1989)(Atlantis Software).z80", 0x0a96d, 0x05b70f39, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specskusa, Specskusa, Spectrum)
STD_ROM_FN(Specskusa)

struct BurnDriver BurnSpecskusa = {
	"spec_skusa", NULL, "spec_spectrum", NULL, "1989",
	"Skatin' USA (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecskusaRomInfo, SpecskusaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Skelvullyn Twine - Intro (48K)

static struct BurnRomInfo SpecskeltwinRomDesc[] = {
	{ "Skelvullyn Twine - Intro (1988)(8th Day Software).z80", 0x098e7, 0x3f03c46c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specskeltwin, Specskeltwin, Spectrum)
STD_ROM_FN(Specskeltwin)

struct BurnDriver BurnSpecskeltwin = {
	"spec_skeltwin", NULL, "spec_spectrum", NULL, "1988",
	"Skelvullyn Twine - Intro (48K)\0", NULL, "8th Day Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecskeltwinRomInfo, SpecskeltwinRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Skelvullyn Twine (Part 1 of 3) (48K)

static struct BurnRomInfo Specskeltwing1RomDesc[] = {
	{ "Skelvullyn Twine (1988)(8th Day Software)(Part 1 of 3).z80", 0x08e0f, 0x19f7cedd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specskeltwing1, Specskeltwing1, Spectrum)
STD_ROM_FN(Specskeltwing1)

struct BurnDriver BurnSpecskeltwing1 = {
	"spec_skeltwing1", "spec_skeltwin", "spec_spectrum", NULL, "1988",
	"Skelvullyn Twine (Part 1 of 3) (48K)\0", NULL, "8th Day Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specskeltwing1RomInfo, Specskeltwing1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Skelvullyn Twine (Part 2 of 3) (48K)

static struct BurnRomInfo Specskeltwing2RomDesc[] = {
	{ "Skelvullyn Twine (1988)(8th Day Software)(Part 2 of 3).z80", 0x09112, 0xa8474352, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specskeltwing2, Specskeltwing2, Spectrum)
STD_ROM_FN(Specskeltwing2)

struct BurnDriver BurnSpecskeltwing2 = {
	"spec_skeltwing2", "spec_skeltwin", "spec_spectrum", NULL, "1988",
	"Skelvullyn Twine (Part 2 of 3) (48K)\0", NULL, "8th Day Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specskeltwing2RomInfo, Specskeltwing2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Skelvullyn Twine (Part 3 of 3) (48K)

static struct BurnRomInfo Specskeltwing3RomDesc[] = {
	{ "Skelvullyn Twine (1988)(8th Day Software)(Part 3 of 3).z80", 0x0946a, 0x9e84e7cf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specskeltwing3, Specskeltwing3, Spectrum)
STD_ROM_FN(Specskeltwing3)

struct BurnDriver BurnSpecskeltwing3 = {
	"spec_skeltwing3", "spec_skeltwin", "spec_spectrum", NULL, "1988",
	"Skelvullyn Twine (Part 3 of 3) (48K)\0", NULL, "8th Day Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specskeltwing3RomInfo, Specskeltwing3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ski Star 2000 (48K)

static struct BurnRomInfo Specskistar2RomDesc[] = {
	{ "Ski Star 2000 (1985)(Richard Shepherd Software).z80", 0x0708f, 0x0d0ee3a6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specskistar2, Specskistar2, Spectrum)
STD_ROM_FN(Specskistar2)

struct BurnDriver BurnSpecskistar2 = {
	"spec_skistar2", NULL, "spec_spectrum", NULL, "1985",
	"Ski Star 2000 (48K)\0", NULL, "Richard Shepherd Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specskistar2RomInfo, Specskistar2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Skiing (48K)

static struct BurnRomInfo SpecskiingRomDesc[] = {
	{ "Skiing (1996)(CSSCGC).z80", 0x01caa, 0x61a98893, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specskiing, Specskiing, Spectrum)
STD_ROM_FN(Specskiing)

struct BurnDriver BurnSpecskiing = {
	"spec_skiing", NULL, "spec_spectrum", NULL, "1996",
	"Skiing (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecskiingRomInfo, SpecskiingRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Skinhead (48K)

static struct BurnRomInfo SpecskinheadRomDesc[] = {
	{ "Skinhead (1998)(CSSCGC).z80", 0x01170, 0x015c8b13, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specskinhead, Specskinhead, Spectrum)
STD_ROM_FN(Specskinhead)

struct BurnDriver BurnSpecskinhead = {
	"spec_skinhead", NULL, "spec_spectrum", NULL, "1998",
	"Skinhead (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecskinheadRomInfo, SpecskinheadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Skladacka (cs) (48K)

static struct BurnRomInfo SpecskladackRomDesc[] = {
	{ "Skladacka (1989)(Deltasoft)(cs).z80", 0x09796, 0x243e4f5b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specskladack, Specskladack, Spectrum)
STD_ROM_FN(Specskladack)

struct BurnDriver BurnSpecskladack = {
	"spec_skladack", NULL, "spec_spectrum", NULL, "1989",
	"Skladacka (cs) (48K)\0", NULL, "Deltasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecskladackRomInfo, SpecskladackRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Skool Daze (48K)

static struct BurnRomInfo SpecskoldazeRomDesc[] = {
	{ "Skool Daze (1985)(Microsphere).z80", 0x0a5f5, 0x4034c78b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specskoldaze, Specskoldaze, Spectrum)
STD_ROM_FN(Specskoldaze)

struct BurnDriver BurnSpecskoldaze = {
	"spec_skoldaze", NULL, "spec_spectrum", NULL, "1985",
	"Skool Daze (48K)\0", NULL, "Microsphere", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecskoldazeRomInfo, SpecskoldazeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Skuldugery (48K)

static struct BurnRomInfo SpecskuldugeRomDesc[] = {
	{ "Skuldugery (1987)(K'Soft).z80", 0x06ecc, 0x48086894, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specskulduge, Specskulduge, Spectrum)
STD_ROM_FN(Specskulduge)

struct BurnDriver BurnSpecskulduge = {
	"spec_skulduge", NULL, "spec_spectrum", NULL, "1987",
	"Skuldugery (48K)\0", NULL, "K'Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecskuldugeRomInfo, SpecskuldugeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Skull & Crossbones (128K)

static struct BurnRomInfo SpecskulcrosRomDesc[] = {
	{ "Skull & Crossbones (1991)(Domark)[128K].z80", 0x168ed, 0x11c7f41f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specskulcros, Specskulcros, Spectrum)
STD_ROM_FN(Specskulcros)

struct BurnDriver BurnSpecskulcros = {
	"spec_skulcros", NULL, "spec_spec128", NULL, "1991",
	"Skull & Crossbones (128K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecskulcrosRomInfo, SpecskulcrosRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sky Diver (German) (48K)

static struct BurnRomInfo SpecskydiverRomDesc[] = {
	{ "Sky Diver (1983)(Scele & Ufo Software)(de).z80", 0x026b8, 0xad41a5ee, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specskydiver, Specskydiver, Spectrum)
STD_ROM_FN(Specskydiver)

struct BurnDriver BurnSpecskydiver = {
	"spec_skydiver", NULL, "spec_spectrum", NULL, "1983",
	"Sky Diver (German) (48K)\0", NULL, "Scele & Ufo Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecskydiverRomInfo, SpecskydiverRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sky High Stuntman (48K)

static struct BurnRomInfo SpecskyhigstRomDesc[] = {
	{ "Sky High Stuntman (1991)(Codemasters).z80", 0x09bf3, 0x3cd7dd8c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specskyhigst, Specskyhigst, Spectrum)
STD_ROM_FN(Specskyhigst)

struct BurnDriver BurnSpecskyhigst = {
	"spec_skyhigst", NULL, "spec_spectrum", NULL, "1991",
	"Sky High Stuntman (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecskyhigstRomInfo, SpecskyhigstRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sky Runner (48K)

static struct BurnRomInfo SpecskyrunneRomDesc[] = {
	{ "Sky Runner (1987)(Cascade Games).z80", 0x076d6, 0xe607dcee, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specskyrunne, Specskyrunne, Spectrum)
STD_ROM_FN(Specskyrunne)

struct BurnDriver BurnSpecskyrunne = {
	"spec_skyrunne", NULL, "spec_spectrum", NULL, "1987",
	"Sky Runner (48K)\0", NULL, "Cascade Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecskyrunneRomInfo, SpecskyrunneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Skyfox (48K)

static struct BurnRomInfo SpecskyfoxRomDesc[] = {
	{ "Skyfox (1985)(Ariolasoft UK).z80", 0x095da, 0x15123739, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specskyfox, Specskyfox, Spectrum)
STD_ROM_FN(Specskyfox)

struct BurnDriver BurnSpecskyfox = {
	"spec_skyfox", NULL, "spec_spectrum", NULL, "1985",
	"Skyfox (48K)\0", NULL, "Ariolasoft UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecskyfoxRomInfo, SpecskyfoxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Slaine - The Celtic Barbarian (48K)

static struct BurnRomInfo SpecslthcebaRomDesc[] = {
	{ "Slaine - The Celtic Barbarian (1987)(Martech Games).z80", 0x0940c, 0xfc6f402c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specslthceba, Specslthceba, Spectrum)
STD_ROM_FN(Specslthceba)

struct BurnDriver BurnSpecslthceba = {
	"spec_slthceba", NULL, "spec_spectrum", NULL, "1987",
	"Slaine - The Celtic Barbarian (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecslthcebaRomInfo, SpecslthcebaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Slalom (48K)

static struct BurnRomInfo SpecslalomRomDesc[] = {
	{ "Slalom (19xx)(-).z80", 0x00855, 0xe5d069ea, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specslalom, Specslalom, Spectrum)
STD_ROM_FN(Specslalom)

struct BurnDriver BurnSpecslalom = {
	"spec_slalom", NULL, "spec_spectrum", NULL, "19xx",
	"Slalom (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecslalomRomInfo, SpecslalomRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Slap Fight (48K)

static struct BurnRomInfo Specslapfigh_48RomDesc[] = {
	{ "Slap Fight (1987)(Imagine Software).z80", 0x09dca, 0xfc50dded, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specslapfigh_48, Specslapfigh_48, Spectrum)
STD_ROM_FN(Specslapfigh_48)

struct BurnDriver BurnSpecslapfigh_48 = {
	"spec_slapfigh_48", "spec_slapfigh", "spec_spectrum", NULL, "1987",
	"Slap Fight (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specslapfigh_48RomInfo, Specslapfigh_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Slap Fight (128K)

static struct BurnRomInfo SpecslapfighRomDesc[] = {
	{ "Slap Fight (1987)(Imagine Software)[128K].z80", 0x0a08e, 0x4b9c236b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specslapfigh, Specslapfigh, Spectrum)
STD_ROM_FN(Specslapfigh)

struct BurnDriver BurnSpecslapfigh = {
	"spec_slapfigh", NULL, "spec_spec128", NULL, "1987",
	"Slap Fight (128K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecslapfighRomInfo, SpecslapfighRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Slap-Slop (48K)

static struct BurnRomInfo SpecslapslopRomDesc[] = {
	{ "Slap-Slop (19xx)(Woody).z80", 0x019d5, 0x027233dd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specslapslop, Specslapslop, Spectrum)
STD_ROM_FN(Specslapslop)

struct BurnDriver BurnSpecslapslop = {
	"spec_slapslop", NULL, "spec_spectrum", NULL, "19xx",
	"Slap-Slop (48K)\0", NULL, "Woody", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecslapslopRomInfo, SpecslapslopRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Slaughter Caves, The (48K)

static struct BurnRomInfo SpecslacavthRomDesc[] = {
	{ "Slaughter Caves, The (1990)(Zenobi Software).z80", 0x0a1a5, 0xd12b8eb8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specslacavth, Specslacavth, Spectrum)
STD_ROM_FN(Specslacavth)

struct BurnDriver BurnSpecslacavth = {
	"spec_slacavth", NULL, "spec_spectrum", NULL, "1990",
	"Slaughter Caves, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecslacavthRomInfo, SpecslacavthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sleep Walker (48K)

static struct BurnRomInfo SpecsleewalkRomDesc[] = {
	{ "Sleep Walker (1992)(Zeppelin Games).z80", 0x09dd8, 0xc168ee32, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsleewalk, Specsleewalk, Spectrum)
STD_ROM_FN(Specsleewalk)

struct BurnDriver BurnSpecsleewalk = {
	"spec_sleewalk", NULL, "spec_spectrum", NULL, "1992",
	"Sleep Walker (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsleewalkRomInfo, SpecsleewalkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Slightly Magic (48K)

static struct BurnRomInfo Specslightmg_48RomDesc[] = {
	{ "Slightly Magic (1990)(Codemasters).z80", 0x0a76b, 0xd89a3a98, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specslightmg_48, Specslightmg_48, Spectrum)
STD_ROM_FN(Specslightmg_48)

struct BurnDriver BurnSpecslightmg_48 = {
	"spec_slightmg_48", "spec_slightmg", "spec_spectrum", NULL, "1990",
	"Slightly Magic (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specslightmg_48RomInfo, Specslightmg_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Slightly Magic (128K)

static struct BurnRomInfo SpecslightmgRomDesc[] = {
	{ "Slightly Magic (1990)(Codemasters)[128K].z80", 0x11bed, 0x12aaa197, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specslightmg, Specslightmg, Spectrum)
STD_ROM_FN(Specslightmg)

struct BurnDriver BurnSpecslightmg = {
	"spec_slightmg", NULL, "spec_spec128", NULL, "1990",
	"Slightly Magic (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecslightmgRomInfo, SpecslightmgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Slightly Manic (48K)

static struct BurnRomInfo SpecsligmaniRomDesc[] = {
	{ "Slightly Manic (1992)(The Manic Hacker).z80", 0x0776b, 0x149735a1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsligmani, Specsligmani, Spectrum)
STD_ROM_FN(Specsligmani)

struct BurnDriver BurnSpecsligmani = {
	"spec_sligmani", NULL, "spec_spectrum", NULL, "1992",
	"Slightly Manic (48K)\0", NULL, "The Manic Hacker", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsligmaniRomInfo, SpecsligmaniRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Slingshot (48K)

static struct BurnRomInfo SpecslingshoRomDesc[] = {
	{ "Slingshot (1987)(The Power House).z80", 0x083ac, 0xcf52e5ba, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specslingsho, Specslingsho, Spectrum)
STD_ROM_FN(Specslingsho)

struct BurnDriver BurnSpecslingsho = {
	"spec_slingsho", NULL, "spec_spectrum", NULL, "1987",
	"Slingshot (48K)\0", NULL, "The Power House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecslingshoRomInfo, SpecslingshoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Slug (48K)

static struct BurnRomInfo SpecslugRomDesc[] = {
	{ "Slug (1988)(Alternative Software).z80", 0x067d0, 0xf3c1c1a3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specslug, Specslug, Spectrum)
STD_ROM_FN(Specslug)

struct BurnDriver BurnSpecslug = {
	"spec_slug", NULL, "spec_spectrum", NULL, "1988",
	"Slug (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecslugRomInfo, SpecslugRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Smagly 2 (Russian) (128K)

static struct BurnRomInfo Specsmagly2rRomDesc[] = {
	{ "Smagly 2 (1996)(Crystal Dream)(ru)[128K].z80", 0x09150, 0xa467a81c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsmagly2r, Specsmagly2r, Spectrum)
STD_ROM_FN(Specsmagly2r)

struct BurnDriver BurnSpecsmagly2r = {
	"spec_smagly2r", NULL, "spec_spec128", NULL, "1996",
	"Smagly 2 (Russian) (128K)\0", NULL, "Crystal Dream", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsmagly2rRomInfo, Specsmagly2rRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Smaily (Spanish) (48K)

static struct BurnRomInfo SpecsmailyesRomDesc[] = {
	{ "Smaily (1990)(Zigurat Software)(es)[t].z80", 0x09199, 0xd148d0fd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsmailyes, Specsmailyes, Spectrum)
STD_ROM_FN(Specsmailyes)

struct BurnDriver BurnSpecsmailyes = {
	"spec_smailyes", NULL, "spec_spectrum", NULL, "1990",
	"Smaily (Spanish) (48K)\0", NULL, "Zigurat Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsmailyesRomInfo, SpecsmailyesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Smash TV (128K)

static struct BurnRomInfo SpecsmashtvRomDesc[] = {
	{ "Smash TV (1991)(Ocean)[128K].z80", 0x0e6c1, 0x2f90973d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsmashtv, Specsmashtv, Spectrum)
STD_ROM_FN(Specsmashtv)

struct BurnDriver BurnSpecsmashtv = {
	"spec_smashtv", NULL, "spec_spec128", NULL, "1991",
	"Smash TV (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsmashtvRomInfo, SpecsmashtvRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Smashout!! (48K)

static struct BurnRomInfo SpecsmashoutRomDesc[] = {
	{ "Smashout!! (1985)(Digital Image).z80", 0x0163c, 0x4ed10b88, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsmashout, Specsmashout, Spectrum)
STD_ROM_FN(Specsmashout)

struct BurnDriver BurnSpecsmashout = {
	"spec_smashout", NULL, "spec_spectrum", NULL, "1985",
	"Smashout!! (48K)\0", NULL, "Digital Image", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsmashoutRomInfo, SpecsmashoutRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Smiler (48K)

static struct BurnRomInfo SpecsmilerRomDesc[] = {
	{ "Smiler (2002)(Naffsoft).z80", 0x01a1c, 0xe3e97757, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsmiler, Specsmiler, Spectrum)
STD_ROM_FN(Specsmiler)

struct BurnDriver BurnSpecsmiler = {
	"spec_smiler", NULL, "spec_spectrum", NULL, "2002",
	"Smiler (48K)\0", NULL, "Naffsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsmilerRomInfo, SpecsmilerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Smok Wawelski (pl) (48K)

static struct BurnRomInfo SpecsmokwaweRomDesc[] = {
	{ "Smok Wawelski (1987)(Krajowe Wydawnictwo Czasopism)(pl).z80", 0x0a481, 0x1be23959, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsmokwawe, Specsmokwawe, Spectrum)
STD_ROM_FN(Specsmokwawe)

struct BurnDriver BurnSpecsmokwawe = {
	"spec_smokwawe", NULL, "spec_spectrum", NULL, "1987",
	"Smok Wawelski (pl) (48K)\0", NULL, "Krajowe Wydawnictwo Czasopism", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsmokwaweRomInfo, SpecsmokwaweRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Smrkci (sl) (128K)

static struct BurnRomInfo SpecsmrkcislRomDesc[] = {
	{ "Smrkci (1985)(Xenon)(sl)[128K].z80", 0x08fda, 0x17b249e6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsmrkcisl, Specsmrkcisl, Spectrum)
STD_ROM_FN(Specsmrkcisl)

struct BurnDriver BurnSpecsmrkcisl = {
	"spec_smrkcisl", NULL, "spec_spec128", NULL, "1985",
	"Smrkci (sl) (128K)\0", NULL, "Xenon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsmrkcislRomInfo, SpecsmrkcislRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Smudge & the Moonees (48K)

static struct BurnRomInfo SpecsmudmoonRomDesc[] = {
	{ "Smudge & the Moonees (1987)(Sparklers).z80", 0x09ee3, 0x5343066b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsmudmoon, Specsmudmoon, Spectrum)
STD_ROM_FN(Specsmudmoon)

struct BurnDriver BurnSpecsmudmoon = {
	"spec_smudmoon", NULL, "spec_spectrum", NULL, "1987",
	"Smudge & the Moonees (48K)\0", NULL, "Sparklers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsmudmoonRomInfo, SpecsmudmoonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Smuggler's Cove (48K)

static struct BurnRomInfo SpecsmugcoveRomDesc[] = {
	{ "Smuggler's Cove (1983)(Quicksilva).z80", 0x0893b, 0x5089cb8d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsmugcove, Specsmugcove, Spectrum)
STD_ROM_FN(Specsmugcove)

struct BurnDriver BurnSpecsmugcove = {
	"spec_smugcove", NULL, "spec_spectrum", NULL, "1983",
	"Smuggler's Cove (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsmugcoveRomInfo, SpecsmugcoveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snackman - Sub Track - Treasure Hunt (48K)

static struct BurnRomInfo SpecsnsutrtrRomDesc[] = {
	{ "Snackman - Sub Track - Treasure Hunt (1986)(Amba Software).z80", 0x06094, 0x4b21ab74, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnsutrtr, Specsnsutrtr, Spectrum)
STD_ROM_FN(Specsnsutrtr)

struct BurnDriver BurnSpecsnsutrtr = {
	"spec_snsutrtr", NULL, "spec_spectrum", NULL, "1986",
	"Snackman - Sub Track - Treasure Hunt (48K)\0", NULL, "Amba Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsnsutrtrRomInfo, SpecsnsutrtrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snail-Racing (48K)

static struct BurnRomInfo SpecsnairaciRomDesc[] = {
	{ "Snail-Racing (1995)(New Hairs Software).z80", 0x03341, 0xbef7907c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnairaci, Specsnairaci, Spectrum)
STD_ROM_FN(Specsnairaci)

struct BurnDriver BurnSpecsnairaci = {
	"spec_snairaci", NULL, "spec_spectrum", NULL, "1995",
	"Snail-Racing (48K)\0", NULL, "New Hairs Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsnairaciRomInfo, SpecsnairaciRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snake (48K)

static struct BurnRomInfo SpecsnakedmRomDesc[] = {
	{ "Snake (1992)(Dominic Morris).z80", 0x0932c, 0x9a1eabfc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnakedm, Specsnakedm, Spectrum)
STD_ROM_FN(Specsnakedm)

struct BurnDriver BurnSpecsnakedm = {
	"spec_snakedm", NULL, "spec_spectrum", NULL, "1992",
	"Snake (48K)\0", NULL, "Dominic Morris", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsnakedmRomInfo, SpecsnakedmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snake (German) (48K)

static struct BurnRomInfo SpecsnakedeRomDesc[] = {
	{ "Snake (19xx)(RGH Software)(de).z80", 0x01c69, 0xaabd2ce7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnakede, Specsnakede, Spectrum)
STD_ROM_FN(Specsnakede)

struct BurnDriver BurnSpecsnakede = {
	"spec_snakede", NULL, "spec_spectrum", NULL, "19xx",
	"Snake (German) (48K)\0", NULL, "RGH Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsnakedeRomInfo, SpecsnakedeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snake!! (48K)

static struct BurnRomInfo SpecsnakedhRomDesc[] = {
	{ "Snake!! (1985)(David Hembrow).z80", 0x035fb, 0xf2273c55, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnakedh, Specsnakedh, Spectrum)
STD_ROM_FN(Specsnakedh)

struct BurnDriver BurnSpecsnakedh = {
	"spec_snakedh", NULL, "spec_spectrum", NULL, "1985",
	"Snake!! (48K)\0", NULL, "David Hembrow", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsnakedhRomInfo, SpecsnakedhRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snakes Alive (Spanish) (48K)

static struct BurnRomInfo SpecsnakalivRomDesc[] = {
	{ "Snakes Alive (1985)(Turtle Software)(es).z80", 0x02e6c, 0xde2f914a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnakaliv, Specsnakaliv, Spectrum)
STD_ROM_FN(Specsnakaliv)

struct BurnDriver BurnSpecsnakaliv = {
	"spec_snakaliv", NULL, "spec_spectrum", NULL, "1985",
	"Snakes Alive (Spanish) (48K)\0", NULL, "Turtle Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsnakalivRomInfo, SpecsnakalivRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snakes and Adders (48K)

static struct BurnRomInfo SpecsnakaddeRomDesc[] = {
	{ "Snakes and Adders (1997)(CSSCGC).z80", 0x00bd1, 0xbfcd3f50, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnakadde, Specsnakadde, Spectrum)
STD_ROM_FN(Specsnakadde)

struct BurnDriver BurnSpecsnakadde = {
	"spec_snakadde", NULL, "spec_spectrum", NULL, "1997",
	"Snakes and Adders (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsnakaddeRomInfo, SpecsnakaddeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snare (128K)

static struct BurnRomInfo SpecsnareRomDesc[] = {
	{ "Snare (1992)(Beyond Belief)[128K].z80", 0x0bb3d, 0xf1591f94, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnare, Specsnare, Spectrum)
STD_ROM_FN(Specsnare)

struct BurnDriver BurnSpecsnare = {
	"spec_snare", NULL, "spec_spec128", NULL, "1992",
	"Snare (128K)\0", NULL, "Beyond Belief", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsnareRomInfo, SpecsnareRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snare! (48K)

static struct BurnRomInfo Specsnare_48RomDesc[] = {
	{ "Snare! (1991)(Beyond Belief).z80", 0x044f9, 0xbbcba8f3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnare_48, Specsnare_48, Spectrum)
STD_ROM_FN(Specsnare_48)

struct BurnDriver BurnSpecsnare_48 = {
	"spec_snare_48", "spec_snare", "spec_spectrum", NULL, "1991",
	"Snare! (48K)\0", NULL, "Beyond Belief", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsnare_48RomInfo, Specsnare_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snoball in Hell (48K)

static struct BurnRomInfo SpecsnobhellRomDesc[] = {
	{ "Snoball in Hell (1989)(Atlantis Software).z80", 0x06889, 0xd3526fa2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnobhell, Specsnobhell, Spectrum)
STD_ROM_FN(Specsnobhell)

struct BurnDriver BurnSpecsnobhell = {
	"spec_snobhell", NULL, "spec_spectrum", NULL, "1989",
	"Snoball in Hell (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsnobhellRomInfo, SpecsnobhellRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snodgits! (Part 1 of 5) (48K)

static struct BurnRomInfo Specsnodgits1RomDesc[] = {
	{ "Snodgits! (1985)(Creative Sparks)(Part 1 of 5).z80", 0x06f33, 0x3efc54eb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnodgits1, Specsnodgits1, Spectrum)
STD_ROM_FN(Specsnodgits1)

struct BurnDriver BurnSpecsnodgits1 = {
	"spec_snodgits1", "spec_snodgits", "spec_spectrum", NULL, "1985",
	"Snodgits! (Part 1 of 5) (48K)\0", NULL, "Creative Sparks", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsnodgits1RomInfo, Specsnodgits1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snodgits! (Part 2 of 5) (48K)

static struct BurnRomInfo Specsnodgits2RomDesc[] = {
	{ "Snodgits! (1985)(Creative Sparks)(Part 2 of 5).z80", 0x07198, 0x5587e80f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnodgits2, Specsnodgits2, Spectrum)
STD_ROM_FN(Specsnodgits2)

struct BurnDriver BurnSpecsnodgits2 = {
	"spec_snodgits2", "spec_snodgits", "spec_spectrum", NULL, "1985",
	"Snodgits! (Part 2 of 5) (48K)\0", NULL, "Creative Sparks", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsnodgits2RomInfo, Specsnodgits2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snodgits! (Part 3 of 5) (48K)

static struct BurnRomInfo Specsnodgits3RomDesc[] = {
	{ "Snodgits! (1985)(Creative Sparks)(Part 3 of 5).z80", 0x0710f, 0x0050a966, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnodgits3, Specsnodgits3, Spectrum)
STD_ROM_FN(Specsnodgits3)

struct BurnDriver BurnSpecsnodgits3 = {
	"spec_snodgits3", "spec_snodgits", "spec_spectrum", NULL, "1985",
	"Snodgits! (Part 3 of 5) (48K)\0", NULL, "Creative Sparks", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsnodgits3RomInfo, Specsnodgits3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snodgits! (Part 4 of 5) (48K)

static struct BurnRomInfo Specsnodgits4RomDesc[] = {
	{ "Snodgits! (1985)(Creative Sparks)(Part 4 of 5).z80", 0x07149, 0x1009e0d5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnodgits4, Specsnodgits4, Spectrum)
STD_ROM_FN(Specsnodgits4)

struct BurnDriver BurnSpecsnodgits4 = {
	"spec_snodgits4", "spec_snodgits", "spec_spectrum", NULL, "1985",
	"Snodgits! (Part 4 of 5) (48K)\0", NULL, "Creative Sparks", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsnodgits4RomInfo, Specsnodgits4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snodgits! (Part 5 of 5) (48K)

static struct BurnRomInfo Specsnodgits5RomDesc[] = {
	{ "Snodgits! (1985)(Creative Sparks)(Part 5 of 5).z80", 0x07132, 0xd9eb0a92, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnodgits5, Specsnodgits5, Spectrum)
STD_ROM_FN(Specsnodgits5)

struct BurnDriver BurnSpecsnodgits5 = {
	"spec_snodgits5", "spec_snodgits", "spec_spectrum", NULL, "1985",
	"Snodgits! (Part 5 of 5) (48K)\0", NULL, "Creative Sparks", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsnodgits5RomInfo, Specsnodgits5RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snodgits! (48K)

static struct BurnRomInfo SpecsnodgitsRomDesc[] = {
	{ "Snodgits! (1985)(Creative Sparks).z80", 0x083b3, 0xbe32595f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnodgits, Specsnodgits, Spectrum)
STD_ROM_FN(Specsnodgits)

struct BurnDriver BurnSpecsnodgits = {
	"spec_snodgits", NULL, "spec_spectrum", NULL, "1985",
	"Snodgits! (48K)\0", NULL, "Creative Sparks", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsnodgitsRomInfo, SpecsnodgitsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snooker Management (128K)

static struct BurnRomInfo SpecsnookmgtRomDesc[] = {
	{ "Snooker Management (1989)(Cult Games)[128K][re-release].z80", 0x09e16, 0x85c32fe9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnookmgt, Specsnookmgt, Spectrum)
STD_ROM_FN(Specsnookmgt)

struct BurnDriver BurnSpecsnookmgt = {
	"spec_snookmgt", NULL, "spec_spec128", NULL, "1989",
	"Snooker Management (128K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsnookmgtRomInfo, SpecsnookmgtRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snooker Management (48K)

static struct BurnRomInfo Specsnookmgt_48RomDesc[] = {
	{ "Snooker Management (1989)(D&H Games).z80", 0x0830f, 0x03c4d9da, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnookmgt_48, Specsnookmgt_48, Spectrum)
STD_ROM_FN(Specsnookmgt_48)

struct BurnDriver BurnSpecsnookmgt_48 = {
	"spec_snookmgt_48", "spec_snookmgt", "spec_spectrum", NULL, "1989",
	"Snooker Management (48K)\0", NULL, "D&H Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsnookmgt_48RomInfo, Specsnookmgt_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snooker Manager (48K)

static struct BurnRomInfo Specsnookman_48RomDesc[] = {
	{ "Snooker Manager (1989)(Image Software).z80", 0x08d4a, 0xbbb7e076, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnookman_48, Specsnookman_48, Spectrum)
STD_ROM_FN(Specsnookman_48)

struct BurnDriver BurnSpecsnookman_48 = {
	"spec_snookman_48", "spec_snookman", "spec_spectrum", NULL, "1989",
	"Snooker Manager (48K)\0", NULL, "Image Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsnookman_48RomInfo, Specsnookman_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snooker Manager (128K)

static struct BurnRomInfo SpecsnookmanRomDesc[] = {
	{ "Snooker Manager (1989)(Image Software)[128K].z80", 0x09356, 0x182da91c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnookman, Specsnookman, Spectrum)
STD_ROM_FN(Specsnookman)

struct BurnDriver BurnSpecsnookman = {
	"spec_snookman", NULL, "spec_spec128", NULL, "1989",
	"Snooker Manager (128K)\0", NULL, "Image Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsnookmanRomInfo, SpecsnookmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snookered - General Knowledge Edition (48K)

static struct BurnRomInfo SpecsngeknedRomDesc[] = {
	{ "Snookered - General Knowledge Edition (1988)(Top Ten Software).z80", 0x0a3e5, 0xa9dc12b9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsngekned, Specsngekned, Spectrum)
STD_ROM_FN(Specsngekned)

struct BurnDriver BurnSpecsngekned = {
	"spec_sngekned", NULL, "spec_spectrum", NULL, "1988",
	"Snookered - General Knowledge Edition (48K)\0", NULL, "Top Ten Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsngeknedRomInfo, SpecsngeknedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snoopy (48K)

static struct BurnRomInfo Specsnoopy_48RomDesc[] = {
	{ "Snoopy (1990)(The Edge Software).z80", 0x09e82, 0x7c0cb6d3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnoopy_48, Specsnoopy_48, Spectrum)
STD_ROM_FN(Specsnoopy_48)

struct BurnDriver BurnSpecsnoopy_48 = {
	"spec_snoopy_48", "spec_snoopy", "spec_spectrum", NULL, "1990",
	"Snoopy (48K)\0", NULL, "The Edge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsnoopy_48RomInfo, Specsnoopy_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snoopy (128K)

static struct BurnRomInfo SpecsnoopyRomDesc[] = {
	{ "Snoopy (1990)(The Edge Software)[128K].z80", 0x0b439, 0x94d21b24, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnoopy, Specsnoopy, Spectrum)
STD_ROM_FN(Specsnoopy)

struct BurnDriver BurnSpecsnoopy = {
	"spec_snoopy", NULL, "spec_spec128", NULL, "1990",
	"Snoopy (128K)\0", NULL, "The Edge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsnoopyRomInfo, SpecsnoopyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snow Joke! (48K)

static struct BurnRomInfo SpecsnowjokeRomDesc[] = {
	{ "Snow Joke! (1991)(Zenobi Software).z80", 0x0456e, 0xfbb99ff6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnowjoke, Specsnowjoke, Spectrum)
STD_ROM_FN(Specsnowjoke)

struct BurnDriver BurnSpecsnowjoke = {
	"spec_snowjoke", NULL, "spec_spectrum", NULL, "1991",
	"Snow Joke! (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsnowjokeRomInfo, SpecsnowjokeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snow Queen, The (Part 1 of 2) (48K)

static struct BurnRomInfo SpecsnowquenRomDesc[] = {
	{ "Snow Queen, The (1985)(Mosaic Publishing)(Part 1 of 2).z80", 0x0a2ac, 0x86fe3af3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnowquen, Specsnowquen, Spectrum)
STD_ROM_FN(Specsnowquen)

struct BurnDriver BurnSpecsnowquen = {
	"spec_snowquen", NULL, "spec_spectrum", NULL, "1985",
	"Snow Queen, The (Part 1 of 2) (48K)\0", NULL, "Mosaic Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsnowquenRomInfo, SpecsnowquenRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snow Queen, The (Part 2 of 2) (48K)

static struct BurnRomInfo Specsnowquen2RomDesc[] = {
	{ "Snow Queen, The (1985)(Mosaic Publishing)(Part 2 of 2).z80", 0x0a31f, 0x533503e6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnowquen2, Specsnowquen2, Spectrum)
STD_ROM_FN(Specsnowquen2)

struct BurnDriver BurnSpecsnowquen2 = {
	"spec_snowquen2", "spec_snowquen", "spec_spectrum", NULL, "1985",
	"Snow Queen, The (Part 2 of 2) (48K)\0", NULL, "Mosaic Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsnowquen2RomInfo, Specsnowquen2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snowman, The (48K)

static struct BurnRomInfo SpecsnowmanRomDesc[] = {
	{ "Snowman, The (1984)(Quicksilva).z80", 0x059cd, 0x646c7666, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnowman, Specsnowman, Spectrum)
STD_ROM_FN(Specsnowman)

struct BurnDriver BurnSpecsnowman = {
	"spec_snowman", NULL, "spec_spectrum", NULL, "1984",
	"Snowman, The (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsnowmanRomInfo, SpecsnowmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Snowstrike (48K)

static struct BurnRomInfo SpecsnowstrkRomDesc[] = {
	{ "Snowstrike (1991)(U.S. Gold).z80", 0x0799a, 0x413c4ca6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsnowstrk, Specsnowstrk, Spectrum)
STD_ROM_FN(Specsnowstrk)

struct BurnDriver BurnSpecsnowstrk = {
	"spec_snowstrk", NULL, "spec_spectrum", NULL, "1991",
	"Snowstrike (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsnowstrkRomInfo, SpecsnowstrkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Soap Land (Part 1 of 3) (48K)

static struct BurnRomInfo SpecsoaplandRomDesc[] = {
	{ "Soap Land (1987)(Zodiac Software)(Part 1 of 3).z80", 0x085e4, 0xc1bb782a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsoapland, Specsoapland, Spectrum)
STD_ROM_FN(Specsoapland)

struct BurnDriver BurnSpecsoapland = {
	"spec_soapland", NULL, "spec_spectrum", NULL, "1987",
	"Soap Land (Part 1 of 3) (48K)\0", NULL, "Zodiac Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsoaplandRomInfo, SpecsoaplandRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Soap Land (Part 2 of 3) (48K)

static struct BurnRomInfo Specsoapland2RomDesc[] = {
	{ "Soap Land (1987)(Zodiac Software)(Part 2 of 3).z80", 0x082f6, 0x80f210df, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsoapland2, Specsoapland2, Spectrum)
STD_ROM_FN(Specsoapland2)

struct BurnDriver BurnSpecsoapland2 = {
	"spec_soapland2", "spec_soapland", "spec_spectrum", NULL, "1987",
	"Soap Land (Part 2 of 3) (48K)\0", NULL, "Zodiac Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsoapland2RomInfo, Specsoapland2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Soap Land (Part 3 of 3) (48K)

static struct BurnRomInfo Specsoapland3RomDesc[] = {
	{ "Soap Land (1987)(Zodiac Software)(Part 3 of 3).z80", 0x08495, 0x01c8e110, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsoapland3, Specsoapland3, Spectrum)
STD_ROM_FN(Specsoapland3)

struct BurnDriver BurnSpecsoapland3 = {
	"spec_soapland3", "spec_soapland", "spec_spectrum", NULL, "1987",
	"Soap Land (Part 3 of 3) (48K)\0", NULL, "Zodiac Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsoapland3RomInfo, Specsoapland3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Soccer 7 (48K)

static struct BurnRomInfo Specsoccer7RomDesc[] = {
	{ "Soccer 7 (1989)(Cult Games).z80", 0x08eb2, 0x4b3b4a34, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsoccer7, Specsoccer7, Spectrum)
STD_ROM_FN(Specsoccer7)

struct BurnDriver BurnSpecsoccer7 = {
	"spec_soccer7", NULL, "spec_spectrum", NULL, "1989",
	"Soccer 7 (48K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsoccer7RomInfo, Specsoccer7RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Soccer Challenge (48K)

static struct BurnRomInfo SpecsoccchlnRomDesc[] = {
	{ "Soccer Challenge (1990)(Alternative Software).z80", 0x09384, 0x8eef4659, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsoccchln, Specsoccchln, Spectrum)
STD_ROM_FN(Specsoccchln)

struct BurnDriver BurnSpecsoccchln = {
	"spec_soccchln", NULL, "spec_spectrum", NULL, "1990",
	"Soccer Challenge (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsoccchlnRomInfo, SpecsoccchlnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Soccer Director (48K)

static struct BurnRomInfo SpecsoccdirRomDesc[] = {
	{ "Soccer Director (1989)(GTI Software).z80", 0x090c4, 0x10861ad3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsoccdir, Specsoccdir, Spectrum)
STD_ROM_FN(Specsoccdir)

struct BurnDriver BurnSpecsoccdir = {
	"spec_soccdir", NULL, "spec_spectrum", NULL, "1989",
	"Soccer Director (48K)\0", NULL, "GTI Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsoccdirRomInfo, SpecsoccdirRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Soccer Pinball (128K)

static struct BurnRomInfo SpecsoccpinbRomDesc[] = {
	{ "Soccer Pinball (1992)(Codemasters)[128K].z80", 0x0f29a, 0x42987413, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsoccpinb, Specsoccpinb, Spectrum)
STD_ROM_FN(Specsoccpinb)

struct BurnDriver BurnSpecsoccpinb = {
	"spec_soccpinb", NULL, "spec_spec128", NULL, "1992",
	"Soccer Pinball (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsoccpinbRomInfo, SpecsoccpinbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Soccer Rivals (48K)

static struct BurnRomInfo SpecsoccrivlRomDesc[] = {
	{ "Soccer Rivals (1991)(Cult Games).z80", 0x04952, 0x38f26171, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsoccrivl, Specsoccrivl, Spectrum)
STD_ROM_FN(Specsoccrivl)

struct BurnDriver BurnSpecsoccrivl = {
	"spec_soccrivl", NULL, "spec_spectrum", NULL, "1991",
	"Soccer Rivals (48K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsoccrivlRomInfo, SpecsoccrivlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Soccer Star (48K)

static struct BurnRomInfo SpecsoccstarRomDesc[] = {
	{ "Soccer Star (1989)(Cult Games).z80", 0x09ec7, 0xee1cdc81, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsoccstar, Specsoccstar, Spectrum)
STD_ROM_FN(Specsoccstar)

struct BurnDriver BurnSpecsoccstar = {
	"spec_soccstar", NULL, "spec_spectrum", NULL, "1989",
	"Soccer Star (48K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsoccstarRomInfo, SpecsoccstarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sodov the Sorcerer (48K)

static struct BurnRomInfo SpecsodosorcRomDesc[] = {
	{ "Sodov the Sorcerer (1986)(Bug-Byte Software).z80", 0x09a8f, 0xe7acffbe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsodosorc, Specsodosorc, Spectrum)
STD_ROM_FN(Specsodosorc)

struct BurnDriver BurnSpecsodosorc = {
	"spec_sodosorc", NULL, "spec_spectrum", NULL, "1986",
	"Sodov the Sorcerer (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsodosorcRomInfo, SpecsodosorcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Soft & Cuddly (48K)

static struct BurnRomInfo SpecsoftcuddRomDesc[] = {
	{ "Soft & Cuddly (1987)(The Power House).z80", 0x0a240, 0xfb57635a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsoftcudd, Specsoftcudd, Spectrum)
STD_ROM_FN(Specsoftcudd)

struct BurnDriver BurnSpecsoftcudd = {
	"spec_softcudd", NULL, "spec_spectrum", NULL, "1987",
	"Soft & Cuddly (48K)\0", NULL, "The Power House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsoftcuddRomInfo, SpecsoftcuddRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Software House (48K)

static struct BurnRomInfo SpecsofthousRomDesc[] = {
	{ "Software House (1988)(Cult Games).z80", 0x08ddf, 0xecf8d215, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsofthous, Specsofthous, Spectrum)
STD_ROM_FN(Specsofthous)

struct BurnDriver BurnSpecsofthous = {
	"spec_softhous", NULL, "spec_spectrum", NULL, "1988",
	"Software House (48K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsofthousRomInfo, SpecsofthousRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Software Star (48K)

static struct BurnRomInfo SpecsoftstarRomDesc[] = {
	{ "Software Star (1984)(Addictive Games).z80", 0x078fb, 0xf54f067f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsoftstar, Specsoftstar, Spectrum)
STD_ROM_FN(Specsoftstar)

struct BurnDriver BurnSpecsoftstar = {
	"spec_softstar", NULL, "spec_spectrum", NULL, "1984",
	"Software Star (48K)\0", NULL, "Addictive Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsoftstarRomInfo, SpecsoftstarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Soho Mission (128K)

static struct BurnRomInfo SpecsohomissRomDesc[] = {
	{ "Soho Mission (1990)(Daren Pearcy)[128K].z80", 0x0c7ee, 0xdfd0a2d5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsohomiss, Specsohomiss, Spectrum)
STD_ROM_FN(Specsohomiss)

struct BurnDriver BurnSpecsohomiss = {
	"spec_sohomiss", NULL, "spec_spec128", NULL, "1990",
	"Soho Mission (128K)\0", NULL, "Daren Pearcy", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsohomissRomInfo, SpecsohomissRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Soho Sex Quest (48K)

static struct BurnRomInfo SpecsohsexquRomDesc[] = {
	{ "Soho Sex Quest (1984)(Malan Associates).z80", 0x0941e, 0x46568811, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsohsexqu, Specsohsexqu, Spectrum)
STD_ROM_FN(Specsohsexqu)

struct BurnDriver BurnSpecsohsexqu = {
	"spec_sohsexqu", NULL, "spec_spectrum", NULL, "1984",
	"Soho Sex Quest (48K)\0", NULL, "Malan Associates", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsohsexquRomInfo, SpecsohsexquRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Soho Sex Quest 2 - Herpes or Bust (48K)

static struct BurnRomInfo SpecsosequheRomDesc[] = {
	{ "Soho Sex Quest 2 - Herpes or Bust (1984)(Malan Associates).z80", 0x02dda, 0x55166015, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsosequhe, Specsosequhe, Spectrum)
STD_ROM_FN(Specsosequhe)

struct BurnDriver BurnSpecsosequhe = {
	"spec_sosequhe", NULL, "spec_spectrum", NULL, "1984",
	"Soho Sex Quest 2 - Herpes or Bust (48K)\0", NULL, "Malan Associates", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsosequheRomInfo, SpecsosequheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Soko-Ban - Editor (cs) (48K)

static struct BurnRomInfo SpecsokbanedRomDesc[] = {
	{ "Soko-Ban - Editor (1990)(Omikron Software)(cs).z80", 0x03136, 0x46a704bc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsokbaned, Specsokbaned, Spectrum)
STD_ROM_FN(Specsokbaned)

struct BurnDriver BurnSpecsokbaned = {
	"spec_sokbaned", NULL, "spec_spectrum", NULL, "1990",
	"Soko-Ban - Editor (cs) (48K)\0", NULL, "Omikron Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsokbanedRomInfo, SpecsokbanedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sokoban (WE) (128K)

static struct BurnRomInfo SpecsokobanwRomDesc[] = {
	{ "Sokoban (1991)(WE)[128K].z80", 0x08274, 0x41610669, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsokobanw, Specsokobanw, Spectrum)
STD_ROM_FN(Specsokobanw)

struct BurnDriver BurnSpecsokobanw = {
	"spec_sokobanw", NULL, "spec_spec128", NULL, "1991",
	"Sokoban (WE) (128K)\0", NULL, "WE", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsokobanwRomInfo, SpecsokobanwRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sokoban (hu) (128K)

static struct BurnRomInfo SpecsokobanhRomDesc[] = {
	{ "Sokoban (1997)(Laszlo Nyitrai)(hu)[128K].z80", 0x043be, 0x557b9f78, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsokobanh, Specsokobanh, Spectrum)
STD_ROM_FN(Specsokobanh)

struct BurnDriver BurnSpecsokobanh = {
	"spec_sokobanh", NULL, "spec_spec128", NULL, "1997",
	"Sokoban (hu) (128K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsokobanhRomInfo, SpecsokobanhRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sokoban (Zack) (128K)

static struct BurnRomInfo SpecsokobanzRomDesc[] = {
	{ "Sokoban (1997)(Zack)[128K].z80", 0x0968c, 0xf712d7a2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsokobanz, Specsokobanz, Spectrum)
STD_ROM_FN(Specsokobanz)

struct BurnDriver BurnSpecsokobanz = {
	"spec_sokobanz", NULL, "spec_spec128", NULL, "1997",
	"Sokoban (Zack) (128K)\0", NULL, "Zack", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsokobanzRomInfo, SpecsokobanzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sokoban v1.0 (48K)

static struct BurnRomInfo SpecsokobancRomDesc[] = {
	{ "Sokoban v1.0 (1996)(CSSCGC).z80", 0x0299c, 0x03cb07d0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsokobanc, Specsokobanc, Spectrum)
STD_ROM_FN(Specsokobanc)

struct BurnDriver BurnSpecsokobanc = {
	"spec_sokobanc", NULL, "spec_spectrum", NULL, "1996",
	"Sokoban v1.0 (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsokobancRomInfo, SpecsokobancRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sol Negro - Special Edition (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecsolnegroRomDesc[] = {
	{ "Sol Negro - Special Edition (1989)(Opera Soft)(es)(Part 1 of 2).z80", 0x0a61d, 0x27b7e34f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsolnegro, Specsolnegro, Spectrum)
STD_ROM_FN(Specsolnegro)

struct BurnDriver BurnSpecsolnegro = {
	"spec_solnegro", NULL, "spec_spectrum", NULL, "1989",
	"Sol Negro - Special Edition (Spanish) (Part 1 of 2) (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsolnegroRomInfo, SpecsolnegroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sol Negro - Special Edition (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specsolnegro2RomDesc[] = {
	{ "Sol Negro - Special Edition (1989)(Opera Soft)(es)(Part 2 of 2).z80", 0x090d3, 0xaf912284, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsolnegro2, Specsolnegro2, Spectrum)
STD_ROM_FN(Specsolnegro2)

struct BurnDriver BurnSpecsolnegro2 = {
	"spec_solnegro2", "spec_solnegro", "spec_spectrum", NULL, "1989",
	"Sol Negro - Special Edition (Spanish) (Part 2 of 2) (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsolnegro2RomInfo, Specsolnegro2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Solaris (Part 1 of 2) (48K)

static struct BurnRomInfo SpecsolarisRomDesc[] = {
	{ "Solaris (1983)(Softel Software)(Part 1 of 2).z80", 0x09467, 0x27c9f172, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsolaris, Specsolaris, Spectrum)
STD_ROM_FN(Specsolaris)

struct BurnDriver BurnSpecsolaris = {
	"spec_solaris", NULL, "spec_spectrum", NULL, "1983",
	"Solaris (Part 1 of 2) (48K)\0", NULL, "Softel Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsolarisRomInfo, SpecsolarisRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Solaris (Part 2 of 2) (48K)

static struct BurnRomInfo Specsolaris2RomDesc[] = {
	{ "Solaris (1983)(Softel Software)(Part 2 of 2).z80", 0x0a01e, 0x26b867b4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsolaris2, Specsolaris2, Spectrum)
STD_ROM_FN(Specsolaris2)

struct BurnDriver BurnSpecsolaris2 = {
	"spec_solaris2", "spec_solaris", "spec_spectrum", NULL, "1983",
	"Solaris (Part 2 of 2) (48K)\0", NULL, "Softel Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsolaris2RomInfo, Specsolaris2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Soldier of Fortune (48K)

static struct BurnRomInfo SpecsoldfortRomDesc[] = {
	{ "Soldier of Fortune (1988)(Firebird Software).z80", 0x0adff, 0xc3dc26df, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsoldfort, Specsoldfort, Spectrum)
STD_ROM_FN(Specsoldfort)

struct BurnDriver BurnSpecsoldfort = {
	"spec_soldfort", NULL, "spec_spectrum", NULL, "1988",
	"Soldier of Fortune (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsoldfortRomInfo, SpecsoldfortRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Soldier of Light (48K)

static struct BurnRomInfo SpecsoldlighRomDesc[] = {
	{ "Soldier of Light (1988)(ACE Software).z80", 0x0949d, 0x41e66efa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsoldligh, Specsoldligh, Spectrum)
STD_ROM_FN(Specsoldligh)

struct BurnDriver BurnSpecsoldligh = {
	"spec_soldligh", NULL, "spec_spectrum", NULL, "1988",
	"Soldier of Light (48K)\0", NULL, "ACE Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsoldlighRomInfo, SpecsoldlighRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Solgor (48K)

static struct BurnRomInfo SpecsolgorRomDesc[] = {
	{ "Solgor (2002)(Naffsoft).z80", 0x012b9, 0x26c6f23c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsolgor, Specsolgor, Spectrum)
STD_ROM_FN(Specsolgor)

struct BurnDriver BurnSpecsolgor = {
	"spec_solgor", NULL, "spec_spectrum", NULL, "2002",
	"Solgor (48K)\0", NULL, "Naffsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsolgorRomInfo, SpecsolgorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Solitaire (48K)

static struct BurnRomInfo SpecsolitairRomDesc[] = {
	{ "Solitaire (1990)(Frozen Ice).z80", 0x034b6, 0xf6410b0f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsolitair, Specsolitair, Spectrum)
STD_ROM_FN(Specsolitair)

struct BurnDriver BurnSpecsolitair = {
	"spec_solitair", NULL, "spec_spectrum", NULL, "1990",
	"Solitaire (48K)\0", NULL, "Frozen Ice", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsolitairRomInfo, SpecsolitairRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Solomon's Key (48K)

static struct BurnRomInfo SpecsolomonRomDesc[] = {
	{ "Solomon's Key (1987)(U.S. Gold).z80", 0x09608, 0xe9a42bde, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsolomon, Specsolomon, Spectrum)
STD_ROM_FN(Specsolomon)

struct BurnDriver BurnSpecsolomon = {
	"spec_solomon", NULL, "spec_spectrum", NULL, "1987",
	"Solomon's Key (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsolomonRomInfo, SpecsolomonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Something Happened (sk) (128K)

static struct BurnRomInfo SpecsomehappRomDesc[] = {
	{ "Something Happened (1989)(Peter Machala Software)(sk)[128K].z80", 0x07f3b, 0x0cec46e3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsomehapp, Specsomehapp, Spectrum)
STD_ROM_FN(Specsomehapp)

struct BurnDriver BurnSpecsomehapp = {
	"spec_somehapp", NULL, "spec_spec128", NULL, "1989",
	"Something Happened (sk) (128K)\0", NULL, "Peter Machala Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsomehappRomInfo, SpecsomehappRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Son of Blagger (48K)

static struct BurnRomInfo SpecsonoblagRomDesc[] = {
	{ "Son of Blagger (1984)(Alligata Software).z80", 0x0820e, 0x7fcc8558, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsonoblag, Specsonoblag, Spectrum)
STD_ROM_FN(Specsonoblag)

struct BurnDriver BurnSpecsonoblag = {
	"spec_sonoblag", NULL, "spec_spectrum", NULL, "1984",
	"Son of Blagger (48K)\0", NULL, "Alligata Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsonoblagRomInfo, SpecsonoblagRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sonar Salvage (48K)

static struct BurnRomInfo SpecsonasalvRomDesc[] = {
	{ "Sonar Salvage (1984)(Hitech Games Plus).z80", 0x08a3d, 0xd77b589f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsonasalv, Specsonasalv, Spectrum)
STD_ROM_FN(Specsonasalv)

struct BurnDriver BurnSpecsonasalv = {
	"spec_sonasalv", NULL, "spec_spectrum", NULL, "1984",
	"Sonar Salvage (48K)\0", NULL, "Hitech Games Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsonasalvRomInfo, SpecsonasalvRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Song of Taliesin, The (Part 1 of 2) (48K)

static struct BurnRomInfo SpecsongtaliRomDesc[] = {
	{ "Song of Taliesin, The (1994)(Zenobi Software)(Part 1 of 2).z80", 0x091fd, 0x9af06ff9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsongtali, Specsongtali, Spectrum)
STD_ROM_FN(Specsongtali)

struct BurnDriver BurnSpecsongtali = {
	"spec_songtali", NULL, "spec_spectrum", NULL, "1994",
	"Song of Taliesin, The (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsongtaliRomInfo, SpecsongtaliRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Song of Taliesin, The (Part 2 of 2) (48K)

static struct BurnRomInfo Specsongtali2RomDesc[] = {
	{ "Song of Taliesin, The (1994)(Zenobi Software)(Part 2 of 2).z80", 0x08bf2, 0xa39923ba, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsongtali2, Specsongtali2, Spectrum)
STD_ROM_FN(Specsongtali2)

struct BurnDriver BurnSpecsongtali2 = {
	"spec_songtali2", "spec_songtali", "spec_spectrum", NULL, "1994",
	"Song of Taliesin, The (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsongtali2RomInfo, Specsongtali2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sooty and Sweep (48K)

static struct BurnRomInfo SpecsootsweeRomDesc[] = {
	{ "Sooty and Sweep (1990)(Alternative Software).z80", 0x09444, 0x4db7343a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsootswee, Specsootswee, Spectrum)
STD_ROM_FN(Specsootswee)

struct BurnDriver BurnSpecsootswee = {
	"spec_sootswee", NULL, "spec_spectrum", NULL, "1990",
	"Sooty and Sweep (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsootsweeRomInfo, SpecsootsweeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sophistry (48K)

static struct BurnRomInfo SpecsophistrRomDesc[] = {
	{ "Sophistry (1988)(CRL Group).z80", 0x0acdd, 0xa54573b7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsophistr, Specsophistr, Spectrum)
STD_ROM_FN(Specsophistr)

struct BurnDriver BurnSpecsophistr = {
	"spec_sophistr", NULL, "spec_spectrum", NULL, "1988",
	"Sophistry (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsophistrRomInfo, SpecsophistrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sorcerer Lord (48K)

static struct BurnRomInfo SpecsorclordRomDesc[] = {
	{ "Sorcerer Lord (1987)(PSS).z80", 0x067ac, 0xc1a09b37, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsorclord, Specsorclord, Spectrum)
STD_ROM_FN(Specsorclord)

struct BurnDriver BurnSpecsorclord = {
	"spec_sorclord", NULL, "spec_spectrum", NULL, "1987",
	"Sorcerer Lord (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsorclordRomInfo, SpecsorclordRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sorcerer's Castle (48K)

static struct BurnRomInfo SpecsorccastRomDesc[] = {
	{ "Sorcerer's Castle (1983)(Mikro-Gen).z80", 0x0785f, 0xf8e8ddba, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsorccast, Specsorccast, Spectrum)
STD_ROM_FN(Specsorccast)

struct BurnDriver BurnSpecsorccast = {
	"spec_sorccast", NULL, "spec_spectrum", NULL, "1983",
	"Sorcerer's Castle (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsorccastRomInfo, SpecsorccastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sorcery (48K)

static struct BurnRomInfo SpecsorceryRomDesc[] = {
	{ "Sorcery (1984)(Virgin Games).z80", 0x079aa, 0xb5acb410, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsorcery, Specsorcery, Spectrum)
STD_ROM_FN(Specsorcery)

struct BurnDriver BurnSpecsorcery = {
	"spec_sorcery", NULL, "spec_spectrum", NULL, "1984",
	"Sorcery (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsorceryRomInfo, SpecsorceryRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sorderon's Shadow (48K)

static struct BurnRomInfo SpecsordshadRomDesc[] = {
	{ "Sorderon's Shadow (1985)(Beyond Software).z80", 0x0adae, 0x6d889c98, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsordshad, Specsordshad, Spectrum)
STD_ROM_FN(Specsordshad)

struct BurnDriver BurnSpecsordshad = {
	"spec_sordshad", NULL, "spec_spectrum", NULL, "1985",
	"Sorderon's Shadow (48K)\0", NULL, "Beyond Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsordshadRomInfo, SpecsordshadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Soul Hunter (Part 1 of 2) (48K)

static struct BurnRomInfo SpecsoulhuntRomDesc[] = {
	{ "Soul Hunter (1992)(The Guild)(Part 1 of 2).z80", 0x09f23, 0x6ea072bd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsoulhunt, Specsoulhunt, Spectrum)
STD_ROM_FN(Specsoulhunt)

struct BurnDriver BurnSpecsoulhunt = {
	"spec_soulhunt", NULL, "spec_spectrum", NULL, "1992",
	"Soul Hunter (Part 1 of 2) (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsoulhuntRomInfo, SpecsoulhuntRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Soul Hunter (Part 2 of 2) (48K)

static struct BurnRomInfo Specsoulhunt2RomDesc[] = {
	{ "Soul Hunter (1992)(The Guild)(Part 2 of 2).z80", 0x0a081, 0xce80580d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsoulhunt2, Specsoulhunt2, Spectrum)
STD_ROM_FN(Specsoulhunt2)

struct BurnDriver BurnSpecsoulhunt2 = {
	"spec_soulhunt2", "spec_soulhunt", "spec_spectrum", NULL, "1992",
	"Soul Hunter (Part 2 of 2) (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsoulhunt2RomInfo, Specsoulhunt2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Souls of Darkon (48K)

static struct BurnRomInfo SpecsouldarkRomDesc[] = {
	{ "Souls of Darkon (1985)(Taskset).z80", 0x0a2ae, 0x2d68c357, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsouldark, Specsouldark, Spectrum)
STD_ROM_FN(Specsouldark)

struct BurnDriver BurnSpecsouldark = {
	"spec_souldark", NULL, "spec_spectrum", NULL, "1985",
	"Souls of Darkon (48K)\0", NULL, "Taskset", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsouldarkRomInfo, SpecsouldarkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Southern Belle (48K)

static struct BurnRomInfo SpecsoutbellRomDesc[] = {
	{ "Southern Belle (1985)(Hewson Consultants).z80", 0x08dfd, 0x3192926c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsoutbell, Specsoutbell, Spectrum)
STD_ROM_FN(Specsoutbell)

struct BurnDriver BurnSpecsoutbell = {
	"spec_soutbell", NULL, "spec_spectrum", NULL, "1985",
	"Southern Belle (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsoutbellRomInfo, SpecsoutbellRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Space Command (48K)

static struct BurnRomInfo SpecspccmmndRomDesc[] = {
	{ "Space Command (1984)(Virgin Games).z80", 0x04769, 0xc581ce22, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspccmmnd, Specspccmmnd, Spectrum)
STD_ROM_FN(Specspccmmnd)

struct BurnDriver BurnSpecspccmmnd = {
	"spec_spccmmnd", NULL, "spec_spectrum", NULL, "1984",
	"Space Command (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspccmmndRomInfo, SpecspccmmndRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Space Crusade (128K)

static struct BurnRomInfo SpecspccrusdRomDesc[] = {
	{ "Space Crusade (1992)(Gremlin Graphics Software)[128K].z80", 0x11b8c, 0x039474f3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspccrusd, Specspccrusd, Spectrum)
STD_ROM_FN(Specspccrusd)

struct BurnDriver BurnSpecspccrusd = {
	"spec_spccrusd", NULL, "spec_spec128", NULL, "1992",
	"Space Crusade (128K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspccrusdRomInfo, SpecspccrusdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Space Defender (48K)

static struct BurnRomInfo SpecspcdfendRomDesc[] = {
	{ "Space Defender (1982)(R. Bhattacharya).z80", 0x0154c, 0xbab3541f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspcdfend, Specspcdfend, Spectrum)
STD_ROM_FN(Specspcdfend)

struct BurnDriver BurnSpecspcdfend = {
	"spec_spcdfend", NULL, "spec_spectrum", NULL, "1982",
	"Space Defender (48K)\0", NULL, "R. Bhattacharya", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspcdfendRomInfo, SpecspcdfendRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Space Harrier (48K)

static struct BurnRomInfo SpecsharrierRomDesc[] = {
	{ "Space Harrier (1986)(Elite Systems).z80", 0x0b439, 0xd33b7f51, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsharrier, Specsharrier, Spectrum)
STD_ROM_FN(Specsharrier)

struct BurnDriver BurnSpecsharrier = {
	"spec_sharrier", NULL, "spec_spectrum", NULL, "1986",
	"Space Harrier (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsharrierRomInfo, SpecsharrierRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Space Harrier II (48K)

static struct BurnRomInfo Specsharrir2RomDesc[] = {
	{ "Space Harrier II (1990)(Grandslam Entertainments).z80", 0x0a2e4, 0x2f556b72, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsharrir2, Specsharrir2, Spectrum)
STD_ROM_FN(Specsharrir2)

struct BurnDriver BurnSpecsharrir2 = {
	"spec_sharrir2", NULL, "spec_spectrum", NULL, "1990",
	"Space Harrier II (48K)\0", NULL, "Grandslam Entertainments", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsharrir2RomInfo, Specsharrir2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Space Hunter (48K)

static struct BurnRomInfo SpecspachuntRomDesc[] = {
	{ "Space Hunter (1987)(Mastertronic).z80", 0x091ca, 0xe11f5be9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspachunt, Specspachunt, Spectrum)
STD_ROM_FN(Specspachunt)

struct BurnDriver BurnSpecspachunt = {
	"spec_spachunt", NULL, "spec_spectrum", NULL, "1987",
	"Space Hunter (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspachuntRomInfo, SpecspachuntRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Space Island (48K)

static struct BurnRomInfo SpecspcislndRomDesc[] = {
	{ "Space Island (1983)(Terminal Software).z80", 0x06412, 0xab8d7608, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspcislnd, Specspcislnd, Spectrum)
STD_ROM_FN(Specspcislnd)

struct BurnDriver BurnSpecspcislnd = {
	"spec_spcislnd", NULL, "spec_spectrum", NULL, "1983",
	"Space Island (48K)\0", NULL, "Terminal Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspcislndRomInfo, SpecspcislndRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Space Jack (48K)

static struct BurnRomInfo SpecspcjackRomDesc[] = {
	{ "Space Jack (1988)(The Power House).z80", 0x056fa, 0x5881e0a0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspcjack, Specspcjack, Spectrum)
STD_ROM_FN(Specspcjack)

struct BurnDriver BurnSpecspcjack = {
	"spec_spcjack", NULL, "spec_spectrum", NULL, "1988",
	"Space Jack (48K)\0", NULL, "The Power House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspcjackRomInfo, SpecspcjackRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Space Landing (48K)

static struct BurnRomInfo SpecspclandgRomDesc[] = {
	{ "Space Landing (1989)(Gambrinus Software).z80", 0x016fc, 0xa07377b9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspclandg, Specspclandg, Spectrum)
STD_ROM_FN(Specspclandg)

struct BurnDriver BurnSpecspclandg = {
	"spec_spclandg", NULL, "spec_spectrum", NULL, "1989",
	"Space Landing (48K)\0", NULL, "Gambrinus Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspclandgRomInfo, SpecspclandgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Space Missile Command (German) (48K)

static struct BurnRomInfo SpecspcmisscRomDesc[] = {
	{ "Space Missile Command (1984)(Profisoft)(de).z80", 0x078a1, 0x49fad0e6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspcmissc, Specspcmissc, Spectrum)
STD_ROM_FN(Specspcmissc)

struct BurnDriver BurnSpecspcmissc = {
	"spec_spcmissc", NULL, "spec_spectrum", NULL, "1984",
	"Space Missile Command (German) (48K)\0", NULL, "Profisoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspcmisscRomInfo, SpecspcmisscRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Space Observer (48K)

static struct BurnRomInfo SpecspcobsvrRomDesc[] = {
	{ "Space Observer (19xx)(-).z80", 0x09099, 0xf65fc159, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspcobsvr, Specspcobsvr, Spectrum)
STD_ROM_FN(Specspcobsvr)

struct BurnDriver BurnSpecspcobsvr = {
	"spec_spcobsvr", NULL, "spec_spectrum", NULL, "19xx",
	"Space Observer (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspcobsvrRomInfo, SpecspcobsvrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Space Racer (48K)

static struct BurnRomInfo SpecspcracerRomDesc[] = {
	{ "Space Racer (1988)(Loriciels).z80", 0x0a39c, 0xade4d56e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspcracer, Specspcracer, Spectrum)
STD_ROM_FN(Specspcracer)

struct BurnDriver BurnSpecspcracer = {
	"spec_spcracer", NULL, "spec_spectrum", NULL, "1988",
	"Space Racer (48K)\0", NULL, "Loriciels", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspcracerRomInfo, SpecspcracerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Space Rescue (Spanish) (48K)

static struct BurnRomInfo SpecspcrscueRomDesc[] = {
	{ "Space Rescue (1986)(Wizard Software)(es).z80", 0x025d6, 0x31950915, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspcrscue, Specspcrscue, Spectrum)
STD_ROM_FN(Specspcrscue)

struct BurnDriver BurnSpecspcrscue = {
	"spec_spcrscue", NULL, "spec_spectrum", NULL, "1986",
	"Space Rescue (Spanish) (48K)\0", NULL, "Wizard Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspcrscueRomInfo, SpecspcrscueRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Space Rider - Jet Pack Co. (48K)

static struct BurnRomInfo SpecspcriderRomDesc[] = {
	{ "Space Rider - Jet Pack Co. (1990)(Hi-Tec Software).z80", 0x08a6d, 0x1d781626, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspcrider, Specspcrider, Spectrum)
STD_ROM_FN(Specspcrider)

struct BurnDriver BurnSpecspcrider = {
	"spec_spcrider", NULL, "spec_spectrum", NULL, "1990",
	"Space Rider - Jet Pack Co. (48K)\0", NULL, "Hi-Tec Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspcriderRomInfo, SpecspcriderRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Space Saving Mission (cs) (48K)

static struct BurnRomInfo SpecspcsavmRomDesc[] = {
	{ "Space Saving Mission (1985)(Ultravideo Soft)(cs).z80", 0x08a66, 0x735afe5b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspcsavm, Specspcsavm, Spectrum)
STD_ROM_FN(Specspcsavm)

struct BurnDriver BurnSpecspcsavm = {
	"spec_spcsavm", NULL, "spec_spectrum", NULL, "1985",
	"Space Saving Mission (cs) (48K)\0", NULL, "Ultravideo Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspcsavmRomInfo, SpecspcsavmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Space Station Zebra (48K)

static struct BurnRomInfo SpecspcstatzRomDesc[] = {
	{ "Space Station Zebra (1983)(Beyond Software).z80", 0x03d7e, 0x8b7cfe59, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspcstatz, Specspcstatz, Spectrum)
STD_ROM_FN(Specspcstatz)

struct BurnDriver BurnSpecspcstatz = {
	"spec_spcstatz", NULL, "spec_spectrum", NULL, "1983",
	"Space Station Zebra (48K)\0", NULL, "Beyond Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspcstatzRomInfo, SpecspcstatzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Space Warp (48K)

static struct BurnRomInfo SpecspcwarpRomDesc[] = {
	{ "Space Warp (1984)(A.C.E. Software).z80", 0x03012, 0x48667e14, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspcwarp, Specspcwarp, Spectrum)
STD_ROM_FN(Specspcwarp)

struct BurnDriver BurnSpecspcwarp = {
	"spec_spcwarp", NULL, "spec_spectrum", NULL, "1984",
	"Space Warp (48K)\0", NULL, "A.C.E. Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspcwarpRomInfo, SpecspcwarpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Space Warrior (48K)

static struct BurnRomInfo SpecspcwarrrRomDesc[] = {
	{ "Space Warrior (1985)(Automata UK).z80", 0x06b3d, 0xfa09d50b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspcwarrr, Specspcwarrr, Spectrum)
STD_ROM_FN(Specspcwarrr)

struct BurnDriver BurnSpecspcwarrr = {
	"spec_spcwarrr", NULL, "spec_spectrum", NULL, "1985",
	"Space Warrior (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspcwarrrRomInfo, SpecspcwarrrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Space Wreck (48K)

static struct BurnRomInfo SpecspcwreckRomDesc[] = {
	{ "Space Wreck (1984)(Christopher James Software).z80", 0x03edf, 0xf883de59, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspcwreck, Specspcwreck, Spectrum)
STD_ROM_FN(Specspcwreck)

struct BurnDriver BurnSpecspcwreck = {
	"spec_spcwreck", NULL, "spec_spectrum", NULL, "1984",
	"Space Wreck (48K)\0", NULL, "Christopher James Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspcwreckRomInfo, SpecspcwreckRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Space! (48K)

static struct BurnRomInfo SpecspaceRomDesc[] = {
	{ "Space! (1997)(Sam).z80", 0x01050, 0x268ab82a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspace, Specspace, Spectrum)
STD_ROM_FN(Specspace)

struct BurnDriver BurnSpecspace = {
	"spec_space", NULL, "spec_spectrum", NULL, "1997",
	"Space! (48K)\0", NULL, "Sam", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspaceRomInfo, SpecspaceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spaced Out (48K)

static struct BurnRomInfo SpecspacedotRomDesc[] = {
	{ "Spaced Out (1987)(Firebird Software).z80", 0x0790f, 0xd738ecc5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspacedot, Specspacedot, Spectrum)
STD_ROM_FN(Specspacedot)

struct BurnDriver BurnSpecspacedot = {
	"spec_spacedot", NULL, "spec_spectrum", NULL, "1987",
	"Spaced Out (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspacedotRomInfo, SpecspacedotRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spacepark (48K)

static struct BurnRomInfo SpecspaceparRomDesc[] = {
	{ "Spacepark (2002)(Naffsoft).z80", 0x00e43, 0xb7dd66cc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspacepar, Specspacepar, Spectrum)
STD_ROM_FN(Specspacepar)

struct BurnDriver BurnSpecspacepar = {
	"spec_spacepar", NULL, "spec_spectrum", NULL, "2002",
	"Spacepark (48K)\0", NULL, "Naffsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspaceparRomInfo, SpecspaceparRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spacestation Beta 1 (48K)

static struct BurnRomInfo SpecspacbetaRomDesc[] = {
	{ "Spacestation Beta 1 (1986)(Dan B. Nielsen).z80", 0x07f97, 0x09d5b509, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspacbeta, Specspacbeta, Spectrum)
STD_ROM_FN(Specspacbeta)

struct BurnDriver BurnSpecspacbeta = {
	"spec_spacbeta", NULL, "spec_spectrum", NULL, "1986",
	"Spacestation Beta 1 (48K)\0", NULL, "Dan B. Nielsen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspacbetaRomInfo, SpecspacbetaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spaceway (nl) (48K)

static struct BurnRomInfo SpecspacewayRomDesc[] = {
	{ "Spaceway (1984)(Decibel)(nl)[aka Space Quest].z80", 0x01c29, 0xdcf8a038, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspaceway, Specspaceway, Spectrum)
STD_ROM_FN(Specspaceway)

struct BurnDriver BurnSpecspaceway = {
	"spec_spaceway", NULL, "spec_spectrum", NULL, "1984",
	"Spaceway (nl) (48K)\0", NULL, "Decibel", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspacewayRomInfo, SpecspacewayRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spaghetti Western (48K)

static struct BurnRomInfo SpecspagwestRomDesc[] = {
	{ "Spaghetti Western (1990)(Zeppelin Games).z80", 0x08032, 0x90d89f00, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspagwest, Specspagwest, Spectrum)
STD_ROM_FN(Specspagwest)

struct BurnDriver BurnSpecspagwest = {
	"spec_spagwest", NULL, "spec_spectrum", NULL, "1990",
	"Spaghetti Western (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspagwestRomInfo, SpecspagwestRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spec Trek (48K)

static struct BurnRomInfo SpecspectrekRomDesc[] = {
	{ "Spec Trek (1984)(Speccy Basher).z80", 0x07d7f, 0x867034cc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspectrek, Specspectrek, Spectrum)
STD_ROM_FN(Specspectrek)

struct BurnDriver BurnSpecspectrek = {
	"spec_spectrek", NULL, "spec_spectrum", NULL, "1984",
	"Spec Trek (48K)\0", NULL, "Speccy Basher", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspectrekRomInfo, SpecspectrekRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Speccy Simon (48K)

static struct BurnRomInfo SpecspecsimoRomDesc[] = {
	{ "Speccy Simon (1996)(CSSCGC).z80", 0x01b8e, 0x381a8c11, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspecsimo, Specspecsimo, Spectrum)
STD_ROM_FN(Specspecsimo)

struct BurnDriver BurnSpecspecsimo = {
	"spec_specsimo", NULL, "spec_spectrum", NULL, "1996",
	"Speccy Simon (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspecsimoRomInfo, SpecspecsimoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// SpecDaleks (48K)

static struct BurnRomInfo SpecspecdaleRomDesc[] = {
	{ "SpecDaleks (1996)(CSSCGC).z80", 0x01e82, 0x9a9db5b6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspecdale, Specspecdale, Spectrum)
STD_ROM_FN(Specspecdale)

struct BurnDriver BurnSpecspecdale = {
	"spec_specdale", NULL, "spec_spectrum", NULL, "1996",
	"SpecDaleks (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspecdaleRomInfo, SpecspecdaleRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Special Delivery (48K)

static struct BurnRomInfo SpecspecdeliRomDesc[] = {
	{ "Special Delivery (1984)(Creative Sparks).z80", 0x05b8a, 0xc036dbbb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspecdeli, Specspecdeli, Spectrum)
STD_ROM_FN(Specspecdeli)

struct BurnDriver BurnSpecspecdeli = {
	"spec_specdeli", NULL, "spec_spectrum", NULL, "1984",
	"Special Delivery (48K)\0", NULL, "Creative Sparks", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspecdeliRomInfo, SpecspecdeliRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Special Operations (48K)

static struct BurnRomInfo SpecspecoperRomDesc[] = {
	{ "Special Operations (1984)(MC Lothlorien).z80", 0x0a107, 0x17dc912e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspecoper, Specspecoper, Spectrum)
STD_ROM_FN(Specspecoper)

struct BurnDriver BurnSpecspecoper = {
	"spec_specoper", NULL, "spec_spectrum", NULL, "1984",
	"Special Operations (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspecoperRomInfo, SpecspecoperRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spectacle 1 (48K)

static struct BurnRomInfo SpecspectaclRomDesc[] = {
	{ "Spectacle 1 (1986)(Design Design Software).z80", 0x0a85c, 0x6639ccb9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspectacl, Specspectacl, Spectrum)
STD_ROM_FN(Specspectacl)

struct BurnDriver BurnSpecspectacl = {
	"spec_spectacl", NULL, "spec_spectrum", NULL, "1986",
	"Spectacle 1 (48K)\0", NULL, "Design Design Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspectaclRomInfo, SpecspectaclRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spectacle 2 (48K)

static struct BurnRomInfo Specspectac2RomDesc[] = {
	{ "Spectacle 2 (1986)(Design Design Software).z80", 0x07bff, 0x5addecb5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspectac2, Specspectac2, Spectrum)
STD_ROM_FN(Specspectac2)

struct BurnDriver BurnSpecspectac2 = {
	"spec_spectac2", NULL, "spec_spectrum", NULL, "1986",
	"Spectacle 2 (48K)\0", NULL, "Design Design Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specspectac2RomInfo, Specspectac2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spectipede (48K)

static struct BurnRomInfo SpecspectipeRomDesc[] = {
	{ "Spectipede (1983)(Mastertronic).z80", 0x02b5d, 0xce17136c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspectipe, Specspectipe, Spectrum)
STD_ROM_FN(Specspectipe)

struct BurnDriver BurnSpecspectipe = {
	"spec_spectipe", NULL, "spec_spectrum", NULL, "1983",
	"Spectipede (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspectipeRomInfo, SpecspectipeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spectral Invaders (48K)

static struct BurnRomInfo SpecspecinvaRomDesc[] = {
	{ "Spectral Invaders (1982)(Bug-Byte Software).z80", 0x0c01e, 0xd6a8783f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspecinva, Specspecinva, Spectrum)
STD_ROM_FN(Specspecinva)

struct BurnDriver BurnSpecspecinva = {
	"spec_specinva", NULL, "spec_spectrum", NULL, "1982",
	"Spectral Invaders (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspecinvaRomInfo, SpecspecinvaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spectrapede (48K)

static struct BurnRomInfo SpecspectrappRomDesc[] = {
	{ "Spectrapede (1983)(Protek Computing).z80", 0x06098, 0xf990ef38, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspectrapp, Specspectrapp, Spectrum)
STD_ROM_FN(Specspectrapp)

struct BurnDriver BurnSpecspectrapp = {
	"spec_spectrapp", "spec_spectrap", "spec_spectrum", NULL, "1983",
	"Spectrapede (48K)\0", NULL, "Protek Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspectrappRomInfo, SpecspectrappRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spectraprobe - Intro (48K)

static struct BurnRomInfo SpecspectrapRomDesc[] = {
	{ "Spectraprobe - Intro (1983)(Artic Computing).z80", 0x01621, 0x9fe11198, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspectrap, Specspectrap, Spectrum)
STD_ROM_FN(Specspectrap)

struct BurnDriver BurnSpecspectrap = {
	"spec_spectrap", NULL, "spec_spectrum", NULL, "1983",
	"Spectraprobe - Intro (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspectrapRomInfo, SpecspectrapRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spectraprobe (48K)

static struct BurnRomInfo SpecspectrapaRomDesc[] = {
	{ "Spectraprobe (1983)(Artic Computing).z80", 0x02533, 0xfaba3393, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspectrapa, Specspectrapa, Spectrum)
STD_ROM_FN(Specspectrapa)

struct BurnDriver BurnSpecspectrapa = {
	"spec_spectrapa", "spec_spectrap", "spec_spectrum", NULL, "1983",
	"Spectraprobe (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspectrapaRomInfo, SpecspectrapaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spectre of Booballyhoo, The (48K)

static struct BurnRomInfo SpecspeboothRomDesc[] = {
	{ "Spectre of Booballyhoo, The (1987)(Infected Software).z80", 0x097ed, 0x06d0681d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspebooth, Specspebooth, Spectrum)
STD_ROM_FN(Specspebooth)

struct BurnDriver BurnSpecspebooth = {
	"spec_spebooth", NULL, "spec_spectrum", NULL, "1987",
	"Spectre of Booballyhoo, The (48K)\0", NULL, "Infected Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspeboothRomInfo, SpecspeboothRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spectre of Castle Coris, The (Part 1 of 2) (48K)

static struct BurnRomInfo SpecsccRomDesc[] = {
	{ "Spectre of Castle Coris, The (1990)(FSF Adventures)(Part 1 of 2).z80", 0x09404, 0x0792d69e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specscc, Specscc, Spectrum)
STD_ROM_FN(Specscc)

struct BurnDriver BurnSpecscc = {
	"spec_scc", NULL, "spec_spectrum", NULL, "1990",
	"Spectre of Castle Coris, The (Part 1 of 2) (48K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsccRomInfo, SpecsccRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spectre of Castle Coris, The (Part 2 of 2) (48K)

static struct BurnRomInfo Specscc2RomDesc[] = {
	{ "Spectre of Castle Coris, The (1990)(FSF Adventures)(Part 2 of 2).z80", 0x092d5, 0x2bd70d7d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specscc2, Specscc2, Spectrum)
STD_ROM_FN(Specscc2)

struct BurnDriver BurnSpecscc2 = {
	"spec_scc2", "spec_scc", "spec_spectrum", NULL, "1990",
	"Spectre of Castle Coris, The (Part 2 of 2) (48K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specscc2RomInfo, Specscc2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spectre of Castle Coris, The v2 (Part 1 of 2) (128K)

static struct BurnRomInfo Specsccv2RomDesc[] = {
	{ "Spectre of Castle Coris, The v2 (1992)(FSF Adventures)(Part 1 of 2)[128K].z80", 0x126d9, 0x0ccc119d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsccv2, Specsccv2, Spectrum)
STD_ROM_FN(Specsccv2)

struct BurnDriver BurnSpecsccv2 = {
	"spec_sccv2", NULL, "spec_spec128", NULL, "1992",
	"Spectre of Castle Coris, The v2 (Part 1 of 2) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsccv2RomInfo, Specsccv2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spectre of Castle Coris, The v2 (Part 2 of 2) (128K)

static struct BurnRomInfo Specsccv22RomDesc[] = {
	{ "Spectre of Castle Coris, The v2 (1992)(FSF Adventures)(Part 2 of 2)[128K].z80", 0x13180, 0x0bef1021, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsccv22, Specsccv22, Spectrum)
STD_ROM_FN(Specsccv22)

struct BurnDriver BurnSpecsccv22 = {
	"spec_sccv22", "spec_sccv2", "spec_spec128", NULL, "1992",
	"Spectre of Castle Coris, The v2 (Part 2 of 2) (128K)\0", NULL, "FSF Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsccv22RomInfo, Specsccv22RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spectrealm (48K)

static struct BurnRomInfo SpecspectreaRomDesc[] = {
	{ "Spectrealm (1984)(Runesoft).z80", 0x055a5, 0x849c8744, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspectrea, Specspectrea, Spectrum)
STD_ROM_FN(Specspectrea)

struct BurnDriver BurnSpecspectrea = {
	"spec_spectrea", NULL, "spec_spectrum", NULL, "1984",
	"Spectrealm (48K)\0", NULL, "Runesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspectreaRomInfo, SpecspectreaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spectron (48K)

static struct BurnRomInfo SpecspectronRomDesc[] = {
	{ "Spectron (1983)(Virgin Games).z80", 0x06adf, 0xcdf27e46, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspectron, Specspectron, Spectrum)
STD_ROM_FN(Specspectron)

struct BurnDriver BurnSpecspectron = {
	"spec_spectron", NULL, "spec_spectrum", NULL, "1983",
	"Spectron (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspectronRomInfo, SpecspectronRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spectrum Chess (48K)

static struct BurnRomInfo SpecspecchesRomDesc[] = {
	{ "Spectrum Chess (1982)(Artic Computing).z80", 0x03ea1, 0x8402c108, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspecches, Specspecches, Spectrum)
STD_ROM_FN(Specspecches)

struct BurnDriver BurnSpecspecches = {
	"spec_specches", NULL, "spec_spectrum", NULL, "1982",
	"Spectrum Chess (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspecchesRomInfo, SpecspecchesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spectrum Eights (48K)

static struct BurnRomInfo SpecspeceighRomDesc[] = {
	{ "Spectrum Eights (19xx)(D.A. Simon).z80", 0x06efc, 0x02acab54, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspeceigh, Specspeceigh, Spectrum)
STD_ROM_FN(Specspeceigh)

struct BurnDriver BurnSpecspeceigh = {
	"spec_speceigh", NULL, "spec_spectrum", NULL, "19xx",
	"Spectrum Eights (48K)\0", NULL, "D.A. Simon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspeceighRomInfo, SpecspeceighRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spectrum Safari (48K)

static struct BurnRomInfo SpecspecsafaRomDesc[] = {
	{ "Spectrum Safari (1983)(CDS Microsystems).z80", 0x08be4, 0x51eef73c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspecsafa, Specspecsafa, Spectrum)
STD_ROM_FN(Specspecsafa)

struct BurnDriver BurnSpecspecsafa = {
	"spec_specsafa", NULL, "spec_spectrum", NULL, "1983",
	"Spectrum Safari (48K)\0", NULL, "CDS Microsystems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspecsafaRomInfo, SpecspecsafaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spectrum Skiing (48K)

static struct BurnRomInfo SpecspecskiiRomDesc[] = {
	{ "Spectrum Skiing (19xx)(Jonathan Yeomans).z80", 0x02143, 0xbc1794fa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspecskii, Specspecskii, Spectrum)
STD_ROM_FN(Specspecskii)

struct BurnDriver BurnSpecspecskii = {
	"spec_specskii", NULL, "spec_spectrum", NULL, "19xx",
	"Spectrum Skiing (48K)\0", NULL, "Jonathan Yeomans", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspecskiiRomInfo, SpecspecskiiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spectrum Snooker (128K)

static struct BurnRomInfo SpecspecsnooRomDesc[] = {
	{ "Spectrum Snooker (1983)(Artic Computing)[128K].z80", 0x0235b, 0x1a76d22f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspecsnoo, Specspecsnoo, Spectrum)
STD_ROM_FN(Specspecsnoo)

struct BurnDriver BurnSpecspecsnoo = {
	"spec_specsnoo", NULL, "spec_spec128", NULL, "1983",
	"Spectrum Snooker (128K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspecsnooRomInfo, SpecspecsnooRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spectrum Voice Chess (48K)

static struct BurnRomInfo SpecspevoichRomDesc[] = {
	{ "Spectrum Voice Chess (1982)(Artic Computing).z80", 0x07d06, 0x0fb1568b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspevoich, Specspevoich, Spectrum)
STD_ROM_FN(Specspevoich)

struct BurnDriver BurnSpecspevoich = {
	"spec_spevoich", NULL, "spec_spectrum", NULL, "1982",
	"Spectrum Voice Chess (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspevoichRomInfo, SpecspevoichRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spectrum-Skat (German) (48K)

static struct BurnRomInfo SpecspecskatRomDesc[] = {
	{ "Spectrum-Skat (1983)(-)(de).z80", 0x07d69, 0xb39e43d5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspecskat, Specspecskat, Spectrum)
STD_ROM_FN(Specspecskat)

struct BurnDriver BurnSpecspecskat = {
	"spec_specskat", NULL, "spec_spectrum", NULL, "1983",
	"Spectrum-Skat (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspecskatRomInfo, SpecspecskatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Specventure (48K)

static struct BurnRomInfo SpecspecventRomDesc[] = {
	{ "Specventure (1986)(Mastertronic).z80", 0x097a9, 0xbce541dc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspecvent, Specspecvent, Spectrum)
STD_ROM_FN(Specspecvent)

struct BurnDriver BurnSpecspecvent = {
	"spec_specvent", NULL, "spec_spectrum", NULL, "1986",
	"Specventure (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspecventRomInfo, SpecspecventRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Speed King 2 (48K)

static struct BurnRomInfo Specspedkng2_48RomDesc[] = {
	{ "Speed King 2 (1987)(Mastertronic).z80", 0x082a1, 0x8f074a8d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspedkng2_48, Specspedkng2_48, Spectrum)
STD_ROM_FN(Specspedkng2_48)

struct BurnDriver BurnSpecspedkng2_48 = {
	"spec_spedkng2_48", "spec_spedkng2", "spec_spectrum", NULL, "1987",
	"Speed King 2 (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specspedkng2_48RomInfo, Specspedkng2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Speed King 2 (128K)

static struct BurnRomInfo Specspedkng2RomDesc[] = {
	{ "Speed King 2 (1987)(Mastertronic)[128K].z80", 0x08872, 0xb7d10153, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspedkng2, Specspedkng2, Spectrum)
STD_ROM_FN(Specspedkng2)

struct BurnDriver BurnSpecspedkng2 = {
	"spec_spedkng2", NULL, "spec_spec128", NULL, "1987",
	"Speed King 2 (128K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specspedkng2RomInfo, Specspedkng2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Speed Zone (48K)

static struct BurnRomInfo SpecspeezoneRomDesc[] = {
	{ "Speed Zone (1988)(Mastertronic).z80", 0x04e29, 0x6da1cd9f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspeezone, Specspeezone, Spectrum)
STD_ROM_FN(Specspeezone)

struct BurnDriver BurnSpecspeezone = {
	"spec_speezone", NULL, "spec_spectrum", NULL, "1988",
	"Speed Zone (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspeezoneRomInfo, SpecspeezoneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Speedboat Assassin (48K)

static struct BurnRomInfo Specspedbass_48RomDesc[] = {
	{ "Speedboat Assassin (1989)(Mastertronic Plus).z80", 0x09274, 0x80d73d57, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspedbass_48, Specspedbass_48, Spectrum)
STD_ROM_FN(Specspedbass_48)

struct BurnDriver BurnSpecspedbass_48 = {
	"spec_spedbass_48", "spec_spedbass", "spec_spectrum", NULL, "1989",
	"Speedboat Assassin (48K)\0", NULL, "Mastertronic Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specspedbass_48RomInfo, Specspedbass_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Speedboat Assassin (128K)

static struct BurnRomInfo SpecspedbassRomDesc[] = {
	{ "Speedboat Assassin (1989)(Mastertronic Plus)[128K].z80", 0x0b437, 0x54f4c77a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspedbass, Specspedbass, Spectrum)
STD_ROM_FN(Specspedbass)

struct BurnDriver BurnSpecspedbass = {
	"spec_spedbass", NULL, "spec_spec128", NULL, "1989",
	"Speedboat Assassin (128K)\0", NULL, "Mastertronic Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspedbassRomInfo, SpecspedbassRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spellbound (Beyond Software) (48K)

static struct BurnRomInfo SpecspllbndbRomDesc[] = {
	{ "Spellbound (1984)(Beyond Software).z80", 0x065ac, 0x48318933, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspllbndb, Specspllbndb, Spectrum)
STD_ROM_FN(Specspllbndb)

struct BurnDriver BurnSpecspllbndb = {
	"spec_spllbndb", NULL, "spec_spectrum", NULL, "1984",
	"Spellbound (Beyond Software) (48K)\0", NULL, "Beyond Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspllbndbRomInfo, SpecspllbndbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spellbound (Mastertronic Added Dimension) (128K)

static struct BurnRomInfo SpecspllbndRomDesc[] = {
	{ "Spellbound (1985)(Mastertronic Added Dimension)[128K][Magic Knight 2].z80", 0x14ecd, 0xbea73b1e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspllbnd, Specspllbnd, Spectrum)
STD_ROM_FN(Specspllbnd)

struct BurnDriver BurnSpecspllbnd = {
	"spec_spllbnd", NULL, "spec_spec128", NULL, "1985",
	"Spellbound (Mastertronic Added Dimension) (128K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspllbndRomInfo, SpecspllbndRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spellbound (Mastertronic Added Dimension) (48K)

static struct BurnRomInfo Specspllbnd_48RomDesc[] = {
	{ "Spellbound (1985)(Mastertronic Added Dimension)[Magic Knight 2].z80", 0x0aea7, 0x7144fdb7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspllbnd_48, Specspllbnd_48, Spectrum)
STD_ROM_FN(Specspllbnd_48)

struct BurnDriver BurnSpecspllbnd_48 = {
	"spec_spllbnd_48", "spec_spllbnd", "spec_spectrum", NULL, "1985",
	"Spellbound (Mastertronic Added Dimension) (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specspllbnd_48RomInfo, Specspllbnd_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spellcaster (48K)

static struct BurnRomInfo SpecspellcasRomDesc[] = {
	{ "Spellcaster (19xx)(-).z80", 0x09d90, 0xd7c01a10, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspellcas, Specspellcas, Spectrum)
STD_ROM_FN(Specspellcas)

struct BurnDriver BurnSpecspellcas = {
	"spec_spellcas", NULL, "spec_spectrum", NULL, "19xx",
	"Spellcaster (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspellcasRomInfo, SpecspellcasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spherical (48K)

static struct BurnRomInfo SpecsphericaRomDesc[] = {
	{ "Spherical (1989)(Rainbow Arts).z80", 0x06d51, 0xd4bb5aae, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspherica, Specspherica, Spectrum)
STD_ROM_FN(Specspherica)

struct BurnDriver BurnSpecspherica = {
	"spec_spherica", NULL, "spec_spectrum", NULL, "1989",
	"Spherical (48K)\0", NULL, "Rainbow Arts", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsphericaRomInfo, SpecsphericaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spi Droid (48K)

static struct BurnRomInfo SpecspidroidRomDesc[] = {
	{ "Spi Droid (1989)(Vinsoft).z80", 0x06d56, 0xf95b69c7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspidroid, Specspidroid, Spectrum)
STD_ROM_FN(Specspidroid)

struct BurnDriver BurnSpecspidroid = {
	"spec_spidroid", NULL, "spec_spectrum", NULL, "1989",
	"Spi Droid (48K)\0", NULL, "Vinsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspidroidRomInfo, SpecspidroidRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spider Diner (48K)

static struct BurnRomInfo SpecspiddineRomDesc[] = {
	{ "Spider Diner (2002)(Naffsoft).z80", 0x01aef, 0xbeacbbb6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspiddine, Specspiddine, Spectrum)
STD_ROM_FN(Specspiddine)

struct BurnDriver BurnSpecspiddine = {
	"spec_spiddine", NULL, "spec_spectrum", NULL, "2002",
	"Spider Diner (48K)\0", NULL, "Naffsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspiddineRomInfo, SpecspiddineRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spideron (48K)

static struct BurnRomInfo SpecspideronRomDesc[] = {
	{ "Spideron (1983)(Hyperion Software).z80", 0x015c1, 0xe94ec4ee, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspideron, Specspideron, Spectrum)
STD_ROM_FN(Specspideron)

struct BurnDriver BurnSpecspideron = {
	"spec_spideron", NULL, "spec_spectrum", NULL, "1983",
	"Spideron (48K)\0", NULL, "Hyperion Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspideronRomInfo, SpecspideronRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spielautomaten (German) (48K)

static struct BurnRomInfo SpecspielautRomDesc[] = {
	{ "Spielautomaten (19xx)(-)(de).z80", 0x0862d, 0xee002afa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspielaut, Specspielaut, Spectrum)
STD_ROM_FN(Specspielaut)

struct BurnDriver BurnSpecspielaut = {
	"spec_spielaut", NULL, "spec_spectrum", NULL, "19xx",
	"Spielautomaten (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspielautRomInfo, SpecspielautRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spike (48K)

static struct BurnRomInfo SpecspikeRomDesc[] = {
	{ "Spike (1985)(Firebird Software).z80", 0x08be5, 0x4e072d99, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspike, Specspike, Spectrum)
STD_ROM_FN(Specspike)

struct BurnDriver BurnSpecspike = {
	"spec_spike", NULL, "spec_spectrum", NULL, "1985",
	"Spike (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspikeRomInfo, SpecspikeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spike in Transylvania (48K)

static struct BurnRomInfo SpecspiktranRomDesc[] = {
	{ "Spike in Transylvania (1991)(Codemasters).z80", 0x0993d, 0x4bde606e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspiktran, Specspiktran, Spectrum)
STD_ROM_FN(Specspiktran)

struct BurnDriver BurnSpecspiktran = {
	"spec_spiktran", NULL, "spec_spectrum", NULL, "1991",
	"Spike in Transylvania (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspiktranRomInfo, SpecspiktranRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spiky Harold (48K)

static struct BurnRomInfo SpecspikharoRomDesc[] = {
	{ "Spiky Harold (1986)(Firebird Software).z80", 0x075ab, 0x14779782, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspikharo, Specspikharo, Spectrum)
STD_ROM_FN(Specspikharo)

struct BurnDriver BurnSpecspikharo = {
	"spec_spikharo", NULL, "spec_spectrum", NULL, "1986",
	"Spiky Harold (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspikharoRomInfo, SpecspikharoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spindizzy (48K)

static struct BurnRomInfo SpecspindizzRomDesc[] = {
	{ "Spindizzy (1986)(Electric Dreams Software).z80", 0x0937f, 0x35e5dcdf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspindizz, Specspindizz, Spectrum)
STD_ROM_FN(Specspindizz)

struct BurnDriver BurnSpecspindizz = {
	"spec_spindizz", NULL, "spec_spectrum", NULL, "1986",
	"Spindizzy (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspindizzRomInfo, SpecspindizzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spitfire '40 (48K)

static struct BurnRomInfo SpecspitfireRomDesc[] = {
	{ "Spitfire '40 (1985)(Mirrorsoft).z80", 0x08f36, 0xa88db9f9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspitfire, Specspitfire, Spectrum)
STD_ROM_FN(Specspitfire)

struct BurnDriver BurnSpecspitfire = {
	"spec_spitfire", NULL, "spec_spectrum", NULL, "1985",
	"Spitfire '40 (48K)\0", NULL, "Mirrorsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspitfireRomInfo, SpecspitfireRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spitting Image (128K)

static struct BurnRomInfo SpecspitimagRomDesc[] = {
	{ "Spitting Image (1988)(Domark)[128K].z80", 0x15fa4, 0xeac6f2ef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspitimag, Specspitimag, Spectrum)
STD_ROM_FN(Specspitimag)

struct BurnDriver BurnSpecspitimag = {
	"spec_spitimag", NULL, "spec_spec128", NULL, "1988",
	"Spitting Image (128K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspitimagRomInfo, SpecspitimagRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Splash (48K)

static struct BurnRomInfo SpecsplashRomDesc[] = {
	{ "Splash (19xx)(-).z80", 0x03434, 0xe3e3cdae, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsplash, Specsplash, Spectrum)
STD_ROM_FN(Specsplash)

struct BurnDriver BurnSpecsplash = {
	"spec_splash", NULL, "spec_spectrum", NULL, "19xx",
	"Splash (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsplashRomInfo, SpecsplashRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Splat! (48K)

static struct BurnRomInfo SpecsplatRomDesc[] = {
	{ "Splat! (1983)(Incentive Software).z80", 0x08c56, 0xa707110e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsplat, Specsplat, Spectrum)
STD_ROM_FN(Specsplat)

struct BurnDriver BurnSpecsplat = {
	"spec_splat", NULL, "spec_spectrum", NULL, "1983",
	"Splat! (48K)\0", NULL, "Incentive Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsplatRomInfo, SpecsplatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Split Personalities (48K)

static struct BurnRomInfo SpecsplipersRomDesc[] = {
	{ "Split Personalities (1986)(Domark).z80", 0x0988a, 0xab27d4b1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsplipers, Specsplipers, Spectrum)
STD_ROM_FN(Specsplipers)

struct BurnDriver BurnSpecsplipers = {
	"spec_splipers", NULL, "spec_spectrum", NULL, "1986",
	"Split Personalities (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsplipersRomInfo, SpecsplipersRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Splitting Images (48K)

static struct BurnRomInfo SpecspliimagRomDesc[] = {
	{ "Splitting Images (1986)(Domark).z80", 0x098b8, 0x1f34ba1d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspliimag, Specspliimag, Spectrum)
STD_ROM_FN(Specspliimag)

struct BurnDriver BurnSpecspliimag = {
	"spec_spliimag", NULL, "spec_spectrum", NULL, "1986",
	"Splitting Images (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspliimagRomInfo, SpecspliimagRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spoof - The Magic Dragon (48K)

static struct BurnRomInfo SpecspthmadrRomDesc[] = {
	{ "Spoof - The Magic Dragon (1984)(Runesoft).z80", 0x08598, 0x11a3a0a1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspthmadr, Specspthmadr, Spectrum)
STD_ROM_FN(Specspthmadr)

struct BurnDriver BurnSpecspthmadr = {
	"spec_spthmadr", NULL, "spec_spectrum", NULL, "1984",
	"Spoof - The Magic Dragon (48K)\0", NULL, "Runesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspthmadrRomInfo, SpecspthmadrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spooked (48K)

static struct BurnRomInfo SpecspookedRomDesc[] = {
	{ "Spooked (1989)(Players Premier Software).z80", 0x09f88, 0x44ad36f1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspooked, Specspooked, Spectrum)
STD_ROM_FN(Specspooked)

struct BurnDriver BurnSpecspooked = {
	"spec_spooked", NULL, "spec_spectrum", NULL, "1989",
	"Spooked (48K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspookedRomInfo, SpecspookedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spooky Castle (48K)

static struct BurnRomInfo SpecspoocastRomDesc[] = {
	{ "Spooky Castle (1991)(Atlantis Software).z80", 0x0970f, 0xfad004e5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspoocast, Specspoocast, Spectrum)
STD_ROM_FN(Specspoocast)

struct BurnDriver BurnSpecspoocast = {
	"spec_spoocast", NULL, "spec_spectrum", NULL, "1991",
	"Spooky Castle (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspoocastRomInfo, SpecspoocastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spookyman (48K)

static struct BurnRomInfo SpecspookymaRomDesc[] = {
	{ "Spookyman (1982)(Abbex Electronics).z80", 0x0262f, 0x5e804272, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspookyma, Specspookyma, Spectrum)
STD_ROM_FN(Specspookyma)

struct BurnDriver BurnSpecspookyma = {
	"spec_spookyma", NULL, "spec_spectrum", NULL, "1982",
	"Spookyman (48K)\0", NULL, "Abbex Electronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspookymaRomInfo, SpecspookymaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spore (48K)

static struct BurnRomInfo SpecsporeRomDesc[] = {
	{ "Spore (1988)(Bulldog).z80", 0x04589, 0x2bd4379c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspore, Specspore, Spectrum)
STD_ROM_FN(Specspore)

struct BurnDriver BurnSpecspore = {
	"spec_spore", NULL, "spec_spectrum", NULL, "1988",
	"Spore (48K)\0", NULL, "Bulldog", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsporeRomInfo, SpecsporeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sport of Kings (48K)

static struct BurnRomInfo SpecsporkingRomDesc[] = {
	{ "Sport of Kings (1986)(Mastertronic Added Dimension)[speech].z80", 0x09447, 0xe0c3bffd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsporking, Specsporking, Spectrum)
STD_ROM_FN(Specsporking)

struct BurnDriver BurnSpecsporking = {
	"spec_sporking", NULL, "spec_spectrum", NULL, "1986",
	"Sport of Kings (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsporkingRomInfo, SpecsporkingRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sporting Triangles (48K)

static struct BurnRomInfo SpecsportriaRomDesc[] = {
	{ "Sporting Triangles (1989)(CDS Microsystems).z80", 0x0a5fb, 0xc7e3dfc1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsportria, Specsportria, Spectrum)
STD_ROM_FN(Specsportria)

struct BurnDriver BurnSpecsportria = {
	"spec_sportria", NULL, "spec_spectrum", NULL, "1989",
	"Sporting Triangles (48K)\0", NULL, "CDS Microsystems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsportriaRomInfo, SpecsportriaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sports Hero (48K)

static struct BurnRomInfo SpecsporheroRomDesc[] = {
	{ "Sports Hero (1984)(Melbourne House).z80", 0x08ebe, 0x41034bd2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsporhero, Specsporhero, Spectrum)
STD_ROM_FN(Specsporhero)

struct BurnDriver BurnSpecsporhero = {
	"spec_sporhero", NULL, "spec_spectrum", NULL, "1984",
	"Sports Hero (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsporheroRomInfo, SpecsporheroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sprinter (nl) (48K)

static struct BurnRomInfo SpecsprinterRomDesc[] = {
	{ "Sprinter (19xx)(Aackosoft)(nl).z80", 0x0644f, 0x9cc998e9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsprinter, Specsprinter, Spectrum)
STD_ROM_FN(Specsprinter)

struct BurnDriver BurnSpecsprinter = {
	"spec_sprinter", NULL, "spec_spectrum", NULL, "19xx",
	"Sprinter (nl) (48K)\0", NULL, "Aackosoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsprinterRomInfo, SpecsprinterRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sprl Tower (48K)

static struct BurnRomInfo SpecsprltoweRomDesc[] = {
	{ "Sprl Tower (19xx)(-).z80", 0x01f7e, 0x333c1a4a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsprltowe, Specsprltowe, Spectrum)
STD_ROM_FN(Specsprltowe)

struct BurnDriver BurnSpecsprltowe = {
	"spec_sprltowe", NULL, "spec_spectrum", NULL, "19xx",
	"Sprl Tower (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsprltoweRomInfo, SpecsprltoweRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sputnik (Spanish) (48K)

static struct BurnRomInfo SpecsputnikeRomDesc[] = {
	{ "Sputnik (19xx)(Syrano Soft)(es)[cr].z80", 0x04f83, 0x7d1ec03f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsputnike, Specsputnike, Spectrum)
STD_ROM_FN(Specsputnike)

struct BurnDriver BurnSpecsputnike = {
	"spec_sputnike", NULL, "spec_spectrum", NULL, "19xx",
	"Sputnik (Spanish) (48K)\0", NULL, "Syrano Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsputnikeRomInfo, SpecsputnikeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spy 008 (48K)

static struct BurnRomInfo Specspy008RomDesc[] = {
	{ "Spy 008 (1985)(Markus Rinio)[tr cs V. Wiedemann].z80", 0x01ccd, 0x8a242a02, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspy008, Specspy008, Spectrum)
STD_ROM_FN(Specspy008)

struct BurnDriver BurnSpecspy008 = {
	"spec_spy008", NULL, "spec_spectrum", NULL, "1985",
	"Spy 008 (48K)\0", NULL, "Markus Rinio", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specspy008RomInfo, Specspy008RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spy Hunter (48K)

static struct BurnRomInfo SpecspyhuntRomDesc[] = {
	{ "Spy Hunter (1985)(U.S. Gold).z80", 0x086af, 0x7c1b3220, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspyhunt, Specspyhunt, Spectrum)
STD_ROM_FN(Specspyhunt)

struct BurnDriver BurnSpecspyhunt = {
	"spec_spyhunt", NULL, "spec_spectrum", NULL, "1985",
	"Spy Hunter (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspyhuntRomInfo, SpecspyhuntRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spy Trilogy, The - Intro (Part 1-2 of 3) (48K)

static struct BurnRomInfo SpecspytrilRomDesc[] = {
	{ "Spy Trilogy, The - Intro (1986)(Tartan Software)(Part 1-2 of 3).z80", 0x0241e, 0xf3b1fd75, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspytril, Specspytril, Spectrum)
STD_ROM_FN(Specspytril)

struct BurnDriver BurnSpecspytril = {
	"spec_spytril", NULL, "spec_spectrum", NULL, "1986",
	"Spy Trilogy, The - Intro (Part 1-2 of 3) (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspytrilRomInfo, SpecspytrilRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spy Trilogy, The - Intro (Part 3 of 3) (48K)

static struct BurnRomInfo Specspytrili3RomDesc[] = {
	{ "Spy Trilogy, The - Intro (1986)(Tartan Software)(Part 3 of 3).z80", 0x01bc1, 0x9df87b9e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspytrili3, Specspytrili3, Spectrum)
STD_ROM_FN(Specspytrili3)

struct BurnDriver BurnSpecspytrili3 = {
	"spec_spytrili3", "spec_spytril", "spec_spectrum", NULL, "1986",
	"Spy Trilogy, The - Intro (Part 3 of 3) (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specspytrili3RomInfo, Specspytrili3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spy Trilogy, The (Part 1 of 3) (48K)

static struct BurnRomInfo Specspytrilg1RomDesc[] = {
	{ "Spy Trilogy, The (1986)(Tartan Software)(Part 1 of 3).z80", 0x0a026, 0x98659cf4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspytrilg1, Specspytrilg1, Spectrum)
STD_ROM_FN(Specspytrilg1)

struct BurnDriver BurnSpecspytrilg1 = {
	"spec_spytrilg1", "spec_spytril", "spec_spectrum", NULL, "1986",
	"Spy Trilogy, The (Part 1 of 3) (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specspytrilg1RomInfo, Specspytrilg1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spy Trilogy, The (Part 2 of 3) (48K)

static struct BurnRomInfo Specspytrilg2RomDesc[] = {
	{ "Spy Trilogy, The (1986)(Tartan Software)(Part 2 of 3).z80", 0x0a0e1, 0xd12559b5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspytrilg2, Specspytrilg2, Spectrum)
STD_ROM_FN(Specspytrilg2)

struct BurnDriver BurnSpecspytrilg2 = {
	"spec_spytrilg2", "spec_spytril", "spec_spectrum", NULL, "1986",
	"Spy Trilogy, The (Part 2 of 3) (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specspytrilg2RomInfo, Specspytrilg2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spy Trilogy, The (Part 3 of 3) (48K)

static struct BurnRomInfo Specspytrilg3RomDesc[] = {
	{ "Spy Trilogy, The (1986)(Tartan Software)(Part 3 of 3).z80", 0x0abb3, 0xebdc0c60, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspytrilg3, Specspytrilg3, Spectrum)
STD_ROM_FN(Specspytrilg3)

struct BurnDriver BurnSpecspytrilg3 = {
	"spec_spytrilg3", "spec_spytril", "spec_spectrum", NULL, "1986",
	"Spy Trilogy, The (Part 3 of 3) (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specspytrilg3RomInfo, Specspytrilg3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spy vs Spy (48K)

static struct BurnRomInfo SpecspyvspyRomDesc[] = {
	{ "Spy vs Spy (1985)(Beyond Software).z80", 0x09f9a, 0xa5fc636b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspyvspy, Specspyvspy, Spectrum)
STD_ROM_FN(Specspyvspy)

struct BurnDriver BurnSpecspyvspy = {
	"spec_spyvspy", NULL, "spec_spectrum", NULL, "1985",
	"Spy vs Spy (48K)\0", NULL, "Beyond Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspyvspyRomInfo, SpecspyvspyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spy vs Spy II - The Island Caper (48K)

static struct BurnRomInfo Specspyvspy2RomDesc[] = {
	{ "Spy vs Spy II - The Island Caper (1987)(Databyte).z80", 0x09350, 0xe5133176, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspyvspy2, Specspyvspy2, Spectrum)
STD_ROM_FN(Specspyvspy2)

struct BurnDriver BurnSpecspyvspy2 = {
	"spec_spyvspy2", NULL, "spec_spectrum", NULL, "1987",
	"Spy vs Spy II - The Island Caper (48K)\0", NULL, "Databyte", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specspyvspy2RomInfo, Specspyvspy2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spy vs Spy III - Arctic Antics (48K)

static struct BurnRomInfo Specspyvspy3RomDesc[] = {
	{ "Spy vs Spy III - Arctic Antics (1988)(Databyte).z80", 0x07a46, 0x9bf7db2a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspyvspy3, Specspyvspy3, Spectrum)
STD_ROM_FN(Specspyvspy3)

struct BurnDriver BurnSpecspyvspy3 = {
	"spec_spyvspy3", NULL, "spec_spectrum", NULL, "1988",
	"Spy vs Spy III - Arctic Antics (48K)\0", NULL, "Databyte", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specspyvspy3RomInfo, Specspyvspy3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spy-Plane (48K)

static struct BurnRomInfo SpecspyplaneRomDesc[] = {
	{ "Spy-Plane (1983)(Gilsoft International).z80", 0x0882c, 0x1500b6b3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspyplane, Specspyplane, Spectrum)
STD_ROM_FN(Specspyplane)

struct BurnDriver BurnSpecspyplane = {
	"spec_spyplane", NULL, "spec_spectrum", NULL, "1983",
	"Spy-Plane (48K)\0", NULL, "Gilsoft International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspyplaneRomInfo, SpecspyplaneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spyship SOS (Spanish) (48K)

static struct BurnRomInfo SpecspsosesRomDesc[] = {
	{ "Spyship SOS (1984)(Dynamic Software)(es)[speech].z80", 0x02622, 0xd290e695, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspsoses, Specspsoses, Spectrum)
STD_ROM_FN(Specspsoses)

struct BurnDriver BurnSpecspsoses = {
	"spec_spsoses", NULL, "spec_spectrum", NULL, "1984",
	"Spyship SOS (Spanish) (48K)\0", NULL, "Dynamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspsosesRomInfo, SpecspsosesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Spy-Trek Adventure (48K)

static struct BurnRomInfo SpecspytreadRomDesc[] = {
	{ "Spy-Trek Adventure (1987)(Americana Software).z80", 0x0ab69, 0x5a1e3076, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specspytread, Specspytread, Spectrum)
STD_ROM_FN(Specspytread)

struct BurnDriver BurnSpecspytread = {
	"spec_spytread", NULL, "spec_spectrum", NULL, "1987",
	"Spy-Trek Adventure (48K)\0", NULL, "Americana Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecspytreadRomInfo, SpecspytreadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sqij (48K)

static struct BurnRomInfo SpecsqijRomDesc[] = {
	{ "Sqij (1987)(The Power House).z80", 0x087cc, 0x7894b95a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsqij, Specsqij, Spectrum)
STD_ROM_FN(Specsqij)

struct BurnDriver BurnSpecsqij = {
	"spec_sqij", NULL, "spec_spectrum", NULL, "1987",
	"Sqij (48K)\0", NULL, "The Power House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsqijRomInfo, SpecsqijRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Square Eyes (48K)

static struct BurnRomInfo SpecsquaeyesRomDesc[] = {
	{ "Square Eyes (1985)(C.W. May).z80", 0x02978, 0x233214a6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsquaeyes, Specsquaeyes, Spectrum)
STD_ROM_FN(Specsquaeyes)

struct BurnDriver BurnSpecsquaeyes = {
	"spec_squaeyes", NULL, "spec_spectrum", NULL, "1985",
	"Square Eyes (48K)\0", NULL, "C.W. May", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsquaeyesRomInfo, SpecsquaeyesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Square Eyes (hu) (128K)

static struct BurnRomInfo SpecsquaeyeshRomDesc[] = {
	{ "Square Eyes (1998)(C.W. May)(hu)[128K].z80", 0x042a6, 0xa59f78d5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsquaeyesh, Specsquaeyesh, Spectrum)
STD_ROM_FN(Specsquaeyesh)

struct BurnDriver BurnSpecsquaeyesh = {
	"spec_squaeyesh", "spec_squaeyes", "spec_spec128", NULL, "1998",
	"Square Eyes (hu) (128K)\0", NULL, "C.W. May", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsquaeyeshRomInfo, SpecsquaeyeshRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Squares (48K)

static struct BurnRomInfo SpecsquaresRomDesc[] = {
	{ "Squares (1985)(Zuheir Urwani).z80", 0x01760, 0x22250f17, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsquares, Specsquares, Spectrum)
STD_ROM_FN(Specsquares)

struct BurnDriver BurnSpecsquares = {
	"spec_squares", NULL, "spec_spectrum", NULL, "1985",
	"Squares (48K)\0", NULL, "Zuheir Urwani", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsquaresRomInfo, SpecsquaresRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Squash (48K)

static struct BurnRomInfo SpecsquashRomDesc[] = {
	{ "Squash (1997)(CSSCGC).z80", 0x00b1c, 0x51cae971, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsquash, Specsquash, Spectrum)
STD_ROM_FN(Specsquash)

struct BurnDriver BurnSpecsquash = {
	"spec_squash", NULL, "spec_spectrum", NULL, "1997",
	"Squash (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsquashRomInfo, SpecsquashRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Squirmy Wormy (48K)

static struct BurnRomInfo SpecsquiwormRomDesc[] = {
	{ "Squirmy Wormy (1983)(John Prince).z80", 0x01cc1, 0xad37d803, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsquiworm, Specsquiworm, Spectrum)
STD_ROM_FN(Specsquiworm)

struct BurnDriver BurnSpecsquiworm = {
	"spec_squiworm", NULL, "spec_spectrum", NULL, "1983",
	"Squirmy Wormy (48K)\0", NULL, "John Prince", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsquiwormRomInfo, SpecsquiwormRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// SRSO2 (bs) (48K)

static struct BurnRomInfo Specsrso2bsRomDesc[] = {
	{ "SRSO2 (1997)(Treasure Software)(bs).z80", 0x098ef, 0x68c95633, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsrso2bs, Specsrso2bs, Spectrum)
STD_ROM_FN(Specsrso2bs)

struct BurnDriver BurnSpecsrso2bs = {
	"spec_srso2bs", NULL, "spec_spectrum", NULL, "1997",
	"SRSO2 (bs) (48K)\0", NULL, "Treasure Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsrso2bsRomInfo, Specsrso2bsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// St. Andrews Golf (48K)

static struct BurnRomInfo SpecstandrewRomDesc[] = {
	{ "St. Andrews Golf (1983)(Artic Computing).z80", 0x081e5, 0xe43dd405, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstandrew, Specstandrew, Spectrum)
STD_ROM_FN(Specstandrew)

struct BurnDriver BurnSpecstandrew = {
	"spec_standrew", NULL, "spec_spectrum", NULL, "1983",
	"St. Andrews Golf (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstandrewRomInfo, SpecstandrewRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// St. Crippens (48K)

static struct BurnRomInfo SpecstcrippeRomDesc[] = {
	{ "St. Crippens (1985)(Sparklers).z80", 0x07685, 0x8514dcb6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstcrippe, Specstcrippe, Spectrum)
STD_ROM_FN(Specstcrippe)

struct BurnDriver BurnSpecstcrippe = {
	"spec_stcrippe", NULL, "spec_spectrum", NULL, "1985",
	"St. Crippens (48K)\0", NULL, "Sparklers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstcrippeRomInfo, SpecstcrippeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stack Up (48K)

static struct BurnRomInfo SpecstacupRomDesc[] = {
	{ "Stack Up (1991)(Zeppelin Games).z80", 0x09e98, 0xbfd23a05, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstacup, Specstacup, Spectrum)
STD_ROM_FN(Specstacup)

struct BurnDriver BurnSpecstacup = {
	"spec_stacup", NULL, "spec_spectrum", NULL, "1991",
	"Stack Up (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstacupRomInfo, SpecstacupRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stadt Alzan, Die (German) (48K)

static struct BurnRomInfo SpecstaalzdiRomDesc[] = {
	{ "Stadt Alzan, Die (19xx)(-)(de).z80", 0x033a7, 0x2d8d1e2b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstaalzdi, Specstaalzdi, Spectrum)
STD_ROM_FN(Specstaalzdi)

struct BurnDriver BurnSpecstaalzdi = {
	"spec_staalzdi", NULL, "spec_spectrum", NULL, "19xx",
	"Stadt Alzan, Die (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstaalzdiRomInfo, SpecstaalzdiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Staff of Power, The (48K)

static struct BurnRomInfo SpecstapowthRomDesc[] = {
	{ "Staff of Power, The (1991)(Zenobi Software).z80", 0x080c2, 0x02f7ff78, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstapowth, Specstapowth, Spectrum)
STD_ROM_FN(Specstapowth)

struct BurnDriver BurnSpecstapowth = {
	"spec_stapowth", NULL, "spec_spectrum", NULL, "1991",
	"Staff of Power, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstapowthRomInfo, SpecstapowthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Staff of Zaranol, The (48K)

static struct BurnRomInfo SpecstazarthRomDesc[] = {
	{ "Staff of Zaranol, The (1984)(CCS).z80", 0x08a8a, 0x9083e114, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstazarth, Specstazarth, Spectrum)
STD_ROM_FN(Specstazarth)

struct BurnDriver BurnSpecstazarth = {
	"spec_stazarth", NULL, "spec_spectrum", NULL, "1984",
	"Staff of Zaranol, The (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstazarthRomInfo, SpecstazarthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Staff of Zaranol, The (different font) (48K)

static struct BurnRomInfo SpecstazarthaRomDesc[] = {
	{ "Staff of Zaranol, The (1984)(CCS)[different font].z80", 0x09344, 0xeb891942, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstazartha, Specstazartha, Spectrum)
STD_ROM_FN(Specstazartha)

struct BurnDriver BurnSpecstazartha = {
	"spec_stazartha", "spec_stazarth", "spec_spectrum", NULL, "1984",
	"Staff of Zaranol, The (different font) (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstazarthaRomInfo, SpecstazarthaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stagecoach (48K)

static struct BurnRomInfo SpecstagecoaRomDesc[] = {
	{ "Stagecoach (1984)(Creative Sparks).z80", 0x0876b, 0xa479de4d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstagecoa, Specstagecoa, Spectrum)
STD_ROM_FN(Specstagecoa)

struct BurnDriver BurnSpecstagecoa = {
	"spec_stagecoa", NULL, "spec_spectrum", NULL, "1984",
	"Stagecoach (48K)\0", NULL, "Creative Sparks", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstagecoaRomInfo, SpecstagecoaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stainless Steel (48K)

static struct BurnRomInfo SpecstaisteeRomDesc[] = {
	{ "Stainless Steel (1986)(Mikro-Gen).z80", 0x0a1e1, 0x2d6bda2b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstaistee, Specstaistee, Spectrum)
STD_ROM_FN(Specstaistee)

struct BurnDriver BurnSpecstaistee = {
	"spec_staistee", NULL, "spec_spectrum", NULL, "1986",
	"Stainless Steel (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstaisteeRomInfo, SpecstaisteeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stalingrad (48K)

static struct BurnRomInfo SpecstalingrRomDesc[] = {
	{ "Stalingrad (1988)(CCS).z80", 0x09005, 0xa6de3ab1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstalingr, Specstalingr, Spectrum)
STD_ROM_FN(Specstalingr)

struct BurnDriver BurnSpecstalingr = {
	"spec_stalingr", NULL, "spec_spectrum", NULL, "1988",
	"Stalingrad (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstalingrRomInfo, SpecstalingrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stalker (128K)

static struct BurnRomInfo SpecstalkerRomDesc[] = {
	{ "Stalker (1990)(Zenobi Software)[128K].z80", 0x0b3a9, 0x84e4a3f1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstalker, Specstalker, Spectrum)
STD_ROM_FN(Specstalker)

struct BurnDriver BurnSpecstalker = {
	"spec_stalker", NULL, "spec_spec128", NULL, "1990",
	"Stalker (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstalkerRomInfo, SpecstalkerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stanley and the Wallbangers (48K)

static struct BurnRomInfo SpecstanwallRomDesc[] = {
	{ "Stanley and the Wallbangers (1985)(Software Liason).z80", 0x088b5, 0x00e4b370, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstanwall, Specstanwall, Spectrum)
STD_ROM_FN(Specstanwall)

struct BurnDriver BurnSpecstanwall = {
	"spec_stanwall", NULL, "spec_spectrum", NULL, "1985",
	"Stanley and the Wallbangers (48K)\0", NULL, "Software Liason", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstanwallRomInfo, SpecstanwallRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Base (48K)

static struct BurnRomInfo SpecstarbaseRomDesc[] = {
	{ "Star Base (1984)(Simon N. Goodwin).z80", 0x02a1a, 0x5ca135c6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarbase, Specstarbase, Spectrum)
STD_ROM_FN(Specstarbase)

struct BurnDriver BurnSpecstarbase = {
	"spec_starbase", NULL, "spec_spectrum", NULL, "1984",
	"Star Base (48K)\0", NULL, "Simon N. Goodwin", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarbaseRomInfo, SpecstarbaseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Blade (48K)

static struct BurnRomInfo SpecstarbladRomDesc[] = {
	{ "Star Blade (1988)(Barry & Bruce Adams).z80", 0x09799, 0x0c365717, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarblad, Specstarblad, Spectrum)
STD_ROM_FN(Specstarblad)

struct BurnDriver BurnSpecstarblad = {
	"spec_starblad", NULL, "spec_spectrum", NULL, "1988",
	"Star Blade (48K)\0", NULL, "Barry & Bruce Adams", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarbladRomInfo, SpecstarbladRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Bowls (Spanish) (48K)

static struct BurnRomInfo SpecstarbowlRomDesc[] = {
	{ "Star Bowls (1991)(Zigurat Software)(es).z80", 0x0a4c6, 0x51f3ea7b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarbowl, Specstarbowl, Spectrum)
STD_ROM_FN(Specstarbowl)

struct BurnDriver BurnSpecstarbowl = {
	"spec_starbowl", NULL, "spec_spectrum", NULL, "1991",
	"Star Bowls (Spanish) (48K)\0", NULL, "Zigurat Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarbowlRomInfo, SpecstarbowlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Control (128K)

static struct BurnRomInfo SpecstarcontRomDesc[] = {
	{ "Star Control (1991)(Accolade)[128K].z80", 0x0fd1d, 0x4300077a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarcont, Specstarcont, Spectrum)
STD_ROM_FN(Specstarcont)

struct BurnDriver BurnSpecstarcont = {
	"spec_starcont", NULL, "spec_spec128", NULL, "1991",
	"Star Control (128K)\0", NULL, "Accolade", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarcontRomInfo, SpecstarcontRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Crystal - Intro (48K)

static struct BurnRomInfo SpecstarcrysRomDesc[] = {
	{ "Star Crystal - Intro (1986)(Edward Beck).z80", 0x02349, 0x8cb1df62, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarcrys, Specstarcrys, Spectrum)
STD_ROM_FN(Specstarcrys)

struct BurnDriver BurnSpecstarcrys = {
	"spec_starcrys", NULL, "spec_spectrum", NULL, "1986",
	"Star Crystal - Intro (48K)\0", NULL, "Edward Beck", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarcrysRomInfo, SpecstarcrysRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Crystal (48K)

static struct BurnRomInfo SpecstarcrysgRomDesc[] = {
	{ "Star Crystal (1986)(Edward Beck).z80", 0x0a29c, 0x2914accb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarcrysg, Specstarcrysg, Spectrum)
STD_ROM_FN(Specstarcrysg)

struct BurnDriver BurnSpecstarcrysg = {
	"spec_starcrysg", "spec_starcrys", "spec_spectrum", NULL, "1986",
	"Star Crystal (48K)\0", NULL, "Edward Beck", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarcrysgRomInfo, SpecstarcrysgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Dragon (48K)

static struct BurnRomInfo SpecstardragRomDesc[] = {
	{ "Star Dragon (1990)(Proxima Software).z80", 0x094e8, 0xbf06bd9e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstardrag, Specstardrag, Spectrum)
STD_ROM_FN(Specstardrag)

struct BurnDriver BurnSpecstardrag = {
	"spec_stardrag", NULL, "spec_spectrum", NULL, "1990",
	"Star Dragon (48K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstardragRomInfo, SpecstardragRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Farce (48K)

static struct BurnRomInfo SpecstarfarcRomDesc[] = {
	{ "Star Farce (1988)(Mastertronic).z80", 0x0a888, 0x91817feb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarfarc, Specstarfarc, Spectrum)
STD_ROM_FN(Specstarfarc)

struct BurnDriver BurnSpecstarfarc = {
	"spec_starfarc", NULL, "spec_spectrum", NULL, "1988",
	"Star Farce (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarfarcRomInfo, SpecstarfarcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Firebirds (Firebird Software) (48K)

static struct BurnRomInfo SpecstarfirefRomDesc[] = {
	{ "Star Firebirds (1985)(Firebird Software)[re-release].z80", 0x09c3a, 0x2340a3db, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarfiref, Specstarfiref, Spectrum)
STD_ROM_FN(Specstarfiref)

struct BurnDriver BurnSpecstarfiref = {
	"spec_starfiref", "spec_starfire", "spec_spectrum", NULL, "1985",
	"Star Firebirds (Firebird Software) (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarfirefRomInfo, SpecstarfirefRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Firebirds (Insight Software) (48K)

static struct BurnRomInfo SpecstarfireRomDesc[] = {
	{ "Star Firebirds (1985)(Insight Software).z80", 0x08505, 0xe38dec78, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarfire, Specstarfire, Spectrum)
STD_ROM_FN(Specstarfire)

struct BurnDriver BurnSpecstarfire = {
	"spec_starfire", NULL, "spec_spectrum", NULL, "1985",
	"Star Firebirds (Insight Software) (48K)\0", NULL, "Insight Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarfireRomInfo, SpecstarfireRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Flaws (48K)

static struct BurnRomInfo SpecstarflawRomDesc[] = {
	{ "Star Flaws (1992)(Delbert the Hamster Software).z80", 0x08d5b, 0x3726ba1e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarflaw, Specstarflaw, Spectrum)
STD_ROM_FN(Specstarflaw)

struct BurnDriver BurnSpecstarflaw = {
	"spec_starflaw", NULL, "spec_spectrum", NULL, "1992",
	"Star Flaws (48K)\0", NULL, "Delbert the Hamster Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarflawRomInfo, SpecstarflawRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Paws (128K)

static struct BurnRomInfo SpecstarpawsRomDesc[] = {
	{ "Star Paws (1988)(Software Projects)[128K].z80", 0x0c458, 0x14d2c355, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarpaws, Specstarpaws, Spectrum)
STD_ROM_FN(Specstarpaws)

struct BurnDriver BurnSpecstarpaws = {
	"spec_starpaws", NULL, "spec_spec128", NULL, "1988",
	"Star Paws (128K)\0", NULL, "Software Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarpawsRomInfo, SpecstarpawsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Pilot (48K)

static struct BurnRomInfo Specstarpilo_48RomDesc[] = {
	{ "Star Pilot (1987)(Firebird Software).z80", 0x0677f, 0xef0f4317, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarpilo_48, Specstarpilo_48, Spectrum)
STD_ROM_FN(Specstarpilo_48)

struct BurnDriver BurnSpecstarpilo_48 = {
	"spec_starpilo_48", "spec_starpilo", "spec_spectrum", NULL, "1987",
	"Star Pilot (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstarpilo_48RomInfo, Specstarpilo_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Pilot (128K)

static struct BurnRomInfo SpecstarpiloRomDesc[] = {
	{ "Star Pilot (1987)(Firebird Software)[128K].z80", 0x096f5, 0x0ed26d1b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarpilo, Specstarpilo, Spectrum)
STD_ROM_FN(Specstarpilo)

struct BurnDriver BurnSpecstarpilo = {
	"spec_starpilo", NULL, "spec_spec128", NULL, "1987",
	"Star Pilot (128K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarpiloRomInfo, SpecstarpiloRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Raiders II (48K)

static struct BurnRomInfo Specstrraid2RomDesc[] = {
	{ "Star Raiders II (1987)(Electric Dreams Software).z80", 0x0888e, 0x658115d4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrraid2, Specstrraid2, Spectrum)
STD_ROM_FN(Specstrraid2)

struct BurnDriver BurnSpecstrraid2 = {
	"spec_strraid2", NULL, "spec_spectrum", NULL, "1987",
	"Star Raiders II (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstrraid2RomInfo, Specstrraid2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Runner (48K)

static struct BurnRomInfo SpecstarrunnRomDesc[] = {
	{ "Star Runner (1987)(Codemasters).z80", 0x09020, 0xf47340d4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarrunn, Specstarrunn, Spectrum)
STD_ROM_FN(Specstarrunn)

struct BurnDriver BurnSpecstarrunn = {
	"spec_starrunn", NULL, "spec_spectrum", NULL, "1987",
	"Star Runner (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarrunnRomInfo, SpecstarrunnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Swallow (48K)

static struct BurnRomInfo SpecstarswalRomDesc[] = {
	{ "Star Swallow (1987)(TRC Software).z80", 0x0998e, 0x7db25891, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarswal, Specstarswal, Spectrum)
STD_ROM_FN(Specstarswal)

struct BurnDriver BurnSpecstarswal = {
	"spec_starswal", NULL, "spec_spectrum", NULL, "1987",
	"Star Swallow (48K)\0", NULL, "TRC Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarswalRomInfo, SpecstarswalRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Trader - Intro (48K)

static struct BurnRomInfo SpecstartradRomDesc[] = {
	{ "Star Trader - Intro (1984)(Bug-Byte Software).z80", 0x01628, 0x783c82b8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstartrad, Specstartrad, Spectrum)
STD_ROM_FN(Specstartrad)

struct BurnDriver BurnSpecstartrad = {
	"spec_startrad", NULL, "spec_spectrum", NULL, "1984",
	"Star Trader - Intro (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstartradRomInfo, SpecstartradRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Trader (48K)

static struct BurnRomInfo SpecstartradgRomDesc[] = {
	{ "Star Trader (1984)(Bug-Byte Software).z80", 0x09590, 0x865a4151, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstartradg, Specstartradg, Spectrum)
STD_ROM_FN(Specstartradg)

struct BurnDriver BurnSpecstartradg = {
	"spec_startradg", "spec_startrad", "spec_spectrum", NULL, "1984",
	"Star Trader (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstartradgRomInfo, SpecstartradgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Trail (48K)

static struct BurnRomInfo SpecstartraiRomDesc[] = {
	{ "Star Trail (1983)(Sinclair Research).z80", 0x0a2e1, 0xea77ec0d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstartrai, Specstartrai, Spectrum)
STD_ROM_FN(Specstartrai)

struct BurnDriver BurnSpecstartrai = {
	"spec_startrai", NULL, "spec_spectrum", NULL, "1983",
	"Star Trail (48K)\0", NULL, "Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstartraiRomInfo, SpecstartraiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Trek - The Computer Game (48K)

static struct BurnRomInfo SpecstrtrkcgRomDesc[] = {
	{ "Star Trek - The Computer Game (1989)(Airline Software).z80", 0x080da, 0x6e06dddc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrtrkcg, Specstrtrkcg, Spectrum)
STD_ROM_FN(Specstrtrkcg)

struct BurnDriver BurnSpecstrtrkcg = {
	"spec_strtrkcg", NULL, "spec_spectrum", NULL, "1989",
	"Star Trek - The Computer Game (48K)\0", NULL, "Airline Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstrtrkcgRomInfo, SpecstrtrkcgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Trek - The Computer Program (German) (48K)

static struct BurnRomInfo SpecstrtrkcpgRomDesc[] = {
	{ "Star Trek - The Computer Program (1982)(R&R Software)(de).z80", 0x0922a, 0x77da6ea6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrtrkcpg, Specstrtrkcpg, Spectrum)
STD_ROM_FN(Specstrtrkcpg)

struct BurnDriver BurnSpecstrtrkcpg = {
	"spec_strtrkcpg", "spec_strtrkcp", "spec_spectrum", NULL, "1982",
	"Star Trek - The Computer Program (German) (48K)\0", NULL, "R&R Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstrtrkcpgRomInfo, SpecstrtrkcpgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Trek - The Computer Program (48K)

static struct BurnRomInfo SpecstrtrkcpRomDesc[] = {
	{ "Star Trek - The Computer Program (1982)(R&R Software).z80", 0x09ed0, 0x4a3bdf28, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrtrkcp, Specstrtrkcp, Spectrum)
STD_ROM_FN(Specstrtrkcp)

struct BurnDriver BurnSpecstrtrkcp = {
	"spec_strtrkcp", NULL, "spec_spectrum", NULL, "1982",
	"Star Trek - The Computer Program (48K)\0", NULL, "R&R Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstrtrkcpRomInfo, SpecstrtrkcpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Trek (48K)

static struct BurnRomInfo SpecstartrekRomDesc[] = {
	{ "Star Trek (1983)(Cascade Games).z80", 0x0333f, 0x6e80a9fa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstartrek, Specstartrek, Spectrum)
STD_ROM_FN(Specstartrek)

struct BurnDriver BurnSpecstartrek = {
	"spec_startrek", NULL, "spec_spectrum", NULL, "1983",
	"Star Trek (48K)\0", NULL, "Cascade Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstartrekRomInfo, SpecstartrekRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Trek 3000 (48K)

static struct BurnRomInfo Specstrk3000RomDesc[] = {
	{ "Star Trek 3000 (1983)(DK'Tronics).z80", 0x05156, 0x312b9b1f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrk3000, Specstrk3000, Spectrum)
STD_ROM_FN(Specstrk3000)

struct BurnDriver BurnSpecstrk3000 = {
	"spec_strk3000", NULL, "spec_spectrum", NULL, "1983",
	"Star Trek 3000 (48K)\0", NULL, "DK'Tronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstrk3000RomInfo, Specstrk3000RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Warrior (48K)

static struct BurnRomInfo SpecstarwarrRomDesc[] = {
	{ "Star Warrior (1982)(Visions Software Factory).z80", 0x031cd, 0xce0522ea, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarwarr, Specstarwarr, Spectrum)
STD_ROM_FN(Specstarwarr)

struct BurnDriver BurnSpecstarwarr = {
	"spec_starwarr", NULL, "spec_spectrum", NULL, "1982",
	"Star Warrior (48K)\0", NULL, "Visions Software Factory", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarwarrRomInfo, SpecstarwarrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Wars (48K)

static struct BurnRomInfo SpecstarwarsRomDesc[] = {
	{ "Star Wars (1987)(Domark).z80", 0x09ef2, 0x1ca1b246, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarwars, Specstarwars, Spectrum)
STD_ROM_FN(Specstarwars)

struct BurnDriver BurnSpecstarwars = {
	"spec_starwars", NULL, "spec_spectrum", NULL, "1987",
	"Star Wars (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarwarsRomInfo, SpecstarwarsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Wars Droids (48K)

static struct BurnRomInfo SpecstawardrRomDesc[] = {
	{ "Star Wars Droids (1988)(Mastertronic Added Dimension).z80", 0x0760c, 0xdb1c55a8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstawardr, Specstawardr, Spectrum)
STD_ROM_FN(Specstawardr)

struct BurnDriver BurnSpecstawardr = {
	"spec_stawardr", NULL, "spec_spectrum", NULL, "1988",
	"Star Wars Droids (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstawardrRomInfo, SpecstawardrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Wars II - The Empire Strikes Back (48K)

static struct BurnRomInfo Specstarwar2RomDesc[] = {
	{ "Star Wars II - The Empire Strikes Back (1988)(Domark).z80", 0x09ee3, 0x2f091fd7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarwar2, Specstarwar2, Spectrum)
STD_ROM_FN(Specstarwar2)

struct BurnDriver BurnSpecstarwar2 = {
	"spec_starwar2", NULL, "spec_spectrum", NULL, "1988",
	"Star Wars II - The Empire Strikes Back (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstarwar2RomInfo, Specstarwar2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Wars III - Return of the Jedi (48K)

static struct BurnRomInfo Specstarwar3RomDesc[] = {
	{ "Star Wars III - Return of the Jedi (1989)(Domark).z80", 0x09d7d, 0x78c0e7f2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarwar3, Specstarwar3, Spectrum)
STD_ROM_FN(Specstarwar3)

struct BurnDriver BurnSpecstarwar3 = {
	"spec_starwar3", NULL, "spec_spectrum", NULL, "1989",
	"Star Wars III - Return of the Jedi (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstarwar3RomInfo, Specstarwar3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Wars III - Return of the Jedi (128K)

static struct BurnRomInfo Specstarwar4RomDesc[] = {
	{ "Star Wars III - Return of the Jedi (1989)(Domark)[128K].z80", 0x0b8e7, 0x7c2eaee7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarwar4, Specstarwar4, Spectrum)
STD_ROM_FN(Specstarwar4)

struct BurnDriver BurnSpecstarwar4 = {
	"spec_starwar4", NULL, "spec_spec128", NULL, "1989",
	"Star Wars III - Return of the Jedi (128K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstarwar4RomInfo, Specstarwar4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Star Wreck (48K)

static struct BurnRomInfo SpecstarwrecRomDesc[] = {
	{ "Star Wreck (1987)(Alternative Software).z80", 0x0a284, 0xffd680d4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarwrec, Specstarwrec, Spectrum)
STD_ROM_FN(Specstarwrec)

struct BurnDriver BurnSpecstarwrec = {
	"spec_starwrec", NULL, "spec_spectrum", NULL, "1987",
	"Star Wreck (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarwrecRomInfo, SpecstarwrecRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Starbike (48K)

static struct BurnRomInfo SpecstarbikeRomDesc[] = {
	{ "Starbike (1984)(The Edge Software).z80", 0x0583b, 0x38ea17b3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarbike, Specstarbike, Spectrum)
STD_ROM_FN(Specstarbike)

struct BurnDriver BurnSpecstarbike = {
	"spec_starbike", NULL, "spec_spectrum", NULL, "1984",
	"Starbike (48K)\0", NULL, "The Edge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarbikeRomInfo, SpecstarbikeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Starblitz (48K)

static struct BurnRomInfo SpecstarblitRomDesc[] = {
	{ "Starblitz (1984)(Softek Software International).z80", 0x032ca, 0x24d51114, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarblit, Specstarblit, Spectrum)
STD_ROM_FN(Specstarblit)

struct BurnDriver BurnSpecstarblit = {
	"spec_starblit", NULL, "spec_spectrum", NULL, "1984",
	"Starblitz (48K)\0", NULL, "Softek Software International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarblitRomInfo, SpecstarblitRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Starbyte (Spanish) (48K)

static struct BurnRomInfo SpecstarbyteRomDesc[] = {
	{ "Starbyte (1987)(Mister Chip)(es).z80", 0x07eff, 0xbde36e29, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarbyte, Specstarbyte, Spectrum)
STD_ROM_FN(Specstarbyte)

struct BurnDriver BurnSpecstarbyte = {
	"spec_starbyte", NULL, "spec_spectrum", NULL, "1987",
	"Starbyte (Spanish) (48K)\0", NULL, "Mister Chip", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarbyteRomInfo, SpecstarbyteRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Starclash (48K)

static struct BurnRomInfo SpecstarclasRomDesc[] = {
	{ "Starclash (1983)(Micromega).z80", 0x0534c, 0xfb38e188, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarclas, Specstarclas, Spectrum)
STD_ROM_FN(Specstarclas)

struct BurnDriver BurnSpecstarclas = {
	"spec_starclas", NULL, "spec_spectrum", NULL, "1983",
	"Starclash (48K)\0", NULL, "Micromega", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarclasRomInfo, SpecstarclasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stardust (48K)

static struct BurnRomInfo SpecstardustRomDesc[] = {
	{ "Stardust (1987)(Kixx)[re-release].z80", 0x0b40c, 0x3de7f092, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstardust, Specstardust, Spectrum)
STD_ROM_FN(Specstardust)

struct BurnDriver BurnSpecstardust = {
	"spec_stardust", NULL, "spec_spectrum", NULL, "1987",
	"Stardust (48K)\0", NULL, "Kixx", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstardustRomInfo, SpecstardustRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Starfinder (48K)

static struct BurnRomInfo SpecstarfindRomDesc[] = {
	{ "Starfinder (1983)(NMS).z80", 0x02ee3, 0x06b9bcd4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarfind, Specstarfind, Spectrum)
STD_ROM_FN(Specstarfind)

struct BurnDriver BurnSpecstarfind = {
	"spec_starfind", NULL, "spec_spectrum", NULL, "1983",
	"Starfinder (48K)\0", NULL, "NMS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarfindRomInfo, SpecstarfindRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Starfire (48K)

static struct BurnRomInfo SpecstarfirvRomDesc[] = {
	{ "Starfire (1982)(Virgin Games).z80", 0x092e1, 0xc1a941a0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarfirv, Specstarfirv, Spectrum)
STD_ROM_FN(Specstarfirv)

struct BurnDriver BurnSpecstarfirv = {
	"spec_starfirv", NULL, "spec_spectrum", NULL, "1982",
	"Starfire (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarfirvRomInfo, SpecstarfirvRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Starfox (48K)

static struct BurnRomInfo SpecstarfoxRomDesc[] = {
	{ "Starfox (1987)(Reaktor).z80", 0x0b305, 0x31146c46, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarfox, Specstarfox, Spectrum)
STD_ROM_FN(Specstarfox)

struct BurnDriver BurnSpecstarfox = {
	"spec_starfox", NULL, "spec_spectrum", NULL, "1987",
	"Starfox (48K)\0", NULL, "Reaktor", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarfoxRomInfo, SpecstarfoxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Starglider (48K)

static struct BurnRomInfo Specstarglid_48RomDesc[] = {
	{ "Starglider (1986)(Rainbird Software).z80", 0x0a010, 0x99cbfc54, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarglid_48, Specstarglid_48, Spectrum)
STD_ROM_FN(Specstarglid_48)

struct BurnDriver BurnSpecstarglid_48 = {
	"spec_starglid_48", "spec_starglid", "spec_spectrum", NULL, "1986",
	"Starglider (48K)\0", NULL, "Rainbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstarglid_48RomInfo, Specstarglid_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Starglider (128K)

static struct BurnRomInfo SpecstarglidRomDesc[] = {
	{ "Starglider (1986)(Rainbird Software)[128K].z80", 0x14a6b, 0xb1d2df07, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarglid, Specstarglid, Spectrum)
STD_ROM_FN(Specstarglid)

struct BurnDriver BurnSpecstarglid = {
	"spec_starglid", NULL, "spec_spec128", NULL, "1986",
	"Starglider (128K)\0", NULL, "Rainbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarglidRomInfo, SpecstarglidRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Starglider 2 - The Egrons Strike Back (128K)

static struct BurnRomInfo Specstrglid2RomDesc[] = {
	{ "Starglider 2 - The Egrons Strike Back (1989)(Rainbird Software)[128K].z80", 0x0a93b, 0xfb97241a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrglid2, Specstrglid2, Spectrum)
STD_ROM_FN(Specstrglid2)

struct BurnDriver BurnSpecstrglid2 = {
	"spec_strglid2", NULL, "spec_spec128", NULL, "1989",
	"Starglider 2 - The Egrons Strike Back (128K)\0", NULL, "Rainbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstrglid2RomInfo, Specstrglid2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Starion (48K)

static struct BurnRomInfo SpecstarionRomDesc[] = {
	{ "Starion (1985)(Melbourne House).z80", 0x0737e, 0xb98b08b1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarion, Specstarion, Spectrum)
STD_ROM_FN(Specstarion)

struct BurnDriver BurnSpecstarion = {
	"spec_starion", NULL, "spec_spectrum", NULL, "1985",
	"Starion (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarionRomInfo, SpecstarionRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Starquake (48K)

static struct BurnRomInfo SpecstarquakRomDesc[] = {
	{ "Starquake (1985)(Bubblebus Software).z80", 0x0ab19, 0x63a3f17f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarquak, Specstarquak, Spectrum)
STD_ROM_FN(Specstarquak)

struct BurnDriver BurnSpecstarquak = {
	"spec_starquak", NULL, "spec_spectrum", NULL, "1985",
	"Starquake (48K)\0", NULL, "Bubblebus Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarquakRomInfo, SpecstarquakRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Starring Charlie Chaplin (48K)

static struct BurnRomInfo SpecstachachRomDesc[] = {
	{ "Starring Charlie Chaplin (1987)(U.S. Gold).z80", 0x07896, 0xa0bc3a9c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstachach, Specstachach, Spectrum)
STD_ROM_FN(Specstachach)

struct BurnDriver BurnSpecstachach = {
	"spec_stachach", NULL, "spec_spectrum", NULL, "1987",
	"Starring Charlie Chaplin (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstachachRomInfo, SpecstachachRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stars 2 (48K)

static struct BurnRomInfo Specstars2RomDesc[] = {
	{ "Stars 2 (1996)(CSSCGC).z80", 0x013dc, 0xb5444d22, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstars2, Specstars2, Spectrum)
STD_ROM_FN(Specstars2)

struct BurnDriver BurnSpecstars2 = {
	"spec_stars2", NULL, "spec_spectrum", NULL, "1996",
	"Stars 2 (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstars2RomInfo, Specstars2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stars 3 (48K)

static struct BurnRomInfo Specstars3RomDesc[] = {
	{ "Stars 3 (1996)(CSSCGC).z80", 0x013d8, 0x3292e888, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstars3, Specstars3, Spectrum)
STD_ROM_FN(Specstars3)

struct BurnDriver BurnSpecstars3 = {
	"spec_stars3", NULL, "spec_spectrum", NULL, "1996",
	"Stars 3 (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstars3RomInfo, Specstars3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stars Stripes and Mr Bush (48K)

static struct BurnRomInfo SpecststmrbuRomDesc[] = {
	{ "Stars Stripes and Mr Bush (1989)(Ceri Williams).z80", 0x0751e, 0x6e43d20d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specststmrbu, Specststmrbu, Spectrum)
STD_ROM_FN(Specststmrbu)

struct BurnDriver BurnSpecststmrbu = {
	"spec_ststmrbu", NULL, "spec_spectrum", NULL, "1989",
	"Stars Stripes and Mr Bush (48K)\0", NULL, "Ceri Williams", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecststmrbuRomInfo, SpecststmrbuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Starship Enterprise (48K)

static struct BurnRomInfo SpecstarenteRomDesc[] = {
	{ "Starship Enterprise (1983)(Silversoft).z80", 0x07318, 0x01cd9f18, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarente, Specstarente, Spectrum)
STD_ROM_FN(Specstarente)

struct BurnDriver BurnSpecstarente = {
	"spec_starente", NULL, "spec_spectrum", NULL, "1983",
	"Starship Enterprise (48K)\0", NULL, "Silversoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstarenteRomInfo, SpecstarenteRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Starstrike II (48K)

static struct BurnRomInfo Specstarstrk2RomDesc[] = {
	{ "Starstrike II (1986)(Realtime Games Software).z80", 0x09ec7, 0x50c7f80e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstarstrk2, Specstarstrk2, Spectrum)
STD_ROM_FN(Specstarstrk2)

struct BurnDriver BurnSpecstarstrk2 = {
	"spec_starstrk2", NULL, "spec_spectrum", NULL, "1986",
	"Starstrike II (48K)\0", NULL, "Realtime Games Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstarstrk2RomInfo, Specstarstrk2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stavka (cs) (48K)

static struct BurnRomInfo SpecstavkacsRomDesc[] = {
	{ "Stavka (1989)(Svosatasoft)(cs).z80", 0x08d3f, 0x2b39c79f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstavkacs, Specstavkacs, Spectrum)
STD_ROM_FN(Specstavkacs)

struct BurnDriver BurnSpecstavkacs = {
	"spec_stavkacs", NULL, "spec_spectrum", NULL, "1989",
	"Stavka (cs) (48K)\0", NULL, "Svosatasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstavkacsRomInfo, SpecstavkacsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stay Kool (48K)

static struct BurnRomInfo SpecstaykoolRomDesc[] = {
	{ "Stay Kool (1984)(Bug-Byte Software).z80", 0x08b4a, 0xf73ecf7a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstaykool, Specstaykool, Spectrum)
STD_ROM_FN(Specstaykool)

struct BurnDriver BurnSpecstaykool = {
	"spec_staykool", NULL, "spec_spectrum", NULL, "1984",
	"Stay Kool (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstaykoolRomInfo, SpecstaykoolRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Steel Eagle (48K)

static struct BurnRomInfo SpecsteeeaglRomDesc[] = {
	{ "Steel Eagle (1990)(Players Premier Software).z80", 0x07b3c, 0x8d16ef79, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsteeeagl, Specsteeeagl, Spectrum)
STD_ROM_FN(Specsteeeagl)

struct BurnDriver BurnSpecsteeeagl = {
	"spec_steeeagl", NULL, "spec_spectrum", NULL, "1990",
	"Steel Eagle (48K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsteeeaglRomInfo, SpecsteeeaglRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Steelyard Blues, The (48K)

static struct BurnRomInfo SpecstebluthRomDesc[] = {
	{ "Steelyard Blues, The (1987)(Tynesoft).z80", 0x03ab6, 0x7ab614f7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstebluth, Specstebluth, Spectrum)
STD_ROM_FN(Specstebluth)

struct BurnDriver BurnSpecstebluth = {
	"spec_stebluth", NULL, "spec_spectrum", NULL, "1987",
	"Steelyard Blues, The (48K)\0", NULL, "Tynesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstebluthRomInfo, SpecstebluthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Steg (48K)

static struct BurnRomInfo Specsteg_48RomDesc[] = {
	{ "Steg (1992)(Codemasters).z80", 0x0a35c, 0x30d31133, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsteg_48, Specsteg_48, Spectrum)
STD_ROM_FN(Specsteg_48)

struct BurnDriver BurnSpecsteg_48 = {
	"spec_steg_48", "spec_steg", "spec_spectrum", NULL, "1992",
	"Steg (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsteg_48RomInfo, Specsteg_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Steg (128K)

static struct BurnRomInfo SpecstegRomDesc[] = {
	{ "Steg (1992)(Codemasters)[128K].z80", 0x0b93f, 0x91da175a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsteg, Specsteg, Spectrum)
STD_ROM_FN(Specsteg)

struct BurnDriver BurnSpecsteg = {
	"spec_steg", NULL, "spec_spec128", NULL, "1992",
	"Steg (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstegRomInfo, SpecstegRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Steve Davis Snooker (48K)

static struct BurnRomInfo SpecsdavisskRomDesc[] = {
	{ "Steve Davis Snooker (1984)(CDS Microsystems)[speech].z80", 0x04602, 0x09b4452e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsdavissk, Specsdavissk, Spectrum)
STD_ROM_FN(Specsdavissk)

struct BurnDriver BurnSpecsdavissk = {
	"spec_sdavissk", NULL, "spec_spectrum", NULL, "1984",
	"Steve Davis Snooker (48K)\0", NULL, "CDS Microsystems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsdavisskRomInfo, SpecsdavisskRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stifflip & Co. - Part 1 (Spanish) (48K)

static struct BurnRomInfo Specstifflips_48RomDesc[] = {
	{ "Stifflip & Co. - Part 1 (1987)(Palace Software)(es).z80", 0x0b21e, 0xfdb8f56a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstifflips_48, Specstifflips_48, Spectrum)
STD_ROM_FN(Specstifflips_48)

struct BurnDriver BurnSpecstifflips_48 = {
	"spec_stifflips_48", "spec_stifflip", "spec_spectrum", NULL, "1987",
	"Stifflip & Co. - Part 1 (Spanish) (48K)\0", NULL, "Palace Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstifflips_48RomInfo, Specstifflips_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stifflip & Co. - Part 1 (48K)

static struct BurnRomInfo Specstifflip_48RomDesc[] = {
	{ "Stifflip & Co. - Part 1 (1987)(Palace Software).z80", 0x0b21a, 0x61393554, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstifflip_48, Specstifflip_48, Spectrum)
STD_ROM_FN(Specstifflip_48)

struct BurnDriver BurnSpecstifflip_48 = {
	"spec_stifflip_48", "spec_stifflip", "spec_spectrum", NULL, "1987",
	"Stifflip & Co. - Part 1 (48K)\0", NULL, "Palace Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstifflip_48RomInfo, Specstifflip_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stifflip & Co. - Part 1 (128K)

static struct BurnRomInfo SpecstifflipRomDesc[] = {
	{ "Stifflip & Co. - Part 1 (1987)(Palace Software)[128K].z80", 0x0d59f, 0x69f2d7a3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstifflip, Specstifflip, Spectrum)
STD_ROM_FN(Specstifflip)

struct BurnDriver BurnSpecstifflip = {
	"spec_stifflip", NULL, "spec_spec128", NULL, "1987",
	"Stifflip & Co. - Part 1 (128K)\0", NULL, "Palace Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstifflipRomInfo, SpecstifflipRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stifflip & Co. - Part 2 - Epilogue (48K)

static struct BurnRomInfo Specstifflip2_48RomDesc[] = {
	{ "Stifflip & Co. - Part 2 - Epilogue (1987)(Palace Software).z80", 0x099ce, 0xd0c4f568, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstifflip2_48, Specstifflip2_48, Spectrum)
STD_ROM_FN(Specstifflip2_48)

struct BurnDriver BurnSpecstifflip2_48 = {
	"spec_stifflip2_48", "spec_stifflip", "spec_spectrum", NULL, "1987",
	"Stifflip & Co. - Part 2 - Epilogue (48K)\0", NULL, "Palace Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstifflip2_48RomInfo, Specstifflip2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stifflip & Co. - Part 2 - Epilogue (128K)

static struct BurnRomInfo Specstifflip2RomDesc[] = {
	{ "Stifflip & Co. - Part 2 - Epilogue (1987)(Palace Software)[128K].z80", 0x0bda2, 0x7c048bea, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstifflip2, Specstifflip2, Spectrum)
STD_ROM_FN(Specstifflip2)

struct BurnDriver BurnSpecstifflip2 = {
	"spec_stifflip2", "spec_stifflip", "spec_spec128", NULL, "1987",
	"Stifflip & Co. - Part 2 - Epilogue (128K)\0", NULL, "Palace Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstifflip2RomInfo, Specstifflip2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stir Crazy Featuring Bobo (48K)

static struct BurnRomInfo SpecstcrfeboRomDesc[] = {
	{ "Stir Crazy Featuring Bobo (1990)(Infogrames).z80", 0x02922, 0x9f876da9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstcrfebo, Specstcrfebo, Spectrum)
STD_ROM_FN(Specstcrfebo)

struct BurnDriver BurnSpecstcrfebo = {
	"spec_stcrfebo", NULL, "spec_spectrum", NULL, "1990",
	"Stir Crazy Featuring Bobo (48K)\0", NULL, "Infogrames", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstcrfeboRomInfo, SpecstcrfeboRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stock Market (ASP Software) (48K)

static struct BurnRomInfo SpecstcmarkaRomDesc[] = {
	{ "Stock Market (1983)(ASP Software).z80", 0x04349, 0x8590736d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstcmarka, Specstcmarka, Spectrum)
STD_ROM_FN(Specstcmarka)

struct BurnDriver BurnSpecstcmarka = {
	"spec_stcmarka", NULL, "spec_spectrum", NULL, "1983",
	"Stock Market (ASP Software) (48K)\0", NULL, "ASP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstcmarkaRomInfo, SpecstcmarkaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stock Market (CSSCGC) (48K)

static struct BurnRomInfo SpecstcmarkcRomDesc[] = {
	{ "Stock Market (1983)(CCS).z80", 0x0a3db, 0x2c02fbcc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstcmarkc, Specstcmarkc, Spectrum)
STD_ROM_FN(Specstcmarkc)

struct BurnDriver BurnSpecstcmarkc = {
	"spec_stcmarkc", NULL, "spec_spectrum", NULL, "1983",
	"Stock Market (CSSCGC) (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstcmarkcRomInfo, SpecstcmarkcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stock Market (Unknown) (48K)

static struct BurnRomInfo SpecstcmarkuRomDesc[] = {
	{ "Stock Market (19xx)(-).z80", 0x08f2c, 0xac74b8a9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstcmarku, Specstcmarku, Spectrum)
STD_ROM_FN(Specstcmarku)

struct BurnDriver BurnSpecstcmarku = {
	"spec_stcmarku", NULL, "spec_spectrum", NULL, "19xx",
	"Stock Market (Unknown) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstcmarkuRomInfo, SpecstcmarkuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stomp (DK'Tronics) (48K)

static struct BurnRomInfo SpecstompdkRomDesc[] = {
	{ "Stomp (1985)(DK'Tronics).z80", 0x02b86, 0x8265d5fe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstompdk, Specstompdk, Spectrum)
STD_ROM_FN(Specstompdk)

struct BurnDriver BurnSpecstompdk = {
	"spec_stompdk", NULL, "spec_spectrum", NULL, "1985",
	"Stomp (DK'Tronics) (48K)\0", NULL, "DK'Tronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstompdkRomInfo, SpecstompdkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stomp (Omeha Software) (48K)

static struct BurnRomInfo SpecstompomRomDesc[] = {
	{ "Stomp (1985)(Omega Software).z80", 0x01e0f, 0x40da211f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstompom, Specstompom, Spectrum)
STD_ROM_FN(Specstompom)

struct BurnDriver BurnSpecstompom = {
	"spec_stompom", NULL, "spec_spectrum", NULL, "1985",
	"Stomp (Omeha Software) (48K)\0", NULL, "Omega Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstompomRomInfo, SpecstompomRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stonkers (48K)

static struct BurnRomInfo SpecstonkersRomDesc[] = {
	{ "Stonkers (1983)(Imagine Software).z80", 0x073f9, 0xd1045556, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstonkers, Specstonkers, Spectrum)
STD_ROM_FN(Specstonkers)

struct BurnDriver BurnSpecstonkers = {
	"spec_stonkers", NULL, "spec_spectrum", NULL, "1983",
	"Stonkers (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstonkersRomInfo, SpecstonkersRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stop Ball (48K)

static struct BurnRomInfo SpecstopballRomDesc[] = {
	{ "Stop Ball (1988)(Mastertronic)[re-release].z80", 0x02f6d, 0xaa97fa6c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstopball, Specstopball, Spectrum)
STD_ROM_FN(Specstopball)

struct BurnDriver BurnSpecstopball = {
	"spec_stopball", NULL, "spec_spectrum", NULL, "1988",
	"Stop Ball (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstopballRomInfo, SpecstopballRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stop That There Alien!!!! (48K)

static struct BurnRomInfo SpecstththalRomDesc[] = {
	{ "Stop That There Alien!!!! (1984)(David Swann).z80", 0x02bd1, 0x6734f2bb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstththal, Specstththal, Spectrum)
STD_ROM_FN(Specstththal)

struct BurnDriver BurnSpecstththal = {
	"spec_stththal", NULL, "spec_spectrum", NULL, "1984",
	"Stop That There Alien!!!! (48K)\0", NULL, "David Swann", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstththalRomInfo, SpecstththalRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stop the Express (48K)

static struct BurnRomInfo SpecstopexprRomDesc[] = {
	{ "Stop the Express (1983)(Sinclair Research).z80", 0x054c4, 0x56a42e2e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstopexpr, Specstopexpr, Spectrum)
STD_ROM_FN(Specstopexpr)

struct BurnDriver BurnSpecstopexpr = {
	"spec_stopexpr", NULL, "spec_spectrum", NULL, "1983",
	"Stop the Express (48K)\0", NULL, "Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstopexprRomInfo, SpecstopexprRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Storm (48K)

static struct BurnRomInfo SpecstormRomDesc[] = {
	{ "Storm (1986)(Mastertronic).z80", 0x09279, 0x5c46e390, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstorm, Specstorm, Spectrum)
STD_ROM_FN(Specstorm)

struct BurnDriver BurnSpecstorm = {
	"spec_storm", NULL, "spec_spectrum", NULL, "1986",
	"Storm (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstormRomInfo, SpecstormRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Storm Fighters (48K)

static struct BurnRomInfo SpecstorfighRomDesc[] = {
	{ "Storm Fighters (1982)(Dixie Software).z80", 0x01f32, 0x03a74699, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstorfigh, Specstorfigh, Spectrum)
STD_ROM_FN(Specstorfigh)

struct BurnDriver BurnSpecstorfigh = {
	"spec_storfigh", NULL, "spec_spectrum", NULL, "1982",
	"Storm Fighters (48K)\0", NULL, "Dixie Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstorfighRomInfo, SpecstorfighRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stormbringer (128K)

static struct BurnRomInfo SpecstormbriRomDesc[] = {
	{ "Stormbringer (1987)(Mastertronic Added Dimension)[128K][Magic Knight 4].z80", 0x15f0f, 0xd7cc6eb3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstormbri, Specstormbri, Spectrum)
STD_ROM_FN(Specstormbri)

struct BurnDriver BurnSpecstormbri = {
	"spec_stormbri", NULL, "spec_spec128", NULL, "1987",
	"Stormbringer (128K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstormbriRomInfo, SpecstormbriRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stormbringer (48K)

static struct BurnRomInfo Specstormbri_48RomDesc[] = {
	{ "Stormbringer (1987)(Mastertronic Added Dimension)[Magic Knight 4].z80", 0x0a675, 0xa92a6194, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstormbri_48, Specstormbri_48, Spectrum)
STD_ROM_FN(Specstormbri_48)

struct BurnDriver BurnSpecstormbri_48 = {
	"spec_stormbri_48", "spec_stormbri", "spec_spectrum", NULL, "1987",
	"Stormbringer (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstormbri_48RomInfo, Specstormbri_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stormlord (48K)

static struct BurnRomInfo SpecstormlorRomDesc[] = {
	{ "Stormlord (1989)(Hewson Consultants)[t].z80", 0x09146, 0x95529c30, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstormlor, Specstormlor, Spectrum)
STD_ROM_FN(Specstormlor)

struct BurnDriver BurnSpecstormlor = {
	"spec_stormlor", NULL, "spec_spectrum", NULL, "1989",
	"Stormlord (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstormlorRomInfo, SpecstormlorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stormlord II - Deliverance (Part 1 of 3) (48K)

static struct BurnRomInfo Specstrmlrd2_48RomDesc[] = {
	{ "Stormlord II - Deliverance (1990)(Hewson Consultants)(Part 1 of 3).z80", 0x08fbb, 0xba505b37, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrmlrd2_48, Specstrmlrd2_48, Spectrum)
STD_ROM_FN(Specstrmlrd2_48)

struct BurnDriver BurnSpecstrmlrd2_48 = {
	"spec_strmlrd2_48", "spec_strmlrd2", "spec_spectrum", NULL, "1990",
	"Stormlord II - Deliverance (Part 1 of 3) (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstrmlrd2_48RomInfo, Specstrmlrd2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stormlord II - Deliverance (Part 1 of 3) (128K)

static struct BurnRomInfo Specstrmlrd2RomDesc[] = {
	{ "Stormlord II - Deliverance (1990)(Hewson Consultants)(Part 1 of 3)[128K].z80", 0x08aba, 0x7be7508b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrmlrd2, Specstrmlrd2, Spectrum)
STD_ROM_FN(Specstrmlrd2)

struct BurnDriver BurnSpecstrmlrd2 = {
	"spec_strmlrd2", NULL, "spec_spec128", NULL, "1990",
	"Stormlord II - Deliverance (Part 1 of 3) (128K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstrmlrd2RomInfo, Specstrmlrd2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stormlord II - Deliverance (Part 2 of 3) (48K)

static struct BurnRomInfo Specstrmlrd22_48RomDesc[] = {
	{ "Stormlord II - Deliverance (1990)(Hewson Consultants)(Part 2 of 3).z80", 0x08afb, 0x251305b5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrmlrd22_48, Specstrmlrd22_48, Spectrum)
STD_ROM_FN(Specstrmlrd22_48)

struct BurnDriver BurnSpecstrmlrd22_48 = {
	"spec_strmlrd22_48", "spec_strmlrd2", "spec_spectrum", NULL, "1990",
	"Stormlord II - Deliverance (Part 2 of 3) (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstrmlrd22_48RomInfo, Specstrmlrd22_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stormlord II - Deliverance (Part 3 of 3) (48K)

static struct BurnRomInfo Specstrmlrd23_48RomDesc[] = {
	{ "Stormlord II - Deliverance (1990)(Hewson Consultants)(Part 3 of 3).z80", 0x088fb, 0x4e7492c8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrmlrd23_48, Specstrmlrd23_48, Spectrum)
STD_ROM_FN(Specstrmlrd23_48)

struct BurnDriver BurnSpecstrmlrd23_48 = {
	"spec_strmlrd23_48", "spec_strmlrd2", "spec_spectrum", NULL, "1990",
	"Stormlord II - Deliverance (Part 3 of 3) (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstrmlrd23_48RomInfo, Specstrmlrd23_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stormlord II - Deliverance (Part 3 of 3) (128K)

static struct BurnRomInfo Specstrmlrd23RomDesc[] = {
	{ "Stormlord II - Deliverance (1990)(Hewson Consultants)(Part 3 of 3)[128K].z80", 0x0895e, 0xb7a2eb4a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrmlrd23, Specstrmlrd23, Spectrum)
STD_ROM_FN(Specstrmlrd23)

struct BurnDriver BurnSpecstrmlrd23 = {
	"spec_strmlrd23", "spec_strmlrd2", "spec_spec128", NULL, "1990",
	"Stormlord II - Deliverance (Part 3 of 3) (128K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstrmlrd23RomInfo, Specstrmlrd23RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stranded (48K)

static struct BurnRomInfo Specstranded_48RomDesc[] = {
	{ "Stranded (1992)(Zenobi Software).z80", 0x0950e, 0x7dc74040, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstranded_48, Specstranded_48, Spectrum)
STD_ROM_FN(Specstranded_48)

struct BurnDriver BurnSpecstranded_48 = {
	"spec_stranded_48", "spec_stranded", "spec_spectrum", NULL, "1992",
	"Stranded (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstranded_48RomInfo, Specstranded_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stranded (128K)

static struct BurnRomInfo SpecstrandedRomDesc[] = {
	{ "Stranded (1992)(Zenobi Software)[128K].z80", 0x0e999, 0x39b7de71, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstranded, Specstranded, Spectrum)
STD_ROM_FN(Specstranded)

struct BurnDriver BurnSpecstranded = {
	"spec_stranded", NULL, "spec_spec128", NULL, "1992",
	"Stranded (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstrandedRomInfo, SpecstrandedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Strange Tale (Spanish) (48K)

static struct BurnRomInfo SpecstrataleRomDesc[] = {
	{ "Strange Tale (1991)(Advanced Adventure Creations)(es).z80", 0x09e04, 0x34d557e3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstratale, Specstratale, Spectrum)
STD_ROM_FN(Specstratale)

struct BurnDriver BurnSpecstratale = {
	"spec_stratale", NULL, "spec_spectrum", NULL, "1991",
	"Strange Tale (Spanish) (48K)\0", NULL, "Advanced Adventure Creations", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstrataleRomInfo, SpecstrataleRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Strangeloop (48K)

static struct BurnRomInfo SpecstrangelRomDesc[] = {
	{ "Strangeloop (1984)(Virgin Games).z80", 0x09669, 0x68b0231e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrangel, Specstrangel, Spectrum)
STD_ROM_FN(Specstrangel)

struct BurnDriver BurnSpecstrangel = {
	"spec_strangel", NULL, "spec_spectrum", NULL, "1984",
	"Strangeloop (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstrangelRomInfo, SpecstrangelRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Streaker (48K)

static struct BurnRomInfo SpecstreakerRomDesc[] = {
	{ "Streaker (1987)(Bulldog).z80", 0x0a436, 0xe05f3b39, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstreaker, Specstreaker, Spectrum)
STD_ROM_FN(Specstreaker)

struct BurnDriver BurnSpecstreaker = {
	"spec_streaker", NULL, "spec_spectrum", NULL, "1987",
	"Streaker (48K)\0", NULL, "Bulldog", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstreakerRomInfo, SpecstreakerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Street Fighter (48K)

static struct BurnRomInfo SpecsfightRomDesc[] = {
	{ "Street Fighter (1983)(Shards Software).z80", 0x04787, 0xd15c56f4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsfight, Specsfight, Spectrum)
STD_ROM_FN(Specsfight)

struct BurnDriver BurnSpecsfight = {
	"spec_sfight", NULL, "spec_spectrum", NULL, "1983",
	"Street Fighter (48K)\0", NULL, "Shards Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsfightRomInfo, SpecsfightRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Street Gang (48K)

static struct BurnRomInfo SpecstregangRomDesc[] = {
	{ "Street Gang (1989)(Players Software).z80", 0x0957c, 0xa1b2aab2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstregang, Specstregang, Spectrum)
STD_ROM_FN(Specstregang)

struct BurnDriver BurnSpecstregang = {
	"spec_stregang", NULL, "spec_spectrum", NULL, "1989",
	"Street Gang (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstregangRomInfo, SpecstregangRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Street Gang Football (48K)

static struct BurnRomInfo SpecstrgngfoRomDesc[] = {
	{ "Street Gang Football (1989)(Codemasters).z80", 0x09741, 0xb1ea3afc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrgngfo, Specstrgngfo, Spectrum)
STD_ROM_FN(Specstrgngfo)

struct BurnDriver BurnSpecstrgngfo = {
	"spec_strgngfo", NULL, "spec_spectrum", NULL, "1989",
	"Street Gang Football (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstrgngfoRomInfo, SpecstrgngfoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Street Hassle (48K)

static struct BurnRomInfo SpecstrehassRomDesc[] = {
	{ "Street Hassle (1988)(Melbourne House).z80", 0x0961d, 0xadccc4fe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrehass, Specstrehass, Spectrum)
STD_ROM_FN(Specstrehass)

struct BurnDriver BurnSpecstrehass = {
	"spec_strehass", NULL, "spec_spectrum", NULL, "1988",
	"Street Hassle (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstrehassRomInfo, SpecstrehassRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Street Hawk (48K)

static struct BurnRomInfo SpecstrthwkRomDesc[] = {
	{ "Street Hawk (1986)(Ocean).z80", 0x0ab6e, 0x9f64c51a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrthwk, Specstrthwk, Spectrum)
STD_ROM_FN(Specstrthwk)

struct BurnDriver BurnSpecstrthwk = {
	"spec_strthwk", NULL, "spec_spectrum", NULL, "1986",
	"Street Hawk (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstrthwkRomInfo, SpecstrthwkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Street Sports Basketball (48K)

static struct BurnRomInfo SpecstrspobaRomDesc[] = {
	{ "Street Sports Basketball (1988)(U.S. Gold).z80", 0x07985, 0x5cedd8d3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrspoba, Specstrspoba, Spectrum)
STD_ROM_FN(Specstrspoba)

struct BurnDriver BurnSpecstrspoba = {
	"spec_strspoba", NULL, "spec_spectrum", NULL, "1988",
	"Street Sports Basketball (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstrspobaRomInfo, SpecstrspobaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Strider (128K)

static struct BurnRomInfo SpecstriderRomDesc[] = {
	{ "Strider (1989)(U.S. Gold)[128K].z80", 0x199f5, 0xf7390779, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrider, Specstrider, Spectrum)
STD_ROM_FN(Specstrider)

struct BurnDriver BurnSpecstrider = {
	"spec_strider", NULL, "spec_spec128", NULL, "1989",
	"Strider (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstriderRomInfo, SpecstriderRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Strider II (48K)

static struct BurnRomInfo Specstrider2RomDesc[] = {
	{ "Strider II (1990)(U.S. Gold)[needs tape load].z80", 0x07147, 0x63f5426d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrider2, Specstrider2, Spectrum)
STD_ROM_FN(Specstrider2)

struct BurnDriver BurnSpecstrider2 = {
	"spec_strider2", NULL, "spec_spectrum", NULL, "1990",
	"Strider II (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstrider2RomInfo, Specstrider2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Strike Attack (48K)

static struct BurnRomInfo SpecstriattaRomDesc[] = {
	{ "Strike Attack (1984)(Micro-Mart Software).z80", 0x09255, 0xc521bd78, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstriatta, Specstriatta, Spectrum)
STD_ROM_FN(Specstriatta)

struct BurnDriver BurnSpecstriatta = {
	"spec_striatta", NULL, "spec_spectrum", NULL, "1984",
	"Strike Attack (48K)\0", NULL, "Micro-Mart Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstriattaRomInfo, SpecstriattaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Strike Force Cobra (48K)

static struct BurnRomInfo SpecstrforcoRomDesc[] = {
	{ "Strike Force Cobra (1986)(Piranha).z80", 0x0a972, 0x32071463, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrforco, Specstrforco, Spectrum)
STD_ROM_FN(Specstrforco)

struct BurnDriver BurnSpecstrforco = {
	"spec_strforco", NULL, "spec_spectrum", NULL, "1986",
	"Strike Force Cobra (48K)\0", NULL, "Piranha", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstrforcoRomInfo, SpecstrforcoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Strike Force Harrier (48K)

static struct BurnRomInfo Specstrkfrch_48RomDesc[] = {
	{ "Strike Force Harrier (1986)(Mirrorsoft).z80", 0x0880e, 0xd87d1112, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrkfrch_48, Specstrkfrch_48, Spectrum)
STD_ROM_FN(Specstrkfrch_48)

struct BurnDriver BurnSpecstrkfrch_48 = {
	"spec_strkfrch_48", "spec_strkfrch", "spec_spectrum", NULL, "1986",
	"Strike Force Harrier (48K)\0", NULL, "Mirrorsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstrkfrch_48RomInfo, Specstrkfrch_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Strike Force Harrier (128K)

static struct BurnRomInfo SpecstrkfrchRomDesc[] = {
	{ "Strike Force Harrier (1986)(Mirrorsoft)[128K].z80", 0x0967f, 0x5c03e1c4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrkfrch, Specstrkfrch, Spectrum)
STD_ROM_FN(Specstrkfrch)

struct BurnDriver BurnSpecstrkfrch = {
	"spec_strkfrch", NULL, "spec_spec128", NULL, "1986",
	"Strike Force Harrier (128K)\0", NULL, "Mirrorsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstrkfrchRomInfo, SpecstrkfrchRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Strike Force SAS (48K)

static struct BurnRomInfo SpecstfosasRomDesc[] = {
	{ "Strike Force SAS (1987)(Mikro-Gen).z80", 0x09107, 0x43119190, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstfosas, Specstfosas, Spectrum)
STD_ROM_FN(Specstfosas)

struct BurnDriver BurnSpecstfosas = {
	"spec_stfosas", NULL, "spec_spectrum", NULL, "1987",
	"Strike Force SAS (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstfosasRomInfo, SpecstfosasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Strike! (48K)

static struct BurnRomInfo SpecstrikeRomDesc[] = {
	{ "Strike! (1987)(Mastertronic Added Dimension).z80", 0x07c6e, 0xd6c1e469, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrike, Specstrike, Spectrum)
STD_ROM_FN(Specstrike)

struct BurnDriver BurnSpecstrike = {
	"spec_strike", NULL, "spec_spectrum", NULL, "1987",
	"Strike! (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstrikeRomInfo, SpecstrikeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Striker (128K)

static struct BurnRomInfo SpecstrikerRomDesc[] = {
	{ "Striker (1989)(Cult Games)[128K].z80", 0x090e9, 0xf7144c4d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstriker, Specstriker, Spectrum)
STD_ROM_FN(Specstriker)

struct BurnDriver BurnSpecstriker = {
	"spec_striker", NULL, "spec_spec128", NULL, "1989",
	"Striker (128K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstrikerRomInfo, SpecstrikerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Striker Manager (48K)

static struct BurnRomInfo SpecstrimanaRomDesc[] = {
	{ "Striker Manager (1991)(Cult Games).z80", 0x08aa6, 0x01de454a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrimana, Specstrimana, Spectrum)
STD_ROM_FN(Specstrimana)

struct BurnDriver BurnSpecstrimana = {
	"spec_strimana", NULL, "spec_spectrum", NULL, "1991",
	"Striker Manager (48K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstrimanaRomInfo, SpecstrimanaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Strip Game (48K)

static struct BurnRomInfo SpecstrigameRomDesc[] = {
	{ "Strip Game (1988)(Diamond Software).z80", 0x049ca, 0xc4c40ec9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrigame, Specstrigame, Spectrum)
STD_ROM_FN(Specstrigame)

struct BurnDriver BurnSpecstrigame = {
	"spec_strigame", NULL, "spec_spectrum", NULL, "1988",
	"Strip Game (48K)\0", NULL, "Diamond Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstrigameRomInfo, SpecstrigameRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Strip Jack (German) (48K)

static struct BurnRomInfo SpecstrijackgRomDesc[] = {
	{ "Strip Jack (1984)(J. Weigner - M. Reimann)(de).z80", 0x045e2, 0xcfa30810, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrijackg, Specstrijackg, Spectrum)
STD_ROM_FN(Specstrijackg)

struct BurnDriver BurnSpecstrijackg = {
	"spec_strijackg", "spec_strijack", "spec_spectrum", NULL, "1984",
	"Strip Jack (German) (48K)\0", NULL, "J. Weigner - M. Reimann", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstrijackgRomInfo, SpecstrijackgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Strip Jack (pt) (48K)

static struct BurnRomInfo SpecstrijackRomDesc[] = {
	{ "Strip Jack (1985)(Carlos Correia)(pt).z80", 0x08cfb, 0xd7cba427, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrijack, Specstrijack, Spectrum)
STD_ROM_FN(Specstrijack)

struct BurnDriver BurnSpecstrijack = {
	"spec_strijack", NULL, "spec_spectrum", NULL, "1985",
	"Strip Jack (pt) (48K)\0", NULL, "Carlos Correia", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstrijackRomInfo, SpecstrijackRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Strip Logik (128K)

static struct BurnRomInfo SpecstrilogiRomDesc[] = {
	{ "Strip Logik (1990)(Double Pig Soft)[128K].z80", 0x07f6a, 0x125bd5c3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrilogi, Specstrilogi, Spectrum)
STD_ROM_FN(Specstrilogi)

struct BurnDriver BurnSpecstrilogi = {
	"spec_strilogi", NULL, "spec_spec128", NULL, "1990",
	"Strip Logik (128K)\0", NULL, "Double Pig Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstrilogiRomInfo, SpecstrilogiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Strip Oko (cs) (48K)

static struct BurnRomInfo SpecstriokocRomDesc[] = {
	{ "Strip Oko (1986)(Vlama)(cs).z80", 0x06704, 0xdf28429b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstriokoc, Specstriokoc, Spectrum)
STD_ROM_FN(Specstriokoc)

struct BurnDriver BurnSpecstriokoc = {
	"spec_striokoc", NULL, "spec_spectrum", NULL, "1986",
	"Strip Oko (cs) (48K)\0", NULL, "Vlama", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstriokocRomInfo, SpecstriokocRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Strip Poker (48K)

static struct BurnRomInfo SpecstripokeRomDesc[] = {
	{ "Strip Poker (1984)(Andreas Niemann).z80", 0x086d3, 0xf21aaf19, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstripoke, Specstripoke, Spectrum)
STD_ROM_FN(Specstripoke)

struct BurnDriver BurnSpecstripoke = {
	"spec_stripoke", NULL, "spec_spectrum", NULL, "1984",
	"Strip Poker (48K)\0", NULL, "Andreas Niemann", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstripokeRomInfo, SpecstripokeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Strip Poker II+ (48K)

static struct BurnRomInfo Specstripok2RomDesc[] = {
	{ "Strip Poker II+ (1988)(Anco Software).z80", 0x0895d, 0xb8f30450, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstripok2, Specstripok2, Spectrum)
STD_ROM_FN(Specstripok2)

struct BurnDriver BurnSpecstripok2 = {
	"spec_stripok2", NULL, "spec_spectrum", NULL, "1988",
	"Strip Poker II+ (48K)\0", NULL, "Anco Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstripok2RomInfo, Specstripok2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Strontium Dog - The Killing (48K)

static struct BurnRomInfo SpecstdothkiRomDesc[] = {
	{ "Strontium Dog - The Killing (1984)(Quicksilva).z80", 0x0a18b, 0xe8b7f223, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstdothki, Specstdothki, Spectrum)
STD_ROM_FN(Specstdothki)

struct BurnDriver BurnSpecstdothki = {
	"spec_stdothki", NULL, "spec_spectrum", NULL, "1984",
	"Strontium Dog - The Killing (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstdothkiRomInfo, SpecstdothkiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Strumpfovi (hr) (48K)

static struct BurnRomInfo SpecstrumpfoRomDesc[] = {
	{ "Strumpfovi (1985)(Xenon)(hr)[aka Smrkci].z80", 0x0aad0, 0x2a32b7db, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstrumpfo, Specstrumpfo, Spectrum)
STD_ROM_FN(Specstrumpfo)

struct BurnDriver BurnSpecstrumpfo = {
	"spec_strumpfo", NULL, "spec_spectrum", NULL, "1985",
	"Strumpfovi (hr) (48K)\0", NULL, "Xenon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstrumpfoRomInfo, SpecstrumpfoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stryker - In the Crypts of Trogan (48K)

static struct BurnRomInfo SpecstincrtrRomDesc[] = {
	{ "Stryker - In the Crypts of Trogan (1992)(Codemasters).z80", 0x094a5, 0xbc5a403a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstincrtr, Specstincrtr, Spectrum)
STD_ROM_FN(Specstincrtr)

struct BurnDriver BurnSpecstincrtr = {
	"spec_stincrtr", NULL, "spec_spectrum", NULL, "1992",
	"Stryker - In the Crypts of Trogan (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstincrtrRomInfo, SpecstincrtrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stuart Henry's Pop Quiz (48K)

static struct BurnRomInfo SpecsthepoquRomDesc[] = {
	{ "Stuart Henry's Pop Quiz (1984)(Bellflower Software).z80", 0x081ee, 0xf135c985, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsthepoqu, Specsthepoqu, Spectrum)
STD_ROM_FN(Specsthepoqu)

struct BurnDriver BurnSpecsthepoqu = {
	"spec_sthepoqu", NULL, "spec_spectrum", NULL, "1984",
	"Stuart Henry's Pop Quiz (48K)\0", NULL, "Bellflower Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsthepoquRomInfo, SpecsthepoquRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stunt Bike Simulator (48K)

static struct BurnRomInfo SpecstubiksiRomDesc[] = {
	{ "Stunt Bike Simulator (1988)(Silverbird Software).z80", 0x06bd0, 0xba6ed2fd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstubiksi, Specstubiksi, Spectrum)
STD_ROM_FN(Specstubiksi)

struct BurnDriver BurnSpecstubiksi = {
	"spec_stubiksi", NULL, "spec_spectrum", NULL, "1988",
	"Stunt Bike Simulator (48K)\0", NULL, "Silverbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstubiksiRomInfo, SpecstubiksiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stunt Car Racer (48K)

static struct BurnRomInfo Specstuntcar_48RomDesc[] = {
	{ "Stunt Car Racer (1989)(Micro Style).z80", 0x08f77, 0xc02a3c1f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstuntcar_48, Specstuntcar_48, Spectrum)
STD_ROM_FN(Specstuntcar_48)

struct BurnDriver BurnSpecstuntcar_48 = {
	"spec_stuntcar_48", "spec_stuntcar", "spec_spectrum", NULL, "1989",
	"Stunt Car Racer (48K)\0", NULL, "Micro Style", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specstuntcar_48RomInfo, Specstuntcar_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stunt Car Racer (128K)

static struct BurnRomInfo SpecstuntcarRomDesc[] = {
	{ "Stunt Car Racer (1989)(Micro Style)[128K].z80", 0x0ae97, 0xb3abb3a6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstuntcar, Specstuntcar, Spectrum)
STD_ROM_FN(Specstuntcar)

struct BurnDriver BurnSpecstuntcar = {
	"spec_stuntcar", NULL, "spec_spec128", NULL, "1989",
	"Stunt Car Racer (128K)\0", NULL, "Micro Style", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstuntcarRomInfo, SpecstuntcarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Stuntman (48K)

static struct BurnRomInfo SpecstuntmanRomDesc[] = {
	{ "Stuntman (1996)(CSSCGC).z80", 0x0133e, 0x3bc72442, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specstuntman, Specstuntman, Spectrum)
STD_ROM_FN(Specstuntman)

struct BurnDriver BurnSpecstuntman = {
	"spec_stuntman", NULL, "spec_spectrum", NULL, "1996",
	"Stuntman (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecstuntmanRomInfo, SpecstuntmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sub Track (48K)

static struct BurnRomInfo SpecsubtrackRomDesc[] = {
	{ "Sub Track (1986)(Amba Software).z80", 0x021cf, 0xa4bbcc5d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsubtrack, Specsubtrack, Spectrum)
STD_ROM_FN(Specsubtrack)

struct BurnDriver BurnSpecsubtrack = {
	"spec_subtrack", NULL, "spec_spectrum", NULL, "1986",
	"Sub Track (48K)\0", NULL, "Amba Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsubtrackRomInfo, SpecsubtrackRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Subbuteo - The Computer Game (48K)

static struct BurnRomInfo Specsubbueto_48RomDesc[] = {
	{ "Subbuteo - The Computer Game (1990)(Electronic Zoo).z80", 0x083de, 0x31346a92, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsubbueto_48, Specsubbueto_48, Spectrum)
STD_ROM_FN(Specsubbueto_48)

struct BurnDriver BurnSpecsubbueto_48 = {
	"spec_subbueto_48", "spec_subbueto", "spec_spectrum", NULL, "1990",
	"Subbuteo - The Computer Game (48K)\0", NULL, "Electronic Zoo", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsubbueto_48RomInfo, Specsubbueto_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Subbuteo - The Computer Game (128K)

static struct BurnRomInfo SpecsubbuetoRomDesc[] = {
	{ "Subbuteo - The Computer Game (1990)(Electronic Zoo)[128K].z80", 0x0eb1e, 0x37c72d4c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsubbueto, Specsubbueto, Spectrum)
STD_ROM_FN(Specsubbueto)

struct BurnDriver BurnSpecsubbueto = {
	"spec_subbueto", NULL, "spec_spec128", NULL, "1990",
	"Subbuteo - The Computer Game (128K)\0", NULL, "Electronic Zoo", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsubbuetoRomInfo, SpecsubbuetoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Submarine Strike (48K)

static struct BurnRomInfo SpecsubmstriRomDesc[] = {
	{ "Submarine Strike (1984)(Pulsonic).z80", 0x04bd0, 0xb20aa937, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsubmstri, Specsubmstri, Spectrum)
STD_ROM_FN(Specsubmstri)

struct BurnDriver BurnSpecsubmstri = {
	"spec_submstri", NULL, "spec_spectrum", NULL, "1984",
	"Submarine Strike (48K)\0", NULL, "Pulsonic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsubmstriRomInfo, SpecsubmstriRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Submariner (48K)

static struct BurnRomInfo SpecsubmarinRomDesc[] = {
	{ "Submariner (1988)(Atlantis Software).z80", 0x079e2, 0xa1beaaf3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsubmarin, Specsubmarin, Spectrum)
STD_ROM_FN(Specsubmarin)

struct BurnDriver BurnSpecsubmarin = {
	"spec_submarin", NULL, "spec_spectrum", NULL, "1988",
	"Submariner (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsubmarinRomInfo, SpecsubmarinRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Submarino Amarillo (Spanish) (48K)

static struct BurnRomInfo SpecsubmamarRomDesc[] = {
	{ "Submarino Amarillo (1984)(Ventamatic)(es).z80", 0x0188b, 0xd6e4614e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsubmamar, Specsubmamar, Spectrum)
STD_ROM_FN(Specsubmamar)

struct BurnDriver BurnSpecsubmamar = {
	"spec_submamar", NULL, "spec_spectrum", NULL, "1984",
	"Submarino Amarillo (Spanish) (48K)\0", NULL, "Ventamatic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsubmamarRomInfo, SpecsubmamarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Subsunk (48K)

static struct BurnRomInfo SpecsubsunkRomDesc[] = {
	{ "Subsunk (1985)(Firebird Software).z80", 0x09363, 0x558460cc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsubsunk, Specsubsunk, Spectrum)
STD_ROM_FN(Specsubsunk)

struct BurnDriver BurnSpecsubsunk = {
	"spec_subsunk", NULL, "spec_spectrum", NULL, "1985",
	"Subsunk (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsubsunkRomInfo, SpecsubsunkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Subsunk II - Seabase Delta (48K)

static struct BurnRomInfo Specsubsunk2RomDesc[] = {
	{ "Subsunk II - Seabase Delta (1985)(Firebird Software).z80", 0x0ab1d, 0xd08b4bbf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsubsunk2, Specsubsunk2, Spectrum)
STD_ROM_FN(Specsubsunk2)

struct BurnDriver BurnSpecsubsunk2 = {
	"spec_subsunk2", NULL, "spec_spectrum", NULL, "1985",
	"Subsunk II - Seabase Delta (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsubsunk2RomInfo, Specsubsunk2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Subterranean Nightmare (48K)

static struct BurnRomInfo SpecsubtnighRomDesc[] = {
	{ "Subterranean Nightmare (1986)(Americana Software).z80", 0x09cdc, 0x6696db40, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsubtnigh, Specsubtnigh, Spectrum)
STD_ROM_FN(Specsubtnigh)

struct BurnDriver BurnSpecsubtnigh = {
	"spec_subtnigh", NULL, "spec_spectrum", NULL, "1986",
	"Subterranean Nightmare (48K)\0", NULL, "Americana Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsubtnighRomInfo, SpecsubtnighRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Subterranean Stryker (48K)

static struct BurnRomInfo SpecsubtstryRomDesc[] = {
	{ "Subterranean Stryker (1985)(Insight Software).z80", 0x08f41, 0xa31462a9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsubtstry, Specsubtstry, Spectrum)
STD_ROM_FN(Specsubtstry)

struct BurnDriver BurnSpecsubtstry = {
	"spec_subtstry", NULL, "spec_spectrum", NULL, "1985",
	"Subterranean Stryker (48K)\0", NULL, "Insight Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsubtstryRomInfo, SpecsubtstryRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Subway Vigilante (48K)

static struct BurnRomInfo SpecsubwvigiRomDesc[] = {
	{ "Subway Vigilante (1989)(Players Premier Software).z80", 0x09149, 0xa5728c71, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsubwvigi, Specsubwvigi, Spectrum)
STD_ROM_FN(Specsubwvigi)

struct BurnDriver BurnSpecsubwvigi = {
	"spec_subwvigi", NULL, "spec_spectrum", NULL, "1989",
	"Subway Vigilante (48K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsubwvigiRomInfo, SpecsubwvigiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Summer Santa (48K)

static struct BurnRomInfo SpecsummsantRomDesc[] = {
	{ "Summer Santa (1986)(Alpha-Omega Software).z80", 0x06126, 0xd1bab981, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsummsant, Specsummsant, Spectrum)
STD_ROM_FN(Specsummsant)

struct BurnDriver BurnSpecsummsant = {
	"spec_summsant", NULL, "spec_spectrum", NULL, "1986",
	"Summer Santa (48K)\0", NULL, "Alpha-Omega Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsummsantRomInfo, SpecsummsantRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sun Star (48K)

static struct BurnRomInfo SpecsunstarRomDesc[] = {
	{ "Sun Star (1987)(CRL Group).z80", 0x0564a, 0x7cde8ec2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsunstar, Specsunstar, Spectrum)
STD_ROM_FN(Specsunstar)

struct BurnDriver BurnSpecsunstar = {
	"spec_sunstar", NULL, "spec_spectrum", NULL, "1987",
	"Sun Star (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsunstarRomInfo, SpecsunstarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Supalanda (48K)

static struct BurnRomInfo SpecsupalandRomDesc[] = {
	{ "Supalanda (19xx)(-).z80", 0x02f12, 0x3fc86908, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupaland, Specsupaland, Spectrum)
STD_ROM_FN(Specsupaland)

struct BurnDriver BurnSpecsupaland = {
	"spec_supaland", NULL, "spec_spectrum", NULL, "19xx",
	"Supalanda (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupalandRomInfo, SpecsupalandRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Advanced Lawnmower Simulator Adventure 2 - The Sequel (48K)

static struct BurnRomInfo SpecsadvlawnRomDesc[] = {
	{ "Super Advanced Lawnmower Simulator Adventure 2 - The Sequel (1993)(Creative.Radical.Alternative.Production Games).z80", 0x06b20, 0x2d728d69, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsadvlawn, Specsadvlawn, Spectrum)
STD_ROM_FN(Specsadvlawn)

struct BurnDriver BurnSpecsadvlawn = {
	"spec_sadvlawn", NULL, "spec_spectrum", NULL, "1993",
	"Super Advanced Lawnmower Simulator Adventure 2 - The Sequel (48K)\0", NULL, "Creative.Radical.Alternative.Production Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsadvlawnRomInfo, SpecsadvlawnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Bomber (48K)

static struct BurnRomInfo SpecsprbombrRomDesc[] = {
	{ "Super Bomber (1997)(CSSCGC).z80", 0x02987, 0x2bf0bca2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsprbombr, Specsprbombr, Spectrum)
STD_ROM_FN(Specsprbombr)

struct BurnDriver BurnSpecsprbombr = {
	"spec_sprbombr", NULL, "spec_spectrum", NULL, "1997",
	"Super Bomber (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsprbombrRomInfo, SpecsprbombrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Brat (48K)

static struct BurnRomInfo SpecsupebratRomDesc[] = {
	{ "Super Brat (1985)(Atlantis Software).z80", 0x0ad54, 0x927d21d6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupebrat, Specsupebrat, Spectrum)
STD_ROM_FN(Specsupebrat)

struct BurnDriver BurnSpecsupebrat = {
	"spec_supebrat", NULL, "spec_spectrum", NULL, "1985",
	"Super Brat (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupebratRomInfo, SpecsupebratRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Cars (128K)

static struct BurnRomInfo SpecsupecarsRomDesc[] = {
	{ "Super Cars (1990)(Gremlin Graphics Software)[128K].z80", 0x158cd, 0x5a2d86ca, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupecars, Specsupecars, Spectrum)
STD_ROM_FN(Specsupecars)

struct BurnDriver BurnSpecsupecars = {
	"spec_supecars", NULL, "spec_spec128", NULL, "1990",
	"Super Cars (128K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupecarsRomInfo, SpecsupecarsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Cars (48K)

static struct BurnRomInfo Specsupecars_48RomDesc[] = {
	{ "Super Cars (1990)(Gremlin Graphics Software)[needs tape load].z80", 0x0a178, 0xdaed0331, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupecars_48, Specsupecars_48, Spectrum)
STD_ROM_FN(Specsupecars_48)

struct BurnDriver BurnSpecsupecars_48 = {
	"spec_supecars_48", "spec_supecars", "spec_spectrum", NULL, "1990",
	"Super Cars (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsupecars_48RomInfo, Specsupecars_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Chess II v2.1 (48K)

static struct BurnRomInfo Specsupchss2RomDesc[] = {
	{ "Super Chess II v2.1 (1983)(CP Software).z80", 0x03d77, 0x2950fcca, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupchss2, Specsupchss2, Spectrum)
STD_ROM_FN(Specsupchss2)

struct BurnDriver BurnSpecsupchss2 = {
	"spec_supchss2", NULL, "spec_spectrum", NULL, "1983",
	"Super Chess II v2.1 (48K)\0", NULL, "CP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsupchss2RomInfo, Specsupchss2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Chess III v3.0 (48K)

static struct BurnRomInfo Specsupchss30RomDesc[] = {
	{ "Super Chess III v3.0 (1984)(CP Software).z80", 0x0a24c, 0xcd51dd45, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupchss30, Specsupchss30, Spectrum)
STD_ROM_FN(Specsupchss30)

struct BurnDriver BurnSpecsupchss30 = {
	"spec_supchss30", "spec_supchss3", "spec_spectrum", NULL, "1984",
	"Super Chess III v3.0 (48K)\0", NULL, "CP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsupchss30RomInfo, Specsupchss30RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Chess III v3.1 (48K)

static struct BurnRomInfo Specsupchss31RomDesc[] = {
	{ "Super Chess III v3.1 (1985)(CP Software).z80", 0x06907, 0x2a2d051e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupchss31, Specsupchss31, Spectrum)
STD_ROM_FN(Specsupchss31)

struct BurnDriver BurnSpecsupchss31 = {
	"spec_supchss31", "spec_supchss3", "spec_spectrum", NULL, "1985",
	"Super Chess III v3.1 (48K)\0", NULL, "CP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsupchss31RomInfo, Specsupchss31RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Chess III v3.5 (48K)

static struct BurnRomInfo Specsupchss3RomDesc[] = {
	{ "Super Chess III v3.5 (1985)(CP Software).z80", 0x09014, 0x8f214a15, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupchss3, Specsupchss3, Spectrum)
STD_ROM_FN(Specsupchss3)

struct BurnDriver BurnSpecsupchss3 = {
	"spec_supchss3", NULL, "spec_spectrum", NULL, "1985",
	"Super Chess III v3.5 (48K)\0", NULL, "CP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsupchss3RomInfo, Specsupchss3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Chopper (48K)

static struct BurnRomInfo SpecsupechopRomDesc[] = {
	{ "Super Chopper (1984)(Software Super Savers).z80", 0x07dfe, 0x0eb92760, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupechop, Specsupechop, Spectrum)
STD_ROM_FN(Specsupechop)

struct BurnDriver BurnSpecsupechop = {
	"spec_supechop", NULL, "spec_spectrum", NULL, "1984",
	"Super Chopper (48K)\0", NULL, "Software Super Savers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupechopRomInfo, SpecsupechopRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Cup Football (128K)

static struct BurnRomInfo SpecsupcupfoRomDesc[] = {
	{ "Super Cup Football (1991)(Hewson Consultants)[128K].z80", 0x05350, 0xcefc0af5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupcupfo, Specsupcupfo, Spectrum)
STD_ROM_FN(Specsupcupfo)

struct BurnDriver BurnSpecsupcupfo = {
	"spec_supcupfo", NULL, "spec_spec128", NULL, "1991",
	"Super Cup Football (128K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupcupfoRomInfo, SpecsupcupfoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Cycle (48K)

static struct BurnRomInfo SpecsupecyclRomDesc[] = {
	{ "Super Cycle (1987)(U.S. Gold).z80", 0x08054, 0x7aeedc00, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupecycl, Specsupecycl, Spectrum)
STD_ROM_FN(Specsupecycl)

struct BurnDriver BurnSpecsupecycl = {
	"spec_supecycl", NULL, "spec_spectrum", NULL, "1987",
	"Super Cycle (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupecyclRomInfo, SpecsupecyclRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Discus (sk) (48K)

static struct BurnRomInfo SpecsupediscRomDesc[] = {
	{ "Super Discus (1988)(Sybilasoft)(sk).z80", 0x0466d, 0x6e417f07, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupedisc, Specsupedisc, Spectrum)
STD_ROM_FN(Specsupedisc)

struct BurnDriver BurnSpecsupedisc = {
	"spec_supedisc", NULL, "spec_spectrum", NULL, "1988",
	"Super Discus (sk) (48K)\0", NULL, "Sybilasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupediscRomInfo, SpecsupediscRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Dragon Slayer (48K)

static struct BurnRomInfo SpecsupdraslRomDesc[] = {
	{ "Super Dragon Slayer (1989)(Codemasters).z80", 0x08645, 0x9eec852f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupdrasl, Specsupdrasl, Spectrum)
STD_ROM_FN(Specsupdrasl)

struct BurnDriver BurnSpecsupdrasl = {
	"spec_supdrasl", NULL, "spec_spectrum", NULL, "1989",
	"Super Dragon Slayer (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupdraslRomInfo, SpecsupdraslRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super G-Man (48K)

static struct BurnRomInfo SpecsupgmanRomDesc[] = {
	{ "Super G-Man (1987)(Codemasters).z80", 0x0890b, 0x2a5393f3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupgman, Specsupgman, Spectrum)
STD_ROM_FN(Specsupgman)

struct BurnDriver BurnSpecsupgman = {
	"spec_supgman", NULL, "spec_spectrum", NULL, "1987",
	"Super G-Man (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupgmanRomInfo, SpecsupgmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Gran - The Adventure (48K)

static struct BurnRomInfo SpecsugrthadRomDesc[] = {
	{ "Super Gran - The Adventure (1985)(Adventure International).z80", 0x09df0, 0x4f5c8c19, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsugrthad, Specsugrthad, Spectrum)
STD_ROM_FN(Specsugrthad)

struct BurnDriver BurnSpecsugrthad = {
	"spec_sugrthad", NULL, "spec_spectrum", NULL, "1985",
	"Super Gran - The Adventure (48K)\0", NULL, "Adventure International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsugrthadRomInfo, SpecsugrthadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Gran (48K)

static struct BurnRomInfo SpecsupegranRomDesc[] = {
	{ "Super Gran (1985)(Tynesoft).z80", 0x07a10, 0xa283e740, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupegran, Specsupegran, Spectrum)
STD_ROM_FN(Specsupegran)

struct BurnDriver BurnSpecsupegran = {
	"spec_supegran", NULL, "spec_spectrum", NULL, "1985",
	"Super Gran (48K)\0", NULL, "Tynesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupegranRomInfo, SpecsupegranRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Hang-On - Part 1 - Beginner (48K)

static struct BurnRomInfo SpecshangonRomDesc[] = {
	{ "Super Hang-On - Part 1 - Beginner (1986)(Electric Dreams Software).z80", 0x08818, 0x6021b420, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshangon, Specshangon, Spectrum)
STD_ROM_FN(Specshangon)

struct BurnDriver BurnSpecshangon = {
	"spec_shangon", NULL, "spec_spectrum", NULL, "1986",
	"Super Hang-On - Part 1 - Beginner (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecshangonRomInfo, SpecshangonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Hang-On - Part 2 - Junior (48K)

static struct BurnRomInfo Specshangon2RomDesc[] = {
	{ "Super Hang-On - Part 2 - Junior (1986)(Electric Dreams Software).z80", 0x08690, 0xd8180d70, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshangon2, Specshangon2, Spectrum)
STD_ROM_FN(Specshangon2)

struct BurnDriver BurnSpecshangon2 = {
	"spec_shangon2", "spec_shangon", "spec_spectrum", NULL, "1986",
	"Super Hang-On - Part 2 - Junior (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specshangon2RomInfo, Specshangon2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Hang-On - Part 3 - Senior (48K)

static struct BurnRomInfo Specshangon3RomDesc[] = {
	{ "Super Hang-On - Part 3 - Senior (1986)(Electric Dreams Software).z80", 0x08adc, 0x363567ec, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshangon3, Specshangon3, Spectrum)
STD_ROM_FN(Specshangon3)

struct BurnDriver BurnSpecshangon3 = {
	"spec_shangon3", "spec_shangon", "spec_spectrum", NULL, "1986",
	"Super Hang-On - Part 3 - Senior (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specshangon3RomInfo, Specshangon3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Hang-On - Part 4 - Expert (48K)

static struct BurnRomInfo Specshangon4RomDesc[] = {
	{ "Super Hang-On - Part 4 - Expert (1986)(Electric Dreams Software).z80", 0x0868a, 0x8cb2ac52, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specshangon4, Specshangon4, Spectrum)
STD_ROM_FN(Specshangon4)

struct BurnDriver BurnSpecshangon4 = {
	"spec_shangon4", "spec_shangon", "spec_spectrum", NULL, "1986",
	"Super Hang-On - Part 4 - Expert (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specshangon4RomInfo, Specshangon4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Hero (48K)

static struct BurnRomInfo Specsupehero_48RomDesc[] = {
	{ "Super Hero (1988)(Codemasters).z80", 0x09c45, 0x06cea9c6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupehero_48, Specsupehero_48, Spectrum)
STD_ROM_FN(Specsupehero_48)

struct BurnDriver BurnSpecsupehero_48 = {
	"spec_supehero_48", "spec_supehero", "spec_spectrum", NULL, "1988",
	"Super Hero (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsupehero_48RomInfo, Specsupehero_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Hero (128K)

static struct BurnRomInfo SpecsupeheroRomDesc[] = {
	{ "Super Hero (1988)(Codemasters)[128K].z80", 0x0c411, 0x409ed669, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupehero, Specsupehero, Spectrum)
STD_ROM_FN(Specsupehero)

struct BurnDriver BurnSpecsupehero = {
	"spec_supehero", NULL, "spec_spec128", NULL, "1988",
	"Super Hero (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupeheroRomInfo, SpecsupeheroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super League - World Cup (48K)

static struct BurnRomInfo SpecsulewocuRomDesc[] = {
	{ "Super League - World Cup (19xx)(-).z80", 0x02911, 0x94701620, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsulewocu, Specsulewocu, Spectrum)
STD_ROM_FN(Specsulewocu)

struct BurnDriver BurnSpecsulewocu = {
	"spec_sulewocu", NULL, "spec_spectrum", NULL, "19xx",
	"Super League - World Cup (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsulewocuRomInfo, SpecsulewocuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super League (Cross Software) (48K)

static struct BurnRomInfo SpecsupelegcRomDesc[] = {
	{ "Super League (1983)(Cross Software).z80", 0x09d9d, 0x7d7d7bda, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupelegc, Specsupelegc, Spectrum)
STD_ROM_FN(Specsupelegc)

struct BurnDriver BurnSpecsupelegc = {
	"spec_supelegc", NULL, "spec_spectrum", NULL, "1983",
	"Super League (Cross Software) (48K)\0", NULL, "Cross Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupelegcRomInfo, SpecsupelegcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super League (Premier Players Software) (48K)

static struct BurnRomInfo SpecsupelegpRomDesc[] = {
	{ "Super League (1989)(Players Premier Software).z80", 0x09bd2, 0xcac7f857, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupelegp, Specsupelegp, Spectrum)
STD_ROM_FN(Specsupelegp)

struct BurnDriver BurnSpecsupelegp = {
	"spec_supelegp", NULL, "spec_spectrum", NULL, "1989",
	"Super League (Premier Players Software) (48K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupelegpRomInfo, SpecsupelegpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super League (Unknown) (48K)

static struct BurnRomInfo SpecsupeleguRomDesc[] = {
	{ "Super League (19xx)(-).z80", 0x02d5c, 0x9434e4e1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupelegu, Specsupelegu, Spectrum)
STD_ROM_FN(Specsupelegu)

struct BurnDriver BurnSpecsupelegu = {
	"spec_supelegu", NULL, "spec_spectrum", NULL, "19xx",
	"Super League (Unknown) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupeleguRomInfo, SpecsupeleguRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Monaco GP (128K)

static struct BurnRomInfo SpecsmgpRomDesc[] = {
	{ "Super Monaco GP (1991)(U.S. Gold)[128K].z80", 0x0e08c, 0x6a1dcc87, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsmgp, Specsmgp, Spectrum)
STD_ROM_FN(Specsmgp)

struct BurnDriver BurnSpecsmgp = {
	"spec_smgp", NULL, "spec_spec128", NULL, "1991",
	"Super Monaco GP (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsmgpRomInfo, SpecsmgpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Mutt (48K)

static struct BurnRomInfo SpecsupemuttRomDesc[] = {
	{ "Super Mutt (1984)(Silversoft).z80", 0x097c3, 0x30ee1af6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupemutt, Specsupemutt, Spectrum)
STD_ROM_FN(Specsupemutt)

struct BurnDriver BurnSpecsupemutt = {
	"spec_supemutt", NULL, "spec_spectrum", NULL, "1984",
	"Super Mutt (48K)\0", NULL, "Silversoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupemuttRomInfo, SpecsupemuttRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Nova (48K)

static struct BurnRomInfo SpecsupenovaRomDesc[] = {
	{ "Super Nova (1987)(Players Software).z80", 0x08eb6, 0xb7cf566f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupenova, Specsupenova, Spectrum)
STD_ROM_FN(Specsupenova)

struct BurnDriver BurnSpecsupenova = {
	"spec_supenova", NULL, "spec_spectrum", NULL, "1987",
	"Super Nova (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupenovaRomInfo, SpecsupenovaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Nudge 2000 (48K)

static struct BurnRomInfo SpecsupenudgRomDesc[] = {
	{ "Super Nudge 2000 (1989)(Mastertronic).z80", 0x07289, 0x26f222e6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupenudg, Specsupenudg, Spectrum)
STD_ROM_FN(Specsupenudg)

struct BurnDriver BurnSpecsupenudg = {
	"spec_supenudg", NULL, "spec_spectrum", NULL, "1989",
	"Super Nudge 2000 (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupenudgRomInfo, SpecsupenudgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Robin Hood (48K)

static struct BurnRomInfo SpecsuprobhoRomDesc[] = {
	{ "Super Robin Hood (1987)(Codemasters).z80", 0x099af, 0xacd15b97, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsuprobho, Specsuprobho, Spectrum)
STD_ROM_FN(Specsuprobho)

struct BurnDriver BurnSpecsuprobho = {
	"spec_suprobho", NULL, "spec_spectrum", NULL, "1987",
	"Super Robin Hood (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsuprobhoRomInfo, SpecsuprobhoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Sam (48K)

static struct BurnRomInfo SpecsupesamRomDesc[] = {
	{ "Super Sam (1985)(Budgie Budget Software).z80", 0x07796, 0x34e7b0fe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupesam, Specsupesam, Spectrum)
STD_ROM_FN(Specsupesam)

struct BurnDriver BurnSpecsupesam = {
	"spec_supesam", NULL, "spec_spectrum", NULL, "1985",
	"Super Sam (48K)\0", NULL, "Budgie Budget Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupesamRomInfo, SpecsupesamRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Sapiens (Spanish) (48K)

static struct BurnRomInfo SpecsupesapiRomDesc[] = {
	{ "Super Sapiens (1989)(Proein Soft Line)(es).z80", 0x0ac2d, 0x12fd71e9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupesapi, Specsupesapi, Spectrum)
STD_ROM_FN(Specsupesapi)

struct BurnDriver BurnSpecsupesapi = {
	"spec_supesapi", NULL, "spec_spectrum", NULL, "1989",
	"Super Sapiens (Spanish) (48K)\0", NULL, "Proein Soft Line", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupesapiRomInfo, SpecsupesapiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Scramble Simulator (128K)

static struct BurnRomInfo SpecsupscrsiRomDesc[] = {
	{ "Super Scramble Simulator (1989)(Gremlin Graphics Software)[128K].z80", 0x0cb84, 0x609d9e9e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupscrsi, Specsupscrsi, Spectrum)
STD_ROM_FN(Specsupscrsi)

struct BurnDriver BurnSpecsupscrsi = {
	"spec_supscrsi", NULL, "spec_spec128", NULL, "1989",
	"Super Scramble Simulator (128K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupscrsiRomInfo, SpecsupscrsiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Seymour Saves the Planet (48K)

static struct BurnRomInfo SpecsusesaplRomDesc[] = {
	{ "Super Seymour Saves the Planet (1991)(Codemasters).z80", 0x0885f, 0xd628ac72, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsusesapl, Specsusesapl, Spectrum)
STD_ROM_FN(Specsusesapl)

struct BurnDriver BurnSpecsusesapl = {
	"spec_susesapl", NULL, "spec_spectrum", NULL, "1991",
	"Super Seymour Saves the Planet (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsusesaplRomInfo, SpecsusesaplRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Soccer (48K)

static struct BurnRomInfo SpecsupesoccRomDesc[] = {
	{ "Super Soccer (1986)(Imagine Software).z80", 0x0b308, 0xcb37a3d3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupesocc, Specsupesocc, Spectrum)
STD_ROM_FN(Specsupesocc)

struct BurnDriver BurnSpecsupesocc = {
	"spec_supesocc", NULL, "spec_spectrum", NULL, "1986",
	"Super Soccer (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupesoccRomInfo, SpecsupesoccRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Space Invaders (128K)

static struct BurnRomInfo SpecsupspainRomDesc[] = {
	{ "Super Space Invaders (1991)(Domark)[128K].z80", 0x198bd, 0x2a36ad52, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupspain, Specsupspain, Spectrum)
STD_ROM_FN(Specsupspain)

struct BurnDriver BurnSpecsupspain = {
	"spec_supspain", NULL, "spec_spec128", NULL, "1991",
	"Super Space Invaders (128K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupspainRomInfo, SpecsupspainRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Spekulant (pl) (48K)

static struct BurnRomInfo SpecsupespekRomDesc[] = {
	{ "Super Spekulant (1985)(MGB)(pl).z80", 0x05d39, 0x224a39ff, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupespek, Specsupespek, Spectrum)
STD_ROM_FN(Specsupespek)

struct BurnDriver BurnSpecsupespek = {
	"spec_supespek", NULL, "spec_spectrum", NULL, "1985",
	"Super Spekulant (pl) (48K)\0", NULL, "MGB", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupespekRomInfo, SpecsupespekRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Sprint (48K)

static struct BurnRomInfo SpecsupespriRomDesc[] = {
	{ "Super Sprint (1987)(Activision).z80", 0x07a7e, 0x52ee2754, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupespri, Specsupespri, Spectrum)
STD_ROM_FN(Specsupespri)

struct BurnDriver BurnSpecsupespri = {
	"spec_supespri", NULL, "spec_spectrum", NULL, "1987",
	"Super Sprint (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupespriRomInfo, SpecsupespriRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Star Trek (German) (48K)

static struct BurnRomInfo SpecsupstatrgRomDesc[] = {
	{ "Super Star Trek (1984)(Michel Havemester)(de).z80", 0x08758, 0x01923771, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupstatrg, Specsupstatrg, Spectrum)
STD_ROM_FN(Specsupstatrg)

struct BurnDriver BurnSpecsupstatrg = {
	"spec_supstatrg", "spec_supstatr", "spec_spectrum", NULL, "1984",
	"Super Star Trek (German) (48K)\0", NULL, "Michel Havemester", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupstatrgRomInfo, SpecsupstatrgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Star Trek (48K)

static struct BurnRomInfo SpecsupstatrRomDesc[] = {
	{ "Super Star Trek (19xx)(-).z80", 0x065b1, 0x65195c55, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupstatr, Specsupstatr, Spectrum)
STD_ROM_FN(Specsupstatr)

struct BurnDriver BurnSpecsupstatr = {
	"spec_supstatr", NULL, "spec_spectrum", NULL, "19xx",
	"Super Star Trek (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupstatrRomInfo, SpecsupstatrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Stock Car (48K)

static struct BurnRomInfo SpecsupstocaRomDesc[] = {
	{ "Super Stock Car (1990)(Mastertronic Plus).z80", 0x09cfb, 0x312b431a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupstoca, Specsupstoca, Spectrum)
STD_ROM_FN(Specsupstoca)

struct BurnDriver BurnSpecsupstoca = {
	"spec_supstoca", NULL, "spec_spectrum", NULL, "1990",
	"Super Stock Car (48K)\0", NULL, "Mastertronic Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupstocaRomInfo, SpecsupstocaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Stuntman (48K)

static struct BurnRomInfo SpecsupestunRomDesc[] = {
	{ "Super Stuntman (1988)(Codemasters).z80", 0x099cb, 0xca5fde7a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupestun, Specsupestun, Spectrum)
STD_ROM_FN(Specsupestun)

struct BurnDriver BurnSpecsupestun = {
	"spec_supestun", NULL, "spec_spectrum", NULL, "1988",
	"Super Stuntman (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupestunRomInfo, SpecsupestunRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Tank Simulator (48K)

static struct BurnRomInfo SpecsuptansiRomDesc[] = {
	{ "Super Tank Simulator (1989)(Codemasters).z80", 0x08b80, 0x91d8f493, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsuptansi, Specsuptansi, Spectrum)
STD_ROM_FN(Specsuptansi)

struct BurnDriver BurnSpecsuptansi = {
	"spec_suptansi", NULL, "spec_spectrum", NULL, "1989",
	"Super Tank Simulator (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsuptansiRomInfo, SpecsuptansiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Trolley (48K)

static struct BurnRomInfo SpecsupetrolRomDesc[] = {
	{ "Super Trolley (1988)(Mastertronic).z80", 0x08d7c, 0x45b9f15b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupetrol, Specsupetrol, Spectrum)
STD_ROM_FN(Specsupetrol)

struct BurnDriver BurnSpecsupetrol = {
	"spec_supetrol", NULL, "spec_spectrum", NULL, "1988",
	"Super Trolley (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupetrolRomInfo, SpecsupetrolRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super Zeeslag (nl) (48K)

static struct BurnRomInfo SpecsupezeesRomDesc[] = {
	{ "Super Zeeslag (1991)(Sir Clive - Mr ZX)(nl).z80", 0x0277f, 0xac88ffbb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupezees, Specsupezees, Spectrum)
STD_ROM_FN(Specsupezees)

struct BurnDriver BurnSpecsupezees = {
	"spec_supezees", NULL, "spec_spectrum", NULL, "1991",
	"Super Zeeslag (nl) (48K)\0", NULL, "Sir Clive - Mr ZX", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupezeesRomInfo, SpecsupezeesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Superbike Trans-Am (48K)

static struct BurnRomInfo Specsuptraam_48RomDesc[] = {
	{ "Superbike Trans-Am (1989)(Codemasters).z80", 0x08ac2, 0x055badba, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsuptraam_48, Specsuptraam_48, Spectrum)
STD_ROM_FN(Specsuptraam_48)

struct BurnDriver BurnSpecsuptraam_48 = {
	"spec_suptraam_48", "spec_suptraam", "spec_spectrum", NULL, "1989",
	"Superbike Trans-Am (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsuptraam_48RomInfo, Specsuptraam_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Superbike Trans-Am (128K)

static struct BurnRomInfo SpecsuptraamRomDesc[] = {
	{ "Superbike Trans-Am (1989)(Codemasters)[128K].z80", 0x09fa6, 0x28322d99, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsuptraam, Specsuptraam, Spectrum)
STD_ROM_FN(Specsuptraam)

struct BurnDriver BurnSpecsuptraam = {
	"spec_suptraam", NULL, "spec_spec128", NULL, "1989",
	"Superbike Trans-Am (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsuptraamRomInfo, SpecsuptraamRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Superbowl (48K)

static struct BurnRomInfo SpecsuperbowRomDesc[] = {
	{ "Superbowl (1986)(Ocean).z80", 0x0945f, 0xd5de6a96, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsuperbow, Specsuperbow, Spectrum)
STD_ROM_FN(Specsuperbow)

struct BurnDriver BurnSpecsuperbow = {
	"spec_superbow", NULL, "spec_spectrum", NULL, "1986",
	"Superbowl (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsuperbowRomInfo, SpecsuperbowRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Supercom (48K)

static struct BurnRomInfo SpecsupercomRomDesc[] = {
	{ "Supercom (1985)(Atlantis Software).z80", 0x070c9, 0xa96ff6e6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupercom, Specsupercom, Spectrum)
STD_ROM_FN(Specsupercom)

struct BurnDriver BurnSpecsupercom = {
	"spec_supercom", NULL, "spec_spectrum", NULL, "1985",
	"Supercom (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupercomRomInfo, SpecsupercomRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super-Comecocos (Spanish) (48K)

static struct BurnRomInfo SpecsupecomeRomDesc[] = {
	{ "Super-Comecocos (1983)(Ventamatic)(es)[aka Ghost's Revenge].z80", 0x0280b, 0x54f7bd69, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupecome, Specsupecome, Spectrum)
STD_ROM_FN(Specsupecome)

struct BurnDriver BurnSpecsupecome = {
	"spec_supecome", NULL, "spec_spectrum", NULL, "1983",
	"Super-Comecocos (Spanish) (48K)\0", NULL, "Ventamatic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupecomeRomInfo, SpecsupecomeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Superhirn (German) (48K)

static struct BurnRomInfo SpecsuperhirRomDesc[] = {
	{ "Superhirn (1984)(Bernd Schissler)(de).z80", 0x020e3, 0x123cf8a1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsuperhir, Specsuperhir, Spectrum)
STD_ROM_FN(Specsuperhir)

struct BurnDriver BurnSpecsuperhir = {
	"spec_superhir", NULL, "spec_spectrum", NULL, "1984",
	"Superhirn (German) (48K)\0", NULL, "Bernd Schissler", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsuperhirRomInfo, SpecsuperhirRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Superkid in Space (48K)

static struct BurnRomInfo Specsprkidsp_48RomDesc[] = {
	{ "Superkid in Space (1990)(Atlantis Software).z80", 0x09b5c, 0x549f138b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsprkidsp_48, Specsprkidsp_48, Spectrum)
STD_ROM_FN(Specsprkidsp_48)

struct BurnDriver BurnSpecsprkidsp_48 = {
	"spec_sprkidsp_48", "spec_sprkidsp", "spec_spectrum", NULL, "1990",
	"Superkid in Space (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsprkidsp_48RomInfo, Specsprkidsp_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Superkid in Space (128K)

static struct BurnRomInfo SpecsprkidspRomDesc[] = {
	{ "Superkid in Space (1990)(Atlantis Software)[128K].z80", 0x15b91, 0xd16e8ce6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsprkidsp, Specsprkidsp, Spectrum)
STD_ROM_FN(Specsprkidsp)

struct BurnDriver BurnSpecsprkidsp = {
	"spec_sprkidsp", NULL, "spec_spec128", NULL, "1990",
	"Superkid in Space (128K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsprkidspRomInfo, SpecsprkidspRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Superleague Soccer (48K)

static struct BurnRomInfo SpecsuplsoccRomDesc[] = {
	{ "Superleague Soccer (1990)(Audiogenic Software).z80", 0x0a04e, 0xc9b2a9f2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsuplsocc, Specsuplsocc, Spectrum)
STD_ROM_FN(Specsuplsocc)

struct BurnDriver BurnSpecsuplsocc = {
	"spec_suplsocc", NULL, "spec_spectrum", NULL, "1990",
	"Superleague Soccer (48K)\0", NULL, "Audiogenic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsuplsoccRomInfo, SpecsuplsoccRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Superman - The Game (48K)

static struct BurnRomInfo SpecsupermanRomDesc[] = {
	{ "Superman - The Game (1985)(Firebird Software).z80", 0x07be1, 0xe6b36e3e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsuperman, Specsuperman, Spectrum)
STD_ROM_FN(Specsuperman)

struct BurnDriver BurnSpecsuperman = {
	"spec_superman", NULL, "spec_spectrum", NULL, "1985",
	"Superman - The Game (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupermanRomInfo, SpecsupermanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Superman - The Man of Steel (48K)

static struct BurnRomInfo SpecsupmanmsRomDesc[] = {
	{ "Superman - The Man of Steel (1989)(Tynesoft).z80", 0x04956, 0xd37e5790, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupmanms, Specsupmanms, Spectrum)
STD_ROM_FN(Specsupmanms)

struct BurnDriver BurnSpecsupmanms = {
	"spec_supmanms", NULL, "spec_spectrum", NULL, "1989",
	"Superman - The Man of Steel (48K)\0", NULL, "Tynesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupmanmsRomInfo, SpecsupmanmsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Super-Squash (German) (48K)

static struct BurnRomInfo SpecsupesquaRomDesc[] = {
	{ "Super-Squash (19xx)(R. Heinrich)(de).z80", 0x01b26, 0xf1ee612b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupesqua, Specsupesqua, Spectrum)
STD_ROM_FN(Specsupesqua)

struct BurnDriver BurnSpecsupesqua = {
	"spec_supesqua", NULL, "spec_spectrum", NULL, "19xx",
	"Super-Squash (German) (48K)\0", NULL, "R. Heinrich", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupesquaRomInfo, SpecsupesquaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Superstory (German) (48K)

static struct BurnRomInfo SpecsuperstoRomDesc[] = {
	{ "Superstory (1985)(Computer Kontakt)(de).z80", 0x08c13, 0xf0dfc3f0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupersto, Specsupersto, Spectrum)
STD_ROM_FN(Specsupersto)

struct BurnDriver BurnSpecsupersto = {
	"spec_supersto", NULL, "spec_spectrum", NULL, "1985",
	"Superstory (German) (48K)\0", NULL, "Computer Kontakt", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsuperstoRomInfo, SpecsuperstoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Supertrux (128K)

static struct BurnRomInfo SpecsupertruRomDesc[] = {
	{ "Supertrux (1988)(Elite Systems)[128K].z80", 0x0d29e, 0xbaedd831, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsupertru, Specsupertru, Spectrum)
STD_ROM_FN(Specsupertru)

struct BurnDriver BurnSpecsupertru = {
	"spec_supertru", NULL, "spec_spec128", NULL, "1988",
	"Supertrux (128K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsupertruRomInfo, SpecsupertruRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Surf Champ - Intro (48K)

static struct BurnRomInfo SpecsurfchmpRomDesc[] = {
	{ "Surf Champ - Intro (1985)(New Concepts).z80", 0x09078, 0x7327bd60, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsurfchmp, Specsurfchmp, Spectrum)
STD_ROM_FN(Specsurfchmp)

struct BurnDriver BurnSpecsurfchmp = {
	"spec_surfchmp", NULL, "spec_spectrum", NULL, "1985",
	"Surf Champ - Intro (48K)\0", NULL, "New Concepts", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsurfchmpRomInfo, SpecsurfchmpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Surf Champ (48K)

static struct BurnRomInfo SpecsurfchmpgRomDesc[] = {
	{ "Surf Champ (1985)(New Concepts).z80", 0x09346, 0xeef29443, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsurfchmpg, Specsurfchmpg, Spectrum)
STD_ROM_FN(Specsurfchmpg)

struct BurnDriver BurnSpecsurfchmpg = {
	"spec_surfchmpg", "spec_surfchmp", "spec_spectrum", NULL, "1985",
	"Surf Champ (48K)\0", NULL, "New Concepts", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsurfchmpgRomInfo, SpecsurfchmpgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Surround (48K)

static struct BurnRomInfo SpecsurroundRomDesc[] = {
	{ "Surround (1996)(CSSCGC).z80", 0x018b2, 0x654fef64, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsurround, Specsurround, Spectrum)
STD_ROM_FN(Specsurround)

struct BurnDriver BurnSpecsurround = {
	"spec_surround", NULL, "spec_spectrum", NULL, "1996",
	"Surround (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsurroundRomInfo, SpecsurroundRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Survival (48K)

static struct BurnRomInfo SpecsurvivalRomDesc[] = {
	{ "Survival (1984)(Macmillan Software - Sinclair Research).z80", 0x05633, 0x1e241ae4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsurvival, Specsurvival, Spectrum)
STD_ROM_FN(Specsurvival)

struct BurnDriver BurnSpecsurvival = {
	"spec_survival", NULL, "spec_spectrum", NULL, "1984",
	"Survival (48K)\0", NULL, "Macmillan Software - Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsurvivalRomInfo, SpecsurvivalRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Survivor (48K)

static struct BurnRomInfo SpecsurvivorRomDesc[] = {
	{ "Survivor (1987)(Topo Soft).z80", 0x0a28c, 0xbace89b2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsurvivor, Specsurvivor, Spectrum)
STD_ROM_FN(Specsurvivor)

struct BurnDriver BurnSpecsurvivor = {
	"spec_survivor", NULL, "spec_spectrum", NULL, "1987",
	"Survivor (48K)\0", NULL, "Topo Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsurvivorRomInfo, SpecsurvivorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Survivors (48K)

static struct BurnRomInfo SpecsurvivrsRomDesc[] = {
	{ "Survivors (1986)(Atlantis Software).z80", 0x04ef9, 0x94863ff1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsurvivrs, Specsurvivrs, Spectrum)
STD_ROM_FN(Specsurvivrs)

struct BurnDriver BurnSpecsurvivrs = {
	"spec_survivrs", NULL, "spec_spectrum", NULL, "1986",
	"Survivors (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsurvivrsRomInfo, SpecsurvivrsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Svemirska Prica (sr) (48K)

static struct BurnRomInfo SpecsvempricRomDesc[] = {
	{ "Svemirska Prica (1985)(Suzy Soft)(sr).z80", 0x07240, 0x99154fb2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsvempric, Specsvempric, Spectrum)
STD_ROM_FN(Specsvempric)

struct BurnDriver BurnSpecsvempric = {
	"spec_svempric", NULL, "spec_spectrum", NULL, "1985",
	"Svemirska Prica (sr) (48K)\0", NULL, "Suzy Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsvempricRomInfo, SpecsvempricRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sweevo's Whirled (128K)

static struct BurnRomInfo SpecsweewhirRomDesc[] = {
	{ "Sweevo's Whirled (1986)(Gargoyle Games)[128K].z80", 0x0ae26, 0xfb325b85, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsweewhir, Specsweewhir, Spectrum)
STD_ROM_FN(Specsweewhir)

struct BurnDriver BurnSpecsweewhir = {
	"spec_sweewhir", NULL, "spec_spec128", NULL, "1986",
	"Sweevo's Whirled (128K)\0", NULL, "Gargoyle Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsweewhirRomInfo, SpecsweewhirRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sweevo's World (48K)

static struct BurnRomInfo SpecsweeworlRomDesc[] = {
	{ "Sweevo's World (1986)(Gargoyle Games).z80", 0x084ba, 0x48a9e8a0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsweeworl, Specsweeworl, Spectrum)
STD_ROM_FN(Specsweeworl)

struct BurnDriver BurnSpecsweeworl = {
	"spec_sweeworl", NULL, "spec_spectrum", NULL, "1986",
	"Sweevo's World (48K)\0", NULL, "Gargoyle Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsweeworlRomInfo, SpecsweeworlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Swettibitz in Space (48K)

static struct BurnRomInfo SpecswetspacRomDesc[] = {
	{ "Swettibitz in Space (1985)(Automata UK).z80", 0x07be8, 0x6c6e2eee, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specswetspac, Specswetspac, Spectrum)
STD_ROM_FN(Specswetspac)

struct BurnDriver BurnSpecswetspac = {
	"spec_swetspac", NULL, "spec_spectrum", NULL, "1985",
	"Swettibitz in Space (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecswetspacRomInfo, SpecswetspacRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// SWIV (128K)

static struct BurnRomInfo SpecswivRomDesc[] = {
	{ "SWIV (1991)(Storm Software)[128K].z80", 0x1949b, 0xedc341d5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specswiv, Specswiv, Spectrum)
STD_ROM_FN(Specswiv)

struct BurnDriver BurnSpecswiv = {
	"spec_swiv", NULL, "spec_spec128", NULL, "1991",
	"SWIV (128K)\0", NULL, "Storm Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecswivRomInfo, SpecswivRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sword and Shield (48K)

static struct BurnRomInfo SpecsworshieRomDesc[] = {
	{ "Sword and Shield (1986)(The Power House).z80", 0x07fbe, 0x7d082523, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsworshie, Specsworshie, Spectrum)
STD_ROM_FN(Specsworshie)

struct BurnDriver BurnSpecsworshie = {
	"spec_sworshie", NULL, "spec_spectrum", NULL, "1986",
	"Sword and Shield (48K)\0", NULL, "The Power House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsworshieRomInfo, SpecsworshieRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sword of the Samurai (48K)

static struct BurnRomInfo SpecsworsamuRomDesc[] = {
	{ "Sword of the Samurai (1992)(Zeppelin Games).z80", 0x08f43, 0xaf32c3b7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsworsamu, Specsworsamu, Spectrum)
STD_ROM_FN(Specsworsamu)

struct BurnDriver BurnSpecsworsamu = {
	"spec_sworsamu", NULL, "spec_spectrum", NULL, "1992",
	"Sword of the Samurai (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsworsamuRomInfo, SpecsworsamuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sword Slayer (48K)

static struct BurnRomInfo Specsworslay_48RomDesc[] = {
	{ "Sword Slayer (1988)(Players Software).z80", 0x09889, 0xcf309ff3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsworslay_48, Specsworslay_48, Spectrum)
STD_ROM_FN(Specsworslay_48)

struct BurnDriver BurnSpecsworslay_48 = {
	"spec_sworslay_48", "spec_sworslay", "spec_spectrum", NULL, "1988",
	"Sword Slayer (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsworslay_48RomInfo, Specsworslay_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Sword Slayer (128K)

static struct BurnRomInfo SpecsworslayRomDesc[] = {
	{ "Sword Slayer (1988)(Players Software)[128K].z80", 0x19ffe, 0x3ddcf273, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsworslay, Specsworslay, Spectrum)
STD_ROM_FN(Specsworslay)

struct BurnDriver BurnSpecsworslay = {
	"spec_sworslay", NULL, "spec_spec128", NULL, "1988",
	"Sword Slayer (128K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsworslayRomInfo, SpecsworslayRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Swordfight at Midnight (48K)

static struct BurnRomInfo SpecswormidnRomDesc[] = {
	{ "Swordfight at Midnight (1983)(Sunshine Books).z80", 0x0298f, 0x381e905d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specswormidn, Specswormidn, Spectrum)
STD_ROM_FN(Specswormidn)

struct BurnDriver BurnSpecswormidn = {
	"spec_swormidn", NULL, "spec_spectrum", NULL, "1983",
	"Swordfight at Midnight (48K)\0", NULL, "Sunshine Books", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecswormidnRomInfo, SpecswormidnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Swords & Sorcery (48K)

static struct BurnRomInfo SpecsworsorcRomDesc[] = {
	{ "Swords & Sorcery (1985)(PSS).z80", 0x0b21c, 0x24d85742, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsworsorc, Specsworsorc, Spectrum)
STD_ROM_FN(Specsworsorc)

struct BurnDriver BurnSpecsworsorc = {
	"spec_sworsorc", NULL, "spec_spectrum", NULL, "1985",
	"Swords & Sorcery (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsworsorcRomInfo, SpecsworsorcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Swords of Bane (48K)

static struct BurnRomInfo Specsworbane_48RomDesc[] = {
	{ "Swords of Bane (1986)(CCS).z80", 0x092e0, 0x7bc9de82, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsworbane_48, Specsworbane_48, Spectrum)
STD_ROM_FN(Specsworbane_48)

struct BurnDriver BurnSpecsworbane_48 = {
	"spec_sworbane_48", "spec_sworbane", "spec_spectrum", NULL, "1986",
	"Swords of Bane (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsworbane_48RomInfo, Specsworbane_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Swords of Bane (128K)

static struct BurnRomInfo SpecsworbaneRomDesc[] = {
	{ "Swords of Bane (1986)(CCS)[128K].z80", 0x10852, 0x6da41af0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsworbane, Specsworbane, Spectrum)
STD_ROM_FN(Specsworbane)

struct BurnDriver BurnSpecsworbane = {
	"spec_sworbane", NULL, "spec_spec128", NULL, "1986",
	"Swords of Bane (128K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsworbaneRomInfo, SpecsworbaneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Syntax (128K)

static struct BurnRomInfo SpecsyntaxRomDesc[] = {
	{ "Syntax (1988)(Blue Ribbon Software)[128K].z80", 0x0800a, 0x7feed2c2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsyntax, Specsyntax, Spectrum)
STD_ROM_FN(Specsyntax)

struct BurnDriver BurnSpecsyntax = {
	"spec_syntax", NULL, "spec_spec128", NULL, "1988",
	"Syntax (128K)\0", NULL, "Blue Ribbon Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecsyntaxRomInfo, SpecsyntaxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// System 15000 (48K)

static struct BurnRomInfo Specsystem15RomDesc[] = {
	{ "System 15000 (1984)(Graig Communications).z80", 0x09392, 0x595cd4b5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specsystem15, Specsystem15, Spectrum)
STD_ROM_FN(Specsystem15)

struct BurnDriver BurnSpecsystem15 = {
	"spec_system15", NULL, "spec_spectrum", NULL, "1984",
	"System 15000 (48K)\0", NULL, "Graig Communications", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specsystem15RomInfo, Specsystem15RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// T Wrecks (128K)

static struct BurnRomInfo SpectwrecksRomDesc[] = {
	{ "T Wrecks (1988)(Gremlin Graphics Software)[128K].z80", 0x19bfa, 0x914c4dd6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectwrecks, Spectwrecks, Spectrum)
STD_ROM_FN(Spectwrecks)

struct BurnDriver BurnSpectwrecks = {
	"spec_twrecks", NULL, "spec_spec128", NULL, "1988",
	"T Wrecks (128K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectwrecksRomInfo, SpectwrecksRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// T. Devil (Part 1 of 2) (48K)

static struct BurnRomInfo SpectdevilRomDesc[] = {
	{ "T. Devil (19xx)(Theo Devil)(Part 1 of 2)[hack of Nosferatu the Vampyre].z80", 0x091b6, 0x1eb60b95, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectdevil, Spectdevil, Spectrum)
STD_ROM_FN(Spectdevil)

struct BurnDriver BurnSpectdevil = {
	"spec_tdevil", NULL, "spec_spectrum", NULL, "19xx",
	"T. Devil (Part 1 of 2) (48K)\0", NULL, "Theo Devil", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectdevilRomInfo, SpectdevilRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// T. Devil (Part 2 of 2) (48K)

static struct BurnRomInfo Spectdevil2RomDesc[] = {
	{ "T. Devil (19xx)(Theo Devil)(Part 2 of 2)[hack of Nosferatu the Vampyre].z80", 0x08fe8, 0x08c4ad66, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectdevil2, Spectdevil2, Spectrum)
STD_ROM_FN(Spectdevil2)

struct BurnDriver BurnSpectdevil2 = {
	"spec_tdevil2", "spec_tdevil", "spec_spectrum", NULL, "19xx",
	"T. Devil (Part 2 of 2) (48K)\0", NULL, "Theo Devil", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectdevil2RomInfo, Spectdevil2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// T.L.L. - Tornado Low Level (48K)

static struct BurnRomInfo SpectlltllRomDesc[] = {
	{ "T.L.L. - Tornado Low Level (1984)(Vortex Software).z80", 0x0637e, 0x5cb0e939, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectlltll, Spectlltll, Spectrum)
STD_ROM_FN(Spectlltll)

struct BurnDriver BurnSpectlltll = {
	"spec_tlltll", NULL, "spec_spectrum", NULL, "1984",
	"T.L.L. - Tornado Low Level (48K)\0", NULL, "Vortex Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectlltllRomInfo, SpectlltllRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Table Football (48K)

static struct BurnRomInfo SpectablfootRomDesc[] = {
	{ "Table Football (1987)(Budgie Budget Software).z80", 0x04cbe, 0x2482c458, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectablfoot, Spectablfoot, Spectrum)
STD_ROM_FN(Spectablfoot)

struct BurnDriver BurnSpectablfoot = {
	"spec_tablfoot", NULL, "spec_spectrum", NULL, "1987",
	"Table Football (48K)\0", NULL, "Budgie Budget Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectablfootRomInfo, SpectablfootRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Taffy Turner (48K)

static struct BurnRomInfo SpectaffturnRomDesc[] = {
	{ "Taffy Turner (1985)(Silversoft).z80", 0x0a335, 0x20026c82, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectaffturn, Spectaffturn, Spectrum)
STD_ROM_FN(Spectaffturn)

struct BurnDriver BurnSpectaffturn = {
	"spec_taffturn", NULL, "spec_spectrum", NULL, "1985",
	"Taffy Turner (48K)\0", NULL, "Silversoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectaffturnRomInfo, SpectaffturnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tai-Chi Tortoise (48K)

static struct BurnRomInfo SpectaichitoRomDesc[] = {
	{ "Tai-Chi Tortoise (1991)(Zeppelin Games).z80", 0x09bf1, 0xe9051473, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectaichito, Spectaichito, Spectrum)
STD_ROM_FN(Spectaichito)

struct BurnDriver BurnSpectaichito = {
	"spec_taichito", NULL, "spec_spectrum", NULL, "1991",
	"Tai-Chi Tortoise (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectaichitoRomInfo, SpectaichitoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tai-Pan (128K)

static struct BurnRomInfo SpectaipanRomDesc[] = {
	{ "Tai-Pan (1987)(Ocean)[128K].z80", 0x13f13, 0xd8683f19, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectaipan, Spectaipan, Spectrum)
STD_ROM_FN(Spectaipan)

struct BurnDriver BurnSpectaipan = {
	"spec_taipan", NULL, "spec_spec128", NULL, "1987",
	"Tai-Pan (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectaipanRomInfo, SpectaipanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Take (Spanish) (48K)

static struct BurnRomInfo SpectakeesRomDesc[] = {
	{ "Take (1986)(Jorge Perez Barreiro)(es).z80", 0x00dcf, 0x932435f3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectakees, Spectakees, Spectrum)
STD_ROM_FN(Spectakees)

struct BurnDriver BurnSpectakees = {
	"spec_takees", NULL, "spec_spectrum", NULL, "1986",
	"Take (Spanish) (48K)\0", NULL, "Jorge Perez Barreiro", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectakeesRomInfo, SpectakeesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tales of Mathematica, The (Part 1 of 2) (48K)

static struct BurnRomInfo SpectalemathRomDesc[] = {
	{ "Tales of Mathematica, The (1990)(Zenobi Software)(Part 1 of 2).z80", 0x09f79, 0xfa5fa8d2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectalemath, Spectalemath, Spectrum)
STD_ROM_FN(Spectalemath)

struct BurnDriver BurnSpectalemath = {
	"spec_talemath", NULL, "spec_spectrum", NULL, "1990",
	"Tales of Mathematica, The (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectalemathRomInfo, SpectalemathRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tales of Mathematica, The (Part 2 of 2) (48K)

static struct BurnRomInfo Spectalemath2RomDesc[] = {
	{ "Tales of Mathematica, The (1990)(Zenobi Software)(Part 2 of 2).z80", 0x084a4, 0x91ccb415, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectalemath2, Spectalemath2, Spectrum)
STD_ROM_FN(Spectalemath2)

struct BurnDriver BurnSpectalemath2 = {
	"spec_talemath2", "spec_talemath", "spec_spectrum", NULL, "1990",
	"Tales of Mathematica, The (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectalemath2RomInfo, Spectalemath2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tales of the Arabian Nights (48K)

static struct BurnRomInfo SpectalaraniRomDesc[] = {
	{ "Tales of the Arabian Nights (1985)(Interceptor Micros Software).z80", 0x055a8, 0xdaa6cb5e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectalarani, Spectalarani, Spectrum)
STD_ROM_FN(Spectalarani)

struct BurnDriver BurnSpectalarani = {
	"spec_talarani", NULL, "spec_spectrum", NULL, "1985",
	"Tales of the Arabian Nights (48K)\0", NULL, "Interceptor Micros Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectalaraniRomInfo, SpectalaraniRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Talisman (48K)

static struct BurnRomInfo SpectalismanRomDesc[] = {
	{ "Talisman (1985)(Games Workshop).z80", 0x0aa70, 0x54db8694, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectalisman, Spectalisman, Spectrum)
STD_ROM_FN(Spectalisman)

struct BurnDriver BurnSpectalisman = {
	"spec_talisman", NULL, "spec_spectrum", NULL, "1985",
	"Talisman (48K)\0", NULL, "Games Workshop", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectalismanRomInfo, SpectalismanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Talisman of Lost Souls (48K)

static struct BurnRomInfo SpectallossoRomDesc[] = {
	{ "Talisman of Lost Souls (1991)(The Guild).z80", 0x07814, 0xd436e860, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectallosso, Spectallosso, Spectrum)
STD_ROM_FN(Spectallosso)

struct BurnDriver BurnSpectallosso = {
	"spec_tallosso", NULL, "spec_spectrum", NULL, "1991",
	"Talisman of Lost Souls (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectallossoRomInfo, SpectallossoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tango (cs) (48K)

static struct BurnRomInfo SpectangocsRomDesc[] = {
	{ "Tango (1992)(Proxima Software)(cs).z80", 0x07bde, 0x197b2eed, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectangocs, Spectangocs, Spectrum)
STD_ROM_FN(Spectangocs)

struct BurnDriver BurnSpectangocs = {
	"spec_tangocs", NULL, "spec_spectrum", NULL, "1992",
	"Tango (cs) (48K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectangocsRomInfo, SpectangocsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tank (128K)

static struct BurnRomInfo SpectankRomDesc[] = {
	{ "Tank (1987)(Ocean)[128K].z80", 0x0bdc1, 0xb9c7b204, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectank, Spectank, Spectrum)
STD_ROM_FN(Spectank)

struct BurnDriver BurnSpectank = {
	"spec_tank", NULL, "spec_spec128", NULL, "1987",
	"Tank (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectankRomInfo, SpectankRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tank Attack (48K)

static struct BurnRomInfo SpectankattaRomDesc[] = {
	{ "Tank Attack (1988)(CDS Microsystems).z80", 0x0a9f7, 0x9297deff, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectankatta, Spectankatta, Spectrum)
STD_ROM_FN(Spectankatta)

struct BurnDriver BurnSpectankatta = {
	"spec_tankatta", NULL, "spec_spectrum", NULL, "1988",
	"Tank Attack (48K)\0", NULL, "CDS Microsystems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectankattaRomInfo, SpectankattaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tank Command (48K)

static struct BurnRomInfo SpectankcommRomDesc[] = {
	{ "Tank Command (1988)(Atlantis Software).z80", 0x099c8, 0x6e653974, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectankcomm, Spectankcomm, Spectrum)
STD_ROM_FN(Spectankcomm)

struct BurnDriver BurnSpectankcomm = {
	"spec_tankcomm", NULL, "spec_spectrum", NULL, "1988",
	"Tank Command (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectankcommRomInfo, SpectankcommRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tank Trax (48K)

static struct BurnRomInfo SpectanktraxRomDesc[] = {
	{ "Tank Trax (1983)(Amoeba Software).z80", 0x0796e, 0x7758ed2c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectanktrax, Spectanktrax, Spectrum)
STD_ROM_FN(Spectanktrax)

struct BurnDriver BurnSpectanktrax = {
	"spec_tanktrax", NULL, "spec_spectrum", NULL, "1983",
	"Tank Trax (48K)\0", NULL, "Amoeba Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectanktraxRomInfo, SpectanktraxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tank War v1.01 (Russian) (48K)

static struct BurnRomInfo SpectankwarvRomDesc[] = {
	{ "Tank War v1.01 (1995)(Ametist)(ru).z80", 0x0801a, 0xe315d32c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectankwarv, Spectankwarv, Spectrum)
STD_ROM_FN(Spectankwarv)

struct BurnDriver BurnSpectankwarv = {
	"spec_tankwarv", NULL, "spec_spectrum", NULL, "1995",
	"Tank War v1.01 (Russian) (48K)\0", NULL, "Ametist", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectankwarvRomInfo, SpectankwarvRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tankodrom (48K)

static struct BurnRomInfo SpectankodroRomDesc[] = {
	{ "Tankodrom (1992)(Copper Feet).z80", 0x0a16e, 0x1723780c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectankodro, Spectankodro, Spectrum)
STD_ROM_FN(Spectankodro)

struct BurnDriver BurnSpectankodro = {
	"spec_tankodro", NULL, "spec_spectrum", NULL, "1992",
	"Tankodrom (48K)\0", NULL, "Copper Feet", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectankodroRomInfo, SpectankodroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tantalus (48K)

static struct BurnRomInfo SpectantalusRomDesc[] = {
	{ "Tantalus (1986)(Quicksilva).z80", 0x0a7e8, 0x893bd43f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectantalus, Spectantalus, Spectrum)
STD_ROM_FN(Spectantalus)

struct BurnDriver BurnSpectantalus = {
	"spec_tantalus", NULL, "spec_spectrum", NULL, "1986",
	"Tantalus (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectantalusRomInfo, SpectantalusRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tapper (48K)

static struct BurnRomInfo SpectapperRomDesc[] = {
	{ "Tapper (1985)(U.S. Gold).z80", 0x0a545, 0x127c584c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectapper, Spectapper, Spectrum)
STD_ROM_FN(Spectapper)

struct BurnDriver BurnSpectapper = {
	"spec_tapper", NULL, "spec_spectrum", NULL, "1985",
	"Tapper (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectapperRomInfo, SpectapperRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tarantula (48K)

static struct BurnRomInfo SpectarantulRomDesc[] = {
	{ "Tarantula (1987)(Sparklers).z80", 0x09ff3, 0xf1be65ef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectarantul, Spectarantul, Spectrum)
STD_ROM_FN(Spectarantul)

struct BurnDriver BurnSpectarantul = {
	"spec_tarantul", NULL, "spec_spectrum", NULL, "1987",
	"Tarantula (48K)\0", NULL, "Sparklers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectarantulRomInfo, SpectarantulRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tarantulas (Spanish) (48K)

static struct BurnRomInfo SpectarantlsRomDesc[] = {
	{ "Tarantulas (19xx)(-)(es).z80", 0x00df6, 0xf2b7073c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectarantls, Spectarantls, Spectrum)
STD_ROM_FN(Spectarantls)

struct BurnDriver BurnSpectarantls = {
	"spec_tarantls", NULL, "spec_spectrum", NULL, "19xx",
	"Tarantulas (Spanish) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectarantlsRomInfo, SpectarantlsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Target (Martech Games) (48K)

static struct BurnRomInfo SpectargetmgRomDesc[] = {
	{ "Target (1989)(Martech Games).z80", 0x063fb, 0xf077224c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectargetmg, Spectargetmg, Spectrum)
STD_ROM_FN(Spectargetmg)

struct BurnDriver BurnSpectargetmg = {
	"spec_targetmg", NULL, "spec_spectrum", NULL, "1989",
	"Target (Martech Games) (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectargetmgRomInfo, SpectargetmgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Target (CSSCGC) (48K)

static struct BurnRomInfo SpectargetcsRomDesc[] = {
	{ "Target (1997)(CSSCGC).z80", 0x00b3d, 0x90dbf51f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectargetcs, Spectargetcs, Spectrum)
STD_ROM_FN(Spectargetcs)

struct BurnDriver BurnSpectargetcs = {
	"spec_targetcs", NULL, "spec_spectrum", NULL, "1997",
	"Target (CSSCGC) (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectargetcsRomInfo, SpectargetcsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Target Practice (48K)

static struct BurnRomInfo SpectargpracRomDesc[] = {
	{ "Target Practice (1995)(Vaxalon).z80", 0x00898, 0x1c1a2160, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectargprac, Spectargprac, Spectrum)
STD_ROM_FN(Spectargprac)

struct BurnDriver BurnSpectargprac = {
	"spec_targprac", NULL, "spec_spectrum", NULL, "1995",
	"Target Practice (48K)\0", NULL, "Vaxalon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectargpracRomInfo, SpectargpracRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tarzan (48K)

static struct BurnRomInfo SpectarzanRomDesc[] = {
	{ "Tarzan (1986)(Martech Games).z80", 0x0ac94, 0x52c60d9b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectarzan, Spectarzan, Spectrum)
STD_ROM_FN(Spectarzan)

struct BurnDriver BurnSpectarzan = {
	"spec_tarzan", NULL, "spec_spectrum", NULL, "1986",
	"Tarzan (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectarzanRomInfo, SpectarzanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tarzan Goes Ape (48K)

static struct BurnRomInfo SpectargoeapRomDesc[] = {
	{ "Tarzan Goes Ape (1991)(Codemasters).z80", 0x0a5fe, 0x0dd2db97, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectargoeap, Spectargoeap, Spectrum)
STD_ROM_FN(Spectargoeap)

struct BurnDriver BurnSpectargoeap = {
	"spec_targoeap", NULL, "spec_spectrum", NULL, "1991",
	"Tarzan Goes Ape (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectargoeapRomInfo, SpectargoeapRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Task Force (48K)

static struct BurnRomInfo SpectaskforcRomDesc[] = {
	{ "Task Force (1989)(Players Premier Software).z80", 0x07e3f, 0x27fe39ef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectaskforc, Spectaskforc, Spectrum)
STD_ROM_FN(Spectaskforc)

struct BurnDriver BurnSpectaskforc = {
	"spec_taskforc", NULL, "spec_spectrum", NULL, "1989",
	"Task Force (48K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectaskforcRomInfo, SpectaskforcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tau Ceti - Special Edition (128K)

static struct BurnRomInfo SpectaucetisRomDesc[] = {
	{ "Tau Ceti - Special Edition (1987)(CRL Group)[128K].z80", 0x19b6c, 0x70c7738e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectaucetis, Spectaucetis, Spectrum)
STD_ROM_FN(Spectaucetis)

struct BurnDriver BurnSpectaucetis = {
	"spec_taucetis", NULL, "spec_spec128", NULL, "1987",
	"Tau Ceti - Special Edition (128K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectaucetisRomInfo, SpectaucetisRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tau Ceti (48K)

static struct BurnRomInfo SpectaucetiRomDesc[] = {
	{ "Tau Ceti (1985)(CRL Group).z80", 0x09082, 0xd139cf06, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectauceti, Spectauceti, Spectrum)
STD_ROM_FN(Spectauceti)

struct BurnDriver BurnSpectauceti = {
	"spec_tauceti", NULL, "spec_spectrum", NULL, "1985",
	"Tau Ceti (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectaucetiRomInfo, SpectaucetiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tax Returns (48K)

static struct BurnRomInfo SpectaxreturRomDesc[] = {
	{ "Tax Returns (1992)(Zenobi Software).z80", 0x08dd6, 0xc34d4f58, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectaxretur, Spectaxretur, Spectrum)
STD_ROM_FN(Spectaxretur)

struct BurnDriver BurnSpectaxretur = {
	"spec_taxretur", NULL, "spec_spectrum", NULL, "1992",
	"Tax Returns (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectaxreturRomInfo, SpectaxreturRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Taxi (48K)

static struct BurnRomInfo SpectaxiRomDesc[] = {
	{ "Taxi (1983)(Digital Integration).z80", 0x02c08, 0xaf8c3a24, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectaxi, Spectaxi, Spectrum)
STD_ROM_FN(Spectaxi)

struct BurnDriver BurnSpectaxi = {
	"spec_taxi", NULL, "spec_spectrum", NULL, "1983",
	"Taxi (48K)\0", NULL, "Digital Integration", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectaxiRomInfo, SpectaxiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Taxman Cometh, The (48K)

static struct BurnRomInfo SpectaxcomthRomDesc[] = {
	{ "Taxman Cometh, The (1991)(Zenobi Software).z80", 0x095c1, 0xbb691683, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectaxcomth, Spectaxcomth, Spectrum)
STD_ROM_FN(Spectaxcomth)

struct BurnDriver BurnSpectaxcomth = {
	"spec_taxcomth", NULL, "spec_spectrum", NULL, "1991",
	"Taxman Cometh, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectaxcomthRomInfo, SpectaxcomthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// T-Bird (48K)

static struct BurnRomInfo SpectbirdRomDesc[] = {
	{ "T-Bird (1989)(Mastertronic Plus).z80", 0x08d9f, 0x5424014b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectbird, Spectbird, Spectrum)
STD_ROM_FN(Spectbird)

struct BurnDriver BurnSpectbird = {
	"spec_tbird", NULL, "spec_spectrum", NULL, "1989",
	"T-Bird (48K)\0", NULL, "Mastertronic Plus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectbirdRomInfo, SpectbirdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Teacher Trouble (48K)

static struct BurnRomInfo SpecteactrouRomDesc[] = {
	{ "Teacher Trouble (1989)(Pegasus Software).z80", 0x08119, 0xcc4db697, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specteactrou, Specteactrou, Spectrum)
STD_ROM_FN(Specteactrou)

struct BurnDriver BurnSpecteactrou = {
	"spec_teactrou", NULL, "spec_spectrum", NULL, "1989",
	"Teacher Trouble (48K)\0", NULL, "Pegasus Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecteactrouRomInfo, SpecteactrouRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tears of the Moon, The (48K)

static struct BurnRomInfo SpectearmoonRomDesc[] = {
	{ "Tears of the Moon, The (1992)(Zenobi Software).z80", 0x08e70, 0xc4ca77be, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectearmoon, Spectearmoon, Spectrum)
STD_ROM_FN(Spectearmoon)

struct BurnDriver BurnSpectearmoon = {
	"spec_tearmoon", NULL, "spec_spectrum", NULL, "1992",
	"Tears of the Moon, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectearmoonRomInfo, SpectearmoonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Technician Ted - The Megamix (128K)

static struct BurnRomInfo SpectechtedmRomDesc[] = {
	{ "Technician Ted - The Megamix (1986)(Hewson Consultants)[128K].z80", 0x1de45, 0x2ecbfde8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectechtedm, Spectechtedm, Spectrum)
STD_ROM_FN(Spectechtedm)

struct BurnDriver BurnSpectechtedm = {
	"spec_techtedm", NULL, "spec_spec128", NULL, "1986",
	"Technician Ted - The Megamix (128K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectechtedmRomInfo, SpectechtedmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Technician Ted (48K)

static struct BurnRomInfo Spectechted_48RomDesc[] = {
	{ "Technician Ted (1984)(Hewson Consultants).z80", 0x0ab2c, 0xff150c95, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectechted_48, Spectechted_48, Spectrum)
STD_ROM_FN(Spectechted_48)

struct BurnDriver BurnSpectechted_48 = {
	"spec_techted_48", "spec_techted", "spec_spectrum", NULL, "1984",
	"Technician Ted (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectechted_48RomInfo, Spectechted_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Technician Ted (128K)

static struct BurnRomInfo SpectechtedRomDesc[] = {
	{ "Technician Ted (1984)(Hewson Consultants)[128K].z80", 0x1d781, 0x4ff68f33, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectechted, Spectechted, Spectrum)
STD_ROM_FN(Spectechted)

struct BurnDriver BurnSpectechted = {
	"spec_techted", NULL, "spec_spec128", NULL, "1984",
	"Technician Ted (128K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectechtedRomInfo, SpectechtedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Techno-Cop (48K)

static struct BurnRomInfo SpectechcopRomDesc[] = {
	{ "Techno-Cop (1988)(Gremlin Graphics Software)[needs tape load].z80", 0x0a5c8, 0xf3594b6f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectechcop, Spectechcop, Spectrum)
STD_ROM_FN(Spectechcop)

struct BurnDriver BurnSpectechcop = {
	"spec_techcop", NULL, "spec_spectrum", NULL, "1988",
	"Techno-Cop (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectechcopRomInfo, SpectechcopRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Technodrom (128K)

static struct BurnRomInfo SpectechnodrRomDesc[] = {
	{ "Technodrom (1997)(Real Software)[128K].z80", 0x09728, 0x3096de7a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectechnodr, Spectechnodr, Spectrum)
STD_ROM_FN(Spectechnodr)

struct BurnDriver BurnSpectechnodr = {
	"spec_technodr", NULL, "spec_spec128", NULL, "1997",
	"Technodrom (128K)\0", NULL, "Real Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectechnodrRomInfo, SpectechnodrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Teddy Bear (48K)

static struct BurnRomInfo SpecteddybrRomDesc[] = {
	{ "Teddy Bear (1987)(Traff's Software).z80", 0x026f6, 0x1820acde, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specteddybr, Specteddybr, Spectrum)
STD_ROM_FN(Specteddybr)

struct BurnDriver BurnSpecteddybr = {
	"spec_teddybr", NULL, "spec_spectrum", NULL, "1987",
	"Teddy Bear (48K)\0", NULL, "Traff's Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecteddybrRomInfo, SpecteddybrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Teenage Emergency (48K)

static struct BurnRomInfo SpecteenemerRomDesc[] = {
	{ "Teenage Emergency (1995)(Zenobi Software).z80", 0x09620, 0x77259116, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specteenemer, Specteenemer, Spectrum)
STD_ROM_FN(Specteenemer)

struct BurnDriver BurnSpecteenemer = {
	"spec_teenemer", NULL, "spec_spectrum", NULL, "1995",
	"Teenage Emergency (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecteenemerRomInfo, SpecteenemerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Teenage Mutant Hero Turtles - The Coin-Op (48K)

static struct BurnRomInfo SpectmhtarcRomDesc[] = {
	{ "Teenage Mutant Hero Turtles - The Coin-Op (1991)(Image Works).z80", 0x0a173, 0x2adc23b7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectmhtarc, Spectmhtarc, Spectrum)
STD_ROM_FN(Spectmhtarc)

struct BurnDriver BurnSpectmhtarc = {
	"spec_tmhtarc", NULL, "spec_spectrum", NULL, "1991",
	"Teenage Mutant Hero Turtles - The Coin-Op (48K)\0", NULL, "Image Works", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectmhtarcRomInfo, SpectmhtarcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Teenage Mutant Hero Turtles (48K)

static struct BurnRomInfo Spectmht_48RomDesc[] = {
	{ "Teenage Mutant Hero Turtles (1990)(Image Works).z80", 0x0b51c, 0xfa454654, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectmht_48, Spectmht_48, Spectrum)
STD_ROM_FN(Spectmht_48)

struct BurnDriver BurnSpectmht_48 = {
	"spec_tmht_48", "spec_tmht", "spec_spectrum", NULL, "1990",
	"Teenage Mutant Hero Turtles (48K)\0", NULL, "Image Works", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectmht_48RomInfo, Spectmht_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Teenage Mutant Hero Turtles (128K)

static struct BurnRomInfo SpectmhtRomDesc[] = {
	{ "Teenage Mutant Hero Turtles (1990)(Image Works)[128K].z80", 0x0c0b6, 0x66d86001, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectmht, Spectmht, Spectrum)
STD_ROM_FN(Spectmht)

struct BurnDriver BurnSpectmht = {
	"spec_tmht", NULL, "spec_spec128", NULL, "1990",
	"Teenage Mutant Hero Turtles (128K)\0", NULL, "Image Works", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectmhtRomInfo, SpectmhtRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Telly Tennis (48K)

static struct BurnRomInfo SpectellytenRomDesc[] = {
	{ "Telly Tennis (1986)(Amstrad).z80", 0x0154e, 0x3cd98fee, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectellyten, Spectellyten, Spectrum)
STD_ROM_FN(Spectellyten)

struct BurnDriver BurnSpectellyten = {
	"spec_tellyten", NULL, "spec_spectrum", NULL, "1986",
	"Telly Tennis (48K)\0", NULL, "Amstrad", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectellytenRomInfo, SpectellytenRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Telly Wise (48K)

static struct BurnRomInfo SpectellwiseRomDesc[] = {
	{ "Telly Wise (1990)(Fastback).z80", 0x0a1d3, 0xfe1a028a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectellwise, Spectellwise, Spectrum)
STD_ROM_FN(Spectellwise)

struct BurnDriver BurnSpectellwise = {
	"spec_tellwise", NULL, "spec_spectrum", NULL, "1990",
	"Telly Wise (48K)\0", NULL, "Fastback", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectellwiseRomInfo, SpectellwiseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Temperature Conversion (48K)

static struct BurnRomInfo SpectempconvRomDesc[] = {
	{ "Temperature Conversion (1995)(Vaxalon).z80", 0x00d42, 0x49f208a5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectempconv, Spectempconv, Spectrum)
STD_ROM_FN(Spectempconv)

struct BurnDriver BurnSpectempconv = {
	"spec_tempconv", NULL, "spec_spectrum", NULL, "1995",
	"Temperature Conversion (48K)\0", NULL, "Vaxalon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectempconvRomInfo, SpectempconvRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tempest (EMM Software) (48K)

static struct BurnRomInfo SpectempstemRomDesc[] = {
	{ "Tempest (1983)(EMM Software).z80", 0x05b26, 0xe02a131b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectempstem, Spectempstem, Spectrum)
STD_ROM_FN(Spectempstem)

struct BurnDriver BurnSpectempstem = {
	"spec_tempstem", NULL, "spec_spectrum", NULL, "1983",
	"Tempest (EMM Software) (48K)\0", NULL, "EMM Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectempstemRomInfo, SpectempstemRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tempest (Electric Dreams Software) (48K)

static struct BurnRomInfo SpectempstelRomDesc[] = {
	{ "Tempest (1987)(Electric Dreams Software).z80", 0x06463, 0xca089b04, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectempstel, Spectempstel, Spectrum)
STD_ROM_FN(Spectempstel)

struct BurnDriver BurnSpectempstel = {
	"spec_tempstel", NULL, "spec_spectrum", NULL, "1987",
	"Tempest (Electric Dreams Software) (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectempstelRomInfo, SpectempstelRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Temple of Terror (48K)

static struct BurnRomInfo SpectempoftrRomDesc[] = {
	{ "Temple of Terror (1987)(Adventuresoft UK).z80", 0x0a496, 0x41ac7256, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectempoftr, Spectempoftr, Spectrum)
STD_ROM_FN(Spectempoftr)

struct BurnDriver BurnSpectempoftr = {
	"spec_tempoftr", NULL, "spec_spectrum", NULL, "1987",
	"Temple of Terror (48K)\0", NULL, "Adventuresoft UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectempoftrRomInfo, SpectempoftrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Temple Terror (48K)

static struct BurnRomInfo SpectempterrRomDesc[] = {
	{ "Temple Terror (1984)(Atlantis Software).z80", 0x0a1f0, 0xd9243a10, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectempterr, Spectempterr, Spectrum)
STD_ROM_FN(Spectempterr)

struct BurnDriver BurnSpectempterr = {
	"spec_tempterr", NULL, "spec_spectrum", NULL, "1984",
	"Temple Terror (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectempterrRomInfo, SpectempterrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Temple, The (48K)

static struct BurnRomInfo SpectempleRomDesc[] = {
	{ "Temple, The (1985)(Ninian Carter).z80", 0x06479, 0xfb878f3f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectemple, Spectemple, Spectrum)
STD_ROM_FN(Spectemple)

struct BurnDriver BurnSpectemple = {
	"spec_temple", NULL, "spec_spectrum", NULL, "1985",
	"Temple, The (48K)\0", NULL, "Ninian Carter", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectempleRomInfo, SpectempleRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ten Green Bottles (48K)

static struct BurnRomInfo Spec10grnbtt_48RomDesc[] = {
	{ "Ten Green Bottles (1995)(Zenobi Software).z80", 0x0906f, 0xe8a76e1c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec10grnbtt_48, Spec10grnbtt_48, Spectrum)
STD_ROM_FN(Spec10grnbtt_48)

struct BurnDriver BurnSpec10grnbtt_48 = {
	"spec_10grnbtt_48", "spec_10grnbtt", "spec_spectrum", NULL, "1995",
	"Ten Green Bottles (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec10grnbtt_48RomInfo, Spec10grnbtt_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ten Green Bottles (128K)

static struct BurnRomInfo Spec10grnbttRomDesc[] = {
	{ "Ten Green Bottles (1995)(Zenobi Software)[128K].z80", 0x09679, 0xbada1902, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec10grnbtt, Spec10grnbtt, Spectrum)
STD_ROM_FN(Spec10grnbtt)

struct BurnDriver BurnSpec10grnbtt = {
	"spec_10grnbtt", NULL, "spec_spec128", NULL, "1995",
	"Ten Green Bottles (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec10grnbttRomInfo, Spec10grnbttRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ten Pin Challenge (48K)

static struct BurnRomInfo SpectenpinchRomDesc[] = {
	{ "Ten Pin Challenge (1987)(Atlantis Software).z80", 0x086be, 0x0bba1392, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectenpinch, Spectenpinch, Spectrum)
STD_ROM_FN(Spectenpinch)

struct BurnDriver BurnSpectenpinch = {
	"spec_tenpinch", NULL, "spec_spectrum", NULL, "1987",
	"Ten Pin Challenge (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectenpinchRomInfo, SpectenpinchRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tennis (German) (48K)

static struct BurnRomInfo SpectennisdeRomDesc[] = {
	{ "Tennis (1986)(Omikron-Software)(de).z80", 0x0154e, 0x70620e41, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectennisde, Spectennisde, Spectrum)
STD_ROM_FN(Spectennisde)

struct BurnDriver BurnSpectennisde = {
	"spec_tennisde", NULL, "spec_spectrum", NULL, "1986",
	"Tennis (German) (48K)\0", NULL, "Omikron-Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectennisdeRomInfo, SpectennisdeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tennis (48K)

static struct BurnRomInfo SpectennisRomDesc[] = {
	{ "Tennis (1996)(CSSCGC).z80", 0x00bd2, 0xe0ab4c34, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectennis, Spectennis, Spectrum)
STD_ROM_FN(Spectennis)

struct BurnDriver BurnSpectennis = {
	"spec_tennis", NULL, "spec_spectrum", NULL, "1996",
	"Tennis (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectennisRomInfo, SpectennisRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Terminator 2 - Judgement Day (128K)

static struct BurnRomInfo Spect2jdayRomDesc[] = {
	{ "Terminator 2 - Judgement Day (1991)(Ocean)[128K].z80", 0x17927, 0x48d341b9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spect2jday, Spect2jday, Spectrum)
STD_ROM_FN(Spect2jday)

struct BurnDriver BurnSpect2jday = {
	"spec_t2jday", NULL, "spec_spec128", NULL, "1991",
	"Terminator 2 - Judgement Day (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spect2jdayRomInfo, Spect2jdayRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Terra Cognita (48K)

static struct BurnRomInfo SpecterrcognRomDesc[] = {
	{ "Terra Cognita (1986)(Codemasters).z80", 0x06187, 0x3dd00379, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specterrcogn, Specterrcogn, Spectrum)
STD_ROM_FN(Specterrcogn)

struct BurnDriver BurnSpecterrcogn = {
	"spec_terrcogn", NULL, "spec_spectrum", NULL, "1986",
	"Terra Cognita (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecterrcognRomInfo, SpecterrcognRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Terra Cresta (48K)

static struct BurnRomInfo Specterracrs_48RomDesc[] = {
	{ "Terra Cresta (1986)(Imagine Software).z80", 0x08ff2, 0xa28b1755, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specterracrs_48, Specterracrs_48, Spectrum)
STD_ROM_FN(Specterracrs_48)

struct BurnDriver BurnSpecterracrs_48 = {
	"spec_terracrs_48", "spec_terracrs", "spec_spectrum", NULL, "1986",
	"Terra Cresta (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specterracrs_48RomInfo, Specterracrs_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Terra Cresta (128K)

static struct BurnRomInfo SpecterracrsRomDesc[] = {
	{ "Terra Cresta (1986)(Imagine Software)[128K].z80", 0x09496, 0x6f15fad6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specterracrs, Specterracrs, Spectrum)
STD_ROM_FN(Specterracrs)

struct BurnDriver BurnSpecterracrs = {
	"spec_terracrs", NULL, "spec_spec128", NULL, "1986",
	"Terra Cresta (128K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecterracrsRomInfo, SpecterracrsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Terraform (48K)

static struct BurnRomInfo SpecterraforRomDesc[] = {
	{ "Terraform (1986)(Pelagon Software).z80", 0x09ed6, 0x6fd0bfbe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specterrafor, Specterrafor, Spectrum)
STD_ROM_FN(Specterrafor)

struct BurnDriver BurnSpecterrafor = {
	"spec_terrafor", NULL, "spec_spectrum", NULL, "1986",
	"Terraform (48K)\0", NULL, "Pelagon Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecterraforRomInfo, SpecterraforRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Terrahawks (48K)

static struct BurnRomInfo SpecterrahawRomDesc[] = {
	{ "Terrahawks (1984)(CRL Group).z80", 0x0862b, 0x162b4a07, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specterrahaw, Specterrahaw, Spectrum)
STD_ROM_FN(Specterrahaw)

struct BurnDriver BurnSpecterrahaw = {
	"spec_terrahaw", NULL, "spec_spectrum", NULL, "1984",
	"Terrahawks (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecterrahawRomInfo, SpecterrahawRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Terramex (128K)

static struct BurnRomInfo SpecterramexRomDesc[] = {
	{ "Terramex (1988)(Grandslam Entertainments)[128K].z80", 0x10eb0, 0x30bebb30, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specterramex, Specterramex, Spectrum)
STD_ROM_FN(Specterramex)

struct BurnDriver BurnSpecterramex = {
	"spec_terramex", NULL, "spec_spec128", NULL, "1988",
	"Terramex (128K)\0", NULL, "Grandslam Entertainments", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecterramexRomInfo, SpecterramexRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Terror from Sarnath (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecterrsarnRomDesc[] = {
	{ "Terror from Sarnath (1991)(Year Zero Software)(es)(Part 1 of 2).z80", 0x0a192, 0x2aa076b2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specterrsarn, Specterrsarn, Spectrum)
STD_ROM_FN(Specterrsarn)

struct BurnDriver BurnSpecterrsarn = {
	"spec_terrsarn", NULL, "spec_spectrum", NULL, "1991",
	"Terror from Sarnath (Spanish) (Part 1 of 2) (48K)\0", NULL, "Year Zero Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecterrsarnRomInfo, SpecterrsarnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Terror from Sarnath (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specterrsarn2RomDesc[] = {
	{ "Terror from Sarnath (1991)(Year Zero Software)(es)(Part 2 of 2).z80", 0x09188, 0x58bc4f07, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specterrsarn2, Specterrsarn2, Spectrum)
STD_ROM_FN(Specterrsarn2)

struct BurnDriver BurnSpecterrsarn2 = {
	"spec_terrsarn2", "spec_terrsarn", "spec_spectrum", NULL, "1991",
	"Terror from Sarnath (Spanish) (Part 2 of 2) (48K)\0", NULL, "Year Zero Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specterrsarn2RomInfo, Specterrsarn2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Terror from the Deep (48K)

static struct BurnRomInfo SpecterrfrdpRomDesc[] = {
	{ "Terror from the Deep (1983)(Kayde Software).z80", 0x055b4, 0x0c3f0a39, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specterrfrdp, Specterrfrdp, Spectrum)
STD_ROM_FN(Specterrfrdp)

struct BurnDriver BurnSpecterrfrdp = {
	"spec_terrfrdp", NULL, "spec_spectrum", NULL, "1983",
	"Terror from the Deep (48K)\0", NULL, "Kayde Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecterrfrdpRomInfo, SpecterrfrdpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Terror of the Deep (48K)

static struct BurnRomInfo SpecterrofdpRomDesc[] = {
	{ "Terror of the Deep (1987)(Mirrorsoft).z80", 0x094e1, 0x8c13f408, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specterrofdp, Specterrofdp, Spectrum)
STD_ROM_FN(Specterrofdp)

struct BurnDriver BurnSpecterrofdp = {
	"spec_terrofdp", NULL, "spec_spectrum", NULL, "1987",
	"Terror of the Deep (48K)\0", NULL, "Mirrorsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecterrofdpRomInfo, SpecterrofdpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Terror-Daktil 4D (48K)

static struct BurnRomInfo SpecterdakdRomDesc[] = {
	{ "Terror-Daktil 4D (1983)(Melbourne House).z80", 0x0ae5c, 0x9b6b2921, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specterdakd, Specterdakd, Spectrum)
STD_ROM_FN(Specterdakd)

struct BurnDriver BurnSpecterdakd = {
	"spec_terdakd", NULL, "spec_spectrum", NULL, "1983",
	"Terror-Daktil 4D (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecterdakdRomInfo, SpecterdakdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Terrormolinos (48K)

static struct BurnRomInfo SpecterrormoRomDesc[] = {
	{ "Terrormolinos (1985)(Melbourne House).z80", 0x0a7dd, 0x13265120, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specterrormo, Specterrormo, Spectrum)
STD_ROM_FN(Specterrormo)

struct BurnDriver BurnSpecterrormo = {
	"spec_terrormo", NULL, "spec_spectrum", NULL, "1985",
	"Terrormolinos (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecterrormoRomInfo, SpecterrormoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Terrorpods (48K)

static struct BurnRomInfo SpecterrorpoRomDesc[] = {
	{ "Terrorpods (1989)(Melbourne House).z80", 0x09a53, 0x3fc59020, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specterrorpo, Specterrorpo, Spectrum)
STD_ROM_FN(Specterrorpo)

struct BurnDriver BurnSpecterrorpo = {
	"spec_terrorpo", NULL, "spec_spectrum", NULL, "1989",
	"Terrorpods (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecterrorpoRomInfo, SpecterrorpoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Terrors of Trantoss, The (48K)

static struct BurnRomInfo SpectertrathRomDesc[] = {
	{ "Terrors of Trantoss, The (1986)(Ariolasoft UK).z80", 0x0a68e, 0x42559216, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectertrath, Spectertrath, Spectrum)
STD_ROM_FN(Spectertrath)

struct BurnDriver BurnSpectertrath = {
	"spec_tertrath", NULL, "spec_spectrum", NULL, "1986",
	"Terrors of Trantoss, The (48K)\0", NULL, "Ariolasoft UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectertrathRomInfo, SpectertrathRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Test Drive II - The Duel (48K)

static struct BurnRomInfo Spectestdrv2RomDesc[] = {
	{ "Test Drive II - The Duel (1989)(Accolade).z80", 0x0a22b, 0xb7dfa96d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectestdrv2, Spectestdrv2, Spectrum)
STD_ROM_FN(Spectestdrv2)

struct BurnDriver BurnSpectestdrv2 = {
	"spec_testdrv2", NULL, "spec_spectrum", NULL, "1989",
	"Test Drive II - The Duel (48K)\0", NULL, "Accolade", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectestdrv2RomInfo, Spectestdrv2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Test Master (48K)

static struct BurnRomInfo SpectestmastRomDesc[] = {
	{ "Test Master (1988)(E&J Software).z80", 0x097ed, 0x6cc7f2d1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectestmast, Spectestmast, Spectrum)
STD_ROM_FN(Spectestmast)

struct BurnDriver BurnSpectestmast = {
	"spec_testmast", NULL, "spec_spectrum", NULL, "1988",
	"Test Master (48K)\0", NULL, "E&J Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectestmastRomInfo, SpectestmastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Test Match - Intro (48K)

static struct BurnRomInfo SpectstmatchRomDesc[] = {
	{ "Test Match - Intro (1983)(CRL Group).z80", 0x036d3, 0x960f72ce, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectstmatch, Spectstmatch, Spectrum)
STD_ROM_FN(Spectstmatch)

struct BurnDriver BurnSpectstmatch = {
	"spec_tstmatch", NULL, "spec_spectrum", NULL, "1983",
	"Test Match - Intro (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectstmatchRomInfo, SpectstmatchRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Test Match (48K)

static struct BurnRomInfo SpectstmatchgRomDesc[] = {
	{ "Test Match (1983)(CRL Group).z80", 0x069b0, 0x84b0d9ce, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectstmatchg, Spectstmatchg, Spectrum)
STD_ROM_FN(Spectstmatchg)

struct BurnDriver BurnSpectstmatchg = {
	"spec_tstmatchg", "spec_tstmatch", "spec_spectrum", NULL, "1983",
	"Test Match (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectstmatchgRomInfo, SpectstmatchgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tetris - The Text Adventure (48K)

static struct BurnRomInfo SpectethteadRomDesc[] = {
	{ "Tetris - The Text Adventure (1996)(CSSCGC).z80", 0x0104a, 0xf85d75b1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectethtead, Spectethtead, Spectrum)
STD_ROM_FN(Spectethtead)

struct BurnDriver BurnSpectethtead = {
	"spec_tethtead", NULL, "spec_spectrum", NULL, "1996",
	"Tetris - The Text Adventure (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectethteadRomInfo, SpectethteadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tetris (AcadmeySoft) (48K)

static struct BurnRomInfo SpectetrisacRomDesc[] = {
	{ "Tetris (1986)(AcademySoft).z80", 0x02237, 0xa947a7e1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectetrisac, Spectetrisac, Spectrum)
STD_ROM_FN(Spectetrisac)

struct BurnDriver BurnSpectetrisac = {
	"spec_tetrisac", NULL, "spec_spectrum", NULL, "1986",
	"Tetris (AcadmeySoft) (48K)\0", NULL, "AcademySoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectetrisacRomInfo, SpectetrisacRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tetris (Andic Software) (48K)

static struct BurnRomInfo SpectetrisanRomDesc[] = {
	{ "Tetris (1986)(Andic Software).z80", 0x08a53, 0x23fa1602, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectetrisan, Spectetrisan, Spectrum)
STD_ROM_FN(Spectetrisan)

struct BurnDriver BurnSpectetrisan = {
	"spec_tetrisan", NULL, "spec_spectrum", NULL, "1986",
	"Tetris (Andic Software) (48K)\0", NULL, "Andic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectetrisanRomInfo, SpectetrisanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tetris (Mirrorsoft) (48K)

static struct BurnRomInfo Spectetris_48RomDesc[] = {
	{ "Tetris (1988)(Mirrorsoft).z80", 0x06c7a, 0x1226181e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectetris_48, Spectetris_48, Spectrum)
STD_ROM_FN(Spectetris_48)

struct BurnDriver BurnSpectetris_48 = {
	"spec_tetris_48", "spec_tetris", "spec_spectrum", NULL, "1988",
	"Tetris (Mirrorsoft) (48K)\0", NULL, "Mirrorsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectetris_48RomInfo, Spectetris_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tetris (Mirrorsoft) (128K)

static struct BurnRomInfo SpectetrisRomDesc[] = {
	{ "Tetris (1988)(Mirrorsoft)[128K].z80", 0x06f78, 0x7463bc9f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectetris, Spectetris, Spectrum)
STD_ROM_FN(Spectetris)

struct BurnDriver BurnSpectetris = {
	"spec_tetris", NULL, "spec_spec128", NULL, "1988",
	"Tetris (Mirrorsoft) (128K)\0", NULL, "Mirrorsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectetrisRomInfo, SpectetrisRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tetris (Navigator) (128K)

static struct BurnRomInfo SpectetrisnRomDesc[] = {
	{ "Tetris (1995)(Navigator)[128K].z80", 0x143fa, 0x72bfeca2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectetrisn, Spectetrisn, Spectrum)
STD_ROM_FN(Spectetrisn)

struct BurnDriver BurnSpectetrisn = {
	"spec_tetrisn", NULL, "spec_spec128", NULL, "1995",
	"Tetris (Navigator) (128K)\0", NULL, "Navigator", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectetrisnRomInfo, SpectetrisnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tetris (Russian) (128K)

static struct BurnRomInfo SpectetrisruRomDesc[] = {
	{ "Tetris (1995)(R&S Compani)(ru)[128K].z80", 0x06363, 0xa5e742de, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectetrisru, Spectetrisru, Spectrum)
STD_ROM_FN(Spectetrisru)

struct BurnDriver BurnSpectetrisru = {
	"spec_tetrisru", NULL, "spec_spec128", NULL, "1995",
	"Tetris (Russian) (128K)\0", NULL, "R&S Compani", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectetrisruRomInfo, SpectetrisruRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tetris 2 (128K)

static struct BurnRomInfo Spectetris2RomDesc[] = {
	{ "Tetris 2 (1990)(Fuxoft)[128K].z80", 0x060d5, 0x3c0684c7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectetris2, Spectetris2, Spectrum)
STD_ROM_FN(Spectetris2)

struct BurnDriver BurnSpectetris2 = {
	"spec_tetris2", NULL, "spec_spec128", NULL, "1990",
	"Tetris 2 (128K)\0", NULL, "Fuxoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectetris2RomInfo, Spectetris2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Teufels-Fahrer (German) (48K)

static struct BurnRomInfo SpecteuffahrRomDesc[] = {
	{ "Teufels-Fahrer (1984)(Wicosoft)(de).z80", 0x0324b, 0x0cc46a6c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specteuffahr, Specteuffahr, Spectrum)
STD_ROM_FN(Specteuffahr)

struct BurnDriver BurnSpecteuffahr = {
	"spec_teuffahr", NULL, "spec_spectrum", NULL, "1984",
	"Teufels-Fahrer (German) (48K)\0", NULL, "Wicosoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecteuffahrRomInfo, SpecteuffahrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// TEWShips (48K)

static struct BurnRomInfo SpectewshipsRomDesc[] = {
	{ "TEWShips (1996)(CSSCGC).z80", 0x00b78, 0x7fb5c56b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectewships, Spectewships, Spectrum)
STD_ROM_FN(Spectewships)

struct BurnDriver BurnSpectewships = {
	"spec_tewships", NULL, "spec_spectrum", NULL, "1996",
	"TEWShips (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectewshipsRomInfo, SpectewshipsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Thanatos (48K)

static struct BurnRomInfo Specthanatos_48RomDesc[] = {
	{ "Thanatos (1986)(Durell Software).z80", 0x0af92, 0x02c57557, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthanatos_48, Specthanatos_48, Spectrum)
STD_ROM_FN(Specthanatos_48)

struct BurnDriver BurnSpecthanatos_48 = {
	"spec_thanatos_48", "spec_thanatos", "spec_spectrum", NULL, "1986",
	"Thanatos (48K)\0", NULL, "Durell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specthanatos_48RomInfo, Specthanatos_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Thanatos (128K)

static struct BurnRomInfo SpecthanatosRomDesc[] = {
	{ "Thanatos (1986)(Durell Software)[128K].z80", 0x0abcf, 0xec881ae7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthanatos, Specthanatos, Spectrum)
STD_ROM_FN(Specthanatos)

struct BurnDriver BurnSpecthanatos = {
	"spec_thanatos", NULL, "spec_spec128", NULL, "1986",
	"Thanatos (128K)\0", NULL, "Durell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthanatosRomInfo, SpecthanatosRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// That Pythonesque Foot (128K)

static struct BurnRomInfo SpecthapytfoRomDesc[] = {
	{ "That Pythonesque Foot (1998)(CSSCGC)[128K].z80", 0x01276, 0xd006269d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthapytfo, Specthapytfo, Spectrum)
STD_ROM_FN(Specthapytfo)

struct BurnDriver BurnSpecthapytfo = {
	"spec_thapytfo", NULL, "spec_spec128", NULL, "1998",
	"That Pythonesque Foot (128K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthapytfoRomInfo, SpecthapytfoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// That's the Spirit (48K)

static struct BurnRomInfo SpecthatspirRomDesc[] = {
	{ "That's the Spirit (1985)(The Edge Software).z80", 0x09bc7, 0x139a5268, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthatspir, Specthatspir, Spectrum)
STD_ROM_FN(Specthatspir)

struct BurnDriver BurnSpecthatspir = {
	"spec_thatspir", NULL, "spec_spectrum", NULL, "1985",
	"That's the Spirit (48K)\0", NULL, "The Edge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthatspirRomInfo, SpecthatspirRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Theatre Europe (48K)

static struct BurnRomInfo SpectheaeuroRomDesc[] = {
	{ "Theatre Europe (1986)(PSS).z80", 0x09cc5, 0xbeef7c07, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectheaeuro, Spectheaeuro, Spectrum)
STD_ROM_FN(Spectheaeuro)

struct BurnDriver BurnSpectheaeuro = {
	"spec_theaeuro", NULL, "spec_spectrum", NULL, "1986",
	"Theatre Europe (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectheaeuroRomInfo, SpectheaeuroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Their Finest Hour (48K)

static struct BurnRomInfo SpecthefinhoRomDesc[] = {
	{ "Their Finest Hour (1985)(Century Communications).z80", 0x08f52, 0xa3c41129, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthefinho, Specthefinho, Spectrum)
STD_ROM_FN(Specthefinho)

struct BurnDriver BurnSpecthefinho = {
	"spec_thefinho", NULL, "spec_spectrum", NULL, "1985",
	"Their Finest Hour (48K)\0", NULL, "Century Communications", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthefinhoRomInfo, SpecthefinhoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Theme Park U.K. (48K)

static struct BurnRomInfo SpecthemepukRomDesc[] = {
	{ "Theme Park U.K. (1993)(Zenobi Software).z80", 0x097a8, 0x57299b10, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthemepuk, Specthemepuk, Spectrum)
STD_ROM_FN(Specthemepuk)

struct BurnDriver BurnSpecthemepuk = {
	"spec_themepuk", NULL, "spec_spectrum", NULL, "1993",
	"Theme Park U.K. (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthemepukRomInfo, SpecthemepukRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Theme Park U.S.A. (48K)

static struct BurnRomInfo SpecthemepusRomDesc[] = {
	{ "Theme Park U.S.A. (1993)(Zenobi Software).z80", 0x0984b, 0x1da3e0e9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthemepus, Specthemepus, Spectrum)
STD_ROM_FN(Specthemepus)

struct BurnDriver BurnSpecthemepus = {
	"spec_themepus", NULL, "spec_spectrum", NULL, "1993",
	"Theme Park U.S.A. (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthemepusRomInfo, SpecthemepusRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// There's a Bomb Under Parliament (48K)

static struct BurnRomInfo SpecthbounpaRomDesc[] = {
	{ "There's a Bomb Under Parliament (1991)(Zenobi Software).z80", 0x0a1e5, 0xc5a549f3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthbounpa, Specthbounpa, Spectrum)
STD_ROM_FN(Specthbounpa)

struct BurnDriver BurnSpecthbounpa = {
	"spec_thbounpa", NULL, "spec_spectrum", NULL, "1991",
	"There's a Bomb Under Parliament (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthbounpaRomInfo, SpecthbounpaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// There's a Hole in Your Bucket (128K)

static struct BurnRomInfo SpecthhoyobuRomDesc[] = {
	{ "There's a Hole in Your Bucket (1997)(Adventure Probe Software)[128K].z80", 0x0865a, 0x74114934, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthhoyobu, Specthhoyobu, Spectrum)
STD_ROM_FN(Specthhoyobu)

struct BurnDriver BurnSpecthhoyobu = {
	"spec_thhoyobu", NULL, "spec_spec128", NULL, "1997",
	"There's a Hole in Your Bucket (128K)\0", NULL, "Adventure Probe Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthhoyobuRomInfo, SpecthhoyobuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Theseus and the Minotaur (Part 1 of 2) (48K)

static struct BurnRomInfo SpectheseusmRomDesc[] = {
	{ "Theseus and the Minotaur (1990)(The Guild)(Part 1 of 2).z80", 0x084d5, 0x704370fb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectheseusm, Spectheseusm, Spectrum)
STD_ROM_FN(Spectheseusm)

struct BurnDriver BurnSpectheseusm = {
	"spec_theseusm", NULL, "spec_spectrum", NULL, "1990",
	"Theseus and the Minotaur (Part 1 of 2) (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectheseusmRomInfo, SpectheseusmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Theseus and the Minotaur (Part 2 of 2) (48K)

static struct BurnRomInfo Spectheseusm2RomDesc[] = {
	{ "Theseus and the Minotaur (1990)(The Guild)(Part 2 of 2).z80", 0x07ce0, 0x33c32df2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectheseusm2, Spectheseusm2, Spectrum)
STD_ROM_FN(Spectheseusm2)

struct BurnDriver BurnSpectheseusm2 = {
	"spec_theseusm2", "spec_theseusm", "spec_spectrum", NULL, "1990",
	"Theseus and the Minotaur (Part 2 of 2) (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectheseusm2RomInfo, Spectheseusm2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// They Call Me Trooper (128K)

static struct BurnRomInfo SpecthcametrRomDesc[] = {
	{ "They Call Me Trooper (1987)(CRL Group)[128K].z80", 0x184fa, 0x5d44bb35, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthcametr, Specthcametr, Spectrum)
STD_ROM_FN(Specthcametr)

struct BurnDriver BurnSpecthcametr = {
	"spec_thcametr", NULL, "spec_spec128", NULL, "1987",
	"They Call Me Trooper (128K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthcametrRomInfo, SpecthcametrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// They Say the World Will Die in Fire and Ice (48K)

static struct BurnRomInfo SpectswwdfiRomDesc[] = {
	{ "They Say the World Will Die in Fire and Ice (1984)(Electric Software).z80", 0x06ad9, 0xc3b35f46, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectswwdfi, Spectswwdfi, Spectrum)
STD_ROM_FN(Spectswwdfi)

struct BurnDriver BurnSpectswwdfi = {
	"spec_tswwdfi", NULL, "spec_spectrum", NULL, "1984",
	"They Say the World Will Die in Fire and Ice (48K)\0", NULL, "Electric Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectswwdfiRomInfo, SpectswwdfiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Thing Bounces Back (48K)

static struct BurnRomInfo SpecthiboubaRomDesc[] = {
	{ "Thing Bounces Back (1987)(Gremlin Graphics Software).z80", 0x0935c, 0x97dcf7e1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthibouba, Specthibouba, Spectrum)
STD_ROM_FN(Specthibouba)

struct BurnDriver BurnSpecthibouba = {
	"spec_thibouba", NULL, "spec_spectrum", NULL, "1987",
	"Thing Bounces Back (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthiboubaRomInfo, SpecthiboubaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Thing! (48K)

static struct BurnRomInfo SpecthingRomDesc[] = {
	{ "Thing! (1988)(Players Software).z80", 0x091b8, 0xa46d7274, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthing, Specthing, Spectrum)
STD_ROM_FN(Specthing)

struct BurnDriver BurnSpecthing = {
	"spec_thing", NULL, "spec_spectrum", NULL, "1988",
	"Thing! (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthingRomInfo, SpecthingRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Thingy and the Doodahs (48K)

static struct BurnRomInfo SpecthindoodRomDesc[] = {
	{ "Thingy and the Doodahs (1986)(Americana Software).z80", 0x0a41c, 0xacdbd030, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthindood, Specthindood, Spectrum)
STD_ROM_FN(Specthindood)

struct BurnDriver BurnSpecthindood = {
	"spec_thindood", NULL, "spec_spectrum", NULL, "1986",
	"Thingy and the Doodahs (48K)\0", NULL, "Americana Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthindoodRomInfo, SpecthindoodRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Think! (48K)

static struct BurnRomInfo SpecthinkRomDesc[] = {
	{ "Think! (1985)(Ariolasoft UK).z80", 0x0a2e2, 0x61cfb22b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthink, Specthink, Spectrum)
STD_ROM_FN(Specthink)

struct BurnDriver BurnSpecthink = {
	"spec_think", NULL, "spec_spectrum", NULL, "1985",
	"Think! (48K)\0", NULL, "Ariolasoft UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthinkRomInfo, SpecthinkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Thirty-Nine Steps, The (128K)

static struct BurnRomInfo Spec39stepsRomDesc[] = {
	{ "Thirty-Nine Steps, The (1995)(Zenobi Software)[128K].z80", 0x0f0d4, 0x6592eb51, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec39steps, Spec39steps, Spectrum)
STD_ROM_FN(Spec39steps)

struct BurnDriver BurnSpec39steps = {
	"spec_39steps", NULL, "spec_spec128", NULL, "1995",
	"Thirty-Nine Steps, The (128K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec39stepsRomInfo, Spec39stepsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Thor (Spanish) (48K)

static struct BurnRomInfo SpecthoresRomDesc[] = {
	{ "Thor (1988)(Proein Soft Line)(es).z80", 0x09b58, 0xdeb2d654, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthores, Specthores, Spectrum)
STD_ROM_FN(Specthores)

struct BurnDriver BurnSpecthores = {
	"spec_thores", NULL, "spec_spectrum", NULL, "1988",
	"Thor (Spanish) (48K)\0", NULL, "Proein Soft Line", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthoresRomInfo, SpecthoresRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Three Weeks in Paradise (48K)

static struct BurnRomInfo Spec3weekspr_48RomDesc[] = {
	{ "Three Weeks in Paradise (1985)(Mikro-Gen).z80", 0x0a49e, 0x3c7ac0a9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3weekspr_48, Spec3weekspr_48, Spectrum)
STD_ROM_FN(Spec3weekspr_48)

struct BurnDriver BurnSpec3weekspr_48 = {
	"spec_3weekspr_48", "spec_3weekspr", "spec_spectrum", NULL, "1985",
	"Three Weeks in Paradise (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3weekspr_48RomInfo, Spec3weekspr_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Three Weeks in Paradise (128K)

static struct BurnRomInfo Spec3weeksprRomDesc[] = {
	{ "Three Weeks in Paradise (1985)(Mikro-Gen)[128K].z80", 0x0e06c, 0xf21d8b5d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec3weekspr, Spec3weekspr, Spectrum)
STD_ROM_FN(Spec3weekspr)

struct BurnDriver BurnSpec3weekspr = {
	"spec_3weekspr", NULL, "spec_spec128", NULL, "1985",
	"Three Weeks in Paradise (128K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec3weeksprRomInfo, Spec3weeksprRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Throne of Fire (48K)

static struct BurnRomInfo SpecthrofireRomDesc[] = {
	{ "Throne of Fire (1987)(Melbourne House).z80", 0x0a237, 0x3085bfac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthrofire, Specthrofire, Spectrum)
STD_ROM_FN(Specthrofire)

struct BurnDriver BurnSpecthrofire = {
	"spec_throfire", NULL, "spec_spectrum", NULL, "1987",
	"Throne of Fire (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthrofireRomInfo, SpecthrofireRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Through the Trap Door (48K)

static struct BurnRomInfo SpecthrtrapdRomDesc[] = {
	{ "Through the Trap Door (1987)(Piranha).z80", 0x09926, 0xc3d47fea, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthrtrapd, Specthrtrapd, Spectrum)
STD_ROM_FN(Specthrtrapd)

struct BurnDriver BurnSpecthrtrapd = {
	"spec_thrtrapd", NULL, "spec_spectrum", NULL, "1987",
	"Through the Trap Door (48K)\0", NULL, "Piranha", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthrtrapdRomInfo, SpecthrtrapdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Thrust (48K)

static struct BurnRomInfo SpecthrustRomDesc[] = {
	{ "Thrust (1986)(Firebird Software).z80", 0x08492, 0xb7c0d727, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthrust, Specthrust, Spectrum)
STD_ROM_FN(Specthrust)

struct BurnDriver BurnSpecthrust = {
	"spec_thrust", NULL, "spec_spectrum", NULL, "1986",
	"Thrust (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthrustRomInfo, SpecthrustRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Thrust II (48K)

static struct BurnRomInfo Specthrust2RomDesc[] = {
	{ "Thrust II (1987)(Firebird Software).z80", 0x0a35c, 0x360c6d5f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthrust2, Specthrust2, Spectrum)
STD_ROM_FN(Specthrust2)

struct BurnDriver BurnSpecthrust2 = {
	"spec_thrust2", NULL, "spec_spectrum", NULL, "1987",
	"Thrust II (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specthrust2RomInfo, Specthrust2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Thrusta (48K)

static struct BurnRomInfo SpecthrustaRomDesc[] = {
	{ "Thrusta (1983)(Software Projects).z80", 0x0275c, 0x50869b17, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthrusta, Specthrusta, Spectrum)
STD_ROM_FN(Specthrusta)

struct BurnDriver BurnSpecthrusta = {
	"spec_thrusta", NULL, "spec_spectrum", NULL, "1983",
	"Thrusta (48K)\0", NULL, "Software Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthrustaRomInfo, SpecthrustaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Thunder Blade (128K)

static struct BurnRomInfo SpecthndrbldRomDesc[] = {
	{ "Thunder Blade (1988)(U.S. Gold)[128K].z80", 0x09abe, 0xb6773249, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthndrbld, Specthndrbld, Spectrum)
STD_ROM_FN(Specthndrbld)

struct BurnDriver BurnSpecthndrbld = {
	"spec_thndrbld", NULL, "spec_spec128", NULL, "1988",
	"Thunder Blade (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthndrbldRomInfo, SpecthndrbldRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Thunderbirds - Mission 1 - Mine Rescue (48K)

static struct BurnRomInfo SpecthundrbdRomDesc[] = {
	{ "Thunderbirds - Mission 1 - Mine Rescue (1989)(Grandslam Entertainments).z80", 0x09087, 0xd5fcf0d8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthundrbd, Specthundrbd, Spectrum)
STD_ROM_FN(Specthundrbd)

struct BurnDriver BurnSpecthundrbd = {
	"spec_thundrbd", NULL, "spec_spectrum", NULL, "1989",
	"Thunderbirds - Mission 1 - Mine Rescue (48K)\0", NULL, "Grandslam Entertainments", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthundrbdRomInfo, SpecthundrbdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Thunderbirds - Mission 2 - Sub Crash (48K)

static struct BurnRomInfo Specthundrbd2RomDesc[] = {
	{ "Thunderbirds - Mission 2 - Sub Crash (1989)(Grandslam Entertainments).z80", 0x092c7, 0xa155bd1e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthundrbd2, Specthundrbd2, Spectrum)
STD_ROM_FN(Specthundrbd2)

struct BurnDriver BurnSpecthundrbd2 = {
	"spec_thundrbd2", "spec_thundrbd", "spec_spectrum", NULL, "1989",
	"Thunderbirds - Mission 2 - Sub Crash (48K)\0", NULL, "Grandslam Entertainments", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specthundrbd2RomInfo, Specthundrbd2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Thunderbirds - Mission 3 - Bank Job (48K)

static struct BurnRomInfo Specthundrbd3RomDesc[] = {
	{ "Thunderbirds - Mission 3 - Bank Job (1989)(Grandslam Entertainments).z80", 0x08bfd, 0x0bf05769, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthundrbd3, Specthundrbd3, Spectrum)
STD_ROM_FN(Specthundrbd3)

struct BurnDriver BurnSpecthundrbd3 = {
	"spec_thundrbd3", "spec_thundrbd", "spec_spectrum", NULL, "1989",
	"Thunderbirds - Mission 3 - Bank Job (48K)\0", NULL, "Grandslam Entertainments", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specthundrbd3RomInfo, Specthundrbd3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Thunderbirds - Mission 4 - Evil Hood (48K)

static struct BurnRomInfo Specthundrbd4RomDesc[] = {
	{ "Thunderbirds - Mission 4 - Evil Hood (1989)(Grandslam Entertainments).z80", 0x09120, 0x7bf9fa96, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthundrbd4, Specthundrbd4, Spectrum)
STD_ROM_FN(Specthundrbd4)

struct BurnDriver BurnSpecthundrbd4 = {
	"spec_thundrbd4", "spec_thundrbd", "spec_spectrum", NULL, "1989",
	"Thunderbirds - Mission 4 - Evil Hood (48K)\0", NULL, "Grandslam Entertainments", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specthundrbd4RomInfo, Specthundrbd4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Thunderbirds (48K)

static struct BurnRomInfo SpecthundrbfRomDesc[] = {
	{ "Thunderbirds (1985)(Firebird Software).z80", 0x0a1dc, 0x7a0df8ac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthundrbf, Specthundrbf, Spectrum)
STD_ROM_FN(Specthundrbf)

struct BurnDriver BurnSpecthundrbf = {
	"spec_thundrbf", NULL, "spec_spectrum", NULL, "1985",
	"Thunderbirds (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthundrbfRomInfo, SpecthundrbfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Thundercats (48K)

static struct BurnRomInfo Specthndrcat_48RomDesc[] = {
	{ "Thundercats (1987)(Elite Systems).z80", 0x09aff, 0x2812ba20, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthndrcat_48, Specthndrcat_48, Spectrum)
STD_ROM_FN(Specthndrcat_48)

struct BurnDriver BurnSpecthndrcat_48 = {
	"spec_thndrcat_48", "spec_thndrcat", "spec_spectrum", NULL, "1987",
	"Thundercats (48K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specthndrcat_48RomInfo, Specthndrcat_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Thundercats (128K)

static struct BurnRomInfo SpecthndrcatRomDesc[] = {
	{ "Thundercats (1987)(Elite Systems)[128K].z80", 0x13f58, 0x6f4acd5a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthndrcat, Specthndrcat, Spectrum)
STD_ROM_FN(Specthndrcat)

struct BurnDriver BurnSpecthndrcat = {
	"spec_thndrcat", NULL, "spec_spec128", NULL, "1987",
	"Thundercats (128K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthndrcatRomInfo, SpecthndrcatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Thunderceptor (48K)

static struct BurnRomInfo SpecthundercRomDesc[] = {
	{ "Thunderceptor (1987)(Go!).z80", 0x0a7bc, 0x2bae79bf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specthunderc, Specthunderc, Spectrum)
STD_ROM_FN(Specthunderc)

struct BurnDriver BurnSpecthunderc = {
	"spec_thunderc", NULL, "spec_spectrum", NULL, "1987",
	"Thunderceptor (48K)\0", NULL, "Go!", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecthundercRomInfo, SpecthundercRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tidy Tony (48K)

static struct BurnRomInfo SpectidytonyRomDesc[] = {
	{ "Tidy Tony (1987)(Tynesoft).z80", 0x07bcf, 0x22fb4522, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectidytony, Spectidytony, Spectrum)
STD_ROM_FN(Spectidytony)

struct BurnDriver BurnSpectidytony = {
	"spec_tidytony", NULL, "spec_spectrum", NULL, "1987",
	"Tidy Tony (48K)\0", NULL, "Tynesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectidytonyRomInfo, SpectidytonyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tiempos de Magia (Spanish) (48K)

static struct BurnRomInfo SpectiemmagiRomDesc[] = {
	{ "Tiempos de Magia (1989)(Grupo Creators Union)(es).z80", 0x07199, 0xb5c89671, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectiemmagi, Spectiemmagi, Spectrum)
STD_ROM_FN(Spectiemmagi)

struct BurnDriver BurnSpectiemmagi = {
	"spec_tiemmagi", NULL, "spec_spectrum", NULL, "1989",
	"Tiempos de Magia (Spanish) (48K)\0", NULL, "Grupo Creators Union", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectiemmagiRomInfo, SpectiemmagiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tiger Road (48K)

static struct BurnRomInfo Spectigeroad_48RomDesc[] = {
	{ "Tiger Road (1988)(Go!).z80", 0x09f9b, 0x04767cb9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectigeroad_48, Spectigeroad_48, Spectrum)
STD_ROM_FN(Spectigeroad_48)

struct BurnDriver BurnSpectigeroad_48 = {
	"spec_tigeroad_48", "spec_tigeroad", "spec_spectrum", NULL, "1988",
	"Tiger Road (48K)\0", NULL, "Go!", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectigeroad_48RomInfo, Spectigeroad_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tiger Road (128K)

static struct BurnRomInfo SpectigeroadRomDesc[] = {
	{ "Tiger Road (1988)(Go!)[128K].z80", 0x0b726, 0xede04afd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectigeroad, Spectigeroad, Spectrum)
STD_ROM_FN(Spectigeroad)

struct BurnDriver BurnSpectigeroad = {
	"spec_tigeroad", NULL, "spec_spec128", NULL, "1988",
	"Tiger Road (128K)\0", NULL, "Go!", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectigeroadRomInfo, SpectigeroadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tiles v2 (48K)

static struct BurnRomInfo Spectilesv2RomDesc[] = {
	{ "Tiles v2 (1993)(David Robertson).z80", 0x05902, 0x92710b29, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectilesv2, Spectilesv2, Spectrum)
STD_ROM_FN(Spectilesv2)

struct BurnDriver BurnSpectilesv2 = {
	"spec_tilesv2", NULL, "spec_spectrum", NULL, "1993",
	"Tiles v2 (48K)\0", NULL, "David Robertson", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectilesv2RomInfo, Spectilesv2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tili-Toli (hu) (128K)

static struct BurnRomInfo SpectilitoliRomDesc[] = {
	{ "Tili-Toli (1998)(Laszlo Nyitrai)(hu)[128K].z80", 0x02891, 0x63f98fd9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectilitoli, Spectilitoli, Spectrum)
STD_ROM_FN(Spectilitoli)

struct BurnDriver BurnSpectilitoli = {
	"spec_tilitoli", NULL, "spec_spec128", NULL, "1998",
	"Tili-Toli (hu) (128K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectilitoliRomInfo, SpectilitoliRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tilt (48K)

static struct BurnRomInfo SpectiltRomDesc[] = {
	{ "Tilt (1990)(Codemasters).z80", 0x04e08, 0x4c937311, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectilt, Spectilt, Spectrum)
STD_ROM_FN(Spectilt)

struct BurnDriver BurnSpectilt = {
	"spec_tilt", NULL, "spec_spectrum", NULL, "1990",
	"Tilt (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectiltRomInfo, SpectiltRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tim (pl) (48K)

static struct BurnRomInfo SpectimplRomDesc[] = {
	{ "Tim (1986)(Janusz Gajewicz)(pl).z80", 0x057a7, 0x50199cf1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimpl, Spectimpl, Spectrum)
STD_ROM_FN(Spectimpl)

struct BurnDriver BurnSpectimpl = {
	"spec_timpl", NULL, "spec_spectrum", NULL, "1986",
	"Tim (pl) (48K)\0", NULL, "Janusz Gajewicz", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectimplRomInfo, SpectimplRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time and Magik I - Lords of Time (48K)

static struct BurnRomInfo Spectimemgk_48RomDesc[] = {
	{ "Time and Magik I - Lords of Time (1988)(Mandarin Software).z80", 0x0ac53, 0xf80b4bea, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimemgk_48, Spectimemgk_48, Spectrum)
STD_ROM_FN(Spectimemgk_48)

struct BurnDriver BurnSpectimemgk_48 = {
	"spec_timemgk_48", "spec_timemgk", "spec_spectrum", NULL, "1988",
	"Time and Magik I - Lords of Time (48K)\0", NULL, "Mandarin Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectimemgk_48RomInfo, Spectimemgk_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time and Magik I - Lords of Time (128K)

static struct BurnRomInfo SpectimemgkRomDesc[] = {
	{ "Time and Magik I - Lords of Time (1988)(Mandarin Software)[128K].z80", 0x0d070, 0x4de5d7e5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimemgk, Spectimemgk, Spectrum)
STD_ROM_FN(Spectimemgk)

struct BurnDriver BurnSpectimemgk = {
	"spec_timemgk", NULL, "spec_spec128", NULL, "1988",
	"Time and Magik I - Lords of Time (128K)\0", NULL, "Mandarin Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectimemgkRomInfo, SpectimemgkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time and Magik II - Red Moon (48K)

static struct BurnRomInfo Spectimemgk2_48RomDesc[] = {
	{ "Time and Magik II - Red Moon (1988)(Mandarin Software).z80", 0x0aa09, 0x450c8668, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimemgk2_48, Spectimemgk2_48, Spectrum)
STD_ROM_FN(Spectimemgk2_48)

struct BurnDriver BurnSpectimemgk2_48 = {
	"spec_timemgk2_48", "spec_timemgk2", "spec_spectrum", NULL, "1988",
	"Time and Magik II - Red Moon (48K)\0", NULL, "Mandarin Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectimemgk2_48RomInfo, Spectimemgk2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time and Magik II - Red Moon (128K)

static struct BurnRomInfo Spectimemgk2RomDesc[] = {
	{ "Time and Magik II - Red Moon (1988)(Mandarin Software)[128K].z80", 0x0df4d, 0xa2fcc4f6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimemgk2, Spectimemgk2, Spectrum)
STD_ROM_FN(Spectimemgk2)

struct BurnDriver BurnSpectimemgk2 = {
	"spec_timemgk2", NULL, "spec_spec128", NULL, "1988",
	"Time and Magik II - Red Moon (128K)\0", NULL, "Mandarin Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectimemgk2RomInfo, Spectimemgk2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time and Magik III - The Price of Magik (48K)

static struct BurnRomInfo Spectimemgk3_48RomDesc[] = {
	{ "Time and Magik III - The Price of Magik (1988)(Mandarin Software).z80", 0x0acb2, 0xb4952a8d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimemgk3_48, Spectimemgk3_48, Spectrum)
STD_ROM_FN(Spectimemgk3_48)

struct BurnDriver BurnSpectimemgk3_48 = {
	"spec_timemgk3_48", "spec_timemgk3", "spec_spectrum", NULL, "1988",
	"Time and Magik III - The Price of Magik (48K)\0", NULL, "Mandarin Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectimemgk3_48RomInfo, Spectimemgk3_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time and Magik III - The Price of Magik (128K)

static struct BurnRomInfo Spectimemgk3RomDesc[] = {
	{ "Time and Magik III - The Price of Magik (1988)(Mandarin Software)[128K].z80", 0x0ce79, 0x5d608217, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimemgk3, Spectimemgk3, Spectrum)
STD_ROM_FN(Spectimemgk3)

struct BurnDriver BurnSpectimemgk3 = {
	"spec_timemgk3", NULL, "spec_spec128", NULL, "1988",
	"Time and Magik III - The Price of Magik (128K)\0", NULL, "Mandarin Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectimemgk3RomInfo, Spectimemgk3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time and Magik Trilogy I - Lords of Time (48K)

static struct BurnRomInfo Spectmgktri_48RomDesc[] = {
	{ "Time and Magik Trilogy I - Lords of Time (1983)(Level 9 Computing).z80", 0x078d8, 0xcfa7cad3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectmgktri_48, Spectmgktri_48, Spectrum)
STD_ROM_FN(Spectmgktri_48)

struct BurnDriver BurnSpectmgktri_48 = {
	"spec_tmgktri_48", "spec_tmgktri", "spec_spectrum", NULL, "1983",
	"Time and Magik Trilogy I - Lords of Time (48K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectmgktri_48RomInfo, Spectmgktri_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time and Magik Trilogy I - Lords of Time v2 (48K)

static struct BurnRomInfo SpectmgktriRomDesc[] = {
	{ "Time and Magik Trilogy I - Lords of Time v2 (1988)(Level 9 Computing).z80", 0x079e5, 0x1efdf770, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectmgktri, Spectmgktri, Spectrum)
STD_ROM_FN(Spectmgktri)

struct BurnDriver BurnSpectmgktri = {
	"spec_tmgktri", NULL, "spec_spectrum", NULL, "1988",
	"Time and Magik Trilogy I - Lords of Time v2 (48K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectmgktriRomInfo, SpectmgktriRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time and Magik Trilogy II - Red Moon (48K)

static struct BurnRomInfo Spectmgktri2RomDesc[] = {
	{ "Time and Magik Trilogy II - Red Moon (1985)(Level 9 Computing).z80", 0x0a1fd, 0x28220ba6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectmgktri2, Spectmgktri2, Spectrum)
STD_ROM_FN(Spectmgktri2)

struct BurnDriver BurnSpectmgktri2 = {
	"spec_tmgktri2", NULL, "spec_spectrum", NULL, "1985",
	"Time and Magik Trilogy II - Red Moon (48K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectmgktri2RomInfo, Spectmgktri2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time and Magik Trilogy III - The Price of Magik (48K)

static struct BurnRomInfo Spectmgktri3_48RomDesc[] = {
	{ "Time and Magik Trilogy III - The Price of Magik (1986)(Level 9 Computing).z80", 0x0af83, 0xe6cbfae5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectmgktri3_48, Spectmgktri3_48, Spectrum)
STD_ROM_FN(Spectmgktri3_48)

struct BurnDriver BurnSpectmgktri3_48 = {
	"spec_tmgktri3_48", "spec_tmgktri3", "spec_spectrum", NULL, "1986",
	"Time and Magik Trilogy III - The Price of Magik (48K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectmgktri3_48RomInfo, Spectmgktri3_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time and Magik Trilogy III - The Price of Magik (128K)

static struct BurnRomInfo Spectmgktri3RomDesc[] = {
	{ "Time and Magik Trilogy III - The Price of Magik (1986)(Level 9 Computing)[128K].z80", 0x118c2, 0x2ebcf037, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectmgktri3, Spectmgktri3, Spectrum)
STD_ROM_FN(Spectmgktri3)

struct BurnDriver BurnSpectmgktri3 = {
	"spec_tmgktri3", NULL, "spec_spec128", NULL, "1986",
	"Time and Magik Trilogy III - The Price of Magik (128K)\0", NULL, "Level 9 Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectmgktri3RomInfo, Spectmgktri3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time Cop (demo) (Russian) (Part 1 of 4) (128K)

static struct BurnRomInfo SpectimecopdRomDesc[] = {
	{ "Time Cop (demo) (1996)(Rover Soft)(ru)(Part 1 of 4)[128K].z80", 0x08155, 0x9ca1eedb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimecopd, Spectimecopd, Spectrum)
STD_ROM_FN(Spectimecopd)

struct BurnDriver BurnSpectimecopd = {
	"spec_timecopd", NULL, "spec_spec128", NULL, "1996",
	"Time Cop (demo) (Russian) (Part 1 of 4) (128K)\0", NULL, "Rover Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectimecopdRomInfo, SpectimecopdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time Cop (demo) (Russian) (Part 2 of 4) (128K)

static struct BurnRomInfo Spectimecopd2RomDesc[] = {
	{ "Time Cop (demo) (1996)(Rover Soft)(ru)(Part 2 of 4)[128K].z80", 0x0a889, 0xb45befe9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimecopd2, Spectimecopd2, Spectrum)
STD_ROM_FN(Spectimecopd2)

struct BurnDriver BurnSpectimecopd2 = {
	"spec_timecopd2", "spec_timecopd", "spec_spec128", NULL, "1996",
	"Time Cop (demo) (Russian) (Part 2 of 4) (128K)\0", NULL, "Rover Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectimecopd2RomInfo, Spectimecopd2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time Cop (demo) (Russian) (Part 3 of 4) (128K)

static struct BurnRomInfo Spectimecopd3RomDesc[] = {
	{ "Time Cop (demo) (1996)(Rover Soft)(ru)(Part 3 of 4)[128K].z80", 0x096f0, 0x49da6086, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimecopd3, Spectimecopd3, Spectrum)
STD_ROM_FN(Spectimecopd3)

struct BurnDriver BurnSpectimecopd3 = {
	"spec_timecopd3", "spec_timecopd", "spec_spec128", NULL, "1996",
	"Time Cop (demo) (Russian) (Part 3 of 4) (128K)\0", NULL, "Rover Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectimecopd3RomInfo, Spectimecopd3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time Cop (demo) (Russian) (Part 4 of 4) (128K)

static struct BurnRomInfo Spectimecopd4RomDesc[] = {
	{ "Time Cop (demo) (1996)(Rover Soft)(ru)(Part 4 of 4)[128K].z80", 0x1d7f2, 0x0c90e94c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimecopd4, Spectimecopd4, Spectrum)
STD_ROM_FN(Spectimecopd4)

struct BurnDriver BurnSpectimecopd4 = {
	"spec_timecopd4", "spec_timecopd", "spec_spec128", NULL, "1996",
	"Time Cop (demo) (Russian) (Part 4 of 4) (128K)\0", NULL, "Rover Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectimecopd4RomInfo, Spectimecopd4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time Flies (48K)

static struct BurnRomInfo SpectimeflieRomDesc[] = {
	{ "Time Flies (1988)(Firebird Software).z80", 0x08605, 0xb287bb70, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimeflie, Spectimeflie, Spectrum)
STD_ROM_FN(Spectimeflie)

struct BurnDriver BurnSpectimeflie = {
	"spec_timeflie", NULL, "spec_spectrum", NULL, "1988",
	"Time Flies (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectimeflieRomInfo, SpectimeflieRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time Flight (48K)

static struct BurnRomInfo SpectimefligRomDesc[] = {
	{ "Time Flight (1986)(The Power House).z80", 0x04a5a, 0x8d08a7ca, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimeflig, Spectimeflig, Spectrum)
STD_ROM_FN(Spectimeflig)

struct BurnDriver BurnSpectimeflig = {
	"spec_timeflig", NULL, "spec_spectrum", NULL, "1986",
	"Time Flight (48K)\0", NULL, "The Power House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectimefligRomInfo, SpectimefligRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time Machine (48K)

static struct BurnRomInfo SpectimemachRomDesc[] = {
	{ "Time Machine (1990)(Activision).z80", 0x0a276, 0x5cf41e5c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimemach, Spectimemach, Spectrum)
STD_ROM_FN(Spectimemach)

struct BurnDriver BurnSpectimemach = {
	"spec_timemach", NULL, "spec_spectrum", NULL, "1990",
	"Time Machine (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectimemachRomInfo, SpectimemachRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time of the End, The (48K)

static struct BurnRomInfo SpectimeendRomDesc[] = {
	{ "Time of the End, The (1986)(Mandarin Software).z80", 0x0a99f, 0xcbc8e9bc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimeend, Spectimeend, Spectrum)
STD_ROM_FN(Spectimeend)

struct BurnDriver BurnSpectimeend = {
	"spec_timeend", NULL, "spec_spectrum", NULL, "1986",
	"Time of the End, The (48K)\0", NULL, "Mandarin Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectimeendRomInfo, SpectimeendRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time Out (Spanish) (48K)

static struct BurnRomInfo SpectimeoutRomDesc[] = {
	{ "Time Out (1988)(Zafiro Software Division)(es).z80", 0x096ee, 0x68089c7f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimeout, Spectimeout, Spectrum)
STD_ROM_FN(Spectimeout)

struct BurnDriver BurnSpectimeout = {
	"spec_timeout", NULL, "spec_spectrum", NULL, "1988",
	"Time Out (Spanish) (48K)\0", NULL, "Zafiro Software Division", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectimeoutRomInfo, SpectimeoutRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time Quest (Double Play Adventures) (48K)

static struct BurnRomInfo SpectimeqsdpRomDesc[] = {
	{ "Time Quest (1985)(Double Play Adventures).z80", 0x03cfa, 0x7de532b9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimeqsdp, Spectimeqsdp, Spectrum)
STD_ROM_FN(Spectimeqsdp)

struct BurnDriver BurnSpectimeqsdp = {
	"spec_timeqsdp", NULL, "spec_spectrum", NULL, "1985",
	"Time Quest (Double Play Adventures) (48K)\0", NULL, "Double Play Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectimeqsdpRomInfo, SpectimeqsdpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time Quest (Scorpio Gamesworld) (48K)

static struct BurnRomInfo SpectimeqssgRomDesc[] = {
	{ "Time Quest (1985)(Scorpio Gamesworld).z80", 0x08701, 0x44e62ef6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimeqssg, Spectimeqssg, Spectrum)
STD_ROM_FN(Spectimeqssg)

struct BurnDriver BurnSpectimeqssg = {
	"spec_timeqssg", NULL, "spec_spectrum", NULL, "1985",
	"Time Quest (Scorpio Gamesworld) (48K)\0", NULL, "Scorpio Gamesworld", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectimeqssgRomInfo, SpectimeqssgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time Sanctuary (48K)

static struct BurnRomInfo SpectimesancRomDesc[] = {
	{ "Time Sanctuary (1986)(MC Lothlorien).z80", 0x09d0b, 0x226e9211, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimesanc, Spectimesanc, Spectrum)
STD_ROM_FN(Spectimesanc)

struct BurnDriver BurnSpectimesanc = {
	"spec_timesanc", NULL, "spec_spectrum", NULL, "1986",
	"Time Sanctuary (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectimesancRomInfo, SpectimesancRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time Scanner (48K)

static struct BurnRomInfo SpectimescanRomDesc[] = {
	{ "Time Scanner (1989)(Activision).z80", 0x0a46a, 0x06983d6e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimescan, Spectimescan, Spectrum)
STD_ROM_FN(Spectimescan)

struct BurnDriver BurnSpectimescan = {
	"spec_timescan", NULL, "spec_spectrum", NULL, "1989",
	"Time Scanner (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectimescanRomInfo, SpectimescanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time Traveller (48K)

static struct BurnRomInfo SpectimetravRomDesc[] = {
	{ "Time Traveller (1983)(Sulis Software).z80", 0x00a42, 0xf1ca528d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimetrav, Spectimetrav, Spectrum)
STD_ROM_FN(Spectimetrav)

struct BurnDriver BurnSpectimetrav = {
	"spec_timetrav", NULL, "spec_spectrum", NULL, "1983",
	"Time Traveller (48K)\0", NULL, "Sulis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectimetravRomInfo, SpectimetravRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time Tunnels (Christopher James Software) (48K)

static struct BurnRomInfo SpectimetunnRomDesc[] = {
	{ "Time Tunnels (1984)(Christopher James Software).z80", 0x06507, 0x216a6d16, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimetunn, Spectimetunn, Spectrum)
STD_ROM_FN(Spectimetunn)

struct BurnDriver BurnSpectimetunn = {
	"spec_timetunn", NULL, "spec_spectrum", NULL, "1984",
	"Time Tunnels (Christopher James Software) (48K)\0", NULL, "Christopher James Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectimetunnRomInfo, SpectimetunnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time Tunnels (Paxman Promotions) (48K)

static struct BurnRomInfo SpectimetunnpRomDesc[] = {
	{ "Time Tunnels (1985)(Paxman Promotions)[re-release].z80", 0x06529, 0x327389ce, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimetunnp, Spectimetunnp, Spectrum)
STD_ROM_FN(Spectimetunnp)

struct BurnDriver BurnSpectimetunnp = {
	"spec_timetunnp", "spec_timetunn", "spec_spectrum", NULL, "1985",
	"Time Tunnels (Paxman Promotions) (48K)\0", NULL, "Paxman Promotions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectimetunnpRomInfo, SpectimetunnpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time Warrior - Intro 1 (48K)

static struct BurnRomInfo SpectimewarrRomDesc[] = {
	{ "Time Warrior - Intro 1 (1991)(Zenobi Software).z80", 0x01c16, 0x7eba4388, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimewarr, Spectimewarr, Spectrum)
STD_ROM_FN(Spectimewarr)

struct BurnDriver BurnSpectimewarr = {
	"spec_timewarr", NULL, "spec_spectrum", NULL, "1991",
	"Time Warrior - Intro 1 (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectimewarrRomInfo, SpectimewarrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time Warrior - Intro 2 (48K)

static struct BurnRomInfo Spectimewarr2RomDesc[] = {
	{ "Time Warrior - Intro 2 (1991)(Zenobi Software).z80", 0x04ee8, 0x29e641a3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimewarr2, Spectimewarr2, Spectrum)
STD_ROM_FN(Spectimewarr2)

struct BurnDriver BurnSpectimewarr2 = {
	"spec_timewarr2", "spec_timewarr", "spec_spectrum", NULL, "1991",
	"Time Warrior - Intro 2 (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectimewarr2RomInfo, Spectimewarr2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time Warrior - Landscape (48K)

static struct BurnRomInfo Spectimewarrg2RomDesc[] = {
	{ "Time Warrior - Landscape (1991)(Zenobi Software).z80", 0x0a459, 0xd933efa9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimewarrg2, Spectimewarrg2, Spectrum)
STD_ROM_FN(Spectimewarrg2)

struct BurnDriver BurnSpectimewarrg2 = {
	"spec_timewarrg2", "spec_timewarr", "spec_spectrum", NULL, "1991",
	"Time Warrior - Landscape (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectimewarrg2RomInfo, Spectimewarrg2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time Warrior (48K)

static struct BurnRomInfo SpectimewarrgRomDesc[] = {
	{ "Time Warrior (1991)(Zenobi Software).z80", 0x0a962, 0xaa32bb3f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimewarrg, Spectimewarrg, Spectrum)
STD_ROM_FN(Spectimewarrg)

struct BurnDriver BurnSpectimewarrg = {
	"spec_timewarrg", "spec_timewarr", "spec_spectrum", NULL, "1991",
	"Time Warrior (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectimewarrgRomInfo, SpectimewarrgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time Wreck (48K)

static struct BurnRomInfo SpectimewrecRomDesc[] = {
	{ "Time Wreck (1985)(Sparklers).z80", 0x08e71, 0x8ccff5f9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimewrec, Spectimewrec, Spectrum)
STD_ROM_FN(Spectimewrec)

struct BurnDriver BurnSpectimewrec = {
	"spec_timewrec", NULL, "spec_spectrum", NULL, "1985",
	"Time Wreck (48K)\0", NULL, "Sparklers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectimewrecRomInfo, SpectimewrecRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time-Gate - Manual (48K)

static struct BurnRomInfo SpectimegatemRomDesc[] = {
	{ "Time-Gate - Manual (1983)(Quicksilva).z80", 0x049a6, 0xc237546d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimegatem, Spectimegatem, Spectrum)
STD_ROM_FN(Spectimegatem)

struct BurnDriver BurnSpectimegatem = {
	"spec_timegatem", "spec_timegate", "spec_spectrum", NULL, "1983",
	"Time-Gate - Manual (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectimegatemRomInfo, SpectimegatemRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Time-Gate (48K)

static struct BurnRomInfo SpectimegateRomDesc[] = {
	{ "Time-Gate (1983)(Quicksilva).z80", 0x03f14, 0x24882056, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimegate, Spectimegate, Spectrum)
STD_ROM_FN(Spectimegate)

struct BurnDriver BurnSpectimegate = {
	"spec_timegate", NULL, "spec_spectrum", NULL, "1983",
	"Time-Gate (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectimegateRomInfo, SpectimegateRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Times of Lore - Intro 1 (48K)

static struct BurnRomInfo SpectimeloreRomDesc[] = {
	{ "Times of Lore - Intro 1 (1988)(Origin Software).z80", 0x06ac1, 0xc28e6b2e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimelore, Spectimelore, Spectrum)
STD_ROM_FN(Spectimelore)

struct BurnDriver BurnSpectimelore = {
	"spec_timelore", NULL, "spec_spectrum", NULL, "1988",
	"Times of Lore - Intro 1 (48K)\0", NULL, "Origin Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectimeloreRomInfo, SpectimeloreRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Times of Lore - Intro 2 (48K)

static struct BurnRomInfo Spectimelorei2RomDesc[] = {
	{ "Times of Lore - Intro 2 (1988)(Origin Software).z80", 0x09258, 0xb435bfb2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimelorei2, Spectimelorei2, Spectrum)
STD_ROM_FN(Spectimelorei2)

struct BurnDriver BurnSpectimelorei2 = {
	"spec_timelorei2", "spec_timelore", "spec_spectrum", NULL, "1988",
	"Times of Lore - Intro 2 (48K)\0", NULL, "Origin Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectimelorei2RomInfo, Spectimelorei2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Times of Lore (Part 1 of 2) (48K)

static struct BurnRomInfo Spectimelore1RomDesc[] = {
	{ "Times of Lore (1988)(Origin Software)(Part 1 of 2).z80", 0x0b0fe, 0xfa8bde12, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimelore1, Spectimelore1, Spectrum)
STD_ROM_FN(Spectimelore1)

struct BurnDriver BurnSpectimelore1 = {
	"spec_timelore1", "spec_timelore", "spec_spectrum", NULL, "1988",
	"Times of Lore (Part 1 of 2) (48K)\0", NULL, "Origin Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectimelore1RomInfo, Spectimelore1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Times of Lore (Part 2 of 2) (48K)

static struct BurnRomInfo Spectimelore2RomDesc[] = {
	{ "Times of Lore (1988)(Origin Software)(Part 2 of 2).z80", 0x0b391, 0x3600c658, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimelore2, Spectimelore2, Spectrum)
STD_ROM_FN(Spectimelore2)

struct BurnDriver BurnSpectimelore2 = {
	"spec_timelore2", "spec_timelore", "spec_spectrum", NULL, "1988",
	"Times of Lore (Part 2 of 2) (48K)\0", NULL, "Origin Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectimelore2RomInfo, Spectimelore2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Timewise (48K)

static struct BurnRomInfo SpectimewiseRomDesc[] = {
	{ "Timewise (1986)(Incentive Software).z80", 0x0a7cf, 0x7893bd4e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimewise, Spectimewise, Spectrum)
STD_ROM_FN(Spectimewise)

struct BurnDriver BurnSpectimewise = {
	"spec_timewise", NULL, "spec_spectrum", NULL, "1986",
	"Timewise (48K)\0", NULL, "Incentive Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectimewiseRomInfo, SpectimewiseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Timezone (48K)

static struct BurnRomInfo SpectimezoneRomDesc[] = {
	{ "Timezone (1985)(Atlantis Software).z80", 0x03b86, 0x0366b5b1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectimezone, Spectimezone, Spectrum)
STD_ROM_FN(Spectimezone)

struct BurnDriver BurnSpectimezone = {
	"spec_timezone", NULL, "spec_spectrum", NULL, "1985",
	"Timezone (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectimezoneRomInfo, SpectimezoneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tinderbox (48K)

static struct BurnRomInfo SpectinderboRomDesc[] = {
	{ "Tinderbox (1985)(-).z80", 0x0a5e2, 0x8c7c000a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectinderbo, Spectinderbo, Spectrum)
STD_ROM_FN(Spectinderbo)

struct BurnDriver BurnSpectinderbo = {
	"spec_tinderbo", NULL, "spec_spectrum", NULL, "1985",
	"Tinderbox (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectinderboRomInfo, SpectinderboRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tintin on the Moon (48K)

static struct BurnRomInfo SpectintmoonRomDesc[] = {
	{ "Tintin on the Moon (1989)(Infogrames).z80", 0x0990e, 0xa14d791f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectintmoon, Spectintmoon, Spectrum)
STD_ROM_FN(Spectintmoon)

struct BurnDriver BurnSpectintmoon = {
	"spec_tintmoon", NULL, "spec_spectrum", NULL, "1989",
	"Tintin on the Moon (48K)\0", NULL, "Infogrames", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectintmoonRomInfo, SpectintmoonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tir Na Nog (48K)

static struct BurnRomInfo SpectirnanogRomDesc[] = {
	{ "Tir Na Nog (1984)(Gargoyle Games).z80", 0x09959, 0x85e4db94, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectirnanog, Spectirnanog, Spectrum)
STD_ROM_FN(Spectirnanog)

struct BurnDriver BurnSpectirnanog = {
	"spec_tirnanog", NULL, "spec_spectrum", NULL, "1984",
	"Tir Na Nog (48K)\0", NULL, "Gargoyle Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectirnanogRomInfo, SpectirnanogRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Titan (48K)

static struct BurnRomInfo SpectitanRomDesc[] = {
	{ "Titan (1989)(Titus).z80", 0x09868, 0x2f72cf21, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectitan, Spectitan, Spectrum)
STD_ROM_FN(Spectitan)

struct BurnDriver BurnSpectitan = {
	"spec_titan", NULL, "spec_spectrum", NULL, "1989",
	"Titan (48K)\0", NULL, "Titus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectitanRomInfo, SpectitanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Titanic (R&R Software) (48K)

static struct BurnRomInfo SpectitanicRomDesc[] = {
	{ "Titanic (1984)(R&R Software).z80", 0x09e7f, 0x3dccbd69, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectitanic, Spectitanic, Spectrum)
STD_ROM_FN(Spectitanic)

struct BurnDriver BurnSpectitanic = {
	"spec_titanic", NULL, "spec_spectrum", NULL, "1984",
	"Titanic (R&R Software) (48K)\0", NULL, "R&R Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectitanicRomInfo, SpectitanicRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Titanic (Yes! Software) (48K)

static struct BurnRomInfo SpectitanicyRomDesc[] = {
	{ "Titanic (1986)(Yes! Software)[re-release].z80", 0x099dd, 0xf5bc1c87, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectitanicy, Spectitanicy, Spectrum)
STD_ROM_FN(Spectitanicy)

struct BurnDriver BurnSpectitanicy = {
	"spec_titanicy", "spec_titanic", "spec_spectrum", NULL, "1986",
	"Titanic (Yes! Software) (48K)\0", NULL, "Yes! Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectitanicyRomInfo, SpectitanicyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Titanic Blinky (48K)

static struct BurnRomInfo SpectitablinRomDesc[] = {
	{ "Titanic Blinky (1992)(Zeppelin Games).z80", 0x0a02b, 0x9fa8571d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectitablin, Spectitablin, Spectrum)
STD_ROM_FN(Spectitablin)

struct BurnDriver BurnSpectitablin = {
	"spec_titablin", NULL, "spec_spectrum", NULL, "1992",
	"Titanic Blinky (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectitablinRomInfo, SpectitablinRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// To the Manor Bourne - Intro (48K)

static struct BurnRomInfo SpectmanorbRomDesc[] = {
	{ "To the Manor Bourne - Intro (1984)(Central Solutions).z80", 0x01e87, 0x1ca63747, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectmanorb, Spectmanorb, Spectrum)
STD_ROM_FN(Spectmanorb)

struct BurnDriver BurnSpectmanorb = {
	"spec_tmanorb", NULL, "spec_spectrum", NULL, "1984",
	"To the Manor Bourne - Intro (48K)\0", NULL, "Central Solutions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectmanorbRomInfo, SpectmanorbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// To the Manor Bourne (48K)

static struct BurnRomInfo SpectmanorbgRomDesc[] = {
	{ "To the Manor Bourne (1984)(Central Solutions).z80", 0x0a10a, 0x45a3dc63, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectmanorbg, Spectmanorbg, Spectrum)
STD_ROM_FN(Spectmanorbg)

struct BurnDriver BurnSpectmanorbg = {
	"spec_tmanorbg", "spec_tmanorb", "spec_spectrum", NULL, "1984",
	"To the Manor Bourne (48K)\0", NULL, "Central Solutions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectmanorbgRomInfo, SpectmanorbgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Toad Runner (48K)

static struct BurnRomInfo SpectoadrunnRomDesc[] = {
	{ "Toad Runner (1986)(Ariolasoft UK).z80", 0x08a8e, 0xd2f494c5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectoadrunn, Spectoadrunn, Spectrum)
STD_ROM_FN(Spectoadrunn)

struct BurnDriver BurnSpectoadrunn = {
	"spec_toadrunn", NULL, "spec_spectrum", NULL, "1986",
	"Toad Runner (48K)\0", NULL, "Ariolasoft UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectoadrunnRomInfo, SpectoadrunnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tobruk 1942 - Tank Trainer (48K)

static struct BurnRomInfo SpectobtantrRomDesc[] = {
	{ "Tobruk 1942 - Tank Trainer (1987)(PSS).z80", 0x0579c, 0x2f21dd1a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectobtantr, Spectobtantr, Spectrum)
STD_ROM_FN(Spectobtantr)

struct BurnDriver BurnSpectobtantr = {
	"spec_tobtantr", NULL, "spec_spectrum", NULL, "1987",
	"Tobruk 1942 - Tank Trainer (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectobtantrRomInfo, SpectobtantrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tobruk 1942 (48K)

static struct BurnRomInfo Spectobruk19RomDesc[] = {
	{ "Tobruk 1942 (1987)(PSS).z80", 0x0902a, 0x2abb0836, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectobruk19, Spectobruk19, Spectrum)
STD_ROM_FN(Spectobruk19)

struct BurnDriver BurnSpectobruk19 = {
	"spec_tobruk19", NULL, "spec_spectrum", NULL, "1987",
	"Tobruk 1942 (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectobruk19RomInfo, Spectobruk19RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Toilet Truble (48K)

static struct BurnRomInfo SpectoiltrubRomDesc[] = {
	{ "Toilet Truble (1985)(Automata UK).z80", 0x08605, 0x4c41d8e6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectoiltrub, Spectoiltrub, Spectrum)
STD_ROM_FN(Spectoiltrub)

struct BurnDriver BurnSpectoiltrub = {
	"spec_toiltrub", NULL, "spec_spectrum", NULL, "1985",
	"Toilet Truble (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectoiltrubRomInfo, SpectoiltrubRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tokyo Gang (Spanish) (128K)

static struct BurnRomInfo SpectokygangRomDesc[] = {
	{ "Tokyo Gang (1990)(G.LL. Software)(es)[128K].z80", 0x1ac8e, 0xde5a269f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectokygang, Spectokygang, Spectrum)
STD_ROM_FN(Spectokygang)

struct BurnDriver BurnSpectokygang = {
	"spec_tokygang", NULL, "spec_spec128", NULL, "1990",
	"Tokyo Gang (Spanish) (128K)\0", NULL, "G.LL. Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectokygangRomInfo, SpectokygangRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tokyo Gang (Spanish) (48K)

static struct BurnRomInfo Spectokygang_48RomDesc[] = {
	{ "Tokyo Gang (1990)(G.LL. Software)(es)[cr Rajsoft].z80", 0x06f64, 0xee0636fe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectokygang_48, Spectokygang_48, Spectrum)
STD_ROM_FN(Spectokygang_48)

struct BurnDriver BurnSpectokygang_48 = {
	"spec_tokygang_48", "spec_tokygang", "spec_spectrum", NULL, "1990",
	"Tokyo Gang (Spanish) (48K)\0", NULL, "G.LL. Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectokygang_48RomInfo, Spectokygang_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tol (cs) (128K)

static struct BurnRomInfo SpectolcsRomDesc[] = {
	{ "Tol (1988)(Bobek Software)(cs)[128K].z80", 0x09a09, 0x0fb0e797, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectolcs, Spectolcs, Spectrum)
STD_ROM_FN(Spectolcs)

struct BurnDriver BurnSpectolcs = {
	"spec_tolcs", NULL, "spec_spec128", NULL, "1988",
	"Tol (cs) (128K)\0", NULL, "Bobek Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectolcsRomInfo, SpectolcsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tom & Jerry (128K)

static struct BurnRomInfo SpectomjerryRomDesc[] = {
	{ "Tom & Jerry (1989)(Magic Bytes)[cr Starfire Hackers Group][128K].z80", 0x10a1e, 0x1f7aa163, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectomjerry, Spectomjerry, Spectrum)
STD_ROM_FN(Spectomjerry)

struct BurnDriver BurnSpectomjerry = {
	"spec_tomjerry", NULL, "spec_spec128", NULL, "1989",
	"Tom & Jerry (128K)\0", NULL, "Magic Bytes", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectomjerryRomInfo, SpectomjerryRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tom Jones - A Zlata Soska Inku (cs) (128K)

static struct BurnRomInfo SpectjazsiRomDesc[] = {
	{ "Tom Jones - A Zlata Soska Inku (1990)(Proxima Software)(cs)[128K].z80", 0x08773, 0xa14c7c6a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectjazsi, Spectjazsi, Spectrum)
STD_ROM_FN(Spectjazsi)

struct BurnDriver BurnSpectjazsi = {
	"spec_tjazsi", NULL, "spec_spec128", NULL, "1990",
	"Tom Jones - A Zlata Soska Inku (cs) (128K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectjazsiRomInfo, SpectjazsiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tomahawk (48K)

static struct BurnRomInfo SpectomahawkRomDesc[] = {
	{ "Tomahawk (1985)(Digital Integration).z80", 0x0a781, 0x0659c28f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectomahawk, Spectomahawk, Spectrum)
STD_ROM_FN(Spectomahawk)

struct BurnDriver BurnSpectomahawk = {
	"spec_tomahawk", NULL, "spec_spectrum", NULL, "1985",
	"Tomahawk (48K)\0", NULL, "Digital Integration", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectomahawkRomInfo, SpectomahawkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tomb of Dracula, The (48K)

static struct BurnRomInfo SpectomdrathRomDesc[] = {
	{ "Tomb of Dracula, The (1983)(Felix Software).z80", 0x05a4e, 0xf1593d2d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectomdrath, Spectomdrath, Spectrum)
STD_ROM_FN(Spectomdrath)

struct BurnDriver BurnSpectomdrath = {
	"spec_tomdrath", NULL, "spec_spectrum", NULL, "1983",
	"Tomb of Dracula, The (48K)\0", NULL, "Felix Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectomdrathRomInfo, SpectomdrathRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tomb of Syrinx (48K)

static struct BurnRomInfo SpectombsyriRomDesc[] = {
	{ "Tomb of Syrinx (1987)(The Power House).z80", 0x09267, 0x5e5ac159, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectombsyri, Spectombsyri, Spectrum)
STD_ROM_FN(Spectombsyri)

struct BurnDriver BurnSpectombsyri = {
	"spec_tombsyri", NULL, "spec_spectrum", NULL, "1987",
	"Tomb of Syrinx (48K)\0", NULL, "The Power House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectombsyriRomInfo, SpectombsyriRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tombola (sr) (48K)

static struct BurnRomInfo SpectombolasRomDesc[] = {
	{ "Tombola (1987)(Dragan Soft)(sr).z80", 0x070df, 0x24ae060a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectombolas, Spectombolas, Spectrum)
STD_ROM_FN(Spectombolas)

struct BurnDriver BurnSpectombolas = {
	"spec_tombolas", NULL, "spec_spectrum", NULL, "1987",
	"Tombola (sr) (48K)\0", NULL, "Dragan Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectombolasRomInfo, SpectombolasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tomcat (48K)

static struct BurnRomInfo SpectomcatRomDesc[] = {
	{ "Tomcat (1989)(Players Software).z80", 0x0808b, 0x30f07a57, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectomcat, Spectomcat, Spectrum)
STD_ROM_FN(Spectomcat)

struct BurnDriver BurnSpectomcat = {
	"spec_tomcat", NULL, "spec_spectrum", NULL, "1989",
	"Tomcat (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectomcatRomInfo, SpectomcatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Toobin' (128K)

static struct BurnRomInfo SpectoobinRomDesc[] = {
	{ "Toobin' (1989)(Domark)[128K].z80", 0x0b566, 0x492704d4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectoobin, Spectoobin, Spectrum)
STD_ROM_FN(Spectoobin)

struct BurnDriver BurnSpectoobin = {
	"spec_toobin", NULL, "spec_spec128", NULL, "1989",
	"Toobin' (128K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectoobinRomInfo, SpectoobinRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tootie Fruity (48K)

static struct BurnRomInfo SpectootfruiRomDesc[] = {
	{ "Tootie Fruity (1983)(Dream Software)[needs tape load].z80", 0x08c80, 0xe7c6fbb0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectootfrui, Spectootfrui, Spectrum)
STD_ROM_FN(Spectootfrui)

struct BurnDriver BurnSpectootfrui = {
	"spec_tootfrui", NULL, "spec_spectrum", NULL, "1983",
	"Tootie Fruity (48K)\0", NULL, "Dream Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectootfruiRomInfo, SpectootfruiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Top Cat in Beverly Hills Cats (48K)

static struct BurnRomInfo SpectocabehiRomDesc[] = {
	{ "Top Cat in Beverly Hills Cats (1991)(Hi-Tec Software).z80", 0x0ab4f, 0x08eb7b04, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectocabehi, Spectocabehi, Spectrum)
STD_ROM_FN(Spectocabehi)

struct BurnDriver BurnSpectocabehi = {
	"spec_tocabehi", NULL, "spec_spectrum", NULL, "1991",
	"Top Cat in Beverly Hills Cats (48K)\0", NULL, "Hi-Tec Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectocabehiRomInfo, SpectocabehiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Top Gun (48K)

static struct BurnRomInfo SpectopgunRomDesc[] = {
	{ "Top Gun (1986)(Ocean).z80", 0x0a845, 0xd82e03c0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectopgun, Spectopgun, Spectrum)
STD_ROM_FN(Spectopgun)

struct BurnDriver BurnSpectopgun = {
	"spec_topgun", NULL, "spec_spectrum", NULL, "1986",
	"Top Gun (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectopgunRomInfo, SpectopgunRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Top Secret (48K)

static struct BurnRomInfo SpectopsecreRomDesc[] = {
	{ "Top Secret (19xx)(-).z80", 0x07aba, 0xa406ae37, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectopsecre, Spectopsecre, Spectrum)
STD_ROM_FN(Spectopsecre)

struct BurnDriver BurnSpectopsecre = {
	"spec_topsecre", NULL, "spec_spectrum", NULL, "19xx",
	"Top Secret (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectopsecreRomInfo, SpectopsecreRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Topo, El (Spanish) (48K)

static struct BurnRomInfo SpectopoelesRomDesc[] = {
	{ "Topo, El (1989)(-)(es).z80", 0x0250d, 0x821acf00, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectopoeles, Spectopoeles, Spectrum)
STD_ROM_FN(Spectopoeles)

struct BurnDriver BurnSpectopoeles = {
	"spec_topoeles", NULL, "spec_spectrum", NULL, "1989",
	"Topo, El (Spanish) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectopoelesRomInfo, SpectopoelesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Torens van Hanoi (nl) (48K)

static struct BurnRomInfo SpectorehanoRomDesc[] = {
	{ "Torens van Hanoi (1984)(Book)(nl).z80", 0x00d1a, 0x996e4c7a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectorehano, Spectorehano, Spectrum)
STD_ROM_FN(Spectorehano)

struct BurnDriver BurnSpectorehano = {
	"spec_torehano", NULL, "spec_spectrum", NULL, "1984",
	"Torens van Hanoi (nl) (48K)\0", NULL, "Book", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectorehanoRomInfo, SpectorehanoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tornado ECR (48K)

static struct BurnRomInfo SpectoecrRomDesc[] = {
	{ "Tornado ECR (1991)(Codemasters).z80", 0x086c9, 0x496876eb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectoecr, Spectoecr, Spectrum)
STD_ROM_FN(Spectoecr)

struct BurnDriver BurnSpectoecr = {
	"spec_toecr", NULL, "spec_spectrum", NULL, "1991",
	"Tornado ECR (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectoecrRomInfo, SpectoecrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Torpedo (German) (48K)

static struct BurnRomInfo SpectorpedodRomDesc[] = {
	{ "Torpedo (1983)(R. Jacob)(de).z80", 0x02b4c, 0xf7a46f67, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectorpedod, Spectorpedod, Spectrum)
STD_ROM_FN(Spectorpedod)

struct BurnDriver BurnSpectorpedod = {
	"spec_torpedod", NULL, "spec_spectrum", NULL, "1983",
	"Torpedo (German) (48K)\0", NULL, "R. Jacob", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectorpedodRomInfo, SpectorpedodRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Torpedo (hu) (128K)

static struct BurnRomInfo SpectorpedohRomDesc[] = {
	{ "Torpedo (1998)(Laszlo Nyitrai)(hu)[128K].z80", 0x04183, 0xdb8c9d1f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectorpedoh, Spectorpedoh, Spectrum)
STD_ROM_FN(Spectorpedoh)

struct BurnDriver BurnSpectorpedoh = {
	"spec_torpedoh", NULL, "spec_spec128", NULL, "1998",
	"Torpedo (hu) (128K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectorpedohRomInfo, SpectorpedohRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Total Eclipse (48K)

static struct BurnRomInfo SpectoteclpsRomDesc[] = {
	{ "Total Eclipse (1988)(Incentive Software).z80", 0x0a016, 0x91f23189, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectoteclps, Spectoteclps, Spectrum)
STD_ROM_FN(Spectoteclps)

struct BurnDriver BurnSpectoteclps = {
	"spec_toteclps", NULL, "spec_spectrum", NULL, "1988",
	"Total Eclipse (48K)\0", NULL, "Incentive Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectoteclpsRomInfo, SpectoteclpsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Total Eclipse II - The Sphinx Jinx (48K)

static struct BurnRomInfo Spectotclps2RomDesc[] = {
	{ "Total Eclipse II - The Sphinx Jinx (1991)(Incentive Software).z80", 0x09ccf, 0xb33459da, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectotclps2, Spectotclps2, Spectrum)
STD_ROM_FN(Spectotclps2)

struct BurnDriver BurnSpectotclps2 = {
	"spec_totclps2", NULL, "spec_spectrum", NULL, "1991",
	"Total Eclipse II - The Sphinx Jinx (48K)\0", NULL, "Incentive Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectotclps2RomInfo, Spectotclps2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Total Recall (128K)

static struct BurnRomInfo SpectotrcallRomDesc[] = {
	{ "Total Recall (1991)(Ocean)[128K].z80", 0x17197, 0xab3503be, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectotrcall, Spectotrcall, Spectrum)
STD_ROM_FN(Spectotrcall)

struct BurnDriver BurnSpectotrcall = {
	"spec_totrcall", NULL, "spec_spec128", NULL, "1991",
	"Total Recall (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectotrcallRomInfo, SpectotrcallRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Total War (cs) (128K)

static struct BurnRomInfo SpectotawarRomDesc[] = {
	{ "Total War (1992)(Thomas' Software)(cs)[128K].z80", 0x05b77, 0xc403cfe7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectotawar, Spectotawar, Spectrum)
STD_ROM_FN(Spectotawar)

struct BurnDriver BurnSpectotawar = {
	"spec_totawar", NULL, "spec_spec128", NULL, "1992",
	"Total War (cs) (128K)\0", NULL, "Thomas' Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectotawarRomInfo, SpectotawarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Total War 2 (cs) (128K)

static struct BurnRomInfo Spectotawar2RomDesc[] = {
	{ "Total War 2 (1992)(Thomas' Software)(cs)[128K].z80", 0x07b25, 0x5104b334, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectotawar2, Spectotawar2, Spectrum)
STD_ROM_FN(Spectotawar2)

struct BurnDriver BurnSpectotawar2 = {
	"spec_totawar2", NULL, "spec_spec128", NULL, "1992",
	"Total War 2 (cs) (128K)\0", NULL, "Thomas' Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectotawar2RomInfo, Spectotawar2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tour de Force (48K)

static struct BurnRomInfo SpectourforcRomDesc[] = {
	{ "Tour de Force (1988)(Gremlin Graphics Software).z80", 0x08f3f, 0x845516d8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectourforc, Spectourforc, Spectrum)
STD_ROM_FN(Spectourforc)

struct BurnDriver BurnSpectourforc = {
	"spec_tourforc", NULL, "spec_spectrum", NULL, "1988",
	"Tour de Force (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectourforcRomInfo, SpectourforcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tour de France (fr) (48K)

static struct BurnRomInfo SpectourfranRomDesc[] = {
	{ "Tour de France (1985)(Loriciels)(fr).z80", 0x09ab3, 0xcf6fc37a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectourfran, Spectourfran, Spectrum)
STD_ROM_FN(Spectourfran)

struct BurnDriver BurnSpectourfran = {
	"spec_tourfran", NULL, "spec_spectrum", NULL, "1985",
	"Tour de France (fr) (48K)\0", NULL, "Loriciels", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectourfranRomInfo, SpectourfranRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tour of the Knight (48K)

static struct BurnRomInfo SpectourknigRomDesc[] = {
	{ "Tour of the Knight (1997)(CSSCGC).z80", 0x0159a, 0x93fe0d25, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectourknig, Spectourknig, Spectrum)
STD_ROM_FN(Spectourknig)

struct BurnDriver BurnSpectourknig = {
	"spec_tourknig", NULL, "spec_spectrum", NULL, "1997",
	"Tour of the Knight (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectourknigRomInfo, SpectourknigRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tourist Trap (48K)

static struct BurnRomInfo SpectourtrapRomDesc[] = {
	{ "Tourist Trap (19xx)(-).z80", 0x07c39, 0xb2c1949f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectourtrap, Spectourtrap, Spectrum)
STD_ROM_FN(Spectourtrap)

struct BurnDriver BurnSpectourtrap = {
	"spec_tourtrap", NULL, "spec_spectrum", NULL, "19xx",
	"Tourist Trap (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectourtrapRomInfo, SpectourtrapRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Towdie (sk) (128K)

static struct BurnRomInfo SpectowdieskRomDesc[] = {
	{ "Towdie (1994)(Ultrasoft)(sk)[128K].z80", 0x12e29, 0xb1e31d3c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectowdiesk, Spectowdiesk, Spectrum)
STD_ROM_FN(Spectowdiesk)

struct BurnDriver BurnSpectowdiesk = {
	"spec_towdiesk", NULL, "spec_spec128", NULL, "1994",
	"Towdie (sk) (128K)\0", NULL, "Ultrasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectowdieskRomInfo, SpectowdieskRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tower of Despair (Part 1 of 2) (48K)

static struct BurnRomInfo SpectowdesRomDesc[] = {
	{ "Tower of Despair (1984)(Games Workshop)(Part 1 of 2).z80", 0x0906a, 0x58a16a13, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectowdes, Spectowdes, Spectrum)
STD_ROM_FN(Spectowdes)

struct BurnDriver BurnSpectowdes = {
	"spec_towdes", NULL, "spec_spectrum", NULL, "1984",
	"Tower of Despair (Part 1 of 2) (48K)\0", NULL, "Games Workshop", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectowdesRomInfo, SpectowdesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tower of Despair (Part 2 of 2) (48K)

static struct BurnRomInfo Spectowdes2RomDesc[] = {
	{ "Tower of Despair (1984)(Games Workshop)(Part 2 of 2).z80", 0x08ada, 0x006b2be9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectowdes2, Spectowdes2, Spectrum)
STD_ROM_FN(Spectowdes2)

struct BurnDriver BurnSpectowdes2 = {
	"spec_towdes2", "spec_towdes", "spec_spectrum", NULL, "1984",
	"Tower of Despair (Part 2 of 2) (48K)\0", NULL, "Games Workshop", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectowdes2RomInfo, Spectowdes2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tower of Evil (48K)

static struct BurnRomInfo SpectoweevilRomDesc[] = {
	{ "Tower of Evil (1984)(Creative Sparks).z80", 0x03aa4, 0xe89ba17a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectoweevil, Spectoweevil, Spectrum)
STD_ROM_FN(Spectoweevil)

struct BurnDriver BurnSpectoweevil = {
	"spec_toweevil", NULL, "spec_spectrum", NULL, "1984",
	"Tower of Evil (48K)\0", NULL, "Creative Sparks", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectoweevilRomInfo, SpectoweevilRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tower of Light, The (Part 1 of 2) (48K)

static struct BurnRomInfo SpectowlightRomDesc[] = {
	{ "Tower of Light, The (1989)(Caris Software)(Part 1 of 2).z80", 0x09146, 0xca4e0b92, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectowlight, Spectowlight, Spectrum)
STD_ROM_FN(Spectowlight)

struct BurnDriver BurnSpectowlight = {
	"spec_towlight", NULL, "spec_spectrum", NULL, "1989",
	"Tower of Light, The (Part 1 of 2) (48K)\0", NULL, "Caris Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectowlightRomInfo, SpectowlightRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tower of Light, The (Part 1 of 2) (128K)

static struct BurnRomInfo Spectowlight2RomDesc[] = {
	{ "Tower of Light, The (1989)(Caris Software)(Part 1 of 2)[128K].z80", 0x105a7, 0xbee6dfe1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectowlight2, Spectowlight2, Spectrum)
STD_ROM_FN(Spectowlight2)

struct BurnDriver BurnSpectowlight2 = {
	"spec_towlight2", "spec_towlight", "spec_spec128", NULL, "1989",
	"Tower of Light, The (Part 1 of 2) (128K)\0", NULL, "Caris Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectowlight2RomInfo, Spectowlight2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tower of Light, The (Part 2 of 2) (128K)

static struct BurnRomInfo Spectowlight3RomDesc[] = {
	{ "Tower of Light, The (1989)(Caris Software)(Part 2 of 2)[128K].z80", 0x0effe, 0x27fd21f9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectowlight3, Spectowlight3, Spectrum)
STD_ROM_FN(Spectowlight3)

struct BurnDriver BurnSpectowlight3 = {
	"spec_towlight3", "spec_towlight", "spec_spec128", NULL, "1989",
	"Tower of Light, The (Part 2 of 2) (128K)\0", NULL, "Caris Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectowlight3RomInfo, Spectowlight3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Toy Bizarre (48K)

static struct BurnRomInfo SpectoybizarRomDesc[] = {
	{ "Toy Bizarre (1985)(Activision).z80", 0x04fc9, 0x7e03a2cc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectoybizar, Spectoybizar, Spectrum)
STD_ROM_FN(Spectoybizar)

struct BurnDriver BurnSpectoybizar = {
	"spec_toybizar", NULL, "spec_spectrum", NULL, "1985",
	"Toy Bizarre (48K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectoybizarRomInfo, SpectoybizarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Toyota Celica GT Rally (128K)

static struct BurnRomInfo SpectocegtraRomDesc[] = {
	{ "Toyota Celica GT Rally (1991)(Gremlin Graphics Software)[128K].z80", 0x13a67, 0x0d2391cb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectocegtra, Spectocegtra, Spectrum)
STD_ROM_FN(Spectocegtra)

struct BurnDriver BurnSpectocegtra = {
	"spec_tocegtra", NULL, "spec_spec128", NULL, "1991",
	"Toyota Celica GT Rally (128K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectocegtraRomInfo, SpectocegtraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// TRaceON (48K)

static struct BurnRomInfo SpectraceonRomDesc[] = {
	{ "TRaceON (1983)(Work Force).z80", 0x0597e, 0x55f8abed, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectraceon, Spectraceon, Spectrum)
STD_ROM_FN(Spectraceon)

struct BurnDriver BurnSpectraceon = {
	"spec_traceon", NULL, "spec_spectrum", NULL, "1983",
	"TRaceON (48K)\0", NULL, "Work Force", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectraceonRomInfo, SpectraceonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Track and Field (48K)

static struct BurnRomInfo SpectracfielRomDesc[] = {
	{ "Track and Field (1988)(Ocean).z80", 0x05787, 0x7ddee010, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectracfiel, Spectracfiel, Spectrum)
STD_ROM_FN(Spectracfiel)

struct BurnDriver BurnSpectracfiel = {
	"spec_tracfiel", NULL, "spec_spectrum", NULL, "1988",
	"Track and Field (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectracfielRomInfo, SpectracfielRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tracksuit Manager (48K)

static struct BurnRomInfo SpectracmanaRomDesc[] = {
	{ "Tracksuit Manager (1988)(Goliath Games).z80", 0x0a899, 0xc16e40e0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectracmana, Spectracmana, Spectrum)
STD_ROM_FN(Spectracmana)

struct BurnDriver BurnSpectracmana = {
	"spec_tracmana", NULL, "spec_spectrum", NULL, "1988",
	"Tracksuit Manager (48K)\0", NULL, "Goliath Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectracmanaRomInfo, SpectracmanaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trade Winds (48K)

static struct BurnRomInfo SpectradwindRomDesc[] = {
	{ "Trade Winds (1983)(WD Software).z80", 0x06a64, 0x29253927, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectradwind, Spectradwind, Spectrum)
STD_ROM_FN(Spectradwind)

struct BurnDriver BurnSpectradwind = {
	"spec_tradwind", NULL, "spec_spectrum", NULL, "1983",
	"Trade Winds (48K)\0", NULL, "WD Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectradwindRomInfo, SpectradwindRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Traffic Control (48K)

static struct BurnRomInfo SpectrafcontRomDesc[] = {
	{ "Traffic Control (19xx)(Alchemist PD).z80", 0x01ef1, 0xf124c16e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrafcont, Spectrafcont, Spectrum)
STD_ROM_FN(Spectrafcont)

struct BurnDriver BurnSpectrafcont = {
	"spec_trafcont", NULL, "spec_spectrum", NULL, "19xx",
	"Traffic Control (48K)\0", NULL, "Alchemist PD", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectrafcontRomInfo, SpectrafcontRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Traga-Perras (Spanish) (128K)

static struct BurnRomInfo SpectragperrRomDesc[] = {
	{ "Traga-Perras (1996)(Gabriel Rodriguez Calzada)(es)[128K].z80", 0x041f3, 0x82a53be0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectragperr, Spectragperr, Spectrum)
STD_ROM_FN(Spectragperr)

struct BurnDriver BurnSpectragperr = {
	"spec_tragperr", NULL, "spec_spec128", NULL, "1996",
	"Traga-Perras (Spanish) (128K)\0", NULL, "Gabriel Rodriguez Calzada", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectragperrRomInfo, SpectragperrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trail Racer (48K)

static struct BurnRomInfo SpectrairaceRomDesc[] = {
	{ "Trail Racer (1987)(Jorgen Bech).z80", 0x077e5, 0xc3092825, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrairace, Spectrairace, Spectrum)
STD_ROM_FN(Spectrairace)

struct BurnDriver BurnSpectrairace = {
	"spec_trairace", NULL, "spec_spectrum", NULL, "1987",
	"Trail Racer (48K)\0", NULL, "Jorgen Bech", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectrairaceRomInfo, SpectrairaceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trailblazer (48K)

static struct BurnRomInfo Spectrailbla_48RomDesc[] = {
	{ "Trailblazer (1986)(Gremlin Graphics Software).z80", 0x072e2, 0x66d074a6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrailbla_48, Spectrailbla_48, Spectrum)
STD_ROM_FN(Spectrailbla_48)

struct BurnDriver BurnSpectrailbla_48 = {
	"spec_trailbla_48", "spec_trailbla", "spec_spectrum", NULL, "1986",
	"Trailblazer (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectrailbla_48RomInfo, Spectrailbla_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trailblazer (128K)

static struct BurnRomInfo SpectrailblaRomDesc[] = {
	{ "Trailblazer (1986)(Gremlin Graphics Software)[128K].z80", 0x07b86, 0x8005ea35, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrailbla, Spectrailbla, Spectrum)
STD_ROM_FN(Spectrailbla)

struct BurnDriver BurnSpectrailbla = {
	"spec_trailbla", NULL, "spec_spec128", NULL, "1986",
	"Trailblazer (128K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectrailblaRomInfo, SpectrailblaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Train Game, The - Track A (48K)

static struct BurnRomInfo SpectraingRomDesc[] = {
	{ "Train Game, The - Track A (1983)(Microsphere).z80", 0x03362, 0xb1b050d9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectraing, Spectraing, Spectrum)
STD_ROM_FN(Spectraing)

struct BurnDriver BurnSpectraing = {
	"spec_traing", NULL, "spec_spectrum", NULL, "1983",
	"Train Game, The - Track A (48K)\0", NULL, "Microsphere", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectraingRomInfo, SpectraingRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Train Game, The - Track B (48K)

static struct BurnRomInfo SpectraingbRomDesc[] = {
	{ "Train Game, The - Track B (1983)(Microsphere).z80", 0x03445, 0xde5a867d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectraingb, Spectraingb, Spectrum)
STD_ROM_FN(Spectraingb)

struct BurnDriver BurnSpectraingb = {
	"spec_traingb", "spec_traing", "spec_spectrum", NULL, "1983",
	"Train Game, The - Track B (48K)\0", NULL, "Microsphere", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectraingbRomInfo, SpectraingbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Train, The - Escape to Normandy (48K)

static struct BurnRomInfo SpectrainetnRomDesc[] = {
	{ "Train, The - Escape to Normandy (1988)(Electronic Arts).z80", 0x0ada0, 0xccbf6d84, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrainetn, Spectrainetn, Spectrum)
STD_ROM_FN(Spectrainetn)

struct BurnDriver BurnSpectrainetn = {
	"spec_trainetn", NULL, "spec_spectrum", NULL, "1988",
	"Train, The - Escape to Normandy (48K)\0", NULL, "Electronic Arts", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectrainetnRomInfo, SpectrainetnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trank (48K)

static struct BurnRomInfo SpectrankRomDesc[] = {
	{ "Trank (19xx)(-).z80", 0x02e9f, 0xda994937, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrank, Spectrank, Spectrum)
STD_ROM_FN(Spectrank)

struct BurnDriver BurnSpectrank = {
	"spec_trank", NULL, "spec_spectrum", NULL, "19xx",
	"Trank (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectrankRomInfo, SpectrankRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trans-Atlantic Balloon Challenge (48K)

static struct BurnRomInfo SpectratbachRomDesc[] = {
	{ "Trans-Atlantic Balloon Challenge (1987)(Virgin Games).z80", 0x07a54, 0x9fc67374, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectratbach, Spectratbach, Spectrum)
STD_ROM_FN(Spectratbach)

struct BurnDriver BurnSpectratbach = {
	"spec_tratbach", NULL, "spec_spectrum", NULL, "1987",
	"Trans-Atlantic Balloon Challenge (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectratbachRomInfo, SpectratbachRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trans-Europe Rallye (Spanish) (48K)

static struct BurnRomInfo SpectraeurraRomDesc[] = {
	{ "Trans-Europe Rallye (1984)(ABC Soft)(es).z80", 0x0410e, 0x86afbf4d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectraeurra, Spectraeurra, Spectrum)
STD_ROM_FN(Spectraeurra)

struct BurnDriver BurnSpectraeurra = {
	"spec_traeurra", NULL, "spec_spectrum", NULL, "1984",
	"Trans-Europe Rallye (Spanish) (48K)\0", NULL, "ABC Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectraeurraRomInfo, SpectraeurraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Transformers (48K)

static struct BurnRomInfo SpectransforRomDesc[] = {
	{ "Transformers (1986)(Ocean).z80", 0x09541, 0x512562d3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectransfor, Spectransfor, Spectrum)
STD_ROM_FN(Spectransfor)

struct BurnDriver BurnSpectransfor = {
	"spec_transfor", NULL, "spec_spectrum", NULL, "1986",
	"Transformers (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectransforRomInfo, SpectransforRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Transmuter (48K)

static struct BurnRomInfo SpectransmutRomDesc[] = {
	{ "Transmuter (1987)(Codemasters).z80", 0x08841, 0x2be0f01f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectransmut, Spectransmut, Spectrum)
STD_ROM_FN(Spectransmut)

struct BurnDriver BurnSpectransmut = {
	"spec_transmut", NULL, "spec_spectrum", NULL, "1987",
	"Transmuter (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectransmutRomInfo, SpectransmutRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Transylvanian Tower (48K)

static struct BurnRomInfo SpectrantoweRomDesc[] = {
	{ "Transylvanian Tower (1982)(Richard Shepherd Software).z80", 0x09064, 0xa7faab40, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrantowe, Spectrantowe, Spectrum)
STD_ROM_FN(Spectrantowe)

struct BurnDriver BurnSpectrantowe = {
	"spec_trantowe", NULL, "spec_spectrum", NULL, "1982",
	"Transylvanian Tower (48K)\0", NULL, "Richard Shepherd Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectrantoweRomInfo, SpectrantoweRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trantor - The Last Stormtrooper (48K)

static struct BurnRomInfo SpectrthlastRomDesc[] = {
	{ "Trantor - The Last Stormtrooper (1987)(Go!).z80", 0x09b69, 0xbad682da, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrthlast, Spectrthlast, Spectrum)
STD_ROM_FN(Spectrthlast)

struct BurnDriver BurnSpectrthlast = {
	"spec_trthlast", NULL, "spec_spectrum", NULL, "1987",
	"Trantor - The Last Stormtrooper (48K)\0", NULL, "Go!", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectrthlastRomInfo, SpectrthlastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trap (48K)

static struct BurnRomInfo SpectrapRomDesc[] = {
	{ "Trap (1987)(Alligata Software).z80", 0x07b02, 0x078516bf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrap, Spectrap, Spectrum)
STD_ROM_FN(Spectrap)

struct BurnDriver BurnSpectrap = {
	"spec_trap", NULL, "spec_spectrum", NULL, "1987",
	"Trap (48K)\0", NULL, "Alligata Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectrapRomInfo, SpectrapRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trap Door, The (48K)

static struct BurnRomInfo SpectradoothRomDesc[] = {
	{ "Trap Door, The (1986)(Piranha).z80", 0x0a73f, 0x27e0667f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectradooth, Spectradooth, Spectrum)
STD_ROM_FN(Spectradooth)

struct BurnDriver BurnSpectradooth = {
	"spec_tradooth", NULL, "spec_spectrum", NULL, "1986",
	"Trap Door, The (48K)\0", NULL, "Piranha", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectradoothRomInfo, SpectradoothRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trashman (48K)

static struct BurnRomInfo SpectrashmanRomDesc[] = {
	{ "Trashman (1984)(New Generation Software).z80", 0x06665, 0x453cc19a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrashman, Spectrashman, Spectrum)
STD_ROM_FN(Spectrashman)

struct BurnDriver BurnSpectrashman = {
	"spec_trashman", NULL, "spec_spectrum", NULL, "1984",
	"Trashman (48K)\0", NULL, "New Generation Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectrashmanRomInfo, SpectrashmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Traskskatten (sv) (48K)

static struct BurnRomInfo SpectraskskaRomDesc[] = {
	{ "Traskskatten (1985)(Sincsoft)(sv).z80", 0x06b0e, 0xddb887e9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectraskska, Spectraskska, Spectrum)
STD_ROM_FN(Spectraskska)

struct BurnDriver BurnSpectraskska = {
	"spec_traskska", NULL, "spec_spectrum", NULL, "1985",
	"Traskskatten (sv) (48K)\0", NULL, "Sincsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectraskskaRomInfo, SpectraskskaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Traskskatten v2 (sv) (48K)

static struct BurnRomInfo Spectrasksk2RomDesc[] = {
	{ "Traskskatten v2 (1985)(Sincsoft)(sv).z80", 0x08209, 0x377453e5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrasksk2, Spectrasksk2, Spectrum)
STD_ROM_FN(Spectrasksk2)

struct BurnDriver BurnSpectrasksk2 = {
	"spec_trasksk2", NULL, "spec_spectrum", NULL, "1985",
	"Traskskatten v2 (sv) (48K)\0", NULL, "Sincsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectrasksk2RomInfo, Spectrasksk2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Traskskatten v3 (sv) (48K)

static struct BurnRomInfo Spectrasksk3RomDesc[] = {
	{ "Traskskatten v3 (1987)(Softed)(sv).z80", 0x0b3f8, 0x9d6e6c84, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrasksk3, Spectrasksk3, Spectrum)
STD_ROM_FN(Spectrasksk3)

struct BurnDriver BurnSpectrasksk3 = {
	"spec_trasksk3", NULL, "spec_spectrum", NULL, "1987",
	"Traskskatten v3 (sv) (48K)\0", NULL, "Softed", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectrasksk3RomInfo, Spectrasksk3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trasochin (cs) (128K)

static struct BurnRomInfo SpectrasochiRomDesc[] = {
	{ "Trasochin (19xx)(Thomas' Software)(cs)[128K].z80", 0x08b3a, 0xe4f758c4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrasochi, Spectrasochi, Spectrum)
STD_ROM_FN(Spectrasochi)

struct BurnDriver BurnSpectrasochi = {
	"spec_trasochi", NULL, "spec_spec128", NULL, "19xx",
	"Trasochin (cs) (128K)\0", NULL, "Thomas' Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectrasochiRomInfo, SpectrasochiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Travel with Trashman (48K)

static struct BurnRomInfo SpectravtrasRomDesc[] = {
	{ "Travel with Trashman (1984)(New Generation Software).z80", 0x09cd4, 0xf04c0616, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectravtras, Spectravtras, Spectrum)
STD_ROM_FN(Spectravtras)

struct BurnDriver BurnSpectravtras = {
	"spec_travtras", NULL, "spec_spectrum", NULL, "1984",
	"Travel with Trashman (48K)\0", NULL, "New Generation Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectravtrasRomInfo, SpectravtrasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Traverse Spain (Spanish) (48K)

static struct BurnRomInfo SpectravspaiRomDesc[] = {
	{ "Traverse Spain (1988)(X Software)(es).z80", 0x0885c, 0x7004c6b6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectravspai, Spectravspai, Spectrum)
STD_ROM_FN(Spectravspai)

struct BurnDriver BurnSpectravspai = {
	"spec_travspai", NULL, "spec_spectrum", NULL, "1988",
	"Traverse Spain (Spanish) (48K)\0", NULL, "X Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectravspaiRomInfo, SpectravspaiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Treasure (48K)

static struct BurnRomInfo SpectreasureRomDesc[] = {
	{ "Treasure (1986)(The Guild).z80", 0x03469, 0x2de82e89, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectreasure, Spectreasure, Spectrum)
STD_ROM_FN(Spectreasure)

struct BurnDriver BurnSpectreasure = {
	"spec_treasure", NULL, "spec_spectrum", NULL, "1986",
	"Treasure (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectreasureRomInfo, SpectreasureRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Treasure Hunt (Amca Software) (48K)

static struct BurnRomInfo SpectreahntaRomDesc[] = {
	{ "Treasure Hunt (1983)(Amba Software).z80", 0x02821, 0xf769b03b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectreahnta, Spectreahnta, Spectrum)
STD_ROM_FN(Spectreahnta)

struct BurnDriver BurnSpectreahnta = {
	"spec_treahnta", NULL, "spec_spectrum", NULL, "1983",
	"Treasure Hunt (Amca Software) (48K)\0", NULL, "Amba Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectreahntaRomInfo, SpectreahntaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Treasure Hunt (Macsen Software) (48K)

static struct BurnRomInfo SpectreahntmRomDesc[] = {
	{ "Treasure Hunt (1986)(Macsen Software).z80", 0x03584, 0x9629f34f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectreahntm, Spectreahntm, Spectrum)
STD_ROM_FN(Spectreahntm)

struct BurnDriver BurnSpectreahntm = {
	"spec_treahntm", NULL, "spec_spectrum", NULL, "1986",
	"Treasure Hunt (Macsen Software) (48K)\0", NULL, "Macsen Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectreahntmRomInfo, SpectreahntmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Treasure Island (48K)

static struct BurnRomInfo SpectreaislaRomDesc[] = {
	{ "Treasure Island (1984)(Mr. Micro).z80", 0x082c6, 0x8949b1b7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectreaisla, Spectreaisla, Spectrum)
STD_ROM_FN(Spectreaisla)

struct BurnDriver BurnSpectreaisla = {
	"spec_treaisla", NULL, "spec_spectrum", NULL, "1984",
	"Treasure Island (48K)\0", NULL, "Mr. Micro", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectreaislaRomInfo, SpectreaislaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Treasure Island (Part 1 of 2) (48K)

static struct BurnRomInfo SpectreasiRomDesc[] = {
	{ "Treasure Island (1991)(Zenobi Software)(Part 1 of 2)[re-release].z80", 0x08f16, 0xab63c1b6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectreasi, Spectreasi, Spectrum)
STD_ROM_FN(Spectreasi)

struct BurnDriver BurnSpectreasi = {
	"spec_treasi", NULL, "spec_spectrum", NULL, "1991",
	"Treasure Island (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectreasiRomInfo, SpectreasiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Treasure Island (Part 2 of 2) (48K)

static struct BurnRomInfo Spectreasi2RomDesc[] = {
	{ "Treasure Island (1991)(Zenobi Software)(Part 2 of 2)[re-release].z80", 0x08cb4, 0x3bf46101, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectreasi2, Spectreasi2, Spectrum)
STD_ROM_FN(Spectreasi2)

struct BurnDriver BurnSpectreasi2 = {
	"spec_treasi2", "spec_treasi", "spec_spectrum", NULL, "1991",
	"Treasure Island (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectreasi2RomInfo, Spectreasi2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Treasure of Santa Maria, The (48K)

static struct BurnRomInfo SpectrsamathRomDesc[] = {
	{ "Treasure of Santa Maria, The (1991)(Zenobi Software).z80", 0x09e56, 0x89a21326, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrsamath, Spectrsamath, Spectrum)
STD_ROM_FN(Spectrsamath)

struct BurnDriver BurnSpectrsamath = {
	"spec_trsamath", NULL, "spec_spectrum", NULL, "1991",
	"Treasure of Santa Maria, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectrsamathRomInfo, SpectrsamathRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Treasure Trail (48K)

static struct BurnRomInfo SpectreatraiRomDesc[] = {
	{ "Treasure Trail (19xx)(J. Theakston - S. Richards).z80", 0x065b0, 0xcf7aa3e5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectreatrai, Spectreatrai, Spectrum)
STD_ROM_FN(Spectreatrai)

struct BurnDriver BurnSpectreatrai = {
	"spec_treatrai", NULL, "spec_spectrum", NULL, "19xx",
	"Treasure Trail (48K)\0", NULL, "J. Theakston - S. Richards", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectreatraiRomInfo, SpectreatraiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Treble Champions (48K)

static struct BurnRomInfo SpectrebchamRomDesc[] = {
	{ "Treble Champions (1989)(Challenge Software).z80", 0x0a0a4, 0xa9b3688f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrebcham, Spectrebcham, Spectrum)
STD_ROM_FN(Spectrebcham)

struct BurnDriver BurnSpectrebcham = {
	"spec_trebcham", NULL, "spec_spectrum", NULL, "1989",
	"Treble Champions (48K)\0", NULL, "Challenge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectrebchamRomInfo, SpectrebchamRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trebuchet (128K)

static struct BurnRomInfo SpectrebucheRomDesc[] = {
	{ "Trebuchet (1998)(CSSCGC)[128K].z80", 0x03440, 0x39860154, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrebuche, Spectrebuche, Spectrum)
STD_ROM_FN(Spectrebuche)

struct BurnDriver BurnSpectrebuche = {
	"spec_trebuche", NULL, "spec_spec128", NULL, "1998",
	"Trebuchet (128K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectrebucheRomInfo, SpectrebucheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tren 8 (Spanish) (48K)

static struct BurnRomInfo Spectren8esRomDesc[] = {
	{ "Tren 8 (19xx)(-)(es).z80", 0x04c78, 0x4762360a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectren8es, Spectren8es, Spectrum)
STD_ROM_FN(Spectren8es)

struct BurnDriver BurnSpectren8es = {
	"spec_tren8es", NULL, "spec_spectrum", NULL, "19xx",
	"Tren 8 (Spanish) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectren8esRomInfo, Spectren8esRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tres Luces de Glaurung, Las (Spanish) (48K)

static struct BurnRomInfo SpectrlugllaRomDesc[] = {
	{ "Tres Luces de Glaurung, Las (1986)(Erbe Software)(es).z80", 0x08b71, 0xecc79824, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrluglla, Spectrluglla, Spectrum)
STD_ROM_FN(Spectrluglla)

struct BurnDriver BurnSpectrluglla = {
	"spec_trluglla", NULL, "spec_spectrum", NULL, "1986",
	"Tres Luces de Glaurung, Las (Spanish) (48K)\0", NULL, "Erbe Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectrlugllaRomInfo, SpectrlugllaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Triaxos (48K)

static struct BurnRomInfo SpectriaxosRomDesc[] = {
	{ "Triaxos (1987)(39 Steps).z80", 0x097bd, 0x0072526d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectriaxos, Spectriaxos, Spectrum)
STD_ROM_FN(Spectriaxos)

struct BurnDriver BurnSpectriaxos = {
	"spec_triaxos", NULL, "spec_spectrum", NULL, "1987",
	"Triaxos (48K)\0", NULL, "39 Steps", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectriaxosRomInfo, SpectriaxosRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tribble Trubble (48K)

static struct BurnRomInfo SpectribtrubRomDesc[] = {
	{ "Tribble Trubble (1984)(Software Projects).z80", 0x03fca, 0x311d87ac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectribtrub, Spectribtrub, Spectrum)
STD_ROM_FN(Spectribtrub)

struct BurnDriver BurnSpectribtrub = {
	"spec_tribtrub", NULL, "spec_spectrum", NULL, "1984",
	"Tribble Trubble (48K)\0", NULL, "Software Projects", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectribtrubRomInfo, SpectribtrubRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Triple Comando (Spanish) (48K)

static struct BurnRomInfo SpectripcomaRomDesc[] = {
	{ "Triple Comando (1988)(Dro Soft)(es).z80", 0x09b5b, 0x5b553489, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectripcoma, Spectripcoma, Spectrum)
STD_ROM_FN(Spectripcoma)

struct BurnDriver BurnSpectripcoma = {
	"spec_tripcoma", NULL, "spec_spectrum", NULL, "1988",
	"Triple Comando (Spanish) (48K)\0", NULL, "Dro Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectripcomaRomInfo, SpectripcomaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Triple Yathzee (nl) (48K)

static struct BurnRomInfo SpectripyathRomDesc[] = {
	{ "Triple Yathzee (1985)(E.J. Zwart)(nl).z80", 0x02daf, 0x567dca47, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectripyath, Spectripyath, Spectrum)
STD_ROM_FN(Spectripyath)

struct BurnDriver BurnSpectripyath = {
	"spec_tripyath", NULL, "spec_spectrum", NULL, "1985",
	"Triple Yathzee (nl) (48K)\0", NULL, "E.J. Zwart", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectripyathRomInfo, SpectripyathRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Triplets (48K)

static struct BurnRomInfo SpectripletsRomDesc[] = {
	{ "Triplets (1985)(Nick Phillips).z80", 0x042dc, 0x0444b5f4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectriplets, Spectriplets, Spectrum)
STD_ROM_FN(Spectriplets)

struct BurnDriver BurnSpectriplets = {
	"spec_triplets", NULL, "spec_spectrum", NULL, "1985",
	"Triplets (48K)\0", NULL, "Nick Phillips", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectripletsRomInfo, SpectripletsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tripods - Puzzle (48K)

static struct BurnRomInfo SpectrippuzzRomDesc[] = {
	{ "Tripods - Puzzle (1995)(Vaxalon).z80", 0x02801, 0xa5abc46c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrippuzz, Spectrippuzz, Spectrum)
STD_ROM_FN(Spectrippuzz)

struct BurnDriver BurnSpectrippuzz = {
	"spec_trippuzz", NULL, "spec_spectrum", NULL, "1995",
	"Tripods - Puzzle (48K)\0", NULL, "Vaxalon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectrippuzzRomInfo, SpectrippuzzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trivial Pursuit - Questions 1 (48K)

static struct BurnRomInfo SpectrivpursRomDesc[] = {
	{ "Trivial Pursuit - Questions 1 (1986)(Domark).z80", 0x0af0a, 0xd97839f2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrivpurs, Spectrivpurs, Spectrum)
STD_ROM_FN(Spectrivpurs)

struct BurnDriver BurnSpectrivpurs = {
	"spec_trivpurs", NULL, "spec_spectrum", NULL, "1986",
	"Trivial Pursuit - Questions 1 (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectrivpursRomInfo, SpectrivpursRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trivial Pursuit - Questions 2 (48K)

static struct BurnRomInfo Spectrivpurs2RomDesc[] = {
	{ "Trivial Pursuit - Questions 2 (1986)(Domark).z80", 0x0aef3, 0xedd85c43, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrivpurs2, Spectrivpurs2, Spectrum)
STD_ROM_FN(Spectrivpurs2)

struct BurnDriver BurnSpectrivpurs2 = {
	"spec_trivpurs2", "spec_trivpurs", "spec_spectrum", NULL, "1986",
	"Trivial Pursuit - Questions 2 (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectrivpurs2RomInfo, Spectrivpurs2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trivial Pursuit - Questions 3 (48K)

static struct BurnRomInfo Spectrivpurs3RomDesc[] = {
	{ "Trivial Pursuit - Questions 3 (1986)(Domark).z80", 0x0aee9, 0xbbea19f4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrivpurs3, Spectrivpurs3, Spectrum)
STD_ROM_FN(Spectrivpurs3)

struct BurnDriver BurnSpectrivpurs3 = {
	"spec_trivpurs3", "spec_trivpurs", "spec_spectrum", NULL, "1986",
	"Trivial Pursuit - Questions 3 (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectrivpurs3RomInfo, Spectrivpurs3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trivial Pursuit - Questions 4 (48K)

static struct BurnRomInfo Spectrivpurs4RomDesc[] = {
	{ "Trivial Pursuit - Questions 4 (1986)(Domark).z80", 0x0aef1, 0x0122e79f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrivpurs4, Spectrivpurs4, Spectrum)
STD_ROM_FN(Spectrivpurs4)

struct BurnDriver BurnSpectrivpurs4 = {
	"spec_trivpurs4", "spec_trivpurs", "spec_spectrum", NULL, "1986",
	"Trivial Pursuit - Questions 4 (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectrivpurs4RomInfo, Spectrivpurs4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trivial Pursuit - Questions 5 (48K)

static struct BurnRomInfo Spectrivpurs5RomDesc[] = {
	{ "Trivial Pursuit - Questions 5 (1986)(Domark).z80", 0x0aef3, 0x38231dea, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrivpurs5, Spectrivpurs5, Spectrum)
STD_ROM_FN(Spectrivpurs5)

struct BurnDriver BurnSpectrivpurs5 = {
	"spec_trivpurs5", "spec_trivpurs", "spec_spectrum", NULL, "1986",
	"Trivial Pursuit - Questions 5 (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectrivpurs5RomInfo, Spectrivpurs5RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trivial Pursuit - Questions 6 (48K)

static struct BurnRomInfo Spectrivpurs6RomDesc[] = {
	{ "Trivial Pursuit - Questions 6 (1986)(Domark).z80", 0x0aef3, 0x4c037047, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrivpurs6, Spectrivpurs6, Spectrum)
STD_ROM_FN(Spectrivpurs6)

struct BurnDriver BurnSpectrivpurs6 = {
	"spec_trivpurs6", "spec_trivpurs", "spec_spectrum", NULL, "1986",
	"Trivial Pursuit - Questions 6 (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectrivpurs6RomInfo, Spectrivpurs6RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trivial Pursuit - Questions 7 (48K)

static struct BurnRomInfo Spectrivpurs7RomDesc[] = {
	{ "Trivial Pursuit - Questions 7 (1986)(Domark).z80", 0x0aee1, 0x53dd617d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrivpurs7, Spectrivpurs7, Spectrum)
STD_ROM_FN(Spectrivpurs7)

struct BurnDriver BurnSpectrivpurs7 = {
	"spec_trivpurs7", "spec_trivpurs", "spec_spectrum", NULL, "1986",
	"Trivial Pursuit - Questions 7 (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectrivpurs7RomInfo, Spectrivpurs7RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trivial Pursuit - Questions 8 (48K)

static struct BurnRomInfo Spectrivpurs8RomDesc[] = {
	{ "Trivial Pursuit - Questions 8 (1986)(Domark).z80", 0x0aeee, 0xe5d9ce60, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrivpurs8, Spectrivpurs8, Spectrum)
STD_ROM_FN(Spectrivpurs8)

struct BurnDriver BurnSpectrivpurs8 = {
	"spec_trivpurs8", "spec_trivpurs", "spec_spectrum", NULL, "1986",
	"Trivial Pursuit - Questions 8 (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectrivpurs8RomInfo, Spectrivpurs8RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trivial Pursuit - Questions 9 (48K)

static struct BurnRomInfo Spectrivpurs9RomDesc[] = {
	{ "Trivial Pursuit - Questions 9 (1986)(Domark).z80", 0x0ae2d, 0xb82cef28, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrivpurs9, Spectrivpurs9, Spectrum)
STD_ROM_FN(Spectrivpurs9)

struct BurnDriver BurnSpectrivpurs9 = {
	"spec_trivpurs9", "spec_trivpurs", "spec_spectrum", NULL, "1986",
	"Trivial Pursuit - Questions 9 (48K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectrivpurs9RomInfo, Spectrivpurs9RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trollkarlens Slott (sv) (48K)

static struct BurnRomInfo SpectrolslotRomDesc[] = {
	{ "Trollkarlens Slott (1984)(Dentan Software)(sv).z80", 0x05c60, 0x1275773c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrolslot, Spectrolslot, Spectrum)
STD_ROM_FN(Spectrolslot)

struct BurnDriver BurnSpectrolslot = {
	"spec_trolslot", NULL, "spec_spectrum", NULL, "1984",
	"Trollkarlens Slott (sv) (48K)\0", NULL, "Dentan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectrolslotRomInfo, SpectrolslotRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tron (German) (EMM Software) (48K)

static struct BurnRomInfo SpectronemmRomDesc[] = {
	{ "Tron (1983)(EMM Software)(de).z80", 0x01f54, 0x78b39612, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectronemm, Spectronemm, Spectrum)
STD_ROM_FN(Spectronemm)

struct BurnDriver BurnSpectronemm = {
	"spec_tronemm", NULL, "spec_spectrum", NULL, "1983",
	"Tron (German) (EMM Software) (48K)\0", NULL, "EMM Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectronemmRomInfo, SpectronemmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tron (German) (Werner Spahl) (48K)

static struct BurnRomInfo SpectronwsRomDesc[] = {
	{ "Tron (1983)(Werner Spahl)(de).z80", 0x01185, 0x8d490722, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectronws, Spectronws, Spectrum)
STD_ROM_FN(Spectronws)

struct BurnDriver BurnSpectronws = {
	"spec_tronws", NULL, "spec_spectrum", NULL, "1983",
	"Tron (German) (Werner Spahl) (48K)\0", NULL, "Werner Spahl", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectronwsRomInfo, SpectronwsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tronn (German) (48K)

static struct BurnRomInfo SpectronndeRomDesc[] = {
	{ "Tronn (19xx)(-)(de).z80", 0x01fd0, 0xd12d5635, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectronnde, Spectronnde, Spectrum)
STD_ROM_FN(Spectronnde)

struct BurnDriver BurnSpectronnde = {
	"spec_tronnde", NULL, "spec_spectrum", NULL, "19xx",
	"Tronn (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectronndeRomInfo, SpectronndeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trouble at Bridgeton (48K)

static struct BurnRomInfo SpectroubridRomDesc[] = {
	{ "Trouble at Bridgeton (19xx)(The Adventure Workshop).z80", 0x09100, 0xcc7682f4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectroubrid, Spectroubrid, Spectrum)
STD_ROM_FN(Spectroubrid)

struct BurnDriver BurnSpectroubrid = {
	"spec_troubrid", NULL, "spec_spectrum", NULL, "19xx",
	"Trouble at Bridgeton (48K)\0", NULL, "The Adventure Workshop", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectroubridRomInfo, SpectroubridRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trouble Brewin' (48K)

static struct BurnRomInfo SpectroubrewRomDesc[] = {
	{ "Trouble Brewin' (1984)(Silversoft).z80", 0x09cea, 0xff2d06c6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectroubrew, Spectroubrew, Spectrum)
STD_ROM_FN(Spectroubrew)

struct BurnDriver BurnSpectroubrew = {
	"spec_troubrew", NULL, "spec_spectrum", NULL, "1984",
	"Trouble Brewin' (48K)\0", NULL, "Silversoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectroubrewRomInfo, SpectroubrewRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trouble with Trolls (48K)

static struct BurnRomInfo SpectroutrolRomDesc[] = {
	{ "Trouble with Trolls (1996)(Zenobi Software).z80", 0x09116, 0x790e1c49, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectroutrol, Spectroutrol, Spectrum)
STD_ROM_FN(Spectroutrol)

struct BurnDriver BurnSpectroutrol = {
	"spec_troutrol", NULL, "spec_spectrum", NULL, "1996",
	"Trouble with Trolls (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectroutrolRomInfo, SpectroutrolRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trubes (Russian) (128K)

static struct BurnRomInfo SpectrubesruRomDesc[] = {
	{ "Trubes (1996)(Panc Software)(ru)[128K].z80", 0x037ce, 0xf899f924, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectrubesru, Spectrubesru, Spectrum)
STD_ROM_FN(Spectrubesru)

struct BurnDriver BurnSpectrubesru = {
	"spec_trubesru", NULL, "spec_spec128", NULL, "1996",
	"Trubes (Russian) (128K)\0", NULL, "Panc Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectrubesruRomInfo, SpectrubesruRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Trudnaya Doroga (sl) (48K)

static struct BurnRomInfo SpectruddoroRomDesc[] = {
	{ "Trudnaya Doroga (1989)(Blacksoft)(sl).z80", 0x06bbf, 0xf2752145, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectruddoro, Spectruddoro, Spectrum)
STD_ROM_FN(Spectruddoro)

struct BurnDriver BurnSpectruddoro = {
	"spec_truddoro", NULL, "spec_spectrum", NULL, "1989",
	"Trudnaya Doroga (sl) (48K)\0", NULL, "Blacksoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectruddoroRomInfo, SpectruddoroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// TT Racer (48K)

static struct BurnRomInfo SpecttracerRomDesc[] = {
	{ "TT Racer (1986)(Digital Integration).z80", 0x0a7b3, 0xc421a9bf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specttracer, Specttracer, Spectrum)
STD_ROM_FN(Specttracer)

struct BurnDriver BurnSpecttracer = {
	"spec_ttracer", NULL, "spec_spectrum", NULL, "1986",
	"TT Racer (48K)\0", NULL, "Digital Integration", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecttracerRomInfo, SpecttracerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tubaruba (48K)

static struct BurnRomInfo SpectubarubaRomDesc[] = {
	{ "Tubaruba (1987)(Firebird Software).z80", 0x09016, 0xe3d73746, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectubaruba, Spectubaruba, Spectrum)
STD_ROM_FN(Spectubaruba)

struct BurnDriver BurnSpectubaruba = {
	"spec_tubaruba", NULL, "spec_spectrum", NULL, "1987",
	"Tubaruba (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectubarubaRomInfo, SpectubarubaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tube Cube (48K)

static struct BurnRomInfo SpectubecubeRomDesc[] = {
	{ "Tube Cube (1983)(ASP Software)[aka Acme Glass Cube].z80", 0x01fe5, 0xc7299126, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectubecube, Spectubecube, Spectrum)
STD_ROM_FN(Spectubecube)

struct BurnDriver BurnSpectubecube = {
	"spec_tubecube", NULL, "spec_spectrum", NULL, "1983",
	"Tube Cube (48K)\0", NULL, "ASP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectubecubeRomInfo, SpectubecubeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tube Train Terror (no) (48K)

static struct BurnRomInfo SpectubtrateRomDesc[] = {
	{ "Tube Train Terror (1983)(JRS Software)(no).z80", 0x0a316, 0x63ad6fd7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectubtrate, Spectubtrate, Spectrum)
STD_ROM_FN(Spectubtrate)

struct BurnDriver BurnSpectubtrate = {
	"spec_tubtrate", NULL, "spec_spectrum", NULL, "1983",
	"Tube Train Terror (no) (48K)\0", NULL, "JRS Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectubtrateRomInfo, SpectubtrateRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tube, The (48K)

static struct BurnRomInfo Spectube_48kRomDesc[] = {
	{ "Tube, The (1987)(Quicksilva).z80", 0x090db, 0x00e49877, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectube_48k, Spectube_48k, Spectrum)
STD_ROM_FN(Spectube_48k)

struct BurnDriver BurnSpectube_48k = {
	"spec_tube_48k", "spec_tube", "spec_spectrum", NULL, "1987",
	"Tube, The (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectube_48kRomInfo, Spectube_48kRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tube, The (128K)

static struct BurnRomInfo SpectubeRomDesc[] = {
	{ "Tube, The (1987)(Quicksilva)[128K].z80", 0x0aa87, 0x1a623974, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectube, Spectube, Spectrum)
STD_ROM_FN(Spectube)

struct BurnDriver BurnSpectube = {
	"spec_tube", NULL, "spec_spec128", NULL, "1987",
	"Tube, The (128K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectubeRomInfo, SpectubeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tuerme von Hanoi (German) (48K)

static struct BurnRomInfo SpectuerhanoRomDesc[] = {
	{ "Tuerme von Hanoi (1983)(Omega-Soft)(de).z80", 0x02274, 0x856f0729, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectuerhano, Spectuerhano, Spectrum)
STD_ROM_FN(Spectuerhano)

struct BurnDriver BurnSpectuerhano = {
	"spec_tuerhano", NULL, "spec_spectrum", NULL, "1983",
	"Tuerme von Hanoi (German) (48K)\0", NULL, "Omega-Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectuerhanoRomInfo, SpectuerhanoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tujad (48K)

static struct BurnRomInfo SpectujadRomDesc[] = {
	{ "Tujad (1986)(Ariolasoft UK).z80", 0x0a856, 0xd226b6ef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectujad, Spectujad, Spectrum)
STD_ROM_FN(Spectujad)

struct BurnDriver BurnSpectujad = {
	"spec_tujad", NULL, "spec_spectrum", NULL, "1986",
	"Tujad (48K)\0", NULL, "Ariolasoft UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectujadRomInfo, SpectujadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tuma 7 (Part 1 of 2) (48K)

static struct BurnRomInfo Spectuma7RomDesc[] = {
	{ "Tuma 7 (1990)(Delta Software)(Part 1 of 2).z80", 0x092e8, 0x79f7bca6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectuma7, Spectuma7, Spectrum)
STD_ROM_FN(Spectuma7)

struct BurnDriver BurnSpectuma7 = {
	"spec_tuma7", NULL, "spec_spectrum", NULL, "1990",
	"Tuma 7 (Part 1 of 2) (48K)\0", NULL, "Delta Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectuma7RomInfo, Spectuma7RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tuma 7 (Part 2 of 2) (48K)

static struct BurnRomInfo Spectuma72RomDesc[] = {
	{ "Tuma 7 (1990)(Delta Software)(Part 2 of 2).z80", 0x09b5a, 0x7b18bc00, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectuma72, Spectuma72, Spectrum)
STD_ROM_FN(Spectuma72)

struct BurnDriver BurnSpectuma72 = {
	"spec_tuma72", "spec_tuma7", "spec_spectrum", NULL, "1990",
	"Tuma 7 (Part 2 of 2) (48K)\0", NULL, "Delta Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectuma72RomInfo, Spectuma72RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tumler (no) (48K)

static struct BurnRomInfo SpectumlernoRomDesc[] = {
	{ "Tumler (1983)(Viking Data)(no).z80", 0x052b9, 0x91bd66f2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectumlerno, Spectumlerno, Spectrum)
STD_ROM_FN(Spectumlerno)

struct BurnDriver BurnSpectumlerno = {
	"spec_tumlerno", NULL, "spec_spectrum", NULL, "1983",
	"Tumler (no) (48K)\0", NULL, "Viking Data", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectumlernoRomInfo, SpectumlernoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tuneles Marcianos (Spanish) (48K)

static struct BurnRomInfo SpectunemarcRomDesc[] = {
	{ "Tuneles Marcianos (1983)(Ventamatic)(es).z80", 0x036f9, 0xe39df3e6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectunemarc, Spectunemarc, Spectrum)
STD_ROM_FN(Spectunemarc)

struct BurnDriver BurnSpectunemarc = {
	"spec_tunemarc", NULL, "spec_spectrum", NULL, "1983",
	"Tuneles Marcianos (Spanish) (48K)\0", NULL, "Ventamatic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectunemarcRomInfo, SpectunemarcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tunnel Raider (48K)

static struct BurnRomInfo SpectunnraidRomDesc[] = {
	{ "Tunnel Raider (19xx)(-).z80", 0x0144d, 0xc58ceae4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectunnraid, Spectunnraid, Spectrum)
STD_ROM_FN(Spectunnraid)

struct BurnDriver BurnSpectunnraid = {
	"spec_tunnraid", NULL, "spec_spectrum", NULL, "19xx",
	"Tunnel Raider (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectunnraidRomInfo, SpectunnraidRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tupik (demo) (128K)

static struct BurnRomInfo SpectupikdemRomDesc[] = {
	{ "Tupik (demo) (19xx)(KYO)[128K].z80", 0x03ef3, 0x978e8dd0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectupikdem, Spectupikdem, Spectrum)
STD_ROM_FN(Spectupikdem)

struct BurnDriver BurnSpectupikdem = {
	"spec_tupikdem", NULL, "spec_spec128", NULL, "19xx",
	"Tupik (demo) (128K)\0", NULL, "KYO", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectupikdemRomInfo, SpectupikdemRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Turbo Boat Simulator (48K)

static struct BurnRomInfo SpecturboasiRomDesc[] = {
	{ "Turbo Boat Simulator (1988)(Silverbird Software).z80", 0x071e8, 0xa14d5fb7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specturboasi, Specturboasi, Spectrum)
STD_ROM_FN(Specturboasi)

struct BurnDriver BurnSpecturboasi = {
	"spec_turboasi", NULL, "spec_spectrum", NULL, "1988",
	"Turbo Boat Simulator (48K)\0", NULL, "Silverbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecturboasiRomInfo, SpecturboasiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Turbo Chess (48K)

static struct BurnRomInfo SpecturbchesRomDesc[] = {
	{ "Turbo Chess (1984)(Kerian UK).z80", 0x03e48, 0x7d86d07c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specturbches, Specturbches, Spectrum)
STD_ROM_FN(Specturbches)

struct BurnDriver BurnSpecturbches = {
	"spec_turbches", NULL, "spec_spectrum", NULL, "1984",
	"Turbo Chess (48K)\0", NULL, "Kerian UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecturbchesRomInfo, SpecturbchesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Turbo Cup Challenge (48K)

static struct BurnRomInfo SpecturcupchRomDesc[] = {
	{ "Turbo Cup Challenge (1989)(Loriciels).z80", 0x09ac3, 0x3a72d467, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specturcupch, Specturcupch, Spectrum)
STD_ROM_FN(Specturcupch)

struct BurnDriver BurnSpecturcupch = {
	"spec_turcupch", NULL, "spec_spectrum", NULL, "1989",
	"Turbo Cup Challenge (48K)\0", NULL, "Loriciels", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecturcupchRomInfo, SpecturcupchRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Turbo Driver (48K)

static struct BurnRomInfo SpecturbdrivRomDesc[] = {
	{ "Turbo Driver (1983)(Boss Software).z80", 0x02503, 0xf91bca75, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specturbdriv, Specturbdriv, Spectrum)
STD_ROM_FN(Specturbdriv)

struct BurnDriver BurnSpecturbdriv = {
	"spec_turbdriv", NULL, "spec_spectrum", NULL, "1983",
	"Turbo Driver (48K)\0", NULL, "Boss Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecturbdrivRomInfo, SpecturbdrivRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Turbo Esprit (48K)

static struct BurnRomInfo SpecturbesprRomDesc[] = {
	{ "Turbo Esprit (1986)(Durell Software).z80", 0x09fe8, 0x8c1092ee, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specturbespr, Specturbespr, Spectrum)
STD_ROM_FN(Specturbespr)

struct BurnDriver BurnSpecturbespr = {
	"spec_turbespr", NULL, "spec_spectrum", NULL, "1986",
	"Turbo Esprit (48K)\0", NULL, "Durell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecturbesprRomInfo, SpecturbesprRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Turbo Girl (Spanish) (48K)

static struct BurnRomInfo SpecturbgirlRomDesc[] = {
	{ "Turbo Girl (1988)(Dinamic Software)(es).z80", 0x0a2b3, 0x03c4b692, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specturbgirl, Specturbgirl, Spectrum)
STD_ROM_FN(Specturbgirl)

struct BurnDriver BurnSpecturbgirl = {
	"spec_turbgirl", NULL, "spec_spectrum", NULL, "1988",
	"Turbo Girl (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecturbgirlRomInfo, SpecturbgirlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Turbo Kart Racer (48K)

static struct BurnRomInfo SpecturkarraRomDesc[] = {
	{ "Turbo Kart Racer (1991)(Players Software).z80", 0x09553, 0xcde8e5e8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specturkarra, Specturkarra, Spectrum)
STD_ROM_FN(Specturkarra)

struct BurnDriver BurnSpecturkarra = {
	"spec_turkarra", NULL, "spec_spectrum", NULL, "1991",
	"Turbo Kart Racer (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecturkarraRomInfo, SpecturkarraRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Turbo Racers (48K)

static struct BurnRomInfo SpecturbraceRomDesc[] = {
	{ "Turbo Racers (1996)(CSSCGC).z80", 0x013b3, 0x8732dee7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specturbrace, Specturbrace, Spectrum)
STD_ROM_FN(Specturbrace)

struct BurnDriver BurnSpecturbrace = {
	"spec_turbrace", NULL, "spec_spectrum", NULL, "1996",
	"Turbo Racers (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecturbraceRomInfo, SpecturbraceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Turbo Skate Fighter (48K)

static struct BurnRomInfo SpecturskafiRomDesc[] = {
	{ "Turbo Skate Fighter (1989)(Zeppelin Games).z80", 0x0983e, 0x50528554, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specturskafi, Specturskafi, Spectrum)
STD_ROM_FN(Specturskafi)

struct BurnDriver BurnSpecturskafi = {
	"spec_turskafi", NULL, "spec_spectrum", NULL, "1989",
	"Turbo Skate Fighter (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecturskafiRomInfo, SpecturskafiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Turbo the Tortoise (48K)

static struct BurnRomInfo Specturbtort_48RomDesc[] = {
	{ "Turbo the Tortoise (1992)(Hi-Tec Software).z80", 0x07862, 0xe348f656, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specturbtort_48, Specturbtort_48, Spectrum)
STD_ROM_FN(Specturbtort_48)

struct BurnDriver BurnSpecturbtort_48 = {
	"spec_turbtort_48", "spec_turbtort", "spec_spectrum", NULL, "1992",
	"Turbo the Tortoise (48K)\0", NULL, "Hi-Tec Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specturbtort_48RomInfo, Specturbtort_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Turbo the Tortoise (128K)

static struct BurnRomInfo SpecturbtortRomDesc[] = {
	{ "Turbo the Tortoise (1992)(Hi-Tec Software)[128K].z80", 0x11910, 0x1c155b36, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specturbtort, Specturbtort, Spectrum)
STD_ROM_FN(Specturbtort)

struct BurnDriver BurnSpecturbtort = {
	"spec_turbtort", NULL, "spec_spec128", NULL, "1992",
	"Turbo the Tortoise (128K)\0", NULL, "Hi-Tec Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecturbtortRomInfo, SpecturbtortRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Turbulence (48K)

static struct BurnRomInfo Specturbulen_48RomDesc[] = {
	{ "Turbulence (1993)(Beyond Belief).z80", 0x06c80, 0xff53af7b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specturbulen_48, Specturbulen_48, Spectrum)
STD_ROM_FN(Specturbulen_48)

struct BurnDriver BurnSpecturbulen_48 = {
	"spec_turbulen_48", "spec_turbulen", "spec_spectrum", NULL, "1993",
	"Turbulence (48K)\0", NULL, "Beyond Belief", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specturbulen_48RomInfo, Specturbulen_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Turbulence (128K)

static struct BurnRomInfo SpecturbulenRomDesc[] = {
	{ "Turbulence (1993)(Beyond Belief)[128K].z80", 0x07107, 0xed6e8594, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specturbulen, Specturbulen, Spectrum)
STD_ROM_FN(Specturbulen)

struct BurnDriver BurnSpecturbulen = {
	"spec_turbulen", NULL, "spec_spec128", NULL, "1993",
	"Turbulence (128K)\0", NULL, "Beyond Belief", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecturbulenRomInfo, SpecturbulenRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Turmoil (48K)

static struct BurnRomInfo SpecturmoilRomDesc[] = {
	{ "Turmoil (1984)(Bug-Byte Software).z80", 0x084d0, 0x4db17b3d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specturmoil, Specturmoil, Spectrum)
STD_ROM_FN(Specturmoil)

struct BurnDriver BurnSpecturmoil = {
	"spec_turmoil", NULL, "spec_spectrum", NULL, "1984",
	"Turmoil (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecturmoilRomInfo, SpecturmoilRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Turrican (128K)

static struct BurnRomInfo SpecturricanRomDesc[] = {
	{ "Turrican (1990)(Rainbow Arts)[128K][incomplete].z80", 0x08be3, 0x2acad4e9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specturrican, Specturrican, Spectrum)
STD_ROM_FN(Specturrican)

struct BurnDriver BurnSpecturrican = {
	"spec_turrican", NULL, "spec_spec128", NULL, "1990",
	"Turrican (128K)\0", NULL, "Rainbow Arts", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecturricanRomInfo, SpecturricanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Turrican II - The Final Fight (128K)

static struct BurnRomInfo Specturricn2RomDesc[] = {
	{ "Turrican II - The Final Fight (1991)(Rainbow Arts)[128K][end].z80", 0x067b2, 0x57d523be, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specturricn2, Specturricn2, Spectrum)
STD_ROM_FN(Specturricn2)

struct BurnDriver BurnSpecturricn2 = {
	"spec_turricn2", NULL, "spec_spec128", NULL, "1991",
	"Turrican II - The Final Fight (128K)\0", NULL, "Rainbow Arts", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specturricn2RomInfo, Specturricn2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tutankhamun (48K)

static struct BurnRomInfo SpectutankhaRomDesc[] = {
	{ "Tutankhamun (1983)(Micromania).z80", 0x031f7, 0x54d1e482, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectutankha, Spectutankha, Spectrum)
STD_ROM_FN(Spectutankha)

struct BurnDriver BurnSpectutankha = {
	"spec_tutankha", NULL, "spec_spectrum", NULL, "1983",
	"Tutankhamun (48K)\0", NULL, "Micromania", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectutankhaRomInfo, SpectutankhaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tute (Spanish) (48K)

static struct BurnRomInfo SpectuteesRomDesc[] = {
	{ "Tute (1984)(Investronica)(es).z80", 0x09743, 0x5ab09b22, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectutees, Spectutees, Spectrum)
STD_ROM_FN(Spectutees)

struct BurnDriver BurnSpectutees = {
	"spec_tutees", NULL, "spec_spectrum", NULL, "1984",
	"Tute (Spanish) (48K)\0", NULL, "Investronica", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectuteesRomInfo, SpectuteesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tutti Fruti (Spanish) (48K)

static struct BurnRomInfo SpectuttfrutRomDesc[] = {
	{ "Tutti Fruti (1985)(Ventamatic)(es).z80", 0x05177, 0x05e82389, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectuttfrut, Spectuttfrut, Spectrum)
STD_ROM_FN(Spectuttfrut)

struct BurnDriver BurnSpectuttfrut = {
	"spec_tuttfrut", NULL, "spec_spectrum", NULL, "1985",
	"Tutti Fruti (Spanish) (48K)\0", NULL, "Ventamatic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectuttfrutRomInfo, SpectuttfrutRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Twelve Days of Christmas, The (Part 1 of 3) (48K)

static struct BurnRomInfo Spec12daychRomDesc[] = {
	{ "Twelve Days of Christmas, The (1994)(Zenobi Software)(Part 1 of 3).z80", 0x090e4, 0x00de46d0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec12daych, Spec12daych, Spectrum)
STD_ROM_FN(Spec12daych)

struct BurnDriver BurnSpec12daych = {
	"spec_12daych", NULL, "spec_spectrum", NULL, "1994",
	"Twelve Days of Christmas, The (Part 1 of 3) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec12daychRomInfo, Spec12daychRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Twelve Days of Christmas, The (Part 2 of 3) (48K)

static struct BurnRomInfo Spec12daych2RomDesc[] = {
	{ "Twelve Days of Christmas, The (1994)(Zenobi Software)(Part 2 of 3).z80", 0x0900b, 0xc62295ea, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec12daych2, Spec12daych2, Spectrum)
STD_ROM_FN(Spec12daych2)

struct BurnDriver BurnSpec12daych2 = {
	"spec_12daych2", "spec_12daych", "spec_spectrum", NULL, "1994",
	"Twelve Days of Christmas, The (Part 2 of 3) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec12daych2RomInfo, Spec12daych2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Twelve Days of Christmas, The (Part 3 of 3) (48K)

static struct BurnRomInfo Spec12daych3RomDesc[] = {
	{ "Twelve Days of Christmas, The (1994)(Zenobi Software)(Part 3 of 3).z80", 0x088cf, 0x4951c9b9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spec12daych3, Spec12daych3, Spectrum)
STD_ROM_FN(Spec12daych3)

struct BurnDriver BurnSpec12daych3 = {
	"spec_12daych3", "spec_12daych", "spec_spectrum", NULL, "1994",
	"Twelve Days of Christmas, The (Part 3 of 3) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spec12daych3RomInfo, Spec12daych3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Twice Shy (Part 1 of 2) (48K)

static struct BurnRomInfo SpectwiceshyRomDesc[] = {
	{ "Twice Shy (1986)(Mosaic Publishing)(Part 1 of 2).z80", 0x0a0e0, 0x4ec3431c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectwiceshy, Spectwiceshy, Spectrum)
STD_ROM_FN(Spectwiceshy)

struct BurnDriver BurnSpectwiceshy = {
	"spec_twiceshy", NULL, "spec_spectrum", NULL, "1986",
	"Twice Shy (Part 1 of 2) (48K)\0", NULL, "Mosaic Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectwiceshyRomInfo, SpectwiceshyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Twice Shy (Part 2 of 2) (48K)

static struct BurnRomInfo Spectwiceshy2RomDesc[] = {
	{ "Twice Shy (1986)(Mosaic Publishing)(Part 2 of 2).z80", 0x06158, 0xa4045f7b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectwiceshy2, Spectwiceshy2, Spectrum)
STD_ROM_FN(Spectwiceshy2)

struct BurnDriver BurnSpectwiceshy2 = {
	"spec_twiceshy2", "spec_twiceshy", "spec_spectrum", NULL, "1986",
	"Twice Shy (Part 2 of 2) (48K)\0", NULL, "Mosaic Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectwiceshy2RomInfo, Spectwiceshy2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Twilight Zone (48K)

static struct BurnRomInfo SpectwilzoneRomDesc[] = {
	{ "Twilight Zone (1984)(Thor Computer Software).z80", 0x01fce, 0x855182b3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectwilzone, Spectwilzone, Spectrum)
STD_ROM_FN(Spectwilzone)

struct BurnDriver BurnSpectwilzone = {
	"spec_twilzone", NULL, "spec_spectrum", NULL, "1984",
	"Twilight Zone (48K)\0", NULL, "Thor Computer Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectwilzoneRomInfo, SpectwilzoneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Twin Kingdom Valley (48K)

static struct BurnRomInfo SpectwikinvaRomDesc[] = {
	{ "Twin Kingdom Valley (1984)(Bug-Byte Software).z80", 0x08b68, 0xee518c20, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectwikinva, Spectwikinva, Spectrum)
STD_ROM_FN(Spectwikinva)

struct BurnDriver BurnSpectwikinva = {
	"spec_twikinva", NULL, "spec_spectrum", NULL, "1984",
	"Twin Kingdom Valley (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectwikinvaRomInfo, SpectwikinvaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Twin Turbo V8 (48K)

static struct BurnRomInfo Spectwiturv8_48RomDesc[] = {
	{ "Twin Turbo V8 (1989)(Codemasters).z80", 0x09e78, 0xfef5ba62, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectwiturv8_48, Spectwiturv8_48, Spectrum)
STD_ROM_FN(Spectwiturv8_48)

struct BurnDriver BurnSpectwiturv8_48 = {
	"spec_twiturv8_48", "spec_twiturv8", "spec_spectrum", NULL, "1989",
	"Twin Turbo V8 (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectwiturv8_48RomInfo, Spectwiturv8_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Twin Turbo V8 (128K)

static struct BurnRomInfo Spectwiturv8RomDesc[] = {
	{ "Twin Turbo V8 (1989)(Codemasters)[128K].z80", 0x0ec92, 0xbd4b8c8a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectwiturv8, Spectwiturv8, Spectrum)
STD_ROM_FN(Spectwiturv8)

struct BurnDriver BurnSpectwiturv8 = {
	"spec_twiturv8", NULL, "spec_spec128", NULL, "1989",
	"Twin Turbo V8 (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Spectwiturv8RomInfo, Spectwiturv8RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Twintris (48K)

static struct BurnRomInfo SpectwintrisRomDesc[] = {
	{ "Twintris (1995)(Zack).z80", 0x03fd7, 0x62c55f49, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectwintris, Spectwintris, Spectrum)
STD_ROM_FN(Spectwintris)

struct BurnDriver BurnSpectwintris = {
	"spec_twintris", NULL, "spec_spectrum", NULL, "1995",
	"Twintris (48K)\0", NULL, "Zack", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectwintrisRomInfo, SpectwintrisRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Twister - The Mother of Charlotte (48K)

static struct BurnRomInfo SpectwthmochRomDesc[] = {
	{ "Twister - The Mother of Charlotte (1986)(System 3 Software).z80", 0x082af, 0x2459f5f0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectwthmoch, Spectwthmoch, Spectrum)
STD_ROM_FN(Spectwthmoch)

struct BurnDriver BurnSpectwthmoch = {
	"spec_twthmoch", NULL, "spec_spectrum", NULL, "1986",
	"Twister - The Mother of Charlotte (48K)\0", NULL, "System 3 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectwthmochRomInfo, SpectwthmochRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Two Gun Turtle (48K)

static struct BurnRomInfo SpectwoguntuRomDesc[] = {
	{ "Two Gun Turtle (1984)(MC Lothlorien).z80", 0x02738, 0x034ae92e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectwoguntu, Spectwoguntu, Spectrum)
STD_ROM_FN(Spectwoguntu)

struct BurnDriver BurnSpectwoguntu = {
	"spec_twoguntu", NULL, "spec_spectrum", NULL, "1984",
	"Two Gun Turtle (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectwoguntuRomInfo, SpectwoguntuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Two Triangles (48K)

static struct BurnRomInfo SpectwotrianRomDesc[] = {
	{ "Two Triangles (1995)(Vaxalon).z80", 0x009bb, 0x05b00af7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectwotrian, Spectwotrian, Spectrum)
STD_ROM_FN(Spectwotrian)

struct BurnDriver BurnSpectwotrian = {
	"spec_twotrian", NULL, "spec_spectrum", NULL, "1995",
	"Two Triangles (48K)\0", NULL, "Vaxalon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectwotrianRomInfo, SpectwotrianRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Tycoon - The Crossword Business Game (48K)

static struct BurnRomInfo SpectythcrbuRomDesc[] = {
	{ "Tycoon - The Crossword Business Game (1985)(Duckworth Educational Computing - Newtech Publishing).z80", 0x0a329, 0xfdb8f97a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectythcrbu, Spectythcrbu, Spectrum)
STD_ROM_FN(Spectythcrbu)

struct BurnDriver BurnSpectythcrbu = {
	"spec_tythcrbu", NULL, "spec_spectrum", NULL, "1985",
	"Tycoon - The Crossword Business Game (48K)\0", NULL, "Duckworth Educational Computing - Newtech Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectythcrbuRomInfo, SpectythcrbuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Typhoon (128K)

static struct BurnRomInfo SpectyphoonRomDesc[] = {
	{ "Typhoon (1988)(Ocean)[128K].z80", 0x1adb5, 0xb94228c8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Spectyphoon, Spectyphoon, Spectrum)
STD_ROM_FN(Spectyphoon)

struct BurnDriver BurnSpectyphoon = {
	"spec_typhoon", NULL, "spec_spec128", NULL, "1988",
	"Typhoon (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpectyphoonRomInfo, SpectyphoonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// U-Boat Hunt (48K)

static struct BurnRomInfo SpecuboathunRomDesc[] = {
	{ "U-Boat Hunt (1983)(Protek Computing).z80", 0x078e7, 0x51c79e62, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specuboathun, Specuboathun, Spectrum)
STD_ROM_FN(Specuboathun)

struct BurnDriver BurnSpecuboathun = {
	"spec_uboathun", NULL, "spec_spectrum", NULL, "1983",
	"U-Boat Hunt (48K)\0", NULL, "Protek Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecuboathunRomInfo, SpecuboathunRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Uchi Mata (48K)

static struct BurnRomInfo SpecuchimataRomDesc[] = {
	{ "Uchi Mata (1987)(Martech Games).z80", 0x08e79, 0x3b5ff6ce, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specuchimata, Specuchimata, Spectrum)
STD_ROM_FN(Specuchimata)

struct BurnDriver BurnSpecuchimata = {
	"spec_uchimata", NULL, "spec_spectrum", NULL, "1987",
	"Uchi Mata (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecuchimataRomInfo, SpecuchimataRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Uchi Mata 2 (48K)

static struct BurnRomInfo Specuchimat2RomDesc[] = {
	{ "Uchi Mata 2 (1988)(Martech Games).z80", 0x0a2d1, 0x4c506a3d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specuchimat2, Specuchimat2, Spectrum)
STD_ROM_FN(Specuchimat2)

struct BurnDriver BurnSpecuchimat2 = {
	"spec_uchimat2", NULL, "spec_spectrum", NULL, "1988",
	"Uchi Mata 2 (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specuchimat2RomInfo, Specuchimat2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// UFO (48K)

static struct BurnRomInfo SpecufoRomDesc[] = {
	{ "UFO (1982)(J.K. Greye Enterprises).z80", 0x02258, 0x30776772, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specufo, Specufo, Spectrum)
STD_ROM_FN(Specufo)

struct BurnDriver BurnSpecufo = {
	"spec_ufo", NULL, "spec_spectrum", NULL, "1982",
	"UFO (48K)\0", NULL, "J.K. Greye Enterprises", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecufoRomInfo, SpecufoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// UFO-Adventure (German) (48K)

static struct BurnRomInfo SpecufoadvenRomDesc[] = {
	{ "UFO-Adventure (1983)(Joachim Glaubercht)(de).z80", 0x03453, 0x5fbfe502, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specufoadven, Specufoadven, Spectrum)
STD_ROM_FN(Specufoadven)

struct BurnDriver BurnSpecufoadven = {
	"spec_ufoadven", NULL, "spec_spectrum", NULL, "1983",
	"UFO-Adventure (German) (48K)\0", NULL, "Joachim Glaubercht", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecufoadvenRomInfo, SpecufoadvenRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// UGH! (48K)

static struct BurnRomInfo SpecughRomDesc[] = {
	{ "UGH! (1984)(Softek Software International).z80", 0x09fb2, 0x677416dc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specugh, Specugh, Spectrum)
STD_ROM_FN(Specugh)

struct BurnDriver BurnSpecugh = {
	"spec_ugh", NULL, "spec_spectrum", NULL, "1984",
	"UGH! (48K)\0", NULL, "Softek Software International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecughRomInfo, SpecughRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ujpuzi (hu) (128K)

static struct BurnRomInfo SpecujpuzihuRomDesc[] = {
	{ "Ujpuzi (1998)(Laszlo Nyitrai)(hu)[128K].z80", 0x026af, 0x191c9e01, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specujpuzihu, Specujpuzihu, Spectrum)
STD_ROM_FN(Specujpuzihu)

struct BurnDriver BurnSpecujpuzihu = {
	"spec_ujpuzihu", NULL, "spec_spec128", NULL, "1998",
	"Ujpuzi (hu) (128K)\0", NULL, "Laszlo Nyitrai", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecujpuzihuRomInfo, SpecujpuzihuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ulises (48K)

static struct BurnRomInfo SpeculisesRomDesc[] = {
	{ "Ulises (1989)(Opera Soft).z80", 0x0aa86, 0xa0f2fcf2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speculises, Speculises, Spectrum)
STD_ROM_FN(Speculises)

struct BurnDriver BurnSpeculises = {
	"spec_ulises", NULL, "spec_spectrum", NULL, "1989",
	"Ulises (48K)\0", NULL, "Opera Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeculisesRomInfo, SpeculisesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ultima Ratio (48K)

static struct BurnRomInfo SpecultiratiRomDesc[] = {
	{ "Ultima Ratio (1987)(Firebird Software).z80", 0x069a2, 0xb3dbfe3b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specultirati, Specultirati, Spectrum)
STD_ROM_FN(Specultirati)

struct BurnDriver BurnSpecultirati = {
	"spec_ultirati", NULL, "spec_spectrum", NULL, "1987",
	"Ultima Ratio (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecultiratiRomInfo, SpecultiratiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ultimate Combat Mission (48K)

static struct BurnRomInfo Specultcommi_48RomDesc[] = {
	{ "Ultimate Combat Mission (1987)(Mastertronic Added Dimension).z80", 0x08545, 0x315fbd3c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specultcommi_48, Specultcommi_48, Spectrum)
STD_ROM_FN(Specultcommi_48)

struct BurnDriver BurnSpecultcommi_48 = {
	"spec_ultcommi_48", "spec_ultcommi", "spec_spectrum", NULL, "1987",
	"Ultimate Combat Mission (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specultcommi_48RomInfo, Specultcommi_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ultimate Combat Mission (128K)

static struct BurnRomInfo SpecultcommiRomDesc[] = {
	{ "Ultimate Combat Mission (1987)(Mastertronic Added Dimension)[128K].z80", 0x09e51, 0x9b06899f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specultcommi, Specultcommi, Spectrum)
STD_ROM_FN(Specultcommi)

struct BurnDriver BurnSpecultcommi = {
	"spec_ultcommi", NULL, "spec_spec128", NULL, "1987",
	"Ultimate Combat Mission (128K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecultcommiRomInfo, SpecultcommiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ultra Reflect (48K)

static struct BurnRomInfo SpecultrreflRomDesc[] = {
	{ "Ultra Reflect (1995)(Tiger's Claw).z80", 0x04d1c, 0x3355fe25, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specultrrefl, Specultrrefl, Spectrum)
STD_ROM_FN(Specultrrefl)

struct BurnDriver BurnSpecultrrefl = {
	"spec_ultrrefl", NULL, "spec_spectrum", NULL, "1995",
	"Ultra Reflect (48K)\0", NULL, "Tiger's Claw", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecultrreflRomInfo, SpecultrreflRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Umbral, El (Spanish) (48K)

static struct BurnRomInfo SpecumbrelesRomDesc[] = {
	{ "Umbral, El (1989)(Jaime Cristobal Urbicain)(es).z80", 0x08e5b, 0xc6fccf03, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specumbreles, Specumbreles, Spectrum)
STD_ROM_FN(Specumbreles)

struct BurnDriver BurnSpecumbreles = {
	"spec_umbreles", NULL, "spec_spectrum", NULL, "1989",
	"Umbral, El (Spanish) (48K)\0", NULL, "Jaime Cristobal Urbicain", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecumbrelesRomInfo, SpecumbrelesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Uncle Jack (48K)

static struct BurnRomInfo SpecuncljackRomDesc[] = {
	{ "Uncle Jack (1984)(J.J. Soft).z80", 0x045da, 0x2361af2e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specuncljack, Specuncljack, Spectrum)
STD_ROM_FN(Specuncljack)

struct BurnDriver BurnSpecuncljack = {
	"spec_uncljack", NULL, "spec_spectrum", NULL, "1984",
	"Uncle Jack (48K)\0", NULL, "J.J. Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecuncljackRomInfo, SpecuncljackRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Underground (Spanish) (48K)

static struct BurnRomInfo SpecundergroRomDesc[] = {
	{ "Underground (1988)(System 4)(es).z80", 0x0986f, 0x568953e0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specundergro, Specundergro, Spectrum)
STD_ROM_FN(Specundergro)

struct BurnDriver BurnSpecundergro = {
	"spec_undergro", NULL, "spec_spectrum", NULL, "1988",
	"Underground (Spanish) (48K)\0", NULL, "System 4", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecundergroRomInfo, SpecundergroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Underworld - The Village (48K)

static struct BurnRomInfo SpecundtheviRomDesc[] = {
	{ "Underworld - The Village (1985)(Orpheus).z80", 0x07663, 0xe45c0dbd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specundthevi, Specundthevi, Spectrum)
STD_ROM_FN(Specundthevi)

struct BurnDriver BurnSpecundthevi = {
	"spec_undthevi", NULL, "spec_spectrum", NULL, "1985",
	"Underworld - The Village (48K)\0", NULL, "Orpheus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecundtheviRomInfo, SpecundtheviRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Underwurlde (48K)

static struct BurnRomInfo SpecunderwurRomDesc[] = {
	{ "Underwurlde (1984)(Ultimate Play The Game).z80", 0x09cdb, 0xb74e3dc4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specunderwur, Specunderwur, Spectrum)
STD_ROM_FN(Specunderwur)

struct BurnDriver BurnSpecunderwur = {
	"spec_underwur", NULL, "spec_spectrum", NULL, "1984",
	"Underwurlde (48K)\0", NULL, "Ultimate Play The Game", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecunderwurRomInfo, SpecunderwurRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// United (48K)

static struct BurnRomInfo SpecunitedRomDesc[] = {
	{ "United (1984)(CCS).z80", 0x089dd, 0xb9dec5a2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specunited, Specunited, Spectrum)
STD_ROM_FN(Specunited)

struct BurnDriver BurnSpecunited = {
	"spec_united", NULL, "spec_spectrum", NULL, "1984",
	"United (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecunitedRomInfo, SpecunitedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Unitrax (48K)

static struct BurnRomInfo SpecunitraxRomDesc[] = {
	{ "Unitrax (1987)(Streetwise).z80", 0x09210, 0x4e463cba, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specunitrax, Specunitrax, Spectrum)
STD_ROM_FN(Specunitrax)

struct BurnDriver BurnSpecunitrax = {
	"spec_unitrax", NULL, "spec_spectrum", NULL, "1987",
	"Unitrax (48K)\0", NULL, "Streetwise", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecunitraxRomInfo, SpecunitraxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Universal Hero (48K)

static struct BurnRomInfo SpecunivheroRomDesc[] = {
	{ "Universal Hero (1986)(Mastertronic).z80", 0x09d70, 0x42967e50, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specunivhero, Specunivhero, Spectrum)
STD_ROM_FN(Specunivhero)

struct BurnDriver BurnSpecunivhero = {
	"spec_univhero", NULL, "spec_spectrum", NULL, "1986",
	"Universal Hero (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecunivheroRomInfo, SpecunivheroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Universe (48K)

static struct BurnRomInfo SpecuniverseRomDesc[] = {
	{ "Universe (2002)(Naffsoft).z80", 0x01ff8, 0x5bbfc476, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specuniverse, Specuniverse, Spectrum)
STD_ROM_FN(Specuniverse)

struct BurnDriver BurnSpecuniverse = {
	"spec_universe", NULL, "spec_spectrum", NULL, "2002",
	"Universe (48K)\0", NULL, "Naffsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecuniverseRomInfo, SpecuniverseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Untouchables, The (48K)

static struct BurnRomInfo SpecuntouchbRomDesc[] = {
	{ "Untouchables, The (1989)(Ocean)[needs tape load].z80", 0x09cea, 0x98cc8b4f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specuntouchb, Specuntouchb, Spectrum)
STD_ROM_FN(Specuntouchb)

struct BurnDriver BurnSpecuntouchb = {
	"spec_untouchb", NULL, "spec_spectrum", NULL, "1989",
	"Untouchables, The (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecuntouchbRomInfo, SpecuntouchbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Up for Grabs (48K)

static struct BurnRomInfo SpecupfograbRomDesc[] = {
	{ "Up for Grabs (1988)(Summit Software).z80", 0x0684b, 0x2ade717a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specupfograb, Specupfograb, Spectrum)
STD_ROM_FN(Specupfograb)

struct BurnDriver BurnSpecupfograb = {
	"spec_upfograb", NULL, "spec_spectrum", NULL, "1988",
	"Up for Grabs (48K)\0", NULL, "Summit Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecupfograbRomInfo, SpecupfograbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Upir (cs) (128K)

static struct BurnRomInfo SpecupircsRomDesc[] = {
	{ "Upir (19xx)(-)(cs)[128K].z80", 0x088cf, 0xb5dbde8c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specupircs, Specupircs, Spectrum)
STD_ROM_FN(Specupircs)

struct BurnDriver BurnSpecupircs = {
	"spec_upircs", NULL, "spec_spec128", NULL, "19xx",
	"Upir (cs) (128K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecupircsRomInfo, SpecupircsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Urban (48K)

static struct BurnRomInfo SpecurbanRomDesc[] = {
	{ "Urban (1991)(Zenobi Software).z80", 0x09701, 0x5bcc26b5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specurban, Specurban, Spectrum)
STD_ROM_FN(Specurban)

struct BurnDriver BurnSpecurban = {
	"spec_urban", NULL, "spec_spectrum", NULL, "1991",
	"Urban (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecurbanRomInfo, SpecurbanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Urban Upstart (48K)

static struct BurnRomInfo SpecurbaupstRomDesc[] = {
	{ "Urban Upstart (1983)(Richard Shepherd Software).z80", 0x0aa74, 0xa24ac7e5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specurbaupst, Specurbaupst, Spectrum)
STD_ROM_FN(Specurbaupst)

struct BurnDriver BurnSpecurbaupst = {
	"spec_urbaupst", NULL, "spec_spectrum", NULL, "1983",
	"Urban Upstart (48K)\0", NULL, "Richard Shepherd Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecurbaupstRomInfo, SpecurbaupstRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Uridium (48K)

static struct BurnRomInfo SpecuridiumRomDesc[] = {
	{ "Uridium (1985)(Hewson Consultants).z80", 0x0a73a, 0xb83d9b89, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specuridium, Specuridium, Spectrum)
STD_ROM_FN(Specuridium)

struct BurnDriver BurnSpecuridium = {
	"spec_uridium", NULL, "spec_spectrum", NULL, "1985",
	"Uridium (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecuridiumRomInfo, SpecuridiumRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Uridium+ (48K)

static struct BurnRomInfo SpecuridiumpRomDesc[] = {
	{ "Uridium+ (1986)(Hewson Consultants).z80", 0x094a1, 0x22d9f3d7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specuridiump, Specuridiump, Spectrum)
STD_ROM_FN(Specuridiump)

struct BurnDriver BurnSpecuridiump = {
	"spec_uridiump", NULL, "spec_spectrum", NULL, "1986",
	"Uridium+ (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecuridiumpRomInfo, SpecuridiumpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Urquahart Castle (48K)

static struct BurnRomInfo SpecurqucastRomDesc[] = {
	{ "Urquahart Castle (1985)(Central Solutions).z80", 0x080da, 0x5b2b1544, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specurqucast, Specurqucast, Spectrum)
STD_ROM_FN(Specurqucast)

struct BurnDriver BurnSpecurqucast = {
	"spec_urqucast", NULL, "spec_spectrum", NULL, "1985",
	"Urquahart Castle (48K)\0", NULL, "Central Solutions", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecurqucastRomInfo, SpecurqucastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Use Your Loaf (48K)

static struct BurnRomInfo SpecuseyouloRomDesc[] = {
	{ "Use Your Loaf (19xx)(The Guild).z80", 0x0a077, 0xb0786ab1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specuseyoulo, Specuseyoulo, Spectrum)
STD_ROM_FN(Specuseyoulo)

struct BurnDriver BurnSpecuseyoulo = {
	"spec_useyoulo", NULL, "spec_spectrum", NULL, "19xx",
	"Use Your Loaf (48K)\0", NULL, "The Guild", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecuseyouloRomInfo, SpecuseyouloRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// UTE (48K)

static struct BurnRomInfo SpecuteRomDesc[] = {
	{ "UTE (1984)(-).z80", 0x01ae5, 0xf02b1312, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specute, Specute, Spectrum)
STD_ROM_FN(Specute)

struct BurnDriver BurnSpecute = {
	"spec_ute", NULL, "spec_spectrum", NULL, "1984",
	"UTE (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecuteRomInfo, SpecuteRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Utok Bile Mysky (cs) (48K)

static struct BurnRomInfo SpecutobilmyRomDesc[] = {
	{ "Utok Bile Mysky (1993)(Proxima Software)(cs).z80", 0x07b63, 0x6a4b0d26, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specutobilmy, Specutobilmy, Spectrum)
STD_ROM_FN(Specutobilmy)

struct BurnDriver BurnSpecutobilmy = {
	"spec_utobilmy", NULL, "spec_spectrum", NULL, "1993",
	"Utok Bile Mysky (cs) (48K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecutobilmyRomInfo, SpecutobilmyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// V - The Silver Saucer (48K)

static struct BurnRomInfo SpecvthesisaRomDesc[] = {
	{ "V - The Silver Saucer (19xx)(Micronet 800 Telesoftware).z80", 0x04ee6, 0x18911995, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvthesisa, Specvthesisa, Spectrum)
STD_ROM_FN(Specvthesisa)

struct BurnDriver BurnSpecvthesisa = {
	"spec_vthesisa", NULL, "spec_spectrum", NULL, "19xx",
	"V - The Silver Saucer (48K)\0", NULL, "Micronet 800 Telesoftware", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvthesisaRomInfo, SpecvthesisaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// V (48K)

static struct BurnRomInfo SpecvRomDesc[] = {
	{ "V (1986)(Ocean).z80", 0x08af4, 0x763c194a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specv, Specv, Spectrum)
STD_ROM_FN(Specv)

struct BurnDriver BurnSpecv = {
	"spec_v", NULL, "spec_spectrum", NULL, "1986",
	"V (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvRomInfo, SpecvRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vagan Attack (48K)

static struct BurnRomInfo SpecvagaattaRomDesc[] = {
	{ "Vagan Attack (1983)(Atlantis Software).z80", 0x083e6, 0x9a81c0cb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvagaatta, Specvagaatta, Spectrum)
STD_ROM_FN(Specvagaatta)

struct BurnDriver BurnSpecvagaatta = {
	"spec_vagaatta", NULL, "spec_spectrum", NULL, "1983",
	"Vagan Attack (48K)\0", NULL, "Atlantis Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvagaattaRomInfo, SpecvagaattaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Valhalla (Spanish) (48K)

static struct BurnRomInfo SpecvalhallasRomDesc[] = {
	{ "Valhalla (1983)(Legend)(es).z80", 0x0a6bb, 0x8294bf23, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvalhallas, Specvalhallas, Spectrum)
STD_ROM_FN(Specvalhallas)

struct BurnDriver BurnSpecvalhallas = {
	"spec_valhallas", "spec_valhalla", "spec_spectrum", NULL, "1983",
	"Valhalla (Spanish) (48K)\0", NULL, "Legend", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvalhallasRomInfo, SpecvalhallasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Valhalla (48K)

static struct BurnRomInfo SpecvalhallaRomDesc[] = {
	{ "Valhalla (1983)(Legend).z80", 0x0a827, 0x250958c4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvalhalla, Specvalhalla, Spectrum)
STD_ROM_FN(Specvalhalla)

struct BurnDriver BurnSpecvalhalla = {
	"spec_valhalla", NULL, "spec_spectrum", NULL, "1983",
	"Valhalla (48K)\0", NULL, "Legend", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvalhallaRomInfo, SpecvalhallaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Valkyrie 17 - Intro (48K)

static struct BurnRomInfo Specvalk17RomDesc[] = {
	{ "Valkyrie 17 - Intro (1984)(The Ramjam Corporation).z80", 0x03309, 0xf3d4c4b7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvalk17, Specvalk17, Spectrum)
STD_ROM_FN(Specvalk17)

struct BurnDriver BurnSpecvalk17 = {
	"spec_valk17", NULL, "spec_spectrum", NULL, "1984",
	"Valkyrie 17 - Intro (48K)\0", NULL, "The Ramjam Corporation", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specvalk17RomInfo, Specvalk17RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Valkyrie 17 (48K)

static struct BurnRomInfo Specvalk17gRomDesc[] = {
	{ "Valkyrie 17 (1984)(The Ramjam Corporation).z80", 0x0a26d, 0x665a5cfc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvalk17g, Specvalk17g, Spectrum)
STD_ROM_FN(Specvalk17g)

struct BurnDriver BurnSpecvalk17g = {
	"spec_valk17g", "spec_valk17", "spec_spectrum", NULL, "1984",
	"Valkyrie 17 (48K)\0", NULL, "The Ramjam Corporation", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specvalk17gRomInfo, Specvalk17gRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Valley Racer 3D (48K)

static struct BurnRomInfo SpecvalracdRomDesc[] = {
	{ "Valley Racer 3D (1996)(CSSCGC).z80", 0x00e44, 0xbcbd3933, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvalracd, Specvalracd, Spectrum)
STD_ROM_FN(Specvalracd)

struct BurnDriver BurnSpecvalracd = {
	"spec_valracd", NULL, "spec_spectrum", NULL, "1996",
	"Valley Racer 3D (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvalracdRomInfo, SpecvalracdRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Valley, The (ASP Software) (48K)

static struct BurnRomInfo SpecvalltheaRomDesc[] = {
	{ "Valley, The (1982)(ASP Software).z80", 0x0821a, 0x0eae2df6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvallthea, Specvallthea, Spectrum)
STD_ROM_FN(Specvallthea)

struct BurnDriver BurnSpecvallthea = {
	"spec_vallthea", NULL, "spec_spectrum", NULL, "1982",
	"Valley, The (ASP Software) (48K)\0", NULL, "ASP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvalltheaRomInfo, SpecvalltheaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Valley, The (Chezron Software) (48K)

static struct BurnRomInfo SpecvallthecRomDesc[] = {
	{ "Valley, The (19xx)(Chezron Software).z80", 0x08301, 0x20a8fc71, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvallthec, Specvallthec, Spectrum)
STD_ROM_FN(Specvallthec)

struct BurnDriver BurnSpecvallthec = {
	"spec_vallthec", NULL, "spec_spectrum", NULL, "19xx",
	"Valley, The (Chezron Software) (48K)\0", NULL, "Chezron Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvallthecRomInfo, SpecvallthecRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vampire (48K)

static struct BurnRomInfo SpecvampireRomDesc[] = {
	{ "Vampire (1986)(Codemasters)[re-release of Phantomas 2].z80", 0x0bceb, 0x2a4597fb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvampire, Specvampire, Spectrum)
STD_ROM_FN(Specvampire)

struct BurnDriver BurnSpecvampire = {
	"spec_vampire", NULL, "spec_spectrum", NULL, "1986",
	"Vampire (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvampireRomInfo, SpecvampireRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vampire Killer (48K)

static struct BurnRomInfo SpecvampkillRomDesc[] = {
	{ "Vampire Killer (1984)(Scorpio Gamesworld).z80", 0x08833, 0xc0a7a81c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvampkill, Specvampkill, Spectrum)
STD_ROM_FN(Specvampkill)

struct BurnDriver BurnSpecvampkill = {
	"spec_vampkill", NULL, "spec_spectrum", NULL, "1984",
	"Vampire Killer (48K)\0", NULL, "Scorpio Gamesworld", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvampkillRomInfo, SpecvampkillRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vampire Village (48K)

static struct BurnRomInfo SpecvampvillRomDesc[] = {
	{ "Vampire Village (1983)(Terminal Software).z80", 0x08044, 0xdd325857, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvampvill, Specvampvill, Spectrum)
STD_ROM_FN(Specvampvill)

struct BurnDriver BurnSpecvampvill = {
	"spec_vampvill", NULL, "spec_spectrum", NULL, "1983",
	"Vampire Village (48K)\0", NULL, "Terminal Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvampvillRomInfo, SpecvampvillRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vampire's Empire (48K)

static struct BurnRomInfo SpecvampempiRomDesc[] = {
	{ "Vampire's Empire (1988)(Gremlin Graphics Software).z80", 0x0c01e, 0xc003d755, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvampempi, Specvampempi, Spectrum)
STD_ROM_FN(Specvampempi)

struct BurnDriver BurnSpecvampempi = {
	"spec_vampempi", NULL, "spec_spectrum", NULL, "1988",
	"Vampire's Empire (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvampempiRomInfo, SpecvampempiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vampiro (48K)

static struct BurnRomInfo SpecvampiroRomDesc[] = {
	{ "Vampiro (19xx)(-).z80", 0x0468d, 0x5f28f58c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvampiro, Specvampiro, Spectrum)
STD_ROM_FN(Specvampiro)

struct BurnDriver BurnSpecvampiro = {
	"spec_vampiro", NULL, "spec_spectrum", NULL, "19xx",
	"Vampiro (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvampiroRomInfo, SpecvampiroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vampyre Castle (48K)

static struct BurnRomInfo SpecvampcastRomDesc[] = {
	{ "Vampyre Castle (1985)(Jim Williams).z80", 0x06226, 0xc619321c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvampcast, Specvampcast, Spectrum)
STD_ROM_FN(Specvampcast)

struct BurnDriver BurnSpecvampcast = {
	"spec_vampcast", NULL, "spec_spectrum", NULL, "1985",
	"Vampyre Castle (48K)\0", NULL, "Jim Williams", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvampcastRomInfo, SpecvampcastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Van Driver (48K)

static struct BurnRomInfo SpecvandriveRomDesc[] = {
	{ "Van Driver (1984)(Profisoft).z80", 0x039bd, 0x69da1f38, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvandrive, Specvandrive, Spectrum)
STD_ROM_FN(Specvandrive)

struct BurnDriver BurnSpecvandrive = {
	"spec_vandrive", NULL, "spec_spectrum", NULL, "1984",
	"Van Driver (48K)\0", NULL, "Profisoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvandriveRomInfo, SpecvandriveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vector Ball (48K)

static struct BurnRomInfo SpecvectballRomDesc[] = {
	{ "Vector Ball (1988)(Mastertronic Added Dimension).z80", 0x052b0, 0x340390cd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvectball, Specvectball, Spectrum)
STD_ROM_FN(Specvectball)

struct BurnDriver BurnSpecvectball = {
	"spec_vectball", NULL, "spec_spectrum", NULL, "1988",
	"Vector Ball (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvectballRomInfo, SpecvectballRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vectron (48K)

static struct BurnRomInfo SpecvectronRomDesc[] = {
	{ "Vectron (1985)(Firebird Software).z80", 0x09c7a, 0x98f87ce1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvectron, Specvectron, Spectrum)
STD_ROM_FN(Specvectron)

struct BurnDriver BurnSpecvectron = {
	"spec_vectron", NULL, "spec_spectrum", NULL, "1985",
	"Vectron (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvectronRomInfo, SpecvectronRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vegetable Crash (48K)

static struct BurnRomInfo SpecvegecrasRomDesc[] = {
	{ "Vegetable Crash (1984)(Kuma Computers).z80", 0x0352f, 0x2ed22d6c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvegecras, Specvegecras, Spectrum)
STD_ROM_FN(Specvegecras)

struct BurnDriver BurnSpecvegecras = {
	"spec_vegecras", NULL, "spec_spectrum", NULL, "1984",
	"Vegetable Crash (48K)\0", NULL, "Kuma Computers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvegecrasRomInfo, SpecvegecrasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Velika Akcija (sr) (48K)

static struct BurnRomInfo SpecveliakciRomDesc[] = {
	{ "Velika Akcija (1984)(Radio Ventilator 202)(sr).z80", 0x0903d, 0x6635e078, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specveliakci, Specveliakci, Spectrum)
STD_ROM_FN(Specveliakci)

struct BurnDriver BurnSpecveliakci = {
	"spec_veliakci", NULL, "spec_spectrum", NULL, "1984",
	"Velika Akcija (sr) (48K)\0", NULL, "Radio Ventilator 202", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecveliakciRomInfo, SpecveliakciRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Velnor's Lair (48K)

static struct BurnRomInfo SpecvelnlairRomDesc[] = {
	{ "Velnor's Lair (1983)(Quicksilva)[re-release].z80", 0x0a15c, 0x39daddc1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvelnlair, Specvelnlair, Spectrum)
STD_ROM_FN(Specvelnlair)

struct BurnDriver BurnSpecvelnlair = {
	"spec_velnlair", NULL, "spec_spectrum", NULL, "1983",
	"Velnor's Lair (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvelnlairRomInfo, SpecvelnlairRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Venganza de Johny Comomolo, La (Spanish) (48K)

static struct BurnRomInfo SpecvejocolaRomDesc[] = {
	{ "Venganza de Johny Comomolo, La (1986)(Dro Soft)(es).z80", 0x0933d, 0x6ce7b1cb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvejocola, Specvejocola, Spectrum)
STD_ROM_FN(Specvejocola)

struct BurnDriver BurnSpecvejocola = {
	"spec_vejocola", NULL, "spec_spectrum", NULL, "1986",
	"Venganza de Johny Comomolo, La (Spanish) (48K)\0", NULL, "Dro Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvejocolaRomInfo, SpecvejocolaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Venganza de Rufo, La (Spanish) (48K)

static struct BurnRomInfo SpecvenruflaRomDesc[] = {
	{ "Venganza de Rufo, La (1989)(Quasimodo Soft)(es).z80", 0x0a60b, 0x4351f5d6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvenrufla, Specvenrufla, Spectrum)
STD_ROM_FN(Specvenrufla)

struct BurnDriver BurnSpecvenrufla = {
	"spec_venrufla", NULL, "spec_spectrum", NULL, "1989",
	"Venganza de Rufo, La (Spanish) (48K)\0", NULL, "Quasimodo Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvenruflaRomInfo, SpecvenruflaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Venganza Mortal (Spanish) (48K)

static struct BurnRomInfo SpecvengmortRomDesc[] = {
	{ "Venganza Mortal (1991)(Luis M.B.)(es).z80", 0x0508f, 0xe01f76b8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvengmort, Specvengmort, Spectrum)
STD_ROM_FN(Specvengmort)

struct BurnDriver BurnSpecvengmort = {
	"spec_vengmort", NULL, "spec_spectrum", NULL, "1991",
	"Venganza Mortal (Spanish) (48K)\0", NULL, "Luis M.B.", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvengmortRomInfo, SpecvengmortRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Venom (48K)

static struct BurnRomInfo SpecvenomRomDesc[] = {
	{ "Venom (1988)(Mastertronic).z80", 0x0aced, 0xe3d7c243, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvenom, Specvenom, Spectrum)
STD_ROM_FN(Specvenom)

struct BurnDriver BurnSpecvenom = {
	"spec_venom", NULL, "spec_spectrum", NULL, "1988",
	"Venom (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvenomRomInfo, SpecvenomRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vera Cruz Affair, The (Part 1 of 2) (48K)

static struct BurnRomInfo SpecveracruzRomDesc[] = {
	{ "Vera Cruz Affair, The (1985)(Infogrames)(Part 1 of 2).z80", 0x067e4, 0x141149ae, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specveracruz, Specveracruz, Spectrum)
STD_ROM_FN(Specveracruz)

struct BurnDriver BurnSpecveracruz = {
	"spec_veracruz", NULL, "spec_spectrum", NULL, "1985",
	"Vera Cruz Affair, The (Part 1 of 2) (48K)\0", NULL, "Infogrames", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecveracruzRomInfo, SpecveracruzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vera Cruz Affair, The (Part 2 of 2) (48K)

static struct BurnRomInfo Specveracruz2RomDesc[] = {
	{ "Vera Cruz Affair, The (1985)(Infogrames)(Part 2 of 2).z80", 0x08201, 0x4a375590, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specveracruz2, Specveracruz2, Spectrum)
STD_ROM_FN(Specveracruz2)

struct BurnDriver BurnSpecveracruz2 = {
	"spec_veracruz2", "spec_veracruz", "spec_spectrum", NULL, "1985",
	"Vera Cruz Affair, The (Part 2 of 2) (48K)\0", NULL, "Infogrames", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specveracruz2RomInfo, Specveracruz2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Verdugo (Spanish) (48K)

static struct BurnRomInfo SpecverdugoeRomDesc[] = {
	{ "Verdugo (19xx)(-)(es).z80", 0x00e89, 0x664df398, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specverdugoe, Specverdugoe, Spectrum)
STD_ROM_FN(Specverdugoe)

struct BurnDriver BurnSpecverdugoe = {
	"spec_verdugoe", NULL, "spec_spectrum", NULL, "19xx",
	"Verdugo (Spanish) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecverdugoeRomInfo, SpecverdugoeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Very Big Cave Adventure, The (Part 1 of 2) (48K)

static struct BurnRomInfo SpecvbcaveadRomDesc[] = {
	{ "Very Big Cave Adventure, The (1986)(CRL Group)(Part 1 of 2).z80", 0x0a987, 0x930e55f6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvbcavead, Specvbcavead, Spectrum)
STD_ROM_FN(Specvbcavead)

struct BurnDriver BurnSpecvbcavead = {
	"spec_vbcavead", NULL, "spec_spectrum", NULL, "1986",
	"Very Big Cave Adventure, The (Part 1 of 2) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvbcaveadRomInfo, SpecvbcaveadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Very Big Cave Adventure, The (Part 2 of 2) (48K)

static struct BurnRomInfo Specvbcavead2RomDesc[] = {
	{ "Very Big Cave Adventure, The (1986)(CRL Group)(Part 2 of 2).z80", 0x0a0bf, 0xe3ceb370, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvbcavead2, Specvbcavead2, Spectrum)
STD_ROM_FN(Specvbcavead2)

struct BurnDriver BurnSpecvbcavead2 = {
	"spec_vbcavead2", "spec_vbcavead", "spec_spectrum", NULL, "1986",
	"Very Big Cave Adventure, The (Part 2 of 2) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specvbcavead2RomInfo, Specvbcavead2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vice Versa (48K)

static struct BurnRomInfo SpecviceversRomDesc[] = {
	{ "Vice Versa (1987)(Pirate Software).z80", 0x08c71, 0xeae093ac, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvicevers, Specvicevers, Spectrum)
STD_ROM_FN(Specvicevers)

struct BurnDriver BurnSpecvicevers = {
	"spec_vicevers", NULL, "spec_spectrum", NULL, "1987",
	"Vice Versa (48K)\0", NULL, "Pirate Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecviceversRomInfo, SpecviceversRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Victory Road (48K)

static struct BurnRomInfo SpecvictroadRomDesc[] = {
	{ "Victory Road (1989)(Imagine Software).z80", 0x08772, 0xad5cfac6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvictroad, Specvictroad, Spectrum)
STD_ROM_FN(Specvictroad)

struct BurnDriver BurnSpecvictroad = {
	"spec_victroad", NULL, "spec_spectrum", NULL, "1989",
	"Victory Road (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvictroadRomInfo, SpecvictroadRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Video Card Arcade (48K)

static struct BurnRomInfo SpecvidcararRomDesc[] = {
	{ "Video Card Arcade (1988)(CDS Microsystems).z80", 0x05b40, 0xd2494d65, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvidcarar, Specvidcarar, Spectrum)
STD_ROM_FN(Specvidcarar)

struct BurnDriver BurnSpecvidcarar = {
	"spec_vidcarar", NULL, "spec_spectrum", NULL, "1988",
	"Video Card Arcade (48K)\0", NULL, "CDS Microsystems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvidcararRomInfo, SpecvidcararRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Video Olimpic (Spanish) (48K)

static struct BurnRomInfo SpecvideolimRomDesc[] = {
	{ "Video Olimpic (1984)(Dinamic Software)(es).z80", 0x082c3, 0x13176c5d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvideolim, Specvideolim, Spectrum)
STD_ROM_FN(Specvideolim)

struct BurnDriver BurnSpecvideolim = {
	"spec_videolim", NULL, "spec_spectrum", NULL, "1984",
	"Video Olimpic (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvideolimRomInfo, SpecvideolimRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Video Olympics (128K)

static struct BurnRomInfo SpecvideolymRomDesc[] = {
	{ "Video Olympics (1986)(Mastertronic)[128K][aka Video Olimpic].z80", 0x08849, 0x890c203c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvideolym, Specvideolym, Spectrum)
STD_ROM_FN(Specvideolym)

struct BurnDriver BurnSpecvideolym = {
	"spec_videolym", NULL, "spec_spec128", NULL, "1986",
	"Video Olympics (128K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvideolymRomInfo, SpecvideolymRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Video Olympics (48K)

static struct BurnRomInfo Specvideolym_48RomDesc[] = {
	{ "Video Olympics (1986)(Mastertronic)[aka Video Olimpic].z80", 0x0827b, 0x1d1bbb65, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvideolym_48, Specvideolym_48, Spectrum)
STD_ROM_FN(Specvideolym_48)

struct BurnDriver BurnSpecvideolym_48 = {
	"spec_videolym_48", "spec_videolym", "spec_spectrum", NULL, "1986",
	"Video Olympics (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specvideolym_48RomInfo, Specvideolym_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Video Poker (48K)

static struct BurnRomInfo SpecvidepokeRomDesc[] = {
	{ "Video Poker (1986)(Entertainment USA).z80", 0x0373d, 0xb338caaf, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvidepoke, Specvidepoke, Spectrum)
STD_ROM_FN(Specvidepoke)

struct BurnDriver BurnSpecvidepoke = {
	"spec_videpoke", NULL, "spec_spectrum", NULL, "1986",
	"Video Poker (48K)\0", NULL, "Entertainment USA", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvidepokeRomInfo, SpecvidepokeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Video Pool (48K)

static struct BurnRomInfo SpecvidepoolRomDesc[] = {
	{ "Video Pool (1985)(Oxford Computer Publishing).z80", 0x05bb8, 0xab8294d8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvidepool, Specvidepool, Spectrum)
STD_ROM_FN(Specvidepool)

struct BurnDriver BurnSpecvidepool = {
	"spec_videpool", NULL, "spec_spectrum", NULL, "1985",
	"Video Pool (48K)\0", NULL, "Oxford Computer Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvidepoolRomInfo, SpecvidepoolRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Viejo Archivero, El (Spanish) (48K)

static struct BurnRomInfo SpecviearcelRomDesc[] = {
	{ "Viejo Archivero, El (1988)(Aventuras Level 10)(es).z80", 0x07d0b, 0x2f4ce2c9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specviearcel, Specviearcel, Spectrum)
STD_ROM_FN(Specviearcel)

struct BurnDriver BurnSpecviearcel = {
	"spec_viearcel", NULL, "spec_spectrum", NULL, "1988",
	"Viejo Archivero, El (Spanish) (48K)\0", NULL, "Aventuras Level 10", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecviearcelRomInfo, SpecviearcelRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vier Gewinnt (German) (48K)

static struct BurnRomInfo SpecviergewiRomDesc[] = {
	{ "Vier Gewinnt (1984)(Supersoft)(de).z80", 0x04b41, 0xe53e9e34, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specviergewi, Specviergewi, Spectrum)
STD_ROM_FN(Specviergewi)

struct BurnDriver BurnSpecviergewi = {
	"spec_viergewi", NULL, "spec_spectrum", NULL, "1984",
	"Vier Gewinnt (German) (48K)\0", NULL, "Supersoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecviergewiRomInfo, SpecviergewiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vigilante (128K)

static struct BurnRomInfo SpecvigilantRomDesc[] = {
	{ "Vigilante (1989)(U.S. Gold)[128K].z80", 0x185f9, 0x714ac26c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvigilant, Specvigilant, Spectrum)
STD_ROM_FN(Specvigilant)

struct BurnDriver BurnSpecvigilant = {
	"spec_vigilant", NULL, "spec_spec128", NULL, "1989",
	"Vigilante (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvigilantRomInfo, SpecvigilantRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Viking Raiders (48K)

static struct BurnRomInfo SpecvikiraidRomDesc[] = {
	{ "Viking Raiders (1984)(Firebird Software).z80", 0x0a670, 0xa5a38858, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvikiraid, Specvikiraid, Spectrum)
STD_ROM_FN(Specvikiraid)

struct BurnDriver BurnSpecvikiraid = {
	"spec_vikiraid", NULL, "spec_spectrum", NULL, "1984",
	"Viking Raiders (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvikiraidRomInfo, SpecvikiraidRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vindicator, The (128K)

static struct BurnRomInfo SpecvindtheRomDesc[] = {
	{ "Vindicator, The (1988)(Imagine Software)[128K].z80", 0x1b692, 0x57c8a81d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvindthe, Specvindthe, Spectrum)
STD_ROM_FN(Specvindthe)

struct BurnDriver BurnSpecvindthe = {
	"spec_vindthe", NULL, "spec_spec128", NULL, "1988",
	"Vindicator, The (128K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvindtheRomInfo, SpecvindtheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vindicators (128K)

static struct BurnRomInfo SpecvindicatRomDesc[] = {
	{ "Vindicators (1989)(Domark)[128K].z80", 0x0aa60, 0x6c4dbbe3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvindicat, Specvindicat, Spectrum)
STD_ROM_FN(Specvindicat)

struct BurnDriver BurnSpecvindicat = {
	"spec_vindicat", NULL, "spec_spec128", NULL, "1989",
	"Vindicators (128K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvindicatRomInfo, SpecvindicatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vinny Puh (Russian) (128K)

static struct BurnRomInfo SpecvinnpuhrRomDesc[] = {
	{ "Vinny Puh (1996)(VB)(ru)[128K].z80", 0x1baa3, 0xd23f81bb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvinnpuhr, Specvinnpuhr, Spectrum)
STD_ROM_FN(Specvinnpuhr)

struct BurnDriver BurnSpecvinnpuhr = {
	"spec_vinnpuhr", NULL, "spec_spec128", NULL, "1996",
	"Vinny Puh (Russian) (128K)\0", NULL, "VB", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvinnpuhrRomInfo, SpecvinnpuhrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Violator of Voodoo, The (48K)

static struct BurnRomInfo SpecviovoothRomDesc[] = {
	{ "Violator of Voodoo, The (1991)(Zenobi Software).z80", 0x09593, 0x67a3a21a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specviovooth, Specviovooth, Spectrum)
STD_ROM_FN(Specviovooth)

struct BurnDriver BurnSpecviovooth = {
	"spec_viovooth", NULL, "spec_spectrum", NULL, "1991",
	"Violator of Voodoo, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecviovoothRomInfo, SpecviovoothRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Viper III (48K)

static struct BurnRomInfo Specviper3RomDesc[] = {
	{ "Viper III (1984)(Mastertronic).z80", 0x02f83, 0x45117b89, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specviper3, Specviper3, Spectrum)
STD_ROM_FN(Specviper3)

struct BurnDriver BurnSpecviper3 = {
	"spec_viper3", NULL, "spec_spectrum", NULL, "1984",
	"Viper III (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specviper3RomInfo, Specviper3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Virgin Atlantic Challenge (48K)

static struct BurnRomInfo Specviratlch_48RomDesc[] = {
	{ "Virgin Atlantic Challenge (1986)(Virgin Games).z80", 0x08a1d, 0x3ab8b0d9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specviratlch_48, Specviratlch_48, Spectrum)
STD_ROM_FN(Specviratlch_48)

struct BurnDriver BurnSpecviratlch_48 = {
	"spec_viratlch_48", "spec_viratlch", "spec_spectrum", NULL, "1986",
	"Virgin Atlantic Challenge (48K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specviratlch_48RomInfo, Specviratlch_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Virgin Atlantic Challenge (128K)

static struct BurnRomInfo SpecviratlchRomDesc[] = {
	{ "Virgin Atlantic Challenge (1986)(Virgin Games)[128K].z80", 0x090bb, 0xea410258, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specviratlch, Specviratlch, Spectrum)
STD_ROM_FN(Specviratlch)

struct BurnDriver BurnSpecviratlch = {
	"spec_viratlch", NULL, "spec_spec128", NULL, "1986",
	"Virgin Atlantic Challenge (128K)\0", NULL, "Virgin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecviratlchRomInfo, SpecviratlchRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Virus (48K)

static struct BurnRomInfo SpecvirusRomDesc[] = {
	{ "Virus (1988)(Firebird Software).z80", 0x0a0b3, 0xca58ea59, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvirus, Specvirus, Spectrum)
STD_ROM_FN(Specvirus)

struct BurnDriver BurnSpecvirus = {
	"spec_virus", NULL, "spec_spectrum", NULL, "1988",
	"Virus (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvirusRomInfo, SpecvirusRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vises Sten, De (sv) (48K)

static struct BurnRomInfo SpecvisstedeRomDesc[] = {
	{ "Vises Sten, De (19xx)(Xcellent Software)(sv).z80", 0x085b2, 0xea1cd0af, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvisstede, Specvisstede, Spectrum)
STD_ROM_FN(Specvisstede)

struct BurnDriver BurnSpecvisstede = {
	"spec_visstede", NULL, "spec_spectrum", NULL, "19xx",
	"Vises Sten, De (sv) (48K)\0", NULL, "Xcellent Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvisstedeRomInfo, SpecvisstedeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vision (48K)

static struct BurnRomInfo SpecvisionRomDesc[] = {
	{ "Vision (19xx)(-).z80", 0x00f29, 0xa49e3f9b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvision, Specvision, Spectrum)
STD_ROM_FN(Specvision)

struct BurnDriver BurnSpecvision = {
	"spec_vision", NULL, "spec_spectrum", NULL, "19xx",
	"Vision (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvisionRomInfo, SpecvisionRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vixen (Part 1 of 3) (48K)

static struct BurnRomInfo Specvixen_48RomDesc[] = {
	{ "Vixen (1988)(Martech Games)(Part 1 of 3).z80", 0x0848d, 0x9daf87d1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvixen_48, Specvixen_48, Spectrum)
STD_ROM_FN(Specvixen_48)

struct BurnDriver BurnSpecvixen_48 = {
	"spec_vixen_48", "spec_vixen", "spec_spectrum", NULL, "1988",
	"Vixen (Part 1 of 3) (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specvixen_48RomInfo, Specvixen_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vixen (Part 1 of 3) (128K)

static struct BurnRomInfo SpecvixenRomDesc[] = {
	{ "Vixen (1988)(Martech Games)(Part 1 of 3)[128K].z80", 0x09581, 0xa6559507, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvixen, Specvixen, Spectrum)
STD_ROM_FN(Specvixen)

struct BurnDriver BurnSpecvixen = {
	"spec_vixen", NULL, "spec_spec128", NULL, "1988",
	"Vixen (Part 1 of 3) (128K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvixenRomInfo, SpecvixenRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vixen (Part 2 of 3) (48K)

static struct BurnRomInfo Specvixen2_48RomDesc[] = {
	{ "Vixen (1988)(Martech Games)(Part 2 of 3).z80", 0x083eb, 0x58f1bbe5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvixen2_48, Specvixen2_48, Spectrum)
STD_ROM_FN(Specvixen2_48)

struct BurnDriver BurnSpecvixen2_48 = {
	"spec_vixen2_48", "spec_vixen", "spec_spectrum", NULL, "1988",
	"Vixen (Part 2 of 3) (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specvixen2_48RomInfo, Specvixen2_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vixen (Part 2 of 3) (128K)

static struct BurnRomInfo Specvixen2RomDesc[] = {
	{ "Vixen (1988)(Martech Games)(Part 2 of 3)[128K].z80", 0x09515, 0xbb0deda9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvixen2, Specvixen2, Spectrum)
STD_ROM_FN(Specvixen2)

struct BurnDriver BurnSpecvixen2 = {
	"spec_vixen2", "spec_vixen", "spec_spec128", NULL, "1988",
	"Vixen (Part 2 of 3) (128K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specvixen2RomInfo, Specvixen2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vixen (Part 3 of 3) (48K)

static struct BurnRomInfo Specvixen3_48RomDesc[] = {
	{ "Vixen (1988)(Martech Games)(Part 3 of 3).z80", 0x08356, 0x3ac5a761, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvixen3_48, Specvixen3_48, Spectrum)
STD_ROM_FN(Specvixen3_48)

struct BurnDriver BurnSpecvixen3_48 = {
	"spec_vixen3_48", "spec_vixen", "spec_spectrum", NULL, "1988",
	"Vixen (Part 3 of 3) (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specvixen3_48RomInfo, Specvixen3_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vixen (Part 3 of 3) (128K)

static struct BurnRomInfo Specvixen3RomDesc[] = {
	{ "Vixen (1988)(Martech Games)(Part 3 of 3)[128K].z80", 0x0948e, 0xa0e237ea, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvixen3, Specvixen3, Spectrum)
STD_ROM_FN(Specvixen3)

struct BurnDriver BurnSpecvixen3 = {
	"spec_vixen3", "spec_vixen", "spec_spec128", NULL, "1988",
	"Vixen (Part 3 of 3) (128K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specvixen3RomInfo, Specvixen3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vjetrenjaca (sr) (48K)

static struct BurnRomInfo SpecvjetrenjRomDesc[] = {
	{ "Vjetrenjaca (1986)(Suzy Soft)(sr).z80", 0x01844, 0x5c70c75d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvjetrenj, Specvjetrenj, Spectrum)
STD_ROM_FN(Specvjetrenj)

struct BurnDriver BurnSpecvjetrenj = {
	"spec_vjetrenj", NULL, "spec_spectrum", NULL, "1986",
	"Vjetrenjaca (sr) (48K)\0", NULL, "Suzy Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvjetrenjRomInfo, SpecvjetrenjRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Voetbal Manager (nl) (48K)

static struct BurnRomInfo SpecvoetmanaRomDesc[] = {
	{ "Voetbal Manager (1982)(Addictive Games)(nl)[aka Football Manager].z80", 0x06a7e, 0x1bb060e1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvoetmana, Specvoetmana, Spectrum)
STD_ROM_FN(Specvoetmana)

struct BurnDriver BurnSpecvoetmana = {
	"spec_voetmana", NULL, "spec_spectrum", NULL, "1982",
	"Voetbal Manager (nl) (48K)\0", NULL, "Addictive Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvoetmanaRomInfo, SpecvoetmanaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vogue Cocktails (German) (48K)

static struct BurnRomInfo SpecvogucockRomDesc[] = {
	{ "Vogue Cocktails (1985)(Boxsoft)(de).z80", 0x09462, 0x11b18f82, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvogucock, Specvogucock, Spectrum)
STD_ROM_FN(Specvogucock)

struct BurnDriver BurnSpecvogucock = {
	"spec_vogucock", NULL, "spec_spectrum", NULL, "1985",
	"Vogue Cocktails (German) (48K)\0", NULL, "Boxsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvogucockRomInfo, SpecvogucockRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Voidrunner (48K)

static struct BurnRomInfo SpecvoidrunnRomDesc[] = {
	{ "Voidrunner (1987)(Mastertronic Added Dimension).z80", 0x0445d, 0x60597d13, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvoidrunn, Specvoidrunn, Spectrum)
STD_ROM_FN(Specvoidrunn)

struct BurnDriver BurnSpecvoidrunn = {
	"spec_voidrunn", NULL, "spec_spectrum", NULL, "1987",
	"Voidrunner (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvoidrunnRomInfo, SpecvoidrunnRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Volcanic Dungeon (48K)

static struct BurnRomInfo SpecvolcdungRomDesc[] = {
	{ "Volcanic Dungeon (1983)(Carnell Software).z80", 0x062ca, 0xc09ded22, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvolcdung, Specvolcdung, Spectrum)
STD_ROM_FN(Specvolcdung)

struct BurnDriver BurnSpecvolcdung = {
	"spec_volcdung", NULL, "spec_spectrum", NULL, "1983",
	"Volcanic Dungeon (48K)\0", NULL, "Carnell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvolcdungRomInfo, SpecvolcdungRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Volcanic Dungeon v2 (48K)

static struct BurnRomInfo Specvolcdng2RomDesc[] = {
	{ "Volcanic Dungeon v2 (1984)(Mastervision).z80", 0x09b26, 0xae328b65, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvolcdng2, Specvolcdng2, Spectrum)
STD_ROM_FN(Specvolcdng2)

struct BurnDriver BurnSpecvolcdng2 = {
	"spec_volcdng2", NULL, "spec_spectrum", NULL, "1984",
	"Volcanic Dungeon v2 (48K)\0", NULL, "Mastervision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specvolcdng2RomInfo, Specvolcdng2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Volcano (48K)

static struct BurnRomInfo SpecvolcanoRomDesc[] = {
	{ "Volcano (1984)(Computer Magic).z80", 0x05db8, 0x77635596, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvolcano, Specvolcano, Spectrum)
STD_ROM_FN(Specvolcano)

struct BurnDriver BurnSpecvolcano = {
	"spec_volcano", NULL, "spec_spectrum", NULL, "1984",
	"Volcano (48K)\0", NULL, "Computer Magic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvolcanoRomInfo, SpecvolcanoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Volk (sl) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecvolkRomDesc[] = {
	{ "Volk (1989)(Atrox Programming)(sl)(Part 1 of 2).z80", 0x0926e, 0x5cb46d64, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvolk, Specvolk, Spectrum)
STD_ROM_FN(Specvolk)

struct BurnDriver BurnSpecvolk = {
	"spec_volk", NULL, "spec_spectrum", NULL, "1989",
	"Volk (sl) (Part 1 of 2) (48K)\0", NULL, "Atrox Programming", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvolkRomInfo, SpecvolkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Volk (sl) (Part 2 of 2) (48K)

static struct BurnRomInfo Specvolk2RomDesc[] = {
	{ "Volk (1989)(Atrox Programming)(sl)(Part 2 of 2).z80", 0x096af, 0x7ecb5831, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvolk2, Specvolk2, Spectrum)
STD_ROM_FN(Specvolk2)

struct BurnDriver BurnSpecvolk2 = {
	"spec_volk2", "spec_volk", "spec_spectrum", NULL, "1989",
	"Volk (sl) (Part 2 of 2) (48K)\0", NULL, "Atrox Programming", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specvolk2RomInfo, Specvolk2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Voyage into the Unknown (48K)

static struct BurnRomInfo SpecvoyaunknRomDesc[] = {
	{ "Voyage into the Unknown (1984)(Mastertronic).z80", 0x0a4b6, 0x1e67fddc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvoyaunkn, Specvoyaunkn, Spectrum)
STD_ROM_FN(Specvoyaunkn)

struct BurnDriver BurnSpecvoyaunkn = {
	"spec_voyaunkn", NULL, "spec_spectrum", NULL, "1984",
	"Voyage into the Unknown (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvoyaunknRomInfo, SpecvoyaunknRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Voyager (48K)

static struct BurnRomInfo SpecvoyagerRomDesc[] = {
	{ "Voyager (1987)(Quinstertronic).z80", 0x04860, 0x636a506f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvoyager, Specvoyager, Spectrum)
STD_ROM_FN(Specvoyager)

struct BurnDriver BurnSpecvoyager = {
	"spec_voyager", NULL, "spec_spectrum", NULL, "1987",
	"Voyager (48K)\0", NULL, "Quinstertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvoyagerRomInfo, SpecvoyagerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vruce Letovanje (sr) (48K)

static struct BurnRomInfo SpecvrucletoRomDesc[] = {
	{ "Vruce Letovanje (1985)(Suzy Soft)(sr).z80", 0x0a7d1, 0xd7b43d21, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvrucleto, Specvrucleto, Spectrum)
STD_ROM_FN(Specvrucleto)

struct BurnDriver BurnSpecvrucleto = {
	"spec_vrucleto", NULL, "spec_spectrum", NULL, "1985",
	"Vruce Letovanje (sr) (48K)\0", NULL, "Suzy Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvrucletoRomInfo, SpecvrucletoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Vulcan (128K)

static struct BurnRomInfo SpecvulcanRomDesc[] = {
	{ "Vulcan (1987)(CCS)[128K].z80", 0x0a581, 0x0ec31017, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specvulcan, Specvulcan, Spectrum)
STD_ROM_FN(Specvulcan)

struct BurnDriver BurnSpecvulcan = {
	"spec_vulcan", NULL, "spec_spec128", NULL, "1987",
	"Vulcan (128K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecvulcanRomInfo, SpecvulcanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// W.A.R. - Part 1 - Alpha (48K)

static struct BurnRomInfo SpecwarRomDesc[] = {
	{ "W.A.R. - Part 1 - Alpha (1986)(Martech Games).z80", 0x09df3, 0x140dc7e9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwar, Specwar, Spectrum)
STD_ROM_FN(Specwar)

struct BurnDriver BurnSpecwar = {
	"spec_war", NULL, "spec_spectrum", NULL, "1986",
	"W.A.R. - Part 1 - Alpha (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwarRomInfo, SpecwarRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// W.A.R. - Part 2 - Beta (48K)

static struct BurnRomInfo Specwar2RomDesc[] = {
	{ "W.A.R. - Part 2 - Beta (1986)(Martech Games).z80", 0x09b72, 0xc141e42d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwar2, Specwar2, Spectrum)
STD_ROM_FN(Specwar2)

struct BurnDriver BurnSpecwar2 = {
	"spec_war2", "spec_war", "spec_spectrum", NULL, "1986",
	"W.A.R. - Part 2 - Beta (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specwar2RomInfo, Specwar2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wacky Darts (48K)

static struct BurnRomInfo SpecwackdartRomDesc[] = {
	{ "Wacky Darts (1991)(Codemasters).z80", 0x0ae9d, 0x6214a4ce, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwackdart, Specwackdart, Spectrum)
STD_ROM_FN(Specwackdart)

struct BurnDriver BurnSpecwackdart = {
	"spec_wackdart", NULL, "spec_spectrum", NULL, "1991",
	"Wacky Darts (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwackdartRomInfo, SpecwackdartRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wacky Races (128K)

static struct BurnRomInfo SpecwackraceRomDesc[] = {
	{ "Wacky Races (1992)(Hi-Tec Software)[cr Matasoft][t +6 Matasoft][128K].z80", 0x16523, 0xee205ebd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwackrace, Specwackrace, Spectrum)
STD_ROM_FN(Specwackrace)

struct BurnDriver BurnSpecwackrace = {
	"spec_wackrace", NULL, "spec_spec128", NULL, "1992",
	"Wacky Races (128K)\0", NULL, "Hi-Tec Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwackraceRomInfo, SpecwackraceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wacky Zany Painter Guy (48K)

static struct BurnRomInfo SpecwazapaguRomDesc[] = {
	{ "Wacky Zany Painter Guy (1996)(CSSCGC).z80", 0x01734, 0xddd8a181, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwazapagu, Specwazapagu, Spectrum)
STD_ROM_FN(Specwazapagu)

struct BurnDriver BurnSpecwazapagu = {
	"spec_wazapagu", NULL, "spec_spectrum", NULL, "1996",
	"Wacky Zany Painter Guy (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwazapaguRomInfo, SpecwazapaguRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Waggle-O-Mania! (48K)

static struct BurnRomInfo SpecwagomaniRomDesc[] = {
	{ "Waggle-O-Mania! (1993)(Dominic Morris).z80", 0x0423d, 0x61f9c717, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwagomani, Specwagomani, Spectrum)
STD_ROM_FN(Specwagomani)

struct BurnDriver BurnSpecwagomani = {
	"spec_wagomani", NULL, "spec_spectrum", NULL, "1993",
	"Waggle-O-Mania! (48K)\0", NULL, "Dominic Morris", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwagomaniRomInfo, SpecwagomaniRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wall Walk (48K)

static struct BurnRomInfo SpecwallwalkRomDesc[] = {
	{ "Wall Walk (1983)(T. Tang).z80", 0x02a87, 0x5bec7d13, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwallwalk, Specwallwalk, Spectrum)
STD_ROM_FN(Specwallwalk)

struct BurnDriver BurnSpecwallwalk = {
	"spec_wallwalk", NULL, "spec_spectrum", NULL, "1983",
	"Wall Walk (48K)\0", NULL, "T. Tang", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwallwalkRomInfo, SpecwallwalkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wallet (48K)

static struct BurnRomInfo SpecwalletRomDesc[] = {
	{ "Wallet (1983)(Supersoft).z80", 0x01def, 0x03aae795, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwallet, Specwallet, Spectrum)
STD_ROM_FN(Specwallet)

struct BurnDriver BurnSpecwallet = {
	"spec_wallet", NULL, "spec_spectrum", NULL, "1983",
	"Wallet (48K)\0", NULL, "Supersoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwalletRomInfo, SpecwalletRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wally Kong (48K)

static struct BurnRomInfo Specwallkong_48RomDesc[] = {
	{ "Wally Kong (1984)(Walltone Software).z80", 0x09ed4, 0x673bf620, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwallkong_48, Specwallkong_48, Spectrum)
STD_ROM_FN(Specwallkong_48)

struct BurnDriver BurnSpecwallkong_48 = {
	"spec_wallkong_48", "spec_wallkong", "spec_spectrum", NULL, "1984",
	"Wally Kong (48K)\0", NULL, "Walltone Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specwallkong_48RomInfo, Specwallkong_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wally Kong (128K)

static struct BurnRomInfo SpecwallkongRomDesc[] = {
	{ "Wally Kong (1984)(Walltone Software)[128K].z80", 0x0a527, 0xe973f250, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwallkong, Specwallkong, Spectrum)
STD_ROM_FN(Specwallkong)

struct BurnDriver BurnSpecwallkong = {
	"spec_wallkong", NULL, "spec_spec128", NULL, "1984",
	"Wally Kong (128K)\0", NULL, "Walltone Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwallkongRomInfo, SpecwallkongRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wamwort (Spanish) (48K)

static struct BurnRomInfo SpecwamworteRomDesc[] = {
	{ "Wamwort (1989)(Dinamic Software)(es).z80", 0x08f20, 0xfd7ee2fe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwamworte, Specwamworte, Spectrum)
STD_ROM_FN(Specwamworte)

struct BurnDriver BurnSpecwamworte = {
	"spec_wamworte", NULL, "spec_spectrum", NULL, "1989",
	"Wamwort (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwamworteRomInfo, SpecwamworteRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wanted! Monty Mole (48K)

static struct BurnRomInfo SpecwanmonmoRomDesc[] = {
	{ "Wanted! Monty Mole (1984)(Gremlin Graphics Software).z80", 0x09c78, 0x2e7a94b2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwanmonmo, Specwanmonmo, Spectrum)
STD_ROM_FN(Specwanmonmo)

struct BurnDriver BurnSpecwanmonmo = {
	"spec_wanmonmo", NULL, "spec_spectrum", NULL, "1984",
	"Wanted! Monty Mole (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwanmonmoRomInfo, SpecwanmonmoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// War 70 (48K)

static struct BurnRomInfo Specwar70RomDesc[] = {
	{ "War 70 (1983)(CCS).z80", 0x094e9, 0xae79c9fe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwar70, Specwar70, Spectrum)
STD_ROM_FN(Specwar70)

struct BurnDriver BurnSpecwar70 = {
	"spec_war70", NULL, "spec_spectrum", NULL, "1983",
	"War 70 (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specwar70RomInfo, Specwar70RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// War Cars Construction Set (48K)

static struct BurnRomInfo Specwarcars_48RomDesc[] = {
	{ "War Cars Construction Set (1987)(Firebird Software).z80", 0x091e1, 0x25b59360, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwarcars_48, Specwarcars_48, Spectrum)
STD_ROM_FN(Specwarcars_48)

struct BurnDriver BurnSpecwarcars_48 = {
	"spec_warcars_48", "spec_warcars", "spec_spectrum", NULL, "1987",
	"War Cars Construction Set (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specwarcars_48RomInfo, Specwarcars_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// War Cars Construction Set (128K)

static struct BurnRomInfo SpecwarcarsRomDesc[] = {
	{ "War Cars Construction Set (1987)(Firebird Software)[128K].z80", 0x09b5c, 0x2ca4dccb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwarcars, Specwarcars, Spectrum)
STD_ROM_FN(Specwarcars)

struct BurnDriver BurnSpecwarcars = {
	"spec_warcars", NULL, "spec_spec128", NULL, "1987",
	"War Cars Construction Set (128K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwarcarsRomInfo, SpecwarcarsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// War Game (48K)

static struct BurnRomInfo SpecwargameRomDesc[] = {
	{ "War Game (1986)(Reelax Games).z80", 0x08ae3, 0x3bf14fc6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwargame, Specwargame, Spectrum)
STD_ROM_FN(Specwargame)

struct BurnDriver BurnSpecwargame = {
	"spec_wargame", NULL, "spec_spectrum", NULL, "1986",
	"War Game (48K)\0", NULL, "Reelax Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwargameRomInfo, SpecwargameRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// War in Middle Earth (Spanish) (48K)

static struct BurnRomInfo SpecwarmideasRomDesc[] = {
	{ "War in Middle Earth (1989)(Dro Soft)(es)[re-release].z80", 0x08af3, 0x8d0bcca1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwarmideas, Specwarmideas, Spectrum)
STD_ROM_FN(Specwarmideas)

struct BurnDriver BurnSpecwarmideas = {
	"spec_warmideas", "spec_warmidea", "spec_spectrum", NULL, "1989",
	"War in Middle Earth (Spanish) (48K)\0", NULL, "Dro Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwarmideasRomInfo, SpecwarmideasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// War in Middle Earth (48K)

static struct BurnRomInfo SpecwarmideaRomDesc[] = {
	{ "War in Middle Earth (1989)(Melbourne House).z80", 0x08b16, 0x40c063f5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwarmidea, Specwarmidea, Spectrum)
STD_ROM_FN(Specwarmidea)

struct BurnDriver BurnSpecwarmidea = {
	"spec_warmidea", NULL, "spec_spectrum", NULL, "1989",
	"War in Middle Earth (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwarmideaRomInfo, SpecwarmideaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// War Machine (48K)

static struct BurnRomInfo SpecwarmachiRomDesc[] = {
	{ "War Machine (1989)(Players Premier Software).z80", 0x093ef, 0x642f40e3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwarmachi, Specwarmachi, Spectrum)
STD_ROM_FN(Specwarmachi)

struct BurnDriver BurnSpecwarmachi = {
	"spec_warmachi", NULL, "spec_spectrum", NULL, "1989",
	"War Machine (48K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwarmachiRomInfo, SpecwarmachiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// War of the Worlds, The (48K)

static struct BurnRomInfo SpecwarworthRomDesc[] = {
	{ "War of the Worlds, The (1984)(CRL Group)[speech].z80", 0x0a2d3, 0x889a23fd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwarworth, Specwarworth, Spectrum)
STD_ROM_FN(Specwarworth)

struct BurnDriver BurnSpecwarworth = {
	"spec_warworth", NULL, "spec_spectrum", NULL, "1984",
	"War of the Worlds, The (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwarworthRomInfo, SpecwarworthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// War Zone (Spanish) (48K)

static struct BurnRomInfo SpecwarzonesRomDesc[] = {
	{ "War Zone (1984)(CCS)(es).z80", 0x06fe8, 0x04221701, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwarzones, Specwarzones, Spectrum)
STD_ROM_FN(Specwarzones)

struct BurnDriver BurnSpecwarzones = {
	"spec_warzones", "spec_warzone", "spec_spectrum", NULL, "1984",
	"War Zone (Spanish) (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwarzonesRomInfo, SpecwarzonesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// War Zone (48K)

static struct BurnRomInfo SpecwarzoneRomDesc[] = {
	{ "War Zone (1984)(CCS).z80", 0x07de9, 0xf6b402aa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwarzone, Specwarzone, Spectrum)
STD_ROM_FN(Specwarzone)

struct BurnDriver BurnSpecwarzone = {
	"spec_warzone", NULL, "spec_spectrum", NULL, "1984",
	"War Zone (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwarzoneRomInfo, SpecwarzoneRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Warlock of Firetop Mountain, The (48K)

static struct BurnRomInfo SpecwafimothRomDesc[] = {
	{ "Warlock of Firetop Mountain, The (1984)(Puffin Books).z80", 0x07da0, 0x48fb14c9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwafimoth, Specwafimoth, Spectrum)
STD_ROM_FN(Specwafimoth)

struct BurnDriver BurnSpecwafimoth = {
	"spec_wafimoth", NULL, "spec_spectrum", NULL, "1984",
	"Warlock of Firetop Mountain, The (48K)\0", NULL, "Puffin Books", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwafimothRomInfo, SpecwafimothRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Warlord (MC Lothlorien) (48K)

static struct BurnRomInfo SpecwarlordmRomDesc[] = {
	{ "Warlord (1982)(MC Lothlorien).z80", 0x07795, 0x125c0428, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwarlordm, Specwarlordm, Spectrum)
STD_ROM_FN(Specwarlordm)

struct BurnDriver BurnSpecwarlordm = {
	"spec_warlordm", NULL, "spec_spectrum", NULL, "1982",
	"Warlord (MC Lothlorien) (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwarlordmRomInfo, SpecwarlordmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Warlord (Interceptor Micros Software) (48K)

static struct BurnRomInfo SpecwarlordiRomDesc[] = {
	{ "Warlord (1985)(Interceptor Micros Software).z80", 0x0a656, 0x176ed388, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwarlordi, Specwarlordi, Spectrum)
STD_ROM_FN(Specwarlordi)

struct BurnDriver BurnSpecwarlordi = {
	"spec_warlordi", NULL, "spec_spectrum", NULL, "1985",
	"Warlord (Interceptor Micros Software) (48K)\0", NULL, "Interceptor Micros Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwarlordiRomInfo, SpecwarlordiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Washing Day (48K)

static struct BurnRomInfo SpecwashdayRomDesc[] = {
	{ "Washing Day (1996)(CSSCGC).z80", 0x0141a, 0xd7e30198, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwashday, Specwashday, Spectrum)
STD_ROM_FN(Specwashday)

struct BurnDriver BurnSpecwashday = {
	"spec_washday", NULL, "spec_spectrum", NULL, "1996",
	"Washing Day (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwashdayRomInfo, SpecwashdayRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Waterloo (48K)

static struct BurnRomInfo SpecwaterlooRomDesc[] = {
	{ "Waterloo (1985)(MC Lothlorien).z80", 0x078b6, 0x72533687, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwaterloo, Specwaterloo, Spectrum)
STD_ROM_FN(Specwaterloo)

struct BurnDriver BurnSpecwaterloo = {
	"spec_waterloo", NULL, "spec_spectrum", NULL, "1985",
	"Waterloo (48K)\0", NULL, "MC Lothlorien", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwaterlooRomInfo, SpecwaterlooRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Way of the Exploding Fist, The (48K)

static struct BurnRomInfo SpecwayexplfRomDesc[] = {
	{ "Way of the Exploding Fist, The (1985)(Melbourne House).z80", 0x0a6de, 0xf73f3022, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwayexplf, Specwayexplf, Spectrum)
STD_ROM_FN(Specwayexplf)

struct BurnDriver BurnSpecwayexplf = {
	"spec_wayexplf", NULL, "spec_spectrum", NULL, "1985",
	"Way of the Exploding Fist, The (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwayexplfRomInfo, SpecwayexplfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Way of the Exploding Tits, The (48K)

static struct BurnRomInfo SpecwayexpltRomDesc[] = {
	{ "Way of the Exploding Tits, The (1988)(Shattered Dreams).z80", 0x06b21, 0x6c210ad5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwayexplt, Specwayexplt, Spectrum)
STD_ROM_FN(Specwayexplt)

struct BurnDriver BurnSpecwayexplt = {
	"spec_wayexplt", NULL, "spec_spectrum", NULL, "1988",
	"Way of the Exploding Tits, The (48K)\0", NULL, "Shattered Dreams", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwayexpltRomInfo, SpecwayexpltRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Way of the Tiger, The (Level  1 - Unarmed Combat) (48K)

static struct BurnRomInfo Specwaytiger1RomDesc[] = {
	{ "Way of the Tiger, The (1986)(Gremlin Graphics Software)[level 1 - Unarmed Combat].z80", 0x092ce, 0x66a5e2c2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwaytiger1, Specwaytiger1, Spectrum)
STD_ROM_FN(Specwaytiger1)

struct BurnDriver BurnSpecwaytiger1 = {
	"spec_waytiger1", "spec_waytiger", "spec_spectrum", NULL, "1986",
	"Way of the Tiger, The (Level  1 - Unarmed Combat) (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specwaytiger1RomInfo, Specwaytiger1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Way of the Tiger, The (Level 2 - Pole Fighting) (48K)

static struct BurnRomInfo Specwaytiger2RomDesc[] = {
	{ "Way of the Tiger, The (1986)(Gremlin Graphics Software)[level 2 - Pole Fighting].z80", 0x08ac2, 0xdea06f82, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwaytiger2, Specwaytiger2, Spectrum)
STD_ROM_FN(Specwaytiger2)

struct BurnDriver BurnSpecwaytiger2 = {
	"spec_waytiger2", "spec_waytiger", "spec_spectrum", NULL, "1986",
	"Way of the Tiger, The (Level 2 - Pole Fighting) (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specwaytiger2RomInfo, Specwaytiger2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Way of the Tiger, The (Level 3 - Sword Fighting) (48K)

static struct BurnRomInfo Specwaytiger3RomDesc[] = {
	{ "Way of the Tiger, The (1986)(Gremlin Graphics Software)[level 3 - Sword Fighting].z80", 0x08b61, 0x429615e5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwaytiger3, Specwaytiger3, Spectrum)
STD_ROM_FN(Specwaytiger3)

struct BurnDriver BurnSpecwaytiger3 = {
	"spec_waytiger3", "spec_waytiger", "spec_spectrum", NULL, "1986",
	"Way of the Tiger, The (Level 3 - Sword Fighting) (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specwaytiger3RomInfo, Specwaytiger3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Way of the Tiger, The (Start) (48K)

static struct BurnRomInfo SpecwaytigerRomDesc[] = {
	{ "Way of the Tiger, The (1986)(Gremlin Graphics Software)[start].z80", 0x01beb, 0x40018f3c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwaytiger, Specwaytiger, Spectrum)
STD_ROM_FN(Specwaytiger)

struct BurnDriver BurnSpecwaytiger = {
	"spec_waytiger", NULL, "spec_spectrum", NULL, "1986",
	"Way of the Tiger, The (Start) (48K)\0", NULL, "Gremlin Graphics Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwaytigerRomInfo, SpecwaytigerRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Weasel Willy (48K)

static struct BurnRomInfo SpecweaswillRomDesc[] = {
	{ "Weasel Willy (1985)(Firebird Software).z80", 0x04508, 0x56f50731, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specweaswill, Specweaswill, Spectrum)
STD_ROM_FN(Specweaswill)

struct BurnDriver BurnSpecweaswill = {
	"spec_weaswill", NULL, "spec_spectrum", NULL, "1985",
	"Weasel Willy (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecweaswillRomInfo, SpecweaswillRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Weaver of her Dreams, The (48K)

static struct BurnRomInfo SpecweadrethRomDesc[] = {
	{ "Weaver of her Dreams, The (1988)(8th Day Software).z80", 0x0932c, 0x463f7a90, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specweadreth, Specweadreth, Spectrum)
STD_ROM_FN(Specweadreth)

struct BurnDriver BurnSpecweadreth = {
	"spec_weadreth", NULL, "spec_spectrum", NULL, "1988",
	"Weaver of her Dreams, The (48K)\0", NULL, "8th Day Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecweadrethRomInfo, SpecweadrethRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// WEC Le Mans (48K)

static struct BurnRomInfo Specwecleman_48RomDesc[] = {
	{ "WEC Le Mans (1988)(Imagine Software).z80", 0x0a23e, 0x83a8e1f7, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwecleman_48, Specwecleman_48, Spectrum)
STD_ROM_FN(Specwecleman_48)

struct BurnDriver BurnSpecwecleman_48 = {
	"spec_wecleman_48", "spec_wecleman", "spec_spectrum", NULL, "1988",
	"WEC Le Mans (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specwecleman_48RomInfo, Specwecleman_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// WEC Le Mans (128K)

static struct BurnRomInfo SpecweclemanRomDesc[] = {
	{ "WEC Le Mans (1988)(Imagine Software)[128K].z80", 0x0d90e, 0xa77096e2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwecleman, Specwecleman, Spectrum)
STD_ROM_FN(Specwecleman)

struct BurnDriver BurnSpecwecleman = {
	"spec_wecleman", NULL, "spec_spec128", NULL, "1988",
	"WEC Le Mans (128K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecweclemanRomInfo, SpecweclemanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Well of Zol, The (48K)

static struct BurnRomInfo SpecwelzolthRomDesc[] = {
	{ "Well of Zol, The (1994)(Zenobi Software).z80", 0x0af19, 0xc14f7b71, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwelzolth, Specwelzolth, Spectrum)
STD_ROM_FN(Specwelzolth)

struct BurnDriver BurnSpecwelzolth = {
	"spec_welzolth", NULL, "spec_spectrum", NULL, "1994",
	"Well of Zol, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwelzolthRomInfo, SpecwelzolthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wellington at Waterloo (48K)

static struct BurnRomInfo SpecwellwateRomDesc[] = {
	{ "Wellington at Waterloo (1989)(CCS).z80", 0x094af, 0x7878d027, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwellwate, Specwellwate, Spectrum)
STD_ROM_FN(Specwellwate)

struct BurnDriver BurnSpecwellwate = {
	"spec_wellwate", NULL, "spec_spectrum", NULL, "1989",
	"Wellington at Waterloo (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwellwateRomInfo, SpecwellwateRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wells & Fargo (Spanish) (48K)

static struct BurnRomInfo SpecwellfargsRomDesc[] = {
	{ "Wells & Fargo (1988)(Topo Soft)(es).z80", 0x0a0d3, 0xf3f2bafe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwellfargs, Specwellfargs, Spectrum)
STD_ROM_FN(Specwellfargs)

struct BurnDriver BurnSpecwellfargs = {
	"spec_wellfargs", "spec_wellfarg", "spec_spectrum", NULL, "1988",
	"Wells & Fargo (Spanish) (48K)\0", NULL, "Topo Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwellfargsRomInfo, SpecwellfargsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wells & Fargo (48K)

static struct BurnRomInfo SpecwellfargRomDesc[] = {
	{ "Wells & Fargo (1988)(Topo Soft).z80", 0x0a353, 0xa65c9943, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwellfarg, Specwellfarg, Spectrum)
STD_ROM_FN(Specwellfarg)

struct BurnDriver BurnSpecwellfarg = {
	"spec_wellfarg", NULL, "spec_spectrum", NULL, "1988",
	"Wells & Fargo (48K)\0", NULL, "Topo Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwellfargRomInfo, SpecwellfargRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Welltris (128K)

static struct BurnRomInfo SpecwelltrisRomDesc[] = {
	{ "Welltris (1991)(Infogrames)[128K].z80", 0x0a1f5, 0xce656b18, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwelltris, Specwelltris, Spectrum)
STD_ROM_FN(Specwelltris)

struct BurnDriver BurnSpecwelltris = {
	"spec_welltris", NULL, "spec_spec128", NULL, "1991",
	"Welltris (128K)\0", NULL, "Infogrames", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwelltrisRomInfo, SpecwelltrisRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wembley Greyhounds (48K)

static struct BurnRomInfo SpecwembgreyRomDesc[] = {
	{ "Wembley Greyhounds (1988)(Cult Games).z80", 0x0889b, 0x4a335589, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwembgrey, Specwembgrey, Spectrum)
STD_ROM_FN(Specwembgrey)

struct BurnDriver BurnSpecwembgrey = {
	"spec_wembgrey", NULL, "spec_spectrum", NULL, "1988",
	"Wembley Greyhounds (48K)\0", NULL, "Cult Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwembgreyRomInfo, SpecwembgreyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wentworth East (48K)

static struct BurnRomInfo SpecwenteastRomDesc[] = {
	{ "Wentworth East (1983)(Hornby Software).z80", 0x05f43, 0x463aa6ca, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwenteast, Specwenteast, Spectrum)
STD_ROM_FN(Specwenteast)

struct BurnDriver BurnSpecwenteast = {
	"spec_wenteast", NULL, "spec_spectrum", NULL, "1983",
	"Wentworth East (48K)\0", NULL, "Hornby Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwenteastRomInfo, SpecwenteastRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wentworth West (48K)

static struct BurnRomInfo SpecwentwestRomDesc[] = {
	{ "Wentworth West (1983)(Hornby Software).z80", 0x06761, 0x698fcf91, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwentwest, Specwentwest, Spectrum)
STD_ROM_FN(Specwentwest)

struct BurnDriver BurnSpecwentwest = {
	"spec_wentwest", NULL, "spec_spectrum", NULL, "1983",
	"Wentworth West (48K)\0", NULL, "Hornby Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwentwestRomInfo, SpecwentwestRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Werewolves of London (48K)

static struct BurnRomInfo SpecwerelondRomDesc[] = {
	{ "Werewolves of London (1988)(Mastertronic).z80", 0x09ce8, 0x2c8693c8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwerelond, Specwerelond, Spectrum)
STD_ROM_FN(Specwerelond)

struct BurnDriver BurnSpecwerelond = {
	"spec_werelond", NULL, "spec_spectrum", NULL, "1988",
	"Werewolves of London (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwerelondRomInfo, SpecwerelondRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Werner's Quest (48K)

static struct BurnRomInfo SpecwernquesRomDesc[] = {
	{ "Werner's Quest (19xx)(Jan Aberg).z80", 0x08bd3, 0xc74dfcb3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwernques, Specwernques, Spectrum)
STD_ROM_FN(Specwernques)

struct BurnDriver BurnSpecwernques = {
	"spec_wernques", NULL, "spec_spectrum", NULL, "19xx",
	"Werner's Quest (48K)\0", NULL, "Jan Aberg", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwernquesRomInfo, SpecwernquesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// West Bank (Spanish) (48K)

static struct BurnRomInfo SpecwestbankRomDesc[] = {
	{ "West Bank (1985)(Dinamic Software)(es).z80", 0x08a17, 0x22a9fc50, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwestbank, Specwestbank, Spectrum)
STD_ROM_FN(Specwestbank)

struct BurnDriver BurnSpecwestbank = {
	"spec_westbank", NULL, "spec_spectrum", NULL, "1985",
	"West Bank (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwestbankRomInfo, SpecwestbankRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// What Was That (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpecwhawasthRomDesc[] = {
	{ "What Was That (1989)(Bolsoftware Communications)(es)(Part 1 of 2).z80", 0x086ba, 0x8dd08d32, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwhawasth, Specwhawasth, Spectrum)
STD_ROM_FN(Specwhawasth)

struct BurnDriver BurnSpecwhawasth = {
	"spec_whawasth", NULL, "spec_spectrum", NULL, "1989",
	"What Was That (Spanish) (Part 1 of 2) (48K)\0", NULL, "Bolsoftware Communications", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwhawasthRomInfo, SpecwhawasthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// What Was That (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Specwhawasth2RomDesc[] = {
	{ "What Was That (1989)(Bolsoftware Communications)(es)(Part 2 of 2).z80", 0x08dc0, 0xfdccd65b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwhawasth2, Specwhawasth2, Spectrum)
STD_ROM_FN(Specwhawasth2)

struct BurnDriver BurnSpecwhawasth2 = {
	"spec_whawasth2", "spec_whawasth", "spec_spectrum", NULL, "1989",
	"What Was That (Spanish) (Part 2 of 2) (48K)\0", NULL, "Bolsoftware Communications", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specwhawasth2RomInfo, Specwhawasth2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wheelchair (48K)

static struct BurnRomInfo SpecwheelchaRomDesc[] = {
	{ "Wheelchair (1997)(CSSCGC).z80", 0x013ff, 0x18062a34, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwheelcha, Specwheelcha, Spectrum)
STD_ROM_FN(Specwheelcha)

struct BurnDriver BurnSpecwheelcha = {
	"spec_wheelcha", NULL, "spec_spectrum", NULL, "1997",
	"Wheelchair (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwheelchaRomInfo, SpecwheelchaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wheelie (48K)

static struct BurnRomInfo SpecwheelieRomDesc[] = {
	{ "Wheelie (1983)(Microsphere).z80", 0x08ff3, 0xeadd33d5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwheelie, Specwheelie, Spectrum)
STD_ROM_FN(Specwheelie)

struct BurnDriver BurnSpecwheelie = {
	"spec_wheelie", NULL, "spec_spectrum", NULL, "1983",
	"Wheelie (48K)\0", NULL, "Microsphere", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwheelieRomInfo, SpecwheelieRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Where Time Stood Still (128K)

static struct BurnRomInfo SpecwhtiststRomDesc[] = {
	{ "Where Time Stood Still (1988)(Ocean)[128K].z80", 0x19da6, 0x7a680f77, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwhtistst, Specwhtistst, Spectrum)
STD_ROM_FN(Specwhtistst)

struct BurnDriver BurnSpecwhtistst = {
	"spec_whtistst", NULL, "spec_spec128", NULL, "1988",
	"Where Time Stood Still (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwhtiststRomInfo, SpecwhtiststRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// White Door - Crisis at Christmas (48K)

static struct BurnRomInfo SpecwhdocrchRomDesc[] = {
	{ "White Door - Crisis at Christmas (1987)(Tartan Software).z80", 0x0903a, 0x852d62e5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwhdocrch, Specwhdocrch, Spectrum)
STD_ROM_FN(Specwhdocrch)

struct BurnDriver BurnSpecwhdocrch = {
	"spec_whdocrch", NULL, "spec_spectrum", NULL, "1987",
	"White Door - Crisis at Christmas (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwhdocrchRomInfo, SpecwhdocrchRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// White Feather Cloak, The (Part 1 of 2) (48K)

static struct BurnRomInfo SpecwhitefcRomDesc[] = {
	{ "White Feather Cloak, The (1992)(Zenobi Software)(Part 1 of 2).z80", 0x0a441, 0xf9a1c67a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwhitefc, Specwhitefc, Spectrum)
STD_ROM_FN(Specwhitefc)

struct BurnDriver BurnSpecwhitefc = {
	"spec_whitefc", NULL, "spec_spectrum", NULL, "1992",
	"White Feather Cloak, The (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwhitefcRomInfo, SpecwhitefcRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// White Feather Cloak, The (Part 2 of 2) (48K)

static struct BurnRomInfo Specwhitefc2RomDesc[] = {
	{ "White Feather Cloak, The (1992)(Zenobi Software)(Part 2 of 2).z80", 0x0a337, 0x30a39581, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwhitefc2, Specwhitefc2, Spectrum)
STD_ROM_FN(Specwhitefc2)

struct BurnDriver BurnSpecwhitefc2 = {
	"spec_whitefc2", "spec_whitefc", "spec_spectrum", NULL, "1992",
	"White Feather Cloak, The (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specwhitefc2RomInfo, Specwhitefc2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// White Heat (48K)

static struct BurnRomInfo SpecwhitheatRomDesc[] = {
	{ "White Heat (1986)(Codemasters).z80", 0x0984f, 0x98606252, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwhitheat, Specwhitheat, Spectrum)
STD_ROM_FN(Specwhitheat)

struct BurnDriver BurnSpecwhitheat = {
	"spec_whitheat", NULL, "spec_spectrum", NULL, "1986",
	"White Heat (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwhitheatRomInfo, SpecwhitheatRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Whitman Day (Spanish) (Part 1 of 3) (48K)

static struct BurnRomInfo SpecwhitdayeRomDesc[] = {
	{ "Whitman Day (1992)(Advanced Adventure Creations)(es)(Part 1 of 3).z80", 0x07e36, 0xce694e1a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwhitdaye, Specwhitdaye, Spectrum)
STD_ROM_FN(Specwhitdaye)

struct BurnDriver BurnSpecwhitdaye = {
	"spec_whitdaye", NULL, "spec_spectrum", NULL, "1992",
	"Whitman Day (Spanish) (Part 1 of 3) (48K)\0", NULL, "Advanced Adventure Creations", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwhitdayeRomInfo, SpecwhitdayeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Whitman Day (Spanish) (Part 2 of 3) (48K)

static struct BurnRomInfo Specwhitdaye2RomDesc[] = {
	{ "Whitman Day (1992)(Advanced Adventure Creations)(es)(Part 2 of 3).z80", 0x09136, 0x4dca6d2e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwhitdaye2, Specwhitdaye2, Spectrum)
STD_ROM_FN(Specwhitdaye2)

struct BurnDriver BurnSpecwhitdaye2 = {
	"spec_whitdaye2", "spec_whitdaye", "spec_spectrum", NULL, "1992",
	"Whitman Day (Spanish) (Part 2 of 3) (48K)\0", NULL, "Advanced Adventure Creations", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specwhitdaye2RomInfo, Specwhitdaye2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Whitman Day (Spanish) (Part 3 of 3) (48K)

static struct BurnRomInfo Specwhitdaye3RomDesc[] = {
	{ "Whitman Day (1992)(Advanced Adventure Creations)(es)(Part 3 of 3).z80", 0x0909d, 0xb638fc3f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwhitdaye3, Specwhitdaye3, Spectrum)
STD_ROM_FN(Specwhitdaye3)

struct BurnDriver BurnSpecwhitdaye3 = {
	"spec_whitdaye3", "spec_whitdaye", "spec_spectrum", NULL, "1992",
	"Whitman Day (Spanish) (Part 3 of 3) (48K)\0", NULL, "Advanced Adventure Creations", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specwhitdaye3RomInfo, Specwhitdaye3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Who Dares Wins II (48K)

static struct BurnRomInfo Specwhodare2RomDesc[] = {
	{ "Who Dares Wins II (1986)(Alligata Software).z80", 0x09484, 0xff5d84dc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwhodare2, Specwhodare2, Spectrum)
STD_ROM_FN(Specwhodare2)

struct BurnDriver BurnSpecwhodare2 = {
	"spec_whodare2", NULL, "spec_spectrum", NULL, "1986",
	"Who Dares Wins II (48K)\0", NULL, "Alligata Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specwhodare2RomInfo, Specwhodare2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Who Dunnit (48K)

static struct BurnRomInfo SpecwhodunniRomDesc[] = {
	{ "Who Dunnit (1984)(CCS).z80", 0x0742b, 0x06bc15cd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwhodunni, Specwhodunni, Spectrum)
STD_ROM_FN(Specwhodunni)

struct BurnDriver BurnSpecwhodunni = {
	"spec_whodunni", NULL, "spec_spectrum", NULL, "1984",
	"Who Dunnit (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwhodunniRomInfo, SpecwhodunniRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Who Killed Cock Robin (48K)

static struct BurnRomInfo SpecwhkicoroRomDesc[] = {
	{ "Who Killed Cock Robin (1983)(Widgit Software).z80", 0x08f38, 0x048078fb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwhkicoro, Specwhkicoro, Spectrum)
STD_ROM_FN(Specwhkicoro)

struct BurnDriver BurnSpecwhkicoro = {
	"spec_whkicoro", NULL, "spec_spectrum", NULL, "1983",
	"Who Killed Cock Robin (48K)\0", NULL, "Widgit Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwhkicoroRomInfo, SpecwhkicoroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Who Said That (48K)

static struct BurnRomInfo SpecwhosaithRomDesc[] = {
	{ "Who Said That (1987)(Tynesoft).z80", 0x02927, 0xe1b519ba, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwhosaith, Specwhosaith, Spectrum)
STD_ROM_FN(Specwhosaith)

struct BurnDriver BurnSpecwhosaith = {
	"spec_whosaith", NULL, "spec_spectrum", NULL, "1987",
	"Who Said That (48K)\0", NULL, "Tynesoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwhosaithRomInfo, SpecwhosaithRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Whopper Chase (Spanish) (48K)

static struct BurnRomInfo SpecwhopchasRomDesc[] = {
	{ "Whopper Chase (1987)(Erbe Software)(es).z80", 0x0845f, 0xc9e95dd3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwhopchas, Specwhopchas, Spectrum)
STD_ROM_FN(Specwhopchas)

struct BurnDriver BurnSpecwhopchas = {
	"spec_whopchas", NULL, "spec_spectrum", NULL, "1987",
	"Whopper Chase (Spanish) (48K)\0", NULL, "Erbe Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwhopchasRomInfo, SpecwhopchasRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Why is the World Round Anyway (Part 1 of 2) (48K)

static struct BurnRomInfo SpecwhworoanRomDesc[] = {
	{ "Why is the World Round Anyway (1995)(Zenobi Software)(Part 1 of 2).z80", 0x09819, 0x8c05164c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwhworoan, Specwhworoan, Spectrum)
STD_ROM_FN(Specwhworoan)

struct BurnDriver BurnSpecwhworoan = {
	"spec_whworoan", NULL, "spec_spectrum", NULL, "1995",
	"Why is the World Round Anyway (Part 1 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwhworoanRomInfo, SpecwhworoanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Why is the World Round Anyway (Part 2 of 2) (48K)

static struct BurnRomInfo Specwhworoan2RomDesc[] = {
	{ "Why is the World Round Anyway (1995)(Zenobi Software)(Part 2 of 2).z80", 0x0998b, 0xf6bbaf61, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwhworoan2, Specwhworoan2, Spectrum)
STD_ROM_FN(Specwhworoan2)

struct BurnDriver BurnSpecwhworoan2 = {
	"spec_whworoan2", "spec_whworoan", "spec_spectrum", NULL, "1995",
	"Why is the World Round Anyway (Part 2 of 2) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specwhworoan2RomInfo, Specwhworoan2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wibstars (48K)

static struct BurnRomInfo SpecwibstarsRomDesc[] = {
	{ "Wibstars (1987)(A & F Software).z80", 0x09bef, 0x6321a8a9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwibstars, Specwibstars, Spectrum)
STD_ROM_FN(Specwibstars)

struct BurnDriver BurnSpecwibstars = {
	"spec_wibstars", NULL, "spec_spectrum", NULL, "1987",
	"Wibstars (48K)\0", NULL, "A & F Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwibstarsRomInfo, SpecwibstarsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Width of the World, The (48K)

static struct BurnRomInfo SpecwidworthRomDesc[] = {
	{ "Width of the World, The (1984)(Mosaic Publishing).z80", 0x09f87, 0x0a7b3716, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwidworth, Specwidworth, Spectrum)
STD_ROM_FN(Specwidworth)

struct BurnDriver BurnSpecwidworth = {
	"spec_widworth", NULL, "spec_spectrum", NULL, "1984",
	"Width of the World, The (48K)\0", NULL, "Mosaic Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwidworthRomInfo, SpecwidworthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wild Bunch, The (48K)

static struct BurnRomInfo SpecwilbunthRomDesc[] = {
	{ "Wild Bunch, The (1984)(Firebird Software).z80", 0x0a3e4, 0xf7faf350, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwilbunth, Specwilbunth, Spectrum)
STD_ROM_FN(Specwilbunth)

struct BurnDriver BurnSpecwilbunth = {
	"spec_wilbunth", NULL, "spec_spectrum", NULL, "1984",
	"Wild Bunch, The (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwilbunthRomInfo, SpecwilbunthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wild Water (48K)

static struct BurnRomInfo SpecwildwateRomDesc[] = {
	{ "Wild Water (1989)(Bug-Byte Software).z80", 0x06ee8, 0xd9519008, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwildwate, Specwildwate, Spectrum)
STD_ROM_FN(Specwildwate)

struct BurnDriver BurnSpecwildwate = {
	"spec_wildwate", NULL, "spec_spectrum", NULL, "1989",
	"Wild Water (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwildwateRomInfo, SpecwildwateRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wild West Hero (48K)

static struct BurnRomInfo SpecwilwesheRomDesc[] = {
	{ "Wild West Hero (1983)(Timescape Software).z80", 0x05398, 0x530b719c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwilweshe, Specwilweshe, Spectrum)
STD_ROM_FN(Specwilweshe)

struct BurnDriver BurnSpecwilweshe = {
	"spec_wilweshe", NULL, "spec_spectrum", NULL, "1983",
	"Wild West Hero (48K)\0", NULL, "Timescape Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwilwesheRomInfo, SpecwilwesheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wild West Seymour (48K)

static struct BurnRomInfo Specwwseymr_48RomDesc[] = {
	{ "Wild West Seymour (1992)(Codemasters).z80", 0x0b4ab, 0xbf324d91, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwwseymr_48, Specwwseymr_48, Spectrum)
STD_ROM_FN(Specwwseymr_48)

struct BurnDriver BurnSpecwwseymr_48 = {
	"spec_wwseymr_48", "spec_wwseymr", "spec_spectrum", NULL, "1992",
	"Wild West Seymour (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specwwseymr_48RomInfo, Specwwseymr_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wild West Seymour (128K)

static struct BurnRomInfo SpecwwseymrRomDesc[] = {
	{ "Wild West Seymour (1992)(Codemasters)[128K].z80", 0x141c6, 0x01dc3cee, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwwseymr, Specwwseymr, Spectrum)
STD_ROM_FN(Specwwseymr)

struct BurnDriver BurnSpecwwseymr = {
	"spec_wwseymr", NULL, "spec_spec128", NULL, "1992",
	"Wild West Seymour (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwwseymrRomInfo, SpecwwseymrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// William Wobbler (48K)

static struct BurnRomInfo SpecwillwobbRomDesc[] = {
	{ "William Wobbler (1986)(Wizard Computer Games).z80", 0x0841d, 0xf1518ef6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwillwobb, Specwillwobb, Spectrum)
STD_ROM_FN(Specwillwobb)

struct BurnDriver BurnSpecwillwobb = {
	"spec_willwobb", NULL, "spec_spectrum", NULL, "1986",
	"William Wobbler (48K)\0", NULL, "Wizard Computer Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwillwobbRomInfo, SpecwillwobbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Willow Pattern Adventure, The (48K)

static struct BurnRomInfo SpecwipaadthRomDesc[] = {
	{ "Willow Pattern Adventure, The (1985)(Firebird Software).z80", 0x07e7c, 0x30c6f2e1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwipaadth, Specwipaadth, Spectrum)
STD_ROM_FN(Specwipaadth)

struct BurnDriver BurnSpecwipaadth = {
	"spec_wipaadth", NULL, "spec_spectrum", NULL, "1985",
	"Willow Pattern Adventure, The (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwipaadthRomInfo, SpecwipaadthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Willy Wino's Stag Night (48K)

static struct BurnRomInfo SpecwiwistniRomDesc[] = {
	{ "Willy Wino's Stag Night (1988)(Silverbird Software).z80", 0x0936a, 0x0ce84d6c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwiwistni, Specwiwistni, Spectrum)
STD_ROM_FN(Specwiwistni)

struct BurnDriver BurnSpecwiwistni = {
	"spec_wiwistni", NULL, "spec_spectrum", NULL, "1988",
	"Willy Wino's Stag Night (48K)\0", NULL, "Silverbird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwiwistniRomInfo, SpecwiwistniRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wimbledon '97 (48K)

static struct BurnRomInfo SpecwimbledoRomDesc[] = {
	{ "Wimbledon '97 (1997)(CSSCGC).z80", 0x01122, 0x7942666f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwimbledo, Specwimbledo, Spectrum)
STD_ROM_FN(Specwimbledo)

struct BurnDriver BurnSpecwimbledo = {
	"spec_wimbledo", NULL, "spec_spectrum", NULL, "1997",
	"Wimbledon '97 (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwimbledoRomInfo, SpecwimbledoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wind Surfer (48K)

static struct BurnRomInfo SpecwindsurfRomDesc[] = {
	{ "Wind Surfer (1986)(K'Soft).z80", 0x074ec, 0x6d40f283, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwindsurf, Specwindsurf, Spectrum)
STD_ROM_FN(Specwindsurf)

struct BurnDriver BurnSpecwindsurf = {
	"spec_windsurf", NULL, "spec_spectrum", NULL, "1986",
	"Wind Surfer (48K)\0", NULL, "K'Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwindsurfRomInfo, SpecwindsurfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Winged Warlords (48K)

static struct BurnRomInfo SpecwingwarlRomDesc[] = {
	{ "Winged Warlords (1983)(CDS Microsystems).z80", 0x01daa, 0xa7ecc1af, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwingwarl, Specwingwarl, Spectrum)
STD_ROM_FN(Specwingwarl)

struct BurnDriver BurnSpecwingwarl = {
	"spec_wingwarl", NULL, "spec_spectrum", NULL, "1983",
	"Winged Warlords (48K)\0", NULL, "CDS Microsystems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwingwarlRomInfo, SpecwingwarlRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Winter Games (128K)

static struct BurnRomInfo SpecwintgameRomDesc[] = {
	{ "Winter Games (1986)(U.S. Gold)[128K].z80", 0x17a9e, 0xd1188451, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwintgame, Specwintgame, Spectrum)
STD_ROM_FN(Specwintgame)

struct BurnDriver BurnSpecwintgame = {
	"spec_wintgame", NULL, "spec_spec128", NULL, "1986",
	"Winter Games (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwintgameRomInfo, SpecwintgameRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Winter Sports (48K)

static struct BurnRomInfo SpecwintsporRomDesc[] = {
	{ "Winter Sports (1985)(Electric Dreams Software).z80", 0x04598, 0xba73b90d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwintspor, Specwintspor, Spectrum)
STD_ROM_FN(Specwintspor)

struct BurnDriver BurnSpecwintspor = {
	"spec_wintspor", NULL, "spec_spectrum", NULL, "1985",
	"Winter Sports (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwintsporRomInfo, SpecwintsporRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Winter Term (48K)

static struct BurnRomInfo SpecwinttermRomDesc[] = {
	{ "Winter Term (1989)(Ad. Lomer).z80", 0x0abc5, 0x2b0aaead, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwintterm, Specwintterm, Spectrum)
STD_ROM_FN(Specwintterm)

struct BurnDriver BurnSpecwintterm = {
	"spec_wintterm", NULL, "spec_spectrum", NULL, "1989",
	"Winter Term (48K)\0", NULL, "Ad. Lomer", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwinttermRomInfo, SpecwinttermRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Winter Wonderland (48K)

static struct BurnRomInfo SpecwintwondRomDesc[] = {
	{ "Winter Wonderland (1986)(Incentive Software).z80", 0x0aab4, 0xc08e5438, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwintwond, Specwintwond, Spectrum)
STD_ROM_FN(Specwintwond)

struct BurnDriver BurnSpecwintwond = {
	"spec_wintwond", NULL, "spec_spectrum", NULL, "1986",
	"Winter Wonderland (48K)\0", NULL, "Incentive Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwintwondRomInfo, SpecwintwondRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Witch Hunt (48K)

static struct BurnRomInfo SpecwitchuntRomDesc[] = {
	{ "Witch Hunt (1987)(Zenobi Software)[re-release].z80", 0x09407, 0xe67e46e5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwitchunt, Specwitchunt, Spectrum)
STD_ROM_FN(Specwitchunt)

struct BurnDriver BurnSpecwitchunt = {
	"spec_witchunt", NULL, "spec_spectrum", NULL, "1987",
	"Witch Hunt (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwitchuntRomInfo, SpecwitchuntRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Witchfiend (128K)

static struct BurnRomInfo SpecwitchfieRomDesc[] = {
	{ "Witchfiend (1986)(Strobe)[128K].z80", 0x079f0, 0x1b707260, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwitchfie, Specwitchfie, Spectrum)
STD_ROM_FN(Specwitchfie)

struct BurnDriver BurnSpecwitchfie = {
	"spec_witchfie", NULL, "spec_spec128", NULL, "1986",
	"Witchfiend (128K)\0", NULL, "Strobe", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwitchfieRomInfo, SpecwitchfieRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Witch's Cauldron, The (48K)

static struct BurnRomInfo SpecwitcauthRomDesc[] = {
	{ "Witch's Cauldron, The (1985)(Mikro-Gen).z80", 0x0b49c, 0xd0ed9940, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwitcauth, Specwitcauth, Spectrum)
STD_ROM_FN(Specwitcauth)

struct BurnDriver BurnSpecwitcauth = {
	"spec_witcauth", NULL, "spec_spectrum", NULL, "1985",
	"Witch's Cauldron, The (48K)\0", NULL, "Mikro-Gen", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwitcauthRomInfo, SpecwitcauthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Within the Pentacle (48K)

static struct BurnRomInfo SpecwithpentRomDesc[] = {
	{ "Within the Pentacle (19xx)(Anthony Bryne).z80", 0x064f4, 0x632f3bf5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwithpent, Specwithpent, Spectrum)
STD_ROM_FN(Specwithpent)

struct BurnDriver BurnSpecwithpent = {
	"spec_withpent", NULL, "spec_spectrum", NULL, "19xx",
	"Within the Pentacle (48K)\0", NULL, "Anthony Bryne", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwithpentRomInfo, SpecwithpentRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wiz (48K)

static struct BurnRomInfo SpecwizRomDesc[] = {
	{ "Wiz (1987)(Melbourne House).z80", 0x0a2c0, 0xe7918032, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwiz, Specwiz, Spectrum)
STD_ROM_FN(Specwiz)

struct BurnDriver BurnSpecwiz = {
	"spec_wiz", NULL, "spec_spectrum", NULL, "1987",
	"Wiz (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwizRomInfo, SpecwizRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wizard of Oz, The (48K)

static struct BurnRomInfo SpecwizoztheRomDesc[] = {
	{ "Wizard of Oz, The (1995)(Zenobi Software).z80", 0x09b66, 0x716783ef, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwizozthe, Specwizozthe, Spectrum)
STD_ROM_FN(Specwizozthe)

struct BurnDriver BurnSpecwizozthe = {
	"spec_wizozthe", NULL, "spec_spectrum", NULL, "1995",
	"Wizard of Oz, The (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwizoztheRomInfo, SpecwizoztheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wizard Quest (48K)

static struct BurnRomInfo SpecwizaquesRomDesc[] = {
	{ "Wizard Quest (1992)(Zenobi Software).z80", 0x08d15, 0x1f5be35f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwizaques, Specwizaques, Spectrum)
STD_ROM_FN(Specwizaques)

struct BurnDriver BurnSpecwizaques = {
	"spec_wizaques", NULL, "spec_spectrum", NULL, "1992",
	"Wizard Quest (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwizaquesRomInfo, SpecwizaquesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wizard Warz (48K)

static struct BurnRomInfo SpecwizawarzRomDesc[] = {
	{ "Wizard Warz (1988)(Go!).z80", 0x085e5, 0xb2a36e1b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwizawarz, Specwizawarz, Spectrum)
STD_ROM_FN(Specwizawarz)

struct BurnDriver BurnSpecwizawarz = {
	"spec_wizawarz", NULL, "spec_spectrum", NULL, "1988",
	"Wizard Warz (48K)\0", NULL, "Go!", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwizawarzRomInfo, SpecwizawarzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wizard Willy (48K)

static struct BurnRomInfo Specwizawill_48RomDesc[] = {
	{ "Wizard Willy (1990)(Codemasters).z80", 0x099db, 0x1579185d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwizawill_48, Specwizawill_48, Spectrum)
STD_ROM_FN(Specwizawill_48)

struct BurnDriver BurnSpecwizawill_48 = {
	"spec_wizawill_48", "spec_wizawill", "spec_spectrum", NULL, "1990",
	"Wizard Willy (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specwizawill_48RomInfo, Specwizawill_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wizard Willy (128K)

static struct BurnRomInfo SpecwizawillRomDesc[] = {
	{ "Wizard Willy (1990)(Codemasters)[128K].z80", 0x0a7b8, 0xfb803d95, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwizawill, Specwizawill, Spectrum)
STD_ROM_FN(Specwizawill)

struct BurnDriver BurnSpecwizawill = {
	"spec_wizawill", NULL, "spec_spec128", NULL, "1990",
	"Wizard Willy (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwizawillRomInfo, SpecwizawillRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wizard, The (German) (48K)

static struct BurnRomInfo SpecwizathedRomDesc[] = {
	{ "Wizard, The (1984)(Aquarius)(de).z80", 0x05a54, 0x2f2cb9e6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwizathed, Specwizathed, Spectrum)
STD_ROM_FN(Specwizathed)

struct BurnDriver BurnSpecwizathed = {
	"spec_wizathed", NULL, "spec_spectrum", NULL, "1984",
	"Wizard, The (German) (48K)\0", NULL, "Aquarius", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwizathedRomInfo, SpecwizathedRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wizard's Lair (Bubblebus Software) (48K)

static struct BurnRomInfo SpecwizlairbRomDesc[] = {
	{ "Wizard's Lair (1984)(Bubblebus Software).z80", 0x0b566, 0x9a6d33b1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwizlairb, Specwizlairb, Spectrum)
STD_ROM_FN(Specwizlairb)

struct BurnDriver BurnSpecwizlairb = {
	"spec_wizlairb", NULL, "spec_spectrum", NULL, "1984",
	"Wizard's Lair (Bubblebus Software) (48K)\0", NULL, "Bubblebus Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwizlairbRomInfo, SpecwizlairbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wizard's Lair (Yodasoft) (48K)

static struct BurnRomInfo SpecwizlairyRomDesc[] = {
	{ "Wizard's Lair (1984)(Yodasoft).z80", 0x04d80, 0x69a9e596, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwizlairy, Specwizlairy, Spectrum)
STD_ROM_FN(Specwizlairy)

struct BurnDriver BurnSpecwizlairy = {
	"spec_wizlairy", NULL, "spec_spectrum", NULL, "1984",
	"Wizard's Lair (Yodasoft) (48K)\0", NULL, "Yodasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwizlairyRomInfo, SpecwizlairyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wizard's Scrolls, The (48K)

static struct BurnRomInfo SpecwizscrthRomDesc[] = {
	{ "Wizard's Scrolls, The (1984)(Double Play Adventures).z80", 0x092f2, 0x9d50e07b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwizscrth, Specwizscrth, Spectrum)
STD_ROM_FN(Specwizscrth)

struct BurnDriver BurnSpecwizscrth = {
	"spec_wizscrth", NULL, "spec_spectrum", NULL, "1984",
	"Wizard's Scrolls, The (48K)\0", NULL, "Double Play Adventures", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwizscrthRomInfo, SpecwizscrthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wizard's Warriors, The (48K)

static struct BurnRomInfo SpecwizwarthRomDesc[] = {
	{ "Wizard's Warriors, The (1983)(Mastertronic)[re-release].z80", 0x06d0d, 0x116afad9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwizwarth, Specwizwarth, Spectrum)
STD_ROM_FN(Specwizwarth)

struct BurnDriver BurnSpecwizwarth = {
	"spec_wizwarth", NULL, "spec_spectrum", NULL, "1983",
	"Wizard's Warriors, The (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwizwarthRomInfo, SpecwizwarthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wizball (48K)

static struct BurnRomInfo Specwizball_48RomDesc[] = {
	{ "Wizball (1987)(Ocean).z80", 0x096e4, 0x3b822aeb, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwizball_48, Specwizball_48, Spectrum)
STD_ROM_FN(Specwizball_48)

struct BurnDriver BurnSpecwizball_48 = {
	"spec_wizball_48", "spec_wizball", "spec_spectrum", NULL, "1987",
	"Wizball (48K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specwizball_48RomInfo, Specwizball_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wizball (128K)

static struct BurnRomInfo SpecwizballRomDesc[] = {
	{ "Wizball (1987)(Ocean)[128K].z80", 0x0a3f6, 0x74be725c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwizball, Specwizball, Spectrum)
STD_ROM_FN(Specwizball)

struct BurnDriver BurnSpecwizball = {
	"spec_wizball", NULL, "spec_spec128", NULL, "1987",
	"Wizball (128K)\0", NULL, "Ocean", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwizballRomInfo, SpecwizballRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wiz-Biz (48K)

static struct BurnRomInfo SpecwizbizRomDesc[] = {
	{ "Wiz-Biz (1987)(Alternative Software).z80", 0x0a51e, 0xf9f59465, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwizbiz, Specwizbiz, Spectrum)
STD_ROM_FN(Specwizbiz)

struct BurnDriver BurnSpecwizbiz = {
	"spec_wizbiz", NULL, "spec_spectrum", NULL, "1987",
	"Wiz-Biz (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwizbizRomInfo, SpecwizbizRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wolf (48K)

static struct BurnRomInfo SpecwolfRomDesc[] = {
	{ "Wolf (1984)(Bullar).z80", 0x02710, 0x351a7797, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwolf, Specwolf, Spectrum)
STD_ROM_FN(Specwolf)

struct BurnDriver BurnSpecwolf = {
	"spec_wolf", NULL, "spec_spectrum", NULL, "1984",
	"Wolf (48K)\0", NULL, "Bullar", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwolfRomInfo, SpecwolfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wolfman (Part 1 of 3) (48K)

static struct BurnRomInfo SpecwolfmanRomDesc[] = {
	{ "Wolfman (1988)(CRL Group)(Part 1 of 3).z80", 0x08bb9, 0x8a876e3e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwolfman, Specwolfman, Spectrum)
STD_ROM_FN(Specwolfman)

struct BurnDriver BurnSpecwolfman = {
	"spec_wolfman", NULL, "spec_spectrum", NULL, "1988",
	"Wolfman (Part 1 of 3) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwolfmanRomInfo, SpecwolfmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wolfman (Part 2 of 3) (48K)

static struct BurnRomInfo Specwolfman2RomDesc[] = {
	{ "Wolfman (1988)(CRL Group)(Part 2 of 3).z80", 0x0862a, 0x547b43fc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwolfman2, Specwolfman2, Spectrum)
STD_ROM_FN(Specwolfman2)

struct BurnDriver BurnSpecwolfman2 = {
	"spec_wolfman2", "spec_wolfman", "spec_spectrum", NULL, "1988",
	"Wolfman (Part 2 of 3) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specwolfman2RomInfo, Specwolfman2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wolfman (Part 3 of 3) (48K)

static struct BurnRomInfo Specwolfman3RomDesc[] = {
	{ "Wolfman (1988)(CRL Group)(Part 3 of 3).z80", 0x08c5a, 0x4078e089, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwolfman3, Specwolfman3, Spectrum)
STD_ROM_FN(Specwolfman3)

struct BurnDriver BurnSpecwolfman3 = {
	"spec_wolfman3", "spec_wolfman", "spec_spectrum", NULL, "1988",
	"Wolfman (Part 3 of 3) (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specwolfman3RomInfo, Specwolfman3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wombles, The (48K)

static struct BurnRomInfo SpecwombtheRomDesc[] = {
	{ "Wombles, The (1990)(Alternative Software).z80", 0x08ba8, 0x5356c85e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwombthe, Specwombthe, Spectrum)
STD_ROM_FN(Specwombthe)

struct BurnDriver BurnSpecwombthe = {
	"spec_wombthe", NULL, "spec_spectrum", NULL, "1990",
	"Wombles, The (48K)\0", NULL, "Alternative Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwombtheRomInfo, SpecwombtheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wonder Boy (128K)

static struct BurnRomInfo SpecwboyRomDesc[] = {
	{ "Wonder Boy (1987)(Activision)[128K].z80", 0x11193, 0xb492a055, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwboy, Specwboy, Spectrum)
STD_ROM_FN(Specwboy)

struct BurnDriver BurnSpecwboy = {
	"spec_wboy", NULL, "spec_spec128", NULL, "1987",
	"Wonder Boy (128K)\0", NULL, "Activision", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwboyRomInfo, SpecwboyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Woods of Winter, The (48K)

static struct BurnRomInfo SpecwoowinthRomDesc[] = {
	{ "Woods of Winter, The (1984)(CRL Group).z80", 0x08fe7, 0xdff98429, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwoowinth, Specwoowinth, Spectrum)
STD_ROM_FN(Specwoowinth)

struct BurnDriver BurnSpecwoowinth = {
	"spec_woowinth", NULL, "spec_spectrum", NULL, "1984",
	"Woods of Winter, The (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwoowinthRomInfo, SpecwoowinthRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wordsearch (48K)

static struct BurnRomInfo SpecwordsearRomDesc[] = {
	{ "Wordsearch (1988)(CDS Microsystems).z80", 0x053c6, 0xb3400626, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwordsear, Specwordsear, Spectrum)
STD_ROM_FN(Specwordsear)

struct BurnDriver BurnSpecwordsear = {
	"spec_wordsear", NULL, "spec_spectrum", NULL, "1988",
	"Wordsearch (48K)\0", NULL, "CDS Microsystems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwordsearRomInfo, SpecwordsearRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// World Champions (48K)

static struct BurnRomInfo SpecworlchamRomDesc[] = {
	{ "World Champions (1986)(E&J Software).z80", 0x0a56d, 0x477cc211, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specworlcham, Specworlcham, Spectrum)
STD_ROM_FN(Specworlcham)

struct BurnDriver BurnSpecworlcham = {
	"spec_worlcham", NULL, "spec_spectrum", NULL, "1986",
	"World Champions (48K)\0", NULL, "E&J Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecworlchamRomInfo, SpecworlchamRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// World Championship Boxing Manager (48K)

static struct BurnRomInfo SpecwochbomaRomDesc[] = {
	{ "World Championship Boxing Manager (1990)(Goliath Games).z80", 0x0a60f, 0x9318a4d8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwochboma, Specwochboma, Spectrum)
STD_ROM_FN(Specwochboma)

struct BurnDriver BurnSpecwochboma = {
	"spec_wochboma", NULL, "spec_spectrum", NULL, "1990",
	"World Championship Boxing Manager (48K)\0", NULL, "Goliath Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwochbomaRomInfo, SpecwochbomaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// World Championship Soccer (128K)

static struct BurnRomInfo SpecworchasoRomDesc[] = {
	{ "World Championship Soccer (1990)(Elite Systems)[128K].z80", 0x1b8cf, 0x21c162fe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specworchaso, Specworchaso, Spectrum)
STD_ROM_FN(Specworchaso)

struct BurnDriver BurnSpecworchaso = {
	"spec_worchaso", NULL, "spec_spec128", NULL, "1990",
	"World Championship Soccer (128K)\0", NULL, "Elite Systems", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecworchasoRomInfo, SpecworchasoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// World Class Darts (48K)

static struct BurnRomInfo SpecworcladaRomDesc[] = {
	{ "World Class Darts (1983)(Alphasoft).z80", 0x044cf, 0x140d149f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specworclada, Specworclada, Spectrum)
STD_ROM_FN(Specworclada)

struct BurnDriver BurnSpecworclada = {
	"spec_worclada", NULL, "spec_spectrum", NULL, "1983",
	"World Class Darts (48K)\0", NULL, "Alphasoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecworcladaRomInfo, SpecworcladaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// World Cricket (48K)

static struct BurnRomInfo SpecworlcricRomDesc[] = {
	{ "World Cricket (1991)(Zeppelin Games).z80", 0x098ff, 0x5dcf6299, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specworlcric, Specworlcric, Spectrum)
STD_ROM_FN(Specworlcric)

struct BurnDriver BurnSpecworlcric = {
	"spec_worlcric", NULL, "spec_spectrum", NULL, "1991",
	"World Cricket (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecworlcricRomInfo, SpecworlcricRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// World Cup (48K)

static struct BurnRomInfo SpecworlcupRomDesc[] = {
	{ "World Cup (1990)(D&H Games).z80", 0x078aa, 0x1e54896e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specworlcup, Specworlcup, Spectrum)
STD_ROM_FN(Specworlcup)

struct BurnDriver BurnSpecworlcup = {
	"spec_worlcup", NULL, "spec_spectrum", NULL, "1990",
	"World Cup (48K)\0", NULL, "D&H Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecworlcupRomInfo, SpecworlcupRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// World Cup Carnival (128K)

static struct BurnRomInfo SpecworcupcaRomDesc[] = {
	{ "World Cup Carnival (1986)(U.S. Gold)[128K][aka World Cup Football].z80", 0x088cd, 0x2e09888a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specworcupca, Specworcupca, Spectrum)
STD_ROM_FN(Specworcupca)

struct BurnDriver BurnSpecworcupca = {
	"spec_worcupca", NULL, "spec_spec128", NULL, "1986",
	"World Cup Carnival (128K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecworcupcaRomInfo, SpecworcupcaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// World Cup Challenge (48K)

static struct BurnRomInfo SpecworcupchRomDesc[] = {
	{ "World Cup Challenge (1990)(Players Premier Software).z80", 0x096e5, 0x3c051efd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specworcupch, Specworcupch, Spectrum)
STD_ROM_FN(Specworcupch)

struct BurnDriver BurnSpecworcupch = {
	"spec_worcupch", NULL, "spec_spectrum", NULL, "1990",
	"World Cup Challenge (48K)\0", NULL, "Players Premier Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecworcupchRomInfo, SpecworcupchRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// World Cup Football (48K)

static struct BurnRomInfo SpecworcupfoRomDesc[] = {
	{ "World Cup Football (1984)(Artic Computing).z80", 0x0668b, 0x37fed3f3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specworcupfo, Specworcupfo, Spectrum)
STD_ROM_FN(Specworcupfo)

struct BurnDriver BurnSpecworcupfo = {
	"spec_worcupfo", NULL, "spec_spectrum", NULL, "1984",
	"World Cup Football (48K)\0", NULL, "Artic Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecworcupfoRomInfo, SpecworcupfoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// World Cup Soccer (Part 1 of 2) (48K)

static struct BurnRomInfo SpecworldcpsRomDesc[] = {
	{ "World Cup Soccer (1985)(Macmillan Software)(Part 1 of 2).z80", 0x0a25f, 0xdfbc7bdc, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specworldcps, Specworldcps, Spectrum)
STD_ROM_FN(Specworldcps)

struct BurnDriver BurnSpecworldcps = {
	"spec_worldcps", NULL, "spec_spectrum", NULL, "1985",
	"World Cup Soccer (Part 1 of 2) (48K)\0", NULL, "Macmillan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecworldcpsRomInfo, SpecworldcpsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// World Cup Soccer (Part 2 of 2) (48K)

static struct BurnRomInfo Specworldcps2RomDesc[] = {
	{ "World Cup Soccer (1985)(Macmillan Software)(Part 2 of 2).z80", 0x093e2, 0xab7f88c8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specworldcps2, Specworldcps2, Spectrum)
STD_ROM_FN(Specworldcps2)

struct BurnDriver BurnSpecworldcps2 = {
	"spec_worldcps2", "spec_worldcps", "spec_spectrum", NULL, "1985",
	"World Cup Soccer (Part 2 of 2) (48K)\0", NULL, "Macmillan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specworldcps2RomInfo, Specworldcps2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// World Destruction (Spanish) (48K)

static struct BurnRomInfo SpecworldestRomDesc[] = {
	{ "World Destruction (1985)(Ventamatic)(es).z80", 0x06f2e, 0x3f872490, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specworldest, Specworldest, Spectrum)
STD_ROM_FN(Specworldest)

struct BurnDriver BurnSpecworldest = {
	"spec_worldest", NULL, "spec_spectrum", NULL, "1985",
	"World Destruction (Spanish) (48K)\0", NULL, "Ventamatic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecworldestRomInfo, SpecworldestRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// World of Soccer (48K)

static struct BurnRomInfo SpecworlsoccRomDesc[] = {
	{ "World of Soccer (1992)(Challenge Software).z80", 0x09832, 0x2e7d6a2f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specworlsocc, Specworlsocc, Spectrum)
STD_ROM_FN(Specworlsocc)

struct BurnDriver BurnSpecworlsocc = {
	"spec_worlsocc", NULL, "spec_spectrum", NULL, "1992",
	"World of Soccer (48K)\0", NULL, "Challenge Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecworlsoccRomInfo, SpecworlsoccRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// World Series Baseball (48K)

static struct BurnRomInfo SpecwrldsbsbRomDesc[] = {
	{ "World Series Baseball (1985)(Imagine Software).z80", 0x089fc, 0x3d2e3fba, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwrldsbsb, Specwrldsbsb, Spectrum)
STD_ROM_FN(Specwrldsbsb)

struct BurnDriver BurnSpecwrldsbsb = {
	"spec_wrldsbsb", NULL, "spec_spectrum", NULL, "1985",
	"World Series Baseball (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwrldsbsbRomInfo, SpecwrldsbsbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// World Series Basketball (48K)

static struct BurnRomInfo SpecwrldsbskRomDesc[] = {
	{ "World Series Basketball (1985)(Imagine Software).z80", 0x09c7a, 0x611090db, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwrldsbsk, Specwrldsbsk, Spectrum)
STD_ROM_FN(Specwrldsbsk)

struct BurnDriver BurnSpecwrldsbsk = {
	"spec_wrldsbsk", NULL, "spec_spectrum", NULL, "1985",
	"World Series Basketball (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwrldsbskRomInfo, SpecwrldsbskRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// World Soccer (48K)

static struct BurnRomInfo SpecwrldsoccRomDesc[] = {
	{ "World Soccer (1990)(Zeppelin Games).z80", 0x0a43a, 0x59562d98, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwrldsocc, Specwrldsocc, Spectrum)
STD_ROM_FN(Specwrldsocc)

struct BurnDriver BurnSpecwrldsocc = {
	"spec_wrldsocc", NULL, "spec_spectrum", NULL, "1990",
	"World Soccer (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwrldsoccRomInfo, SpecwrldsoccRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// World War 2.5 - Hitler's Revenge (48K)

static struct BurnRomInfo SpecwowahireRomDesc[] = {
	{ "World War 2.5 - Hitler's Revenge (1998)(CSSCGC).z80", 0x0337f, 0xe258344b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwowahire, Specwowahire, Spectrum)
STD_ROM_FN(Specwowahire)

struct BurnDriver BurnSpecwowahire = {
	"spec_wowahire", NULL, "spec_spectrum", NULL, "1998",
	"World War 2.5 - Hitler's Revenge (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwowahireRomInfo, SpecwowahireRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Worm Attack (48K)

static struct BurnRomInfo SpecwormattaRomDesc[] = {
	{ "Worm Attack (1984)(Pulsonic).z80", 0x01636, 0x2368351a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwormatta, Specwormatta, Spectrum)
STD_ROM_FN(Specwormatta)

struct BurnDriver BurnSpecwormatta = {
	"spec_wormatta", NULL, "spec_spectrum", NULL, "1984",
	"Worm Attack (48K)\0", NULL, "Pulsonic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwormattaRomInfo, SpecwormattaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Worm, The (48K)

static struct BurnRomInfo SpecwormtheRomDesc[] = {
	{ "Worm, The (1997)(CSSCGC).z80", 0x03248, 0xacb022cd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwormthe, Specwormthe, Spectrum)
STD_ROM_FN(Specwormthe)

struct BurnDriver BurnSpecwormthe = {
	"spec_wormthe", NULL, "spec_spectrum", NULL, "1997",
	"Worm, The (48K)\0", NULL, "CSSCGC", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwormtheRomInfo, SpecwormtheRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Worms (128K)

static struct BurnRomInfo SpecwormsRomDesc[] = {
	{ "Worms (1997)(Silicon Brains Software)[128K].z80", 0x0eea7, 0x518633a9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specworms, Specworms, Spectrum)
STD_ROM_FN(Specworms)

struct BurnDriver BurnSpecworms = {
	"spec_worms", NULL, "spec_spec128", NULL, "1997",
	"Worms (128K)\0", NULL, "Silicon Brains Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwormsRomInfo, SpecwormsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Worse Things Happen at Sea (48K)

static struct BurnRomInfo SpecwothhaseRomDesc[] = {
	{ "Worse Things Happen at Sea (1984)(Silversoft).z80", 0x06471, 0x0f9263a2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwothhase, Specwothhase, Spectrum)
STD_ROM_FN(Specwothhase)

struct BurnDriver BurnSpecwothhase = {
	"spec_wothhase", NULL, "spec_spectrum", NULL, "1984",
	"Worse Things Happen at Sea (48K)\0", NULL, "Silversoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwothhaseRomInfo, SpecwothhaseRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wrath of Magra, The (Part 1 of 3) (48K)

static struct BurnRomInfo SpecwrathmRomDesc[] = {
	{ "Wrath of Magra, The (1984)(Carnell Software)(Part 1 of 3).z80", 0x0982b, 0x12a905d4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwrathm, Specwrathm, Spectrum)
STD_ROM_FN(Specwrathm)

struct BurnDriver BurnSpecwrathm = {
	"spec_wrathm", NULL, "spec_spectrum", NULL, "1984",
	"Wrath of Magra, The (Part 1 of 3) (48K)\0", NULL, "Carnell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwrathmRomInfo, SpecwrathmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wrath of Magra, The (Part 2 of 3) (48K)

static struct BurnRomInfo Specwrathm2RomDesc[] = {
	{ "Wrath of Magra, The (1984)(Carnell Software)(Part 2 of 3).z80", 0x0999a, 0xd6d8b119, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwrathm2, Specwrathm2, Spectrum)
STD_ROM_FN(Specwrathm2)

struct BurnDriver BurnSpecwrathm2 = {
	"spec_wrathm2", "spec_wrathm", "spec_spectrum", NULL, "1984",
	"Wrath of Magra, The (Part 2 of 3) (48K)\0", NULL, "Carnell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specwrathm2RomInfo, Specwrathm2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wrath of Magra, The (Part 3 of 3) (48K)

static struct BurnRomInfo Specwrathm3RomDesc[] = {
	{ "Wrath of Magra, The (1984)(Carnell Software)(Part 3 of 3).z80", 0x09699, 0x8c1a331b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwrathm3, Specwrathm3, Spectrum)
STD_ROM_FN(Specwrathm3)

struct BurnDriver BurnSpecwrathm3 = {
	"spec_wrathm3", "spec_wrathm", "spec_spectrum", NULL, "1984",
	"Wrath of Magra, The (Part 3 of 3) (48K)\0", NULL, "Carnell Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specwrathm3RomInfo, Specwrathm3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wrestling Superstars (48K)

static struct BurnRomInfo Specwrstss_48RomDesc[] = {
	{ "Wrestling Superstars (1993)(Codemasters).z80", 0x08f52, 0x22cef021, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwrstss_48, Specwrstss_48, Spectrum)
STD_ROM_FN(Specwrstss_48)

struct BurnDriver BurnSpecwrstss_48 = {
	"spec_wrstss_48", "spec_wrstss", "spec_spectrum", NULL, "1993",
	"Wrestling Superstars (48K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specwrstss_48RomInfo, Specwrstss_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wrestling Superstars (128K)

static struct BurnRomInfo SpecwrstssRomDesc[] = {
	{ "Wrestling Superstars (1993)(Codemasters)[128K].z80", 0x0a2d2, 0x1eefa30d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwrstss, Specwrstss, Spectrum)
STD_ROM_FN(Specwrstss)

struct BurnDriver BurnSpecwrstss = {
	"spec_wrstss", NULL, "spec_spec128", NULL, "1993",
	"Wrestling Superstars (128K)\0", NULL, "Codemasters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwrstssRomInfo, SpecwrstssRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wriggler (Pirate Computing) (48K)

static struct BurnRomInfo SpecwrigglrpRomDesc[] = {
	{ "Wriggler (1985)(Pirate Computing).z80", 0x01b83, 0x451cb562, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwrigglrp, Specwrigglrp, Spectrum)
STD_ROM_FN(Specwrigglrp)

struct BurnDriver BurnSpecwrigglrp = {
	"spec_wrigglrp", NULL, "spec_spectrum", NULL, "1985",
	"Wriggler (Pirate Computing) (48K)\0", NULL, "Pirate Computing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwrigglrpRomInfo, SpecwrigglrpRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wriggler (Romantic Robot UK) (48K)

static struct BurnRomInfo SpecwrigglrrRomDesc[] = {
	{ "Wriggler (1985)(Romantic Robot UK).z80", 0x0ae0a, 0x5f9ed5aa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwrigglrr, Specwrigglrr, Spectrum)
STD_ROM_FN(Specwrigglrr)

struct BurnDriver BurnSpecwrigglrr = {
	"spec_wrigglrr", NULL, "spec_spectrum", NULL, "1985",
	"Wriggler (Romantic Robot UK) (48K)\0", NULL, "Romantic Robot UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwrigglrrRomInfo, SpecwrigglrrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wuestenkrieg (German) (48K)

static struct BurnRomInfo SpecwuestenkRomDesc[] = {
	{ "Wuestenkrieg (19xx)(-)(de).z80", 0x02a55, 0xc5ddc411, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwuestenk, Specwuestenk, Spectrum)
STD_ROM_FN(Specwuestenk)

struct BurnDriver BurnSpecwuestenk = {
	"spec_wuestenk", NULL, "spec_spectrum", NULL, "19xx",
	"Wuestenkrieg (German) (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwuestenkRomInfo, SpecwuestenkRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wulfan the Barbarian (48K)

static struct BurnRomInfo SpecwulfbarbRomDesc[] = {
	{ "Wulfan the Barbarian (1987)(Bulldog).z80", 0x09ec5, 0x03253bc2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwulfbarb, Specwulfbarb, Spectrum)
STD_ROM_FN(Specwulfbarb)

struct BurnDriver BurnSpecwulfbarb = {
	"spec_wulfbarb", NULL, "spec_spectrum", NULL, "1987",
	"Wulfan the Barbarian (48K)\0", NULL, "Bulldog", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwulfbarbRomInfo, SpecwulfbarbRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Wulfpack (48K)

static struct BurnRomInfo SpecwulfpackRomDesc[] = {
	{ "Wulfpack (1988)(Blue Ribbon Software).z80", 0x07d58, 0x6c459f41, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specwulfpack, Specwulfpack, Spectrum)
STD_ROM_FN(Specwulfpack)

struct BurnDriver BurnSpecwulfpack = {
	"spec_wulfpack", NULL, "spec_spectrum", NULL, "1988",
	"Wulfpack (48K)\0", NULL, "Blue Ribbon Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecwulfpackRomInfo, SpecwulfpackRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Xadom (48K)

static struct BurnRomInfo SpecxadomRomDesc[] = {
	{ "Xadom (1983)(Quicksilva).z80", 0x0a3e1, 0xa0349b13, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specxadom, Specxadom, Spectrum)
STD_ROM_FN(Specxadom)

struct BurnDriver BurnSpecxadom = {
	"spec_xadom", NULL, "spec_spectrum", NULL, "1983",
	"Xadom (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecxadomRomInfo, SpecxadomRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Xanagrams (48K)

static struct BurnRomInfo SpecxanagramRomDesc[] = {
	{ "Xanagrams (1983)(Postern).z80", 0x01134, 0x612ff1b4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specxanagram, Specxanagram, Spectrum)
STD_ROM_FN(Specxanagram)

struct BurnDriver BurnSpecxanagram = {
	"spec_xanagram", NULL, "spec_spectrum", NULL, "1983",
	"Xanagrams (48K)\0", NULL, "Postern", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecxanagramRomInfo, SpecxanagramRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Xanthius (48K)

static struct BurnRomInfo SpecxanthiusRomDesc[] = {
	{ "Xanthius (1987)(Players Software).z80", 0x096bb, 0x1f43471b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specxanthius, Specxanthius, Spectrum)
STD_ROM_FN(Specxanthius)

struct BurnDriver BurnSpecxanthius = {
	"spec_xanthius", NULL, "spec_spectrum", NULL, "1987",
	"Xanthius (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecxanthiusRomInfo, SpecxanthiusRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Xarax (48K)

static struct BurnRomInfo SpecxaraxRomDesc[] = {
	{ "Xarax (1988)(Firebird Software).z80", 0x0a64d, 0x22fc609e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specxarax, Specxarax, Spectrum)
STD_ROM_FN(Specxarax)

struct BurnDriver BurnSpecxarax = {
	"spec_xarax", NULL, "spec_spectrum", NULL, "1988",
	"Xarax (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecxaraxRomInfo, SpecxaraxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Xarq (48K)

static struct BurnRomInfo SpecxarqRomDesc[] = {
	{ "Xarq (1986)(Electric Dreams Software).z80", 0x09bff, 0x45dcb8b9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specxarq, Specxarq, Spectrum)
STD_ROM_FN(Specxarq)

struct BurnDriver BurnSpecxarq = {
	"spec_xarq", NULL, "spec_spectrum", NULL, "1986",
	"Xarq (48K)\0", NULL, "Electric Dreams Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecxarqRomInfo, SpecxarqRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Xavior (48K)

static struct BurnRomInfo SpecxaviorRomDesc[] = {
	{ "Xavior (1984)(PSS).z80", 0x0abf3, 0x1fa4f1be, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specxavior, Specxavior, Spectrum)
STD_ROM_FN(Specxavior)

struct BurnDriver BurnSpecxavior = {
	"spec_xavior", NULL, "spec_spectrum", NULL, "1984",
	"Xavior (48K)\0", NULL, "PSS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecxaviorRomInfo, SpecxaviorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Xcel (48K)

static struct BurnRomInfo SpecxcelRomDesc[] = {
	{ "Xcel (1985)(Mastertronic).z80", 0x09239, 0x8a03cdad, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specxcel, Specxcel, Spectrum)
STD_ROM_FN(Specxcel)

struct BurnDriver BurnSpecxcel = {
	"spec_xcel", NULL, "spec_spectrum", NULL, "1985",
	"Xcel (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecxcelRomInfo, SpecxcelRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Xecutor (48K)

static struct BurnRomInfo SpecxecutorRomDesc[] = {
	{ "Xecutor (1987)(ACE Software).z80", 0x096db, 0x44c10440, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specxecutor, Specxecutor, Spectrum)
STD_ROM_FN(Specxecutor)

struct BurnDriver BurnSpecxecutor = {
	"spec_xecutor", NULL, "spec_spectrum", NULL, "1987",
	"Xecutor (48K)\0", NULL, "ACE Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecxecutorRomInfo, SpecxecutorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Xen (48K)

static struct BurnRomInfo SpecxenRomDesc[] = {
	{ "Xen (1987)(Sparklers).z80", 0x02d8e, 0xab8d3023, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specxen, Specxen, Spectrum)
STD_ROM_FN(Specxen)

struct BurnDriver BurnSpecxen = {
	"spec_xen", NULL, "spec_spectrum", NULL, "1987",
	"Xen (48K)\0", NULL, "Sparklers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecxenRomInfo, SpecxenRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Xeno (48K)

static struct BurnRomInfo SpecxenoRomDesc[] = {
	{ "Xeno (1986)(A & F Software).z80", 0x09190, 0x4d10e27a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specxeno, Specxeno, Spectrum)
STD_ROM_FN(Specxeno)

struct BurnDriver BurnSpecxeno = {
	"spec_xeno", NULL, "spec_spectrum", NULL, "1986",
	"Xeno (48K)\0", NULL, "A & F Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecxenoRomInfo, SpecxenoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Xeno II (48K)

static struct BurnRomInfo Specxeno2RomDesc[] = {
	{ "Xeno II (1983)(Anirog Software).z80", 0x05b48, 0x0406cb03, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specxeno2, Specxeno2, Spectrum)
STD_ROM_FN(Specxeno2)

struct BurnDriver BurnSpecxeno2 = {
	"spec_xeno2", NULL, "spec_spectrum", NULL, "1983",
	"Xeno II (48K)\0", NULL, "Anirog Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specxeno2RomInfo, Specxeno2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Xenon (48K)

static struct BurnRomInfo SpecxenonRomDesc[] = {
	{ "Xenon (1988)(Melbourne House).z80", 0x09577, 0x889e59ec, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specxenon, Specxenon, Spectrum)
STD_ROM_FN(Specxenon)

struct BurnDriver BurnSpecxenon = {
	"spec_xenon", NULL, "spec_spectrum", NULL, "1988",
	"Xenon (48K)\0", NULL, "Melbourne House", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecxenonRomInfo, SpecxenonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Xevious (48K)

static struct BurnRomInfo SpecxeviousRomDesc[] = {
	{ "Xevious (1987)(U.S. Gold).z80", 0x05ae7, 0xac2c0235, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specxevious, Specxevious, Spectrum)
STD_ROM_FN(Specxevious)

struct BurnDriver BurnSpecxevious = {
	"spec_xevious", NULL, "spec_spectrum", NULL, "1987",
	"Xevious (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecxeviousRomInfo, SpecxeviousRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// XIV Beogradska Gimnazija (sr) (48K)

static struct BurnRomInfo SpecxivbeogrRomDesc[] = {
	{ "XIV Beogradska Gimnazija (1984)(Pandovisia)(sr).z80", 0x0826f, 0x7b41def9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specxivbeogr, Specxivbeogr, Spectrum)
STD_ROM_FN(Specxivbeogr)

struct BurnDriver BurnSpecxivbeogr = {
	"spec_xivbeogr", NULL, "spec_spectrum", NULL, "1984",
	"XIV Beogradska Gimnazija (sr) (48K)\0", NULL, "Pandovisia", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecxivbeogrRomInfo, SpecxivbeogrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// X-Maze (48K)

static struct BurnRomInfo SpecxmazeRomDesc[] = {
	{ "X-Maze (1983)(Jonathan Smith).z80", 0x025ea, 0x2df63f8e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specxmaze, Specxmaze, Spectrum)
STD_ROM_FN(Specxmaze)

struct BurnDriver BurnSpecxmaze = {
	"spec_xmaze", NULL, "spec_spectrum", NULL, "1983",
	"X-Maze (48K)\0", NULL, "Jonathan Smith", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecxmazeRomInfo, SpecxmazeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// XOR (48K)

static struct BurnRomInfo SpecxorRomDesc[] = {
	{ "XOR (1987)(Logotron).z80", 0x07783, 0x565f567b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specxor, Specxor, Spectrum)
STD_ROM_FN(Specxor)

struct BurnDriver BurnSpecxor = {
	"spec_xor", NULL, "spec_spectrum", NULL, "1987",
	"XOR (48K)\0", NULL, "Logotron", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecxorRomInfo, SpecxorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Xor (cs) (128K)

static struct BurnRomInfo SpecxorcsRomDesc[] = {
	{ "Xor (1990)(Proxima Software)(cs)[128K].z80", 0x060fe, 0x5daf7e2e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specxorcs, Specxorcs, Spectrum)
STD_ROM_FN(Specxorcs)

struct BurnDriver BurnSpecxorcs = {
	"spec_xorcs", NULL, "spec_spec128", NULL, "1990",
	"Xor (cs) (128K)\0", NULL, "Proxima Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecxorcsRomInfo, SpecxorcsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Xtroth the Adventure (48K)

static struct BurnRomInfo SpecxtroadveRomDesc[] = {
	{ "Xtroth the Adventure (1985)(Automata UK).z80", 0x09e83, 0x8ec87182, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specxtroadve, Specxtroadve, Spectrum)
STD_ROM_FN(Specxtroadve)

struct BurnDriver BurnSpecxtroadve = {
	"spec_xtroadve", NULL, "spec_spectrum", NULL, "1985",
	"Xtroth the Adventure (48K)\0", NULL, "Automata UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecxtroadveRomInfo, SpecxtroadveRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Xybots (128K)

static struct BurnRomInfo SpecxybotsRomDesc[] = {
	{ "Xybots (1989)(Domark)[128K].z80", 0x0df75, 0xc968c285, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specxybots, Specxybots, Spectrum)
STD_ROM_FN(Specxybots)

struct BurnDriver BurnSpecxybots = {
	"spec_xybots", NULL, "spec_spec128", NULL, "1989",
	"Xybots (128K)\0", NULL, "Domark", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecxybotsRomInfo, SpecxybotsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Y.A.S.G. (48K)

static struct BurnRomInfo SpecyasgRomDesc[] = {
	{ "Y.A.S.G. (1992)(Dominic Morris).z80", 0x05bbe, 0x60815a98, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyasg, Specyasg, Spectrum)
STD_ROM_FN(Specyasg)

struct BurnDriver BurnSpecyasg = {
	"spec_yasg", NULL, "spec_spectrum", NULL, "1992",
	"Y.A.S.G. (48K)\0", NULL, "Dominic Morris", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecyasgRomInfo, SpecyasgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yabba Dabba Doo! (48K)

static struct BurnRomInfo SpecyabdabdoRomDesc[] = {
	{ "Yabba Dabba Doo! (1985)(Quicksilva).z80", 0x08edb, 0x967b8bec, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyabdabdo, Specyabdabdo, Spectrum)
STD_ROM_FN(Specyabdabdo)

struct BurnDriver BurnSpecyabdabdo = {
	"spec_yabdabdo", NULL, "spec_spectrum", NULL, "1985",
	"Yabba Dabba Doo! (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecyabdabdoRomInfo, SpecyabdabdoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yacht Race (48K)

static struct BurnRomInfo SpecyachraceRomDesc[] = {
	{ "Yacht Race (1985)(Hill MacGibbon).z80", 0x07a84, 0xf1e4423f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyachrace, Specyachrace, Spectrum)
STD_ROM_FN(Specyachrace)

struct BurnDriver BurnSpecyachrace = {
	"spec_yachrace", NULL, "spec_spectrum", NULL, "1985",
	"Yacht Race (48K)\0", NULL, "Hill MacGibbon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecyachraceRomInfo, SpecyachraceRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yahtzee (48K)

static struct BurnRomInfo SpecyahtzeeRomDesc[] = {
	{ "Yahtzee (19xx)(-).z80", 0x01efb, 0xc9a61fb4, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyahtzee, Specyahtzee, Spectrum)
STD_ROM_FN(Specyahtzee)

struct BurnDriver BurnSpecyahtzee = {
	"spec_yahtzee", NULL, "spec_spectrum", NULL, "19xx",
	"Yahtzee (48K)\0", NULL, "Unknown", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecyahtzeeRomInfo, SpecyahtzeeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yahtzi (48K)

static struct BurnRomInfo SpecyahtziRomDesc[] = {
	{ "Yahtzi (1983)(Work Force).z80", 0x04c0f, 0xb8be2aa1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyahtzi, Specyahtzi, Spectrum)
STD_ROM_FN(Specyahtzi)

struct BurnDriver BurnSpecyahtzi = {
	"spec_yahtzi", NULL, "spec_spectrum", NULL, "1983",
	"Yahtzi (48K)\0", NULL, "Work Force", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecyahtziRomInfo, SpecyahtziRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yahtzie (48K)

static struct BurnRomInfo SpecyahtzieRomDesc[] = {
	{ "Yahtzie (1983)(Bob Hemmings).z80", 0x04828, 0x53ecc720, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyahtzie, Specyahtzie, Spectrum)
STD_ROM_FN(Specyahtzie)

struct BurnDriver BurnSpecyahtzie = {
	"spec_yahtzie", NULL, "spec_spectrum", NULL, "1983",
	"Yahtzie (48K)\0", NULL, "Bob Hemmings", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecyahtzieRomInfo, SpecyahtzieRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yankee - Chickamauga (48K)

static struct BurnRomInfo SpecyankchicRomDesc[] = {
	{ "Yankee - Chickamauga (1987)(CCS).z80", 0x09d7b, 0x933b714c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyankchic, Specyankchic, Spectrum)
STD_ROM_FN(Specyankchic)

struct BurnDriver BurnSpecyankchic = {
	"spec_yankchic", NULL, "spec_spectrum", NULL, "1987",
	"Yankee - Chickamauga (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecyankchicRomInfo, SpecyankchicRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yankee - Gettysburg (48K)

static struct BurnRomInfo SpecyankgettRomDesc[] = {
	{ "Yankee - Gettysburg (1987)(CCS).z80", 0x09dab, 0xd36ecb3c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyankgett, Specyankgett, Spectrum)
STD_ROM_FN(Specyankgett)

struct BurnDriver BurnSpecyankgett = {
	"spec_yankgett", NULL, "spec_spectrum", NULL, "1987",
	"Yankee - Gettysburg (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecyankgettRomInfo, SpecyankgettRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yards Feet Inches (48K)

static struct BurnRomInfo SpecyarfeeinRomDesc[] = {
	{ "Yards Feet Inches (1995)(Vaxalon).z80", 0x01474, 0x239c3721, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyarfeein, Specyarfeein, Spectrum)
STD_ROM_FN(Specyarfeein)

struct BurnDriver BurnSpecyarfeein = {
	"spec_yarfeein", NULL, "spec_spectrum", NULL, "1995",
	"Yards Feet Inches (48K)\0", NULL, "Vaxalon", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecyarfeeinRomInfo, SpecyarfeeinRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yatzee (48K)

static struct BurnRomInfo SpecyatzeeRomDesc[] = {
	{ "Yatzee (1984)(CP Software).z80", 0x05e9f, 0x580c9f95, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyatzee, Specyatzee, Spectrum)
STD_ROM_FN(Specyatzee)

struct BurnDriver BurnSpecyatzee = {
	"spec_yatzee", NULL, "spec_spectrum", NULL, "1984",
	"Yatzee (48K)\0", NULL, "CP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecyatzeeRomInfo, SpecyatzeeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yellow Door (48K)

static struct BurnRomInfo SpecyelldoorRomDesc[] = {
	{ "Yellow Door (1987)(Tartan Software).z80", 0x08685, 0xdeb0a26a, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyelldoor, Specyelldoor, Spectrum)
STD_ROM_FN(Specyelldoor)

struct BurnDriver BurnSpecyelldoor = {
	"spec_yelldoor", NULL, "spec_spectrum", NULL, "1987",
	"Yellow Door (48K)\0", NULL, "Tartan Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecyelldoorRomInfo, SpecyelldoorRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yenght - La Fuente de la Juventud (Spanish) (48K)

static struct BurnRomInfo SpecyelafujuRomDesc[] = {
	{ "Yenght - La Fuente de la Juventud (1984)(Dinamic Software)(es).z80", 0x0a721, 0x0d9087f1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyelafuju, Specyelafuju, Spectrum)
STD_ROM_FN(Specyelafuju)

struct BurnDriver BurnSpecyelafuju = {
	"spec_yelafuju", NULL, "spec_spectrum", NULL, "1984",
	"Yenght - La Fuente de la Juventud (Spanish) (48K)\0", NULL, "Dinamic Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecyelafujuRomInfo, SpecyelafujuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yes, Prime Minister (Level 1 of 5) (48K)

static struct BurnRomInfo Specyesprime1RomDesc[] = {
	{ "Yes, Prime Minister (1987)(Mosaic Publishing)[level 1 of 5].z80", 0x0b163, 0x6fbe4dd8, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyesprime1, Specyesprime1, Spectrum)
STD_ROM_FN(Specyesprime1)

struct BurnDriver BurnSpecyesprime1 = {
	"spec_yesprime1", "spec_yesprime", "spec_spectrum", NULL, "1987",
	"Yes, Prime Minister (Level 1 of 5) (48K)\0", NULL, "Mosaic Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specyesprime1RomInfo, Specyesprime1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yes, Prime Minister (Level 2 of 5) (48K)

static struct BurnRomInfo Specyesprime2RomDesc[] = {
	{ "Yes, Prime Minister (1987)(Mosaic Publishing)[level 2 of 5].z80", 0x0b39a, 0x172fa333, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyesprime2, Specyesprime2, Spectrum)
STD_ROM_FN(Specyesprime2)

struct BurnDriver BurnSpecyesprime2 = {
	"spec_yesprime2", "spec_yesprime", "spec_spectrum", NULL, "1987",
	"Yes, Prime Minister (Level 2 of 5) (48K)\0", NULL, "Mosaic Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specyesprime2RomInfo, Specyesprime2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yes, Prime Minister (Level 3 of 5) (48K)

static struct BurnRomInfo Specyesprime3RomDesc[] = {
	{ "Yes, Prime Minister (1987)(Mosaic Publishing)[level 3 of 5].z80", 0x0b388, 0x5c3e516e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyesprime3, Specyesprime3, Spectrum)
STD_ROM_FN(Specyesprime3)

struct BurnDriver BurnSpecyesprime3 = {
	"spec_yesprime3", "spec_yesprime", "spec_spectrum", NULL, "1987",
	"Yes, Prime Minister (Level 3 of 5) (48K)\0", NULL, "Mosaic Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specyesprime3RomInfo, Specyesprime3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yes, Prime Minister (Level 4 of 5) (48K)

static struct BurnRomInfo Specyesprime4RomDesc[] = {
	{ "Yes, Prime Minister (1987)(Mosaic Publishing)[level 4 of 5].z80", 0x0b386, 0xf92cdd23, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyesprime4, Specyesprime4, Spectrum)
STD_ROM_FN(Specyesprime4)

struct BurnDriver BurnSpecyesprime4 = {
	"spec_yesprime4", "spec_yesprime", "spec_spectrum", NULL, "1987",
	"Yes, Prime Minister (Level 4 of 5) (48K)\0", NULL, "Mosaic Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specyesprime4RomInfo, Specyesprime4RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yes, Prime Minister (Level 5 of 5) (48K)

static struct BurnRomInfo Specyesprime5RomDesc[] = {
	{ "Yes, Prime Minister (1987)(Mosaic Publishing)[level 5 of 5].z80", 0x0b37b, 0xfd334623, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyesprime5, Specyesprime5, Spectrum)
STD_ROM_FN(Specyesprime5)

struct BurnDriver BurnSpecyesprime5 = {
	"spec_yesprime5", "spec_yesprime", "spec_spectrum", NULL, "1987",
	"Yes, Prime Minister (Level 5 of 5) (48K)\0", NULL, "Mosaic Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specyesprime5RomInfo, Specyesprime5RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yes, Prime Minister (Start) (48K)

static struct BurnRomInfo SpecyesprimeRomDesc[] = {
	{ "Yes, Prime Minister (1987)(Mosaic Publishing)[start].z80", 0x04c1a, 0x1dae8e38, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyesprime, Specyesprime, Spectrum)
STD_ROM_FN(Specyesprime)

struct BurnDriver BurnSpecyesprime = {
	"spec_yesprime", NULL, "spec_spectrum", NULL, "1987",
	"Yes, Prime Minister (Start) (48K)\0", NULL, "Mosaic Publishing", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecyesprimeRomInfo, SpecyesprimeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yeti (48K)

static struct BurnRomInfo Specyeti_48RomDesc[] = {
	{ "Yeti (1988)(Destiny Software).z80", 0x09520, 0xf0951278, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyeti_48, Specyeti_48, Spectrum)
STD_ROM_FN(Specyeti_48)

struct BurnDriver BurnSpecyeti_48 = {
	"spec_yeti_48", "spec_yeti", "spec_spectrum", NULL, "1988",
	"Yeti (48K)\0", NULL, "Destiny Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specyeti_48RomInfo, Specyeti_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yeti (128K)

static struct BurnRomInfo SpecyetiRomDesc[] = {
	{ "Yeti (1988)(Destiny Software)[128K].z80", 0x09af6, 0x0859715c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyeti, Specyeti, Spectrum)
STD_ROM_FN(Specyeti)

struct BurnDriver BurnSpecyeti = {
	"spec_yeti", NULL, "spec_spec128", NULL, "1988",
	"Yeti (128K)\0", NULL, "Destiny Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecyetiRomInfo, SpecyetiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yie Ar Kung-Fu (48K)

static struct BurnRomInfo Specyiarkufu_48RomDesc[] = {
	{ "Yie Ar Kung-Fu (1985)(Imagine Software).z80", 0x0a130, 0x23da9f6d, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyiarkufu_48, Specyiarkufu_48, Spectrum)
STD_ROM_FN(Specyiarkufu_48)

struct BurnDriver BurnSpecyiarkufu_48 = {
	"spec_yiarkufu_48", "spec_yiarkufu", "spec_spectrum", NULL, "1985",
	"Yie Ar Kung-Fu (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specyiarkufu_48RomInfo, Specyiarkufu_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yie Ar Kung-Fu (128K)

static struct BurnRomInfo SpecyiarkufuRomDesc[] = {
	{ "Yie Ar Kung-Fu (1985)(Imagine Software)[128K].z80", 0x157f7, 0xf7c52002, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyiarkufu, Specyiarkufu, Spectrum)
STD_ROM_FN(Specyiarkufu)

struct BurnDriver BurnSpecyiarkufu = {
	"spec_yiarkufu", NULL, "spec_spec128", NULL, "1985",
	"Yie Ar Kung-Fu (128K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecyiarkufuRomInfo, SpecyiarkufuRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yie Ar Kung-Fu II (48K)

static struct BurnRomInfo Specyiarkuf2RomDesc[] = {
	{ "Yie Ar Kung-Fu II (1986)(Imagine Software).z80", 0x08f6e, 0xef420fe9, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyiarkuf2, Specyiarkuf2, Spectrum)
STD_ROM_FN(Specyiarkuf2)

struct BurnDriver BurnSpecyiarkuf2 = {
	"spec_yiarkuf2", NULL, "spec_spectrum", NULL, "1986",
	"Yie Ar Kung-Fu II (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specyiarkuf2RomInfo, Specyiarkuf2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yogi Bear (48K)

static struct BurnRomInfo SpecyogibearRomDesc[] = {
	{ "Yogi Bear (1987)(Piranha).z80", 0x0aa96, 0x437fa194, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyogibear, Specyogibear, Spectrum)
STD_ROM_FN(Specyogibear)

struct BurnDriver BurnSpecyogibear = {
	"spec_yogibear", NULL, "spec_spectrum", NULL, "1987",
	"Yogi Bear (48K)\0", NULL, "Piranha", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecyogibearRomInfo, SpecyogibearRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yogi Bear and Friends in The Greed Monster (48K)

static struct BurnRomInfo SpecybftgmRomDesc[] = {
	{ "Yogi Bear and Friends in The Greed Monster (1990)(Hi-Tec Software).z80", 0x090e0, 0x0aac1609, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specybftgm, Specybftgm, Spectrum)
STD_ROM_FN(Specybftgm)

struct BurnDriver BurnSpecybftgm = {
	"spec_ybftgm", NULL, "spec_spectrum", NULL, "1990",
	"Yogi Bear and Friends in The Greed Monster (48K)\0", NULL, "Hi-Tec Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecybftgmRomInfo, SpecybftgmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Young Ones, The (Russian) (128K)

static struct BurnRomInfo SpecyoungonsrRomDesc[] = {
	{ "Young Ones, The (1986)(Orpheus)(ru)[128K].z80", 0x09cdb, 0xbb7881dd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyoungonsr, Specyoungonsr, Spectrum)
STD_ROM_FN(Specyoungonsr)

struct BurnDriver BurnSpecyoungonsr = {
	"spec_youngonsr", "spec_youngons", "spec_spec128", NULL, "1986",
	"Young Ones, The (Russian) (128K)\0", NULL, "Orpheus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecyoungonsrRomInfo, SpecyoungonsrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Young Ones, The (48K)

static struct BurnRomInfo SpecyoungonsRomDesc[] = {
	{ "Young Ones, The (1986)(Orpheus).z80", 0x0a01e, 0x156efef0, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyoungons, Specyoungons, Spectrum)
STD_ROM_FN(Specyoungons)

struct BurnDriver BurnSpecyoungons = {
	"spec_youngons", NULL, "spec_spectrum", NULL, "1986",
	"Young Ones, The (48K)\0", NULL, "Orpheus", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecyoungonsRomInfo, SpecyoungonsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// YS2 Issue 1 (48K)

static struct BurnRomInfo Specys2iss1RomDesc[] = {
	{ "YS2 Issue 1 (1993)(Y-Not Software).z80", 0x08533, 0x97073ef3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specys2iss1, Specys2iss1, Spectrum)
STD_ROM_FN(Specys2iss1)

struct BurnDriver BurnSpecys2iss1 = {
	"spec_ys2iss1", NULL, "spec_spectrum", NULL, "1993",
	"YS2 Issue 1 (48K)\0", NULL, "Y-Not Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specys2iss1RomInfo, Specys2iss1RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// YS2 Issue 2 (48K)

static struct BurnRomInfo Specys2iss2RomDesc[] = {
	{ "YS2 Issue 2 (1993)(Y-Not Software - Delta 4 Software).z80", 0x0968a, 0x019be477, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specys2iss2, Specys2iss2, Spectrum)
STD_ROM_FN(Specys2iss2)

struct BurnDriver BurnSpecys2iss2 = {
	"spec_ys2iss2", NULL, "spec_spectrum", NULL, "1993",
	"YS2 Issue 2 (48K)\0", NULL, "Y-Not Software - Delta 4 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specys2iss2RomInfo, Specys2iss2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// YS2 Issue 3 (48K)

static struct BurnRomInfo Specys2iss3RomDesc[] = {
	{ "YS2 Issue 3 (1993)(Y-Not Software - Delta 4 Software).z80", 0x08c03, 0x409bb169, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specys2iss3, Specys2iss3, Spectrum)
STD_ROM_FN(Specys2iss3)

struct BurnDriver BurnSpecys2iss3 = {
	"spec_ys2iss3", NULL, "spec_spectrum", NULL, "1993",
	"YS2 Issue 3 (48K)\0", NULL, "Y-Not Software - Delta 4 Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Specys2iss3RomInfo, Specys2iss3RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Yurk Attack (48K)

static struct BurnRomInfo SpecyurkattaRomDesc[] = {
	{ "Yurk Attack (1983)(David Hembrow).z80", 0x02998, 0x76c1c7ae, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specyurkatta, Specyurkatta, Spectrum)
STD_ROM_FN(Specyurkatta)

struct BurnDriver BurnSpecyurkatta = {
	"spec_yurkatta", NULL, "spec_spectrum", NULL, "1983",
	"Yurk Attack (48K)\0", NULL, "David Hembrow", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecyurkattaRomInfo, SpecyurkattaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Z (48K)

static struct BurnRomInfo SpeczRomDesc[] = {
	{ "Z (1987)(Rino Software).z80", 0x06ca1, 0x7085a468, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specz, Specz, Spectrum)
STD_ROM_FN(Specz)

struct BurnDriver BurnSpecz = {
	"spec_z", NULL, "spec_spectrum", NULL, "1987",
	"Z (48K)\0", NULL, "Rino Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczRomInfo, SpeczRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zacaron Mystery, The (Part 1 of 2) (48K)

static struct BurnRomInfo SpeczacaronmRomDesc[] = {
	{ "Zacaron Mystery, The (1986)(Players Software)(Part 1 of 2).z80", 0x084bf, 0x29e99ae6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczacaronm, Speczacaronm, Spectrum)
STD_ROM_FN(Speczacaronm)

struct BurnDriver BurnSpeczacaronm = {
	"spec_zacaronm", NULL, "spec_spectrum", NULL, "1986",
	"Zacaron Mystery, The (Part 1 of 2) (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczacaronmRomInfo, SpeczacaronmRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zacaron Mystery, The (Part 2 of 2) (48K)

static struct BurnRomInfo Speczacaronm2RomDesc[] = {
	{ "Zacaron Mystery, The (1986)(Players Software)(Part 2 of 2).z80", 0x07536, 0xed3de05e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczacaronm2, Speczacaronm2, Spectrum)
STD_ROM_FN(Speczacaronm2)

struct BurnDriver BurnSpeczacaronm2 = {
	"spec_zacaronm2", "spec_zacaronm", "spec_spectrum", NULL, "1986",
	"Zacaron Mystery, The (Part 2 of 2) (48K)\0", NULL, "Players Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speczacaronm2RomInfo, Speczacaronm2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zahada (sl) (48K)

static struct BurnRomInfo SpeczahadaslRomDesc[] = {
	{ "Zahada (1988)(JH Software)(sl).z80", 0x05d34, 0x630f8569, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczahadasl, Speczahadasl, Spectrum)
STD_ROM_FN(Speczahadasl)

struct BurnDriver BurnSpeczahadasl = {
	"spec_zahadasl", NULL, "spec_spectrum", NULL, "1988",
	"Zahada (sl) (48K)\0", NULL, "JH Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczahadaslRomInfo, SpeczahadaslRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zakliaty Zamok Programatorov (sl) (48K)

static struct BurnRomInfo SpeczakzamprRomDesc[] = {
	{ "Zakliaty Zamok Programatorov (1988)(Delphine Soft)(sl).z80", 0x0a513, 0xb3872254, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczakzampr, Speczakzampr, Spectrum)
STD_ROM_FN(Speczakzampr)

struct BurnDriver BurnSpeczakzampr = {
	"spec_zakzampr", NULL, "spec_spectrum", NULL, "1988",
	"Zakliaty Zamok Programatorov (sl) (48K)\0", NULL, "Delphine Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczakzamprRomInfo, SpeczakzamprRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zamonarr (48K)

static struct BurnRomInfo SpeczamonarrRomDesc[] = {
	{ "Zamonarr (1989)(Slowglass)[aka Cyberbig].z80", 0x0a86e, 0x883cf049, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczamonarr, Speczamonarr, Spectrum)
STD_ROM_FN(Speczamonarr)

struct BurnDriver BurnSpeczamonarr = {
	"spec_zamonarr", NULL, "spec_spectrum", NULL, "1989",
	"Zamonarr (48K)\0", NULL, "Slowglass", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczamonarrRomInfo, SpeczamonarrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zaraks (48K)

static struct BurnRomInfo SpeczaraksRomDesc[] = {
	{ "Zaraks (1983)(CRL Group).z80", 0x0294e, 0x8883a488, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczaraks, Speczaraks, Spectrum)
STD_ROM_FN(Speczaraks)

struct BurnDriver BurnSpeczaraks = {
	"spec_zaraks", NULL, "spec_spectrum", NULL, "1983",
	"Zaraks (48K)\0", NULL, "CRL Group", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczaraksRomInfo, SpeczaraksRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zaxxan (48K)

static struct BurnRomInfo SpeczaxxanRomDesc[] = {
	{ "Zaxxan (1983)(Starzone Software).z80", 0x05746, 0x4d09add5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczaxxan, Speczaxxan, Spectrum)
STD_ROM_FN(Speczaxxan)

struct BurnDriver BurnSpeczaxxan = {
	"spec_zaxxan", NULL, "spec_spectrum", NULL, "1983",
	"Zaxxan (48K)\0", NULL, "Starzone Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczaxxanRomInfo, SpeczaxxanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zaxxon (48K)

static struct BurnRomInfo SpeczaxxonRomDesc[] = {
	{ "Zaxxon (1985)(U.S. Gold).z80", 0x092e6, 0xe89d7896, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczaxxon, Speczaxxon, Spectrum)
STD_ROM_FN(Speczaxxon)

struct BurnDriver BurnSpeczaxxon = {
	"spec_zaxxon", NULL, "spec_spectrum", NULL, "1985",
	"Zaxxon (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczaxxonRomInfo, SpeczaxxonRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zebbedy (48K)

static struct BurnRomInfo SpeczebbedyRomDesc[] = {
	{ "Zebbedy (1983)(Vincent & Peter Li).z80", 0x0151f, 0x0dde6682, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczebbedy, Speczebbedy, Spectrum)
STD_ROM_FN(Speczebbedy)

struct BurnDriver BurnSpeczebbedy = {
	"spec_zebbedy", NULL, "spec_spectrum", NULL, "1983",
	"Zebbedy (48K)\0", NULL, "Vincent & Peter Li", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczebbedyRomInfo, SpeczebbedyRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zen Quest (48K)

static struct BurnRomInfo SpeczenquestRomDesc[] = {
	{ "Zen Quest (1986)(Zenobi Software).z80", 0x0954f, 0x26abda00, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczenquest, Speczenquest, Spectrum)
STD_ROM_FN(Speczenquest)

struct BurnDriver BurnSpeczenquest = {
	"spec_zenquest", NULL, "spec_spectrum", NULL, "1986",
	"Zen Quest (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczenquestRomInfo, SpeczenquestRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zeon (Spanish) (48K)

static struct BurnRomInfo SpeczeonesRomDesc[] = {
	{ "Zeon (1986)(Jorge Perez Barreiro)(es).z80", 0x04bf0, 0xbcdc36fe, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczeones, Speczeones, Spectrum)
STD_ROM_FN(Speczeones)

struct BurnDriver BurnSpeczeones = {
	"spec_zeones", NULL, "spec_spectrum", NULL, "1986",
	"Zeon (Spanish) (48K)\0", NULL, "Jorge Perez Barreiro", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczeonesRomInfo, SpeczeonesRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Z-Fred (48K)

static struct BurnRomInfo SpeczfredRomDesc[] = {
	{ "Z-Fred (1984)(AK Wood).z80", 0x03115, 0x4d1f9660, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczfred, Speczfred, Spectrum)
STD_ROM_FN(Speczfred)

struct BurnDriver BurnSpeczfred = {
	"spec_zfred", NULL, "spec_spectrum", NULL, "1984",
	"Z-Fred (48K)\0", NULL, "AK Wood", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczfredRomInfo, SpeczfredRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Z-Fred (different font) (48K)

static struct BurnRomInfo SpeczfredfRomDesc[] = {
	{ "Z-Fred (1984)(AK Wood)[different font].z80", 0x0370d, 0x522c8a9f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczfredf, Speczfredf, Spectrum)
STD_ROM_FN(Speczfredf)

struct BurnDriver BurnSpeczfredf = {
	"spec_zfredf", "spec_zfred", "spec_spectrum", NULL, "1984",
	"Z-Fred (different font) (48K)\0", NULL, "AK Wood", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczfredfRomInfo, SpeczfredfRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zig Zag (48K)

static struct BurnRomInfo SpeczigzagRomDesc[] = {
	{ "Zig Zag (1984)(DK'Tronics)[speech].z80", 0x074ff, 0xfad096d6, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczigzag, Speczigzag, Spectrum)
STD_ROM_FN(Speczigzag)

struct BurnDriver BurnSpeczigzag = {
	"spec_zigzag", NULL, "spec_spectrum", NULL, "1984",
	"Zig Zag (48K)\0", NULL, "DK'Tronics", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczigzagRomInfo, SpeczigzagRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ziggarat of Dread (48K)

static struct BurnRomInfo SpecziggdreaRomDesc[] = {
	{ "Ziggarat of Dread (1983)(Custom Cables International).z80", 0x08bf5, 0x278f62cd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Specziggdrea, Specziggdrea, Spectrum)
STD_ROM_FN(Specziggdrea)

struct BurnDriver BurnSpecziggdrea = {
	"spec_ziggdrea", NULL, "spec_spectrum", NULL, "1983",
	"Ziggarat of Dread (48K)\0", NULL, "Custom Cables International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpecziggdreaRomInfo, SpecziggdreaRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Ziggurat - The Temple of Doom (48K)

static struct BurnRomInfo SpeczithtedoRomDesc[] = {
	{ "Ziggurat - The Temple of Doom (1984)(Software Super Savers).z80", 0x0a30d, 0x42c63692, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczithtedo, Speczithtedo, Spectrum)
STD_ROM_FN(Speczithtedo)

struct BurnDriver BurnSpeczithtedo = {
	"spec_zithtedo", NULL, "spec_spectrum", NULL, "1984",
	"Ziggurat - The Temple of Doom (48K)\0", NULL, "Software Super Savers", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczithtedoRomInfo, SpeczithtedoRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zip Zap (48K)

static struct BurnRomInfo SpeczipzapRomDesc[] = {
	{ "Zip Zap (1983)(Imagine Software).z80", 0x06b39, 0x8cd1001b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczipzap, Speczipzap, Spectrum)
STD_ROM_FN(Speczipzap)

struct BurnDriver BurnSpeczipzap = {
	"spec_zipzap", NULL, "spec_spectrum", NULL, "1983",
	"Zip Zap (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczipzapRomInfo, SpeczipzapRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zipi y Zape (Spanish) (Part 1 of 2) (48K)

static struct BurnRomInfo SpeczipizapeRomDesc[] = {
	{ "Zipi y Zape (1989)(Dro Soft)(es)(Part 1 of 2).z80", 0x0a05a, 0x057b5791, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczipizape, Speczipizape, Spectrum)
STD_ROM_FN(Speczipizape)

struct BurnDriver BurnSpeczipizape = {
	"spec_zipizape", NULL, "spec_spectrum", NULL, "1989",
	"Zipi y Zape (Spanish) (Part 1 of 2) (48K)\0", NULL, "Dro Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczipizapeRomInfo, SpeczipizapeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zipi y Zape (Spanish) (Part 2 of 2) (48K)

static struct BurnRomInfo Speczipizape2RomDesc[] = {
	{ "Zipi y Zape (1989)(Dro Soft)(es)(Part 2 of 2).z80", 0x09f63, 0x9813a3f2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczipizape2, Speczipizape2, Spectrum)
STD_ROM_FN(Speczipizape2)

struct BurnDriver BurnSpeczipizape2 = {
	"spec_zipizape2", "spec_zipizape", "spec_spectrum", NULL, "1989",
	"Zipi y Zape (Spanish) (Part 2 of 2) (48K)\0", NULL, "Dro Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speczipizape2RomInfo, Speczipizape2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zipper Flipper (48K)

static struct BurnRomInfo SpeczippflipRomDesc[] = {
	{ "Zipper Flipper (1984)(Sinclair Research).z80", 0x05847, 0x29f91172, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczippflip, Speczippflip, Spectrum)
STD_ROM_FN(Speczippflip)

struct BurnDriver BurnSpeczippflip = {
	"spec_zippflip", NULL, "spec_spectrum", NULL, "1984",
	"Zipper Flipper (48K)\0", NULL, "Sinclair Research", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczippflipRomInfo, SpeczippflipRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Z-Man (48K)

static struct BurnRomInfo SpeczmanRomDesc[] = {
	{ "Z-Man (1983)(DJL Software).z80", 0x03026, 0x3a72fc6e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczman, Speczman, Spectrum)
STD_ROM_FN(Speczman)

struct BurnDriver BurnSpeczman = {
	"spec_zman", NULL, "spec_spectrum", NULL, "1983",
	"Z-Man (48K)\0", NULL, "DJL Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczmanRomInfo, SpeczmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zodiac Strip (sr) (48K)

static struct BurnRomInfo SpeczodistriRomDesc[] = {
	{ "Zodiac Strip (1985)(Suzy Soft)(sr).z80", 0x0ac2a, 0xc8880cea, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczodistri, Speczodistri, Spectrum)
STD_ROM_FN(Speczodistri)

struct BurnDriver BurnSpeczodistri = {
	"spec_zodistri", NULL, "spec_spectrum", NULL, "1985",
	"Zodiac Strip (sr) (48K)\0", NULL, "Suzy Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczodistriRomInfo, SpeczodistriRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zoids - The Battle Begins (48K)

static struct BurnRomInfo SpeczothbabeRomDesc[] = {
	{ "Zoids - The Battle Begins (1985)(Martech Games).z80", 0x08ade, 0x5ba619fa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczothbabe, Speczothbabe, Spectrum)
STD_ROM_FN(Speczothbabe)

struct BurnDriver BurnSpeczothbabe = {
	"spec_zothbabe", NULL, "spec_spectrum", NULL, "1985",
	"Zoids - The Battle Begins (48K)\0", NULL, "Martech Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczothbabeRomInfo, SpeczothbabeRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zolan Adventure, The - Intro (48K)

static struct BurnRomInfo SpeczolanadvRomDesc[] = {
	{ "Zolan Adventure, The - Intro (1983)(Softek Software International).z80", 0x01c63, 0xc997038e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczolanadv, Speczolanadv, Spectrum)
STD_ROM_FN(Speczolanadv)

struct BurnDriver BurnSpeczolanadv = {
	"spec_zolanadv", NULL, "spec_spectrum", NULL, "1983",
	"Zolan Adventure, The - Intro (48K)\0", NULL, "Softek Software International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczolanadvRomInfo, SpeczolanadvRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zolan Adventure, The (48K)

static struct BurnRomInfo SpeczolanadvgRomDesc[] = {
	{ "Zolan Adventure, The (1983)(Softek Software International).z80", 0x026a7, 0x6584b469, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczolanadvg, Speczolanadvg, Spectrum)
STD_ROM_FN(Speczolanadvg)

struct BurnDriver BurnSpeczolanadvg = {
	"spec_zolanadvg", "spec_zolanadv", "spec_spectrum", NULL, "1983",
	"Zolan Adventure, The (48K)\0", NULL, "Softek Software International", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczolanadvgRomInfo, SpeczolanadvgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zolyx (Part 1 of 2) (48K)

static struct BurnRomInfo SpeczolyxRomDesc[] = {
	{ "Zolyx (1988)(Firebird Software)(Part 1 of 2).z80", 0x05068, 0x3651c06e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczolyx, Speczolyx, Spectrum)
STD_ROM_FN(Speczolyx)

struct BurnDriver BurnSpeczolyx = {
	"spec_zolyx", NULL, "spec_spectrum", NULL, "1988",
	"Zolyx (Part 1 of 2) (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczolyxRomInfo, SpeczolyxRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zolyx (Part 2 of 2) (48K)

static struct BurnRomInfo SpeczolyxgRomDesc[] = {
	{ "Zolyx (1988)(Firebird Software)(Part 2 of 2).z80", 0x050ac, 0x20540029, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczolyxg, Speczolyxg, Spectrum)
STD_ROM_FN(Speczolyxg)

struct BurnDriver BurnSpeczolyxg = {
	"spec_zolyxg", "spec_zolyx", "spec_spectrum", NULL, "1988",
	"Zolyx (Part 2 of 2) (48K)\0", NULL, "Firebird Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczolyxgRomInfo, SpeczolyxgRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zombi (48K)

static struct BurnRomInfo SpeczombiRomDesc[] = {
	{ "Zombi (1990)(Ubi Soft).z80", 0x0ac83, 0xf3dfddd5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczombi, Speczombi, Spectrum)
STD_ROM_FN(Speczombi)

struct BurnDriver BurnSpeczombi = {
	"spec_zombi", NULL, "spec_spectrum", NULL, "1990",
	"Zombi (48K)\0", NULL, "Ubi Soft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczombiRomInfo, SpeczombiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zombie Zombie (48K)

static struct BurnRomInfo SpeczombzombRomDesc[] = {
	{ "Zombie Zombie (1984)(Quicksilva).z80", 0x0635b, 0x654f1f65, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczombzomb, Speczombzomb, Spectrum)
STD_ROM_FN(Speczombzomb)

struct BurnDriver BurnSpeczombzomb = {
	"spec_zombzomb", NULL, "spec_spectrum", NULL, "1984",
	"Zombie Zombie (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczombzombRomInfo, SpeczombzombRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zombie Zombie v2 (48K)

static struct BurnRomInfo Speczombzom2RomDesc[] = {
	{ "Zombie Zombie v2 (1984)(Quicksilva).z80", 0x080f7, 0x10b479ed, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczombzom2, Speczombzom2, Spectrum)
STD_ROM_FN(Speczombzom2)

struct BurnDriver BurnSpeczombzom2 = {
	"spec_zombzom2", NULL, "spec_spectrum", NULL, "1984",
	"Zombie Zombie v2 (48K)\0", NULL, "Quicksilva", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speczombzom2RomInfo, Speczombzom2RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zone Trooper (48K)

static struct BurnRomInfo Speczonetroo_48RomDesc[] = {
	{ "Zone Trooper (1989)(Game Busters).z80", 0x0a98f, 0xb82168fd, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczonetroo_48, Speczonetroo_48, Spectrum)
STD_ROM_FN(Speczonetroo_48)

struct BurnDriver BurnSpeczonetroo_48 = {
	"spec_zonetroo_48", "spec_zonetroo", "spec_spectrum", NULL, "1989",
	"Zone Trooper (48K)\0", NULL, "Game Busters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speczonetroo_48RomInfo, Speczonetroo_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zone Trooper (128K)

static struct BurnRomInfo SpeczonetrooRomDesc[] = {
	{ "Zone Trooper (1989)(Game Busters)[128K].z80", 0x0cb6b, 0xd63b997e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczonetroo, Speczonetroo, Spectrum)
STD_ROM_FN(Speczonetroo)

struct BurnDriver BurnSpeczonetroo = {
	"spec_zonetroo", NULL, "spec_spec128", NULL, "1989",
	"Zone Trooper (128K)\0", NULL, "Game Busters", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczonetrooRomInfo, SpeczonetrooRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zone-M (48K)

static struct BurnRomInfo SpeczonemRomDesc[] = {
	{ "Zone-M (1986)(Zuheir Urwani).z80", 0x019f0, 0xae9d9111, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczonem, Speczonem, Spectrum)
STD_ROM_FN(Speczonem)

struct BurnDriver BurnSpeczonem = {
	"spec_zonem", NULL, "spec_spectrum", NULL, "1986",
	"Zone-M (48K)\0", NULL, "Zuheir Urwani", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczonemRomInfo, SpeczonemRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zoot (48K)

static struct BurnRomInfo SpeczootRomDesc[] = {
	{ "Zoot (1985)(Bug-Byte Software).z80", 0x0a4ed, 0xa708756c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczoot, Speczoot, Spectrum)
STD_ROM_FN(Speczoot)

struct BurnDriver BurnSpeczoot = {
	"spec_zoot", NULL, "spec_spectrum", NULL, "1985",
	"Zoot (48K)\0", NULL, "Bug-Byte Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczootRomInfo, SpeczootRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zorro (48K)

static struct BurnRomInfo SpeczorroRomDesc[] = {
	{ "Zorro (1986)(U.S. Gold).z80", 0x092f2, 0x9f7b2443, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczorro, Speczorro, Spectrum)
STD_ROM_FN(Speczorro)

struct BurnDriver BurnSpeczorro = {
	"spec_zorro", NULL, "spec_spectrum", NULL, "1986",
	"Zorro (48K)\0", NULL, "U.S. Gold", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczorroRomInfo, SpeczorroRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zozon (sr) (48K)

static struct BurnRomInfo SpeczozonsrRomDesc[] = {
	{ "Zozon (1983)(Benkosoft)(sr).z80", 0x01641, 0x4b7d0754, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczozonsr, Speczozonsr, Spectrum)
STD_ROM_FN(Speczozonsr)

struct BurnDriver BurnSpeczozonsr = {
	"spec_zozonsr", NULL, "spec_spectrum", NULL, "1983",
	"Zozon (sr) (48K)\0", NULL, "Benkosoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczozonsrRomInfo, SpeczozonsrRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zub (48K)

static struct BurnRomInfo Speczub_48RomDesc[] = {
	{ "Zub (1986)(Mastertronic Added Dimension).z80", 0x0a1b0, 0xa0cc6cb5, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczub_48, Speczub_48, Spectrum)
STD_ROM_FN(Speczub_48)

struct BurnDriver BurnSpeczub_48 = {
	"spec_zub_48", "spec_zub", "spec_spectrum", NULL, "1986",
	"Zub (48K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, Speczub_48RomInfo, Speczub_48RomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zub (128K)

static struct BurnRomInfo SpeczubRomDesc[] = {
	{ "Zub (1986)(Mastertronic Added Dimension)[128K].z80", 0x0db30, 0xbdff5287, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczub, Speczub, Spectrum)
STD_ROM_FN(Speczub)

struct BurnDriver BurnSpeczub = {
	"spec_zub", NULL, "spec_spec128", NULL, "1986",
	"Zub (128K)\0", NULL, "Mastertronic Added Dimension", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczubRomInfo, SpeczubRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80128KSnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zulu War - Part 1 - Ulundi (48K)

static struct BurnRomInfo SpeczuwapaulRomDesc[] = {
	{ "Zulu War - Part 1 - Ulundi (1987)(CCS).z80", 0x09029, 0x17a65a72, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczuwapaul, Speczuwapaul, Spectrum)
STD_ROM_FN(Speczuwapaul)

struct BurnDriver BurnSpeczuwapaul = {
	"spec_zuwapaul", NULL, "spec_spectrum", NULL, "1987",
	"Zulu War - Part 1 - Ulundi (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczuwapaulRomInfo, SpeczuwapaulRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zulu War - Part 2 - Umlalazi (48K)

static struct BurnRomInfo SpeczuwapaumRomDesc[] = {
	{ "Zulu War - Part 2 - Umlalazi (1987)(CCS).z80", 0x091c2, 0x601770d3, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczuwapaum, Speczuwapaum, Spectrum)
STD_ROM_FN(Speczuwapaum)

struct BurnDriver BurnSpeczuwapaum = {
	"spec_zuwapaum", NULL, "spec_spectrum", NULL, "1987",
	"Zulu War - Part 2 - Umlalazi (48K)\0", NULL, "CCS", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczuwapaumRomInfo, SpeczuwapaumRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zunny (Russian) (48K)

static struct BurnRomInfo SpeczunnyruRomDesc[] = {
	{ "Zunny (1995)(StapleSoft)(ru).z80", 0x09a10, 0xc8c75536, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczunnyru, Speczunnyru, Spectrum)
STD_ROM_FN(Speczunnyru)

struct BurnDriver BurnSpeczunnyru = {
	"spec_zunnyru", NULL, "spec_spectrum", NULL, "1995",
	"Zunny (Russian) (48K)\0", NULL, "StapleSoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczunnyruRomInfo, SpeczunnyruRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zut Alors! (48K)

static struct BurnRomInfo SpeczutalorsRomDesc[] = {
	{ "Zut Alors! (1986)(Aryxoft).z80", 0x0a173, 0x4512072e, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczutalors, Speczutalors, Spectrum)
STD_ROM_FN(Speczutalors)

struct BurnDriver BurnSpeczutalors = {
	"spec_zutalors", NULL, "spec_spectrum", NULL, "1986",
	"Zut Alors! (48K)\0", NULL, "Aryxoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczutalorsRomInfo, SpeczutalorsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// ZX Buria Beast (48K)

static struct BurnRomInfo SpeczxburiabRomDesc[] = {
	{ "ZX Buria Beast (1984)(Kerian UK).z80", 0x08f6a, 0xda4c5c3b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczxburiab, Speczxburiab, Spectrum)
STD_ROM_FN(Speczxburiab)

struct BurnDriver BurnSpeczxburiab = {
	"spec_zxburiab", NULL, "spec_spectrum", NULL, "1984",
	"ZX Buria Beast (48K)\0", NULL, "Kerian UK", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczxburiabRomInfo, SpeczxburiabRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// ZX Karteisystem (German) (48K)

static struct BurnRomInfo SpeczxkarteiRomDesc[] = {
	{ "ZX Karteisystem (1983)(Martin Gehrke)(de).z80", 0x01d36, 0xef66710b, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczxkartei, Speczxkartei, Spectrum)
STD_ROM_FN(Speczxkartei)

struct BurnDriver BurnSpeczxkartei = {
	"spec_zxkartei", NULL, "spec_spectrum", NULL, "1983",
	"ZX Karteisystem (German) (48K)\0", NULL, "Martin Gehrke", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczxkarteiRomInfo, SpeczxkarteiRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// ZX Man (48K)

static struct BurnRomInfo SpeczxmanRomDesc[] = {
	{ "ZX Man (2002)(Naffsoft).z80", 0x01584, 0x054abc53, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczxman, Speczxman, Spectrum)
STD_ROM_FN(Speczxman)

struct BurnDriver BurnSpeczxman = {
	"spec_zxman", NULL, "spec_spectrum", NULL, "2002",
	"ZX Man (48K)\0", NULL, "Naffsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczxmanRomInfo, SpeczxmanRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// ZX Reversi (48K)

static struct BurnRomInfo SpeczxreversRomDesc[] = {
	{ "ZX Reversi (1983)(CP Software).z80", 0x037cc, 0x511989fa, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczxrevers, Speczxrevers, Spectrum)
STD_ROM_FN(Speczxrevers)

struct BurnDriver BurnSpeczxrevers = {
	"spec_zxrevers", NULL, "spec_spectrum", NULL, "1983",
	"ZX Reversi (48K)\0", NULL, "CP Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczxreversRomInfo, SpeczxreversRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// ZX Trek (48K)

static struct BurnRomInfo SpeczxtrekRomDesc[] = {
	{ "ZX Trek (1982)(Impact Software).z80", 0x076a3, 0xd699fa68, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczxtrek, Speczxtrek, Spectrum)
STD_ROM_FN(Speczxtrek)

struct BurnDriver BurnSpeczxtrek = {
	"spec_zxtrek", NULL, "spec_spectrum", NULL, "1982",
	"ZX Trek (48K)\0", NULL, "Impact Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczxtrekRomInfo, SpeczxtrekRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zybex (48K)

static struct BurnRomInfo SpeczybexRomDesc[] = {
	{ "Zybex (1989)(Zeppelin Games).z80", 0x086f0, 0xa79c6137, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczybex, Speczybex, Spectrum)
STD_ROM_FN(Speczybex)

struct BurnDriver BurnSpeczybex = {
	"spec_zybex", NULL, "spec_spectrum", NULL, "1989",
	"Zybex (48K)\0", NULL, "Zeppelin Games", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczybexRomInfo, SpeczybexRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zynaps (48K)

static struct BurnRomInfo SpeczynapsRomDesc[] = {
	{ "Zynaps (1987)(Hewson Consultants).z80", 0x09b92, 0x94b4d9b2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczynaps, Speczynaps, Spectrum)
STD_ROM_FN(Speczynaps)

struct BurnDriver BurnSpeczynaps = {
	"spec_zynaps", NULL, "spec_spectrum", NULL, "1987",
	"Zynaps (48K)\0", NULL, "Hewson Consultants", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczynapsRomInfo, SpeczynapsRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zythum (48K)

static struct BurnRomInfo SpeczythumRomDesc[] = {
	{ "Zythum (1986)(Mirrorsoft).z80", 0x08b70, 0x73d391d2, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczythum, Speczythum, Spectrum)
STD_ROM_FN(Speczythum)

struct BurnDriver BurnSpeczythum = {
	"spec_zythum", NULL, "spec_spectrum", NULL, "1986",
	"Zythum (48K)\0", NULL, "Mirrorsoft", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczythumRomInfo, SpeczythumRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zzoom (48K)

static struct BurnRomInfo SpeczzoomRomDesc[] = {
	{ "Zzoom (1983)(Imagine Software).z80", 0x06706, 0x41aa570f, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczzoom, Speczzoom, Spectrum)
STD_ROM_FN(Speczzoom)

struct BurnDriver BurnSpeczzoom = {
	"spec_zzoom", NULL, "spec_spectrum", NULL, "1983",
	"Zzoom (48K)\0", NULL, "Imagine Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczzoomRomInfo, SpeczzoomRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zzzz (Mastertronic) (48K)

static struct BurnRomInfo SpeczzzzRomDesc[] = {
	{ "Zzzz (1986)(Mastertronic).z80", 0x09a5e, 0xbbb8186c, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczzzz, Speczzzz, Spectrum)
STD_ROM_FN(Speczzzz)

struct BurnDriver BurnSpeczzzz = {
	"spec_zzzz", NULL, "spec_spectrum", NULL, "1986",
	"Zzzz (Mastertronic) (48K)\0", NULL, "Mastertronic", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczzzzRomInfo, SpeczzzzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

// Zzzz (Zenobi Software) (48K)

static struct BurnRomInfo SpeczzzzzRomDesc[] = {
	{ "Zzzz (1986)(Zenobi Software)[re-release].z80", 0x0af2f, 0xfa8aabb1, BRF_ESS | BRF_PRG },
};

STDROMPICKEXT(Speczzzzz, Speczzzzz, Spectrum)
STD_ROM_FN(Speczzzzz)

struct BurnDriver BurnSpeczzzzz = {
	"spec_zzzzz", "spec_zzzz", "spec_spectrum", NULL, "1986",
	"Zzzz (Zenobi Software) (48K)\0", NULL, "Zenobi Software", "ZX Spectrum",
	NULL, NULL, NULL, NULL,
	BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0,
	SpectrumGetZipName, SpeczzzzzRomInfo, SpeczzzzzRomName, NULL, NULL, SpecInputInfo, SpecDIPInfo,
	Z80SnapshotInit, SpecExit, SpecFrame, SpecDraw, SpecScan,
	&SpecRecalc, 0x10, 352, 296, 4, 3
};

