summaryrefslogtreecommitdiffstats
path: root/docs/release/src
diff options
context:
space:
mode:
author Robbbert <Robbbert@users.noreply.github.com>2017-01-27 23:14:12 +1100
committer Robbbert <Robbbert@users.noreply.github.com>2017-01-27 23:14:12 +1100
commit26cd861a9385b035d3227fd8cd71cdd9aa0b5181 (patch)
tree5c847a0fe396f241e42eedfa93ba23a654e934ad /docs/release/src
parenta69112f29d7f574b50c048d8c0861da7fdff444d (diff)
Added remaining CPS-2 games from mame++.
Diffstat (limited to 'docs/release/src')
-rw-r--r--docs/release/src/frontend/mame/info.cpp84
-rw-r--r--docs/release/src/hbmame/drivers/arkanoid.cpp4
-rw-r--r--docs/release/src/hbmame/drivers/bublbobl.cpp16
-rw-r--r--docs/release/src/hbmame/drivers/cps1mis.cpp1987
-rw-r--r--docs/release/src/hbmame/drivers/cps2.cpp938
-rw-r--r--docs/release/src/hbmame/drivers/fcrash.cpp12
-rw-r--r--docs/release/src/hbmame/drivers/galaxian.cpp27
-rw-r--r--docs/release/src/hbmame/drivers/m52.cpp96
-rw-r--r--docs/release/src/hbmame/drivers/maketrax.cpp64
-rw-r--r--docs/release/src/hbmame/drivers/model2.cpp53
-rw-r--r--docs/release/src/hbmame/drivers/neogeo1.cpp22
-rw-r--r--docs/release/src/hbmame/drivers/retofinv.cpp2
-rw-r--r--docs/release/src/hbmame/drivers/segas16b.cpp18
-rw-r--r--docs/release/src/hbmame/drivers/snk6502.cpp2
-rw-r--r--docs/release/src/hbmame/drivers/toaplan1.cpp32
-rw-r--r--docs/release/src/hbmame/hbmame.lst101
-rw-r--r--docs/release/src/hbmame/video/cps1.cpp46
-rw-r--r--docs/release/src/osd/winui/bitmask.cpp1
-rw-r--r--docs/release/src/osd/winui/columnedit.cpp1
-rw-r--r--docs/release/src/osd/winui/datafile.cpp931
-rw-r--r--docs/release/src/osd/winui/datafile.h15
-rw-r--r--docs/release/src/osd/winui/datamap.cpp1
-rw-r--r--docs/release/src/osd/winui/dialogs.cpp1
-rw-r--r--docs/release/src/osd/winui/dijoystick.cpp1
-rw-r--r--docs/release/src/osd/winui/directdraw.cpp1
-rw-r--r--docs/release/src/osd/winui/directinput.cpp1
-rw-r--r--docs/release/src/osd/winui/directories.cpp1
-rw-r--r--docs/release/src/osd/winui/dirwatch.cpp1
-rw-r--r--docs/release/src/osd/winui/dxdecode.cpp1
-rw-r--r--docs/release/src/osd/winui/game_opts.h86
-rw-r--r--docs/release/src/osd/winui/help.cpp1
-rw-r--r--docs/release/src/osd/winui/history.cpp928
-rw-r--r--docs/release/src/osd/winui/history.h3
-rw-r--r--docs/release/src/osd/winui/layout.cpp37
-rw-r--r--docs/release/src/osd/winui/mui_audit.cpp1
-rw-r--r--docs/release/src/osd/winui/mui_opts.cpp1
-rw-r--r--docs/release/src/osd/winui/mui_util.cpp1
-rw-r--r--docs/release/src/osd/winui/newui.cpp1
-rw-r--r--docs/release/src/osd/winui/picker.cpp1
-rw-r--r--docs/release/src/osd/winui/properties.cpp3
-rw-r--r--docs/release/src/osd/winui/screenshot.cpp1
-rw-r--r--docs/release/src/osd/winui/splitters.cpp77
-rw-r--r--docs/release/src/osd/winui/splitters.h25
-rw-r--r--docs/release/src/osd/winui/tabview.cpp1
-rw-r--r--docs/release/src/osd/winui/treeview.cpp1
-rw-r--r--docs/release/src/osd/winui/win_options.cpp809
-rw-r--r--docs/release/src/osd/winui/win_options.h154
-rw-r--r--docs/release/src/osd/winui/winui.cpp3
-rw-r--r--docs/release/src/osd/winui/winui.h1
-rw-r--r--docs/release/src/version.cpp2
50 files changed, 4187 insertions, 2410 deletions
diff --git a/docs/release/src/frontend/mame/info.cpp b/docs/release/src/frontend/mame/info.cpp
index fe5ffad3468..1479978ceb9 100644
--- a/docs/release/src/frontend/mame/info.cpp
+++ b/docs/release/src/frontend/mame/info.cpp
@@ -216,7 +216,7 @@ void info_xml_creator::output(FILE *out, bool nodevices)
#endif
"\" mameconfig=\"%d\">\n",
XML_ROOT,
- xml_normalize_string(emulator_info::get_build_version()),
+ util::xml::normalize_string(emulator_info::get_build_version()),
CONFIG_VERSION
);
@@ -283,7 +283,7 @@ void info_xml_creator::output_one()
// print the header and the game name
fprintf(m_output, "\t<%s",XML_TOP);
- fprintf(m_output, " name=\"%s\"", xml_normalize_string(driver.name));
+ fprintf(m_output, " name=\"%s\"", util::xml::normalize_string(driver.name));
// strip away any path information from the source_file and output it
const char *start = strrchr(driver.source_file, '/');
@@ -291,7 +291,7 @@ void info_xml_creator::output_one()
start = strrchr(driver.source_file, '\\');
if (start == nullptr)
start = driver.source_file - 1;
- fprintf(m_output, " sourcefile=\"%s\"", xml_normalize_string(start + 1));
+ fprintf(m_output, " sourcefile=\"%s\"", util::xml::normalize_string(start + 1));
// append bios and runnable flags
if (driver.flags & MACHINE_IS_BIOS_ROOT)
@@ -304,9 +304,9 @@ void info_xml_creator::output_one()
// display clone information
int clone_of = m_drivlist.find(driver.parent);
if (clone_of != -1 && !(m_drivlist.driver(clone_of).flags & MACHINE_IS_BIOS_ROOT))
- fprintf(m_output, " cloneof=\"%s\"", xml_normalize_string(m_drivlist.driver(clone_of).name));
+ fprintf(m_output, " cloneof=\"%s\"", util::xml::normalize_string(m_drivlist.driver(clone_of).name));
if (clone_of != -1)
- fprintf(m_output, " romof=\"%s\"", xml_normalize_string(m_drivlist.driver(clone_of).name));
+ fprintf(m_output, " romof=\"%s\"", util::xml::normalize_string(m_drivlist.driver(clone_of).name));
// display sample information and close the game tag
output_sampleof();
@@ -314,15 +314,15 @@ void info_xml_creator::output_one()
// output game description
if (driver.description != nullptr)
- fprintf(m_output, "\t\t<description>%s</description>\n", xml_normalize_string(driver.description));
+ fprintf(m_output, "\t\t<description>%s</description>\n", util::xml::normalize_string(driver.description));
// print the year only if is a number or another allowed character (? or +)
if (driver.year != nullptr && strspn(driver.year, "0123456789?+") == strlen(driver.year))
- fprintf(m_output, "\t\t<year>%s</year>\n", xml_normalize_string(driver.year));
+ fprintf(m_output, "\t\t<year>%s</year>\n", util::xml::normalize_string(driver.year));
// print the manufacturer information
if (driver.manufacturer != nullptr)
- fprintf(m_output, "\t\t<manufacturer>%s</manufacturer>\n", xml_normalize_string(driver.manufacturer));
+ fprintf(m_output, "\t\t<manufacturer>%s</manufacturer>\n", util::xml::normalize_string(driver.manufacturer));
// now print various additional information
output_bios();
@@ -376,15 +376,15 @@ void info_xml_creator::output_one_device(device_t &device, const char *devtag)
// start to output info
fprintf(m_output, "\t<%s", XML_TOP);
- fprintf(m_output, " name=\"%s\"", xml_normalize_string(device.shortname()));
+ fprintf(m_output, " name=\"%s\"", util::xml::normalize_string(device.shortname()));
std::string src(device.source());
strreplace(src,"../", "");
- fprintf(m_output, " sourcefile=\"%s\"", xml_normalize_string(src.c_str()));
+ fprintf(m_output, " sourcefile=\"%s\"", util::xml::normalize_string(src.c_str()));
fprintf(m_output, " isdevice=\"yes\"");
fprintf(m_output, " runnable=\"no\"");
output_sampleof();
fprintf(m_output, ">\n");
- fprintf(m_output, "\t\t<description>%s</description>\n", xml_normalize_string(device.name()));
+ fprintf(m_output, "\t\t<description>%s</description>\n", util::xml::normalize_string(device.name()));
output_rom(device);
@@ -478,7 +478,7 @@ void info_xml_creator::output_device_roms()
{
for (device_t &device : device_iterator(m_drivlist.config().root_device()))
if (device.owner() != nullptr && device.shortname() != nullptr && device.shortname()[0] != '\0')
- fprintf(m_output, "\t\t<device_ref name=\"%s\"/>\n", xml_normalize_string(device.shortname()));
+ fprintf(m_output, "\t\t<device_ref name=\"%s\"/>\n", util::xml::normalize_string(device.shortname()));
}
@@ -495,7 +495,7 @@ void info_xml_creator::output_sampleof()
samples_iterator sampiter(device);
if (sampiter.altbasename() != nullptr)
{
- fprintf(m_output, " sampleof=\"%s\"", xml_normalize_string(sampiter.altbasename()));
+ fprintf(m_output, " sampleof=\"%s\"", util::xml::normalize_string(sampiter.altbasename()));
// must stop here, as there can only be one attribute of the same name
return;
@@ -529,8 +529,8 @@ void info_xml_creator::output_bios()
{
// output extracted name and descriptions
fprintf(m_output, "\t\t<biosset");
- fprintf(m_output, " name=\"%s\"", xml_normalize_string(ROM_GETNAME(&rom)));
- fprintf(m_output, " description=\"%s\"", xml_normalize_string(ROM_GETHASHDATA(&rom)));
+ fprintf(m_output, " name=\"%s\"", util::xml::normalize_string(ROM_GETNAME(&rom)));
+ fprintf(m_output, " description=\"%s\"", util::xml::normalize_string(ROM_GETHASHDATA(&rom)));
if (defaultname == ROM_GETNAME(&rom))
fprintf(m_output, " default=\"yes\"");
fprintf(m_output, "/>\n");
@@ -597,13 +597,13 @@ void info_xml_creator::output_rom(device_t &device)
// add name, merge, bios, and size tags */
if (name != nullptr && name[0] != 0)
- util::stream_format(output, " name=\"%s\"", xml_normalize_string(name));
+ util::stream_format(output, " name=\"%s\"", util::xml::normalize_string(name));
if (merge_name != nullptr)
- util::stream_format(output, " merge=\"%s\"", xml_normalize_string(merge_name));
+ util::stream_format(output, " merge=\"%s\"", util::xml::normalize_string(merge_name));
if (bios_name[0] != 0)
- util::stream_format(output, " bios=\"%s\"", xml_normalize_string(bios_name));
+ util::stream_format(output, " bios=\"%s\"", util::xml::normalize_string(bios_name));
if (!is_disk)
- util::stream_format(output, " size=\"%d\"", rom_file_size(rom));
+ util::stream_format(output, " size=\"%u\"", rom_file_size(rom));
// dump checksum information only if there is a known dump
if (!hashes.flag(util::hash_collection::FLAG_NO_DUMP))
@@ -659,7 +659,7 @@ void info_xml_creator::output_sample(device_t &device)
continue;
// output the sample name
- fprintf(m_output, "\t\t<sample name=\"%s\"/>\n", xml_normalize_string(samplename));
+ fprintf(m_output, "\t\t<sample name=\"%s\"/>\n", util::xml::normalize_string(samplename));
}
}
}
@@ -682,8 +682,8 @@ void info_xml_creator::output_chips(device_t &device, const char *root_tag)
fprintf(m_output, "\t\t<chip");
fprintf(m_output, " type=\"cpu\"");
- fprintf(m_output, " tag=\"%s\"", xml_normalize_string(newtag.c_str()));
- fprintf(m_output, " name=\"%s\"", xml_normalize_string(exec.device().name()));
+ fprintf(m_output, " tag=\"%s\"", util::xml::normalize_string(newtag.c_str()));
+ fprintf(m_output, " name=\"%s\"", util::xml::normalize_string(exec.device().name()));
fprintf(m_output, " clock=\"%d\"", exec.device().clock());
fprintf(m_output, "/>\n");
}
@@ -699,8 +699,8 @@ void info_xml_creator::output_chips(device_t &device, const char *root_tag)
fprintf(m_output, "\t\t<chip");
fprintf(m_output, " type=\"audio\"");
- fprintf(m_output, " tag=\"%s\"", xml_normalize_string(newtag.c_str()));
- fprintf(m_output, " name=\"%s\"", xml_normalize_string(sound.device().name()));
+ fprintf(m_output, " tag=\"%s\"", util::xml::normalize_string(newtag.c_str()));
+ fprintf(m_output, " name=\"%s\"", util::xml::normalize_string(sound.device().name()));
if (sound.device().clock() != 0)
fprintf(m_output, " clock=\"%d\"", sound.device().clock());
fprintf(m_output, "/>\n");
@@ -725,7 +725,7 @@ void info_xml_creator::output_display(device_t &device, const char *root_tag)
newtag = newtag.substr(newtag.find(oldtag.append(root_tag)) + oldtag.length());
fprintf(m_output, "\t\t<display");
- fprintf(m_output, " tag=\"%s\"", xml_normalize_string(newtag.c_str()));
+ fprintf(m_output, " tag=\"%s\"", util::xml::normalize_string(newtag.c_str()));
switch (screendev.screen_type())
{
@@ -1230,7 +1230,7 @@ void info_xml_creator::output_input(const ioport_list &portlist)
//printf("type %s - player %d - buttons %d\n", elem.type, elem.player, elem.nbuttons);
if (elem.analog)
{
- fprintf(m_output, "\t\t\t<control type=\"%s\"", xml_normalize_string(elem.type));
+ fprintf(m_output, "\t\t\t<control type=\"%s\"", util::xml::normalize_string(elem.type));
if (nplayer > 1)
fprintf(m_output, " player=\"%d\"", elem.player);
if (elem.nbuttons > 0)
@@ -1259,7 +1259,7 @@ void info_xml_creator::output_input(const ioport_list &portlist)
if (elem.helper[0] == 0 && elem.helper[1] != 0) { elem.helper[0] = elem.helper[1]; elem.helper[1] = 0; }
if (elem.helper[1] == 0 && elem.helper[2] != 0) { elem.helper[1] = elem.helper[2]; elem.helper[2] = 0; }
const char *joys = (elem.helper[2] != 0) ? "triple" : (elem.helper[1] != 0) ? "double" : "";
- fprintf(m_output, "\t\t\t<control type=\"%s%s\"", joys, xml_normalize_string(elem.type));
+ fprintf(m_output, "\t\t\t<control type=\"%s%s\"", joys, util::xml::normalize_string(elem.type));
if (nplayer > 1)
fprintf(m_output, " player=\"%d\"", elem.player);
if (elem.nbuttons > 0)
@@ -1329,14 +1329,14 @@ void info_xml_creator::output_switches(const ioport_list &portlist, const char *
newtag = newtag.substr(newtag.find(oldtag.append(root_tag)) + oldtag.length());
// output the switch name information
- std::string normalized_field_name(xml_normalize_string(field.name()));
- std::string normalized_newtag(xml_normalize_string(newtag.c_str()));
+ std::string normalized_field_name(util::xml::normalize_string(field.name()));
+ std::string normalized_newtag(util::xml::normalize_string(newtag.c_str()));
util::stream_format(output,"\t\t<%s name=\"%s\" tag=\"%s\" mask=\"%u\">\n", outertag, normalized_field_name.c_str(), normalized_newtag.c_str(), field.mask());
// loop over settings
for (ioport_setting &setting : field.settings())
{
- util::stream_format(output,"\t\t\t<%s name=\"%s\" value=\"%u\"%s/>\n", innertag, xml_normalize_string(setting.name()), setting.value(), setting.value() == field.defvalue() ? " default=\"yes\"" : "");
+ util::stream_format(output,"\t\t\t<%s name=\"%s\" value=\"%u\"%s/>\n", innertag, util::xml::normalize_string(setting.name()), setting.value(), setting.value() == field.defvalue() ? " default=\"yes\"" : "");
}
// terminate the switch entry
@@ -1355,7 +1355,7 @@ void info_xml_creator::output_ports(const ioport_list &portlist)
// cycle through ports
for (auto &port : portlist)
{
- fprintf(m_output,"\t\t<port tag=\"%s\">\n", xml_normalize_string(port.second->tag()));
+ fprintf(m_output,"\t\t<port tag=\"%s\">\n", util::xml::normalize_string(port.second->tag()));
for (ioport_field &field : port.second->fields())
{
if(field.is_analog())
@@ -1378,7 +1378,7 @@ void info_xml_creator::output_adjusters(const ioport_list &portlist)
for (auto &port : portlist)
for (ioport_field &field : port.second->fields())
if (field.type() == IPT_ADJUSTER)
- fprintf(m_output, "\t\t<adjuster name=\"%s\" default=\"%d\"/>\n", xml_normalize_string(field.name()), field.defvalue());
+ fprintf(m_output, "\t\t<adjuster name=\"%s\" default=\"%d\"/>\n", util::xml::normalize_string(field.name()), field.defvalue());
}
@@ -1460,11 +1460,11 @@ void info_xml_creator::output_images(device_t &device, const char *root_tag)
newtag = newtag.substr(newtag.find(oldtag.append(root_tag)) + oldtag.length());
// print m_output device type
- fprintf(m_output, "\t\t<device type=\"%s\"", xml_normalize_string(imagedev.image_type_name()));
+ fprintf(m_output, "\t\t<device type=\"%s\"", util::xml::normalize_string(imagedev.image_type_name()));
// does this device have a tag?
if (imagedev.device().tag())
- fprintf(m_output, " tag=\"%s\"", xml_normalize_string(newtag.c_str()));
+ fprintf(m_output, " tag=\"%s\"", util::xml::normalize_string(newtag.c_str()));
// is this device available as media switch?
if (!loadable)
@@ -1475,7 +1475,7 @@ void info_xml_creator::output_images(device_t &device, const char *root_tag)
fprintf(m_output, " mandatory=\"1\"");
if (imagedev.image_interface() && imagedev.image_interface()[0])
- fprintf(m_output, " interface=\"%s\"", xml_normalize_string(imagedev.image_interface()));
+ fprintf(m_output, " interface=\"%s\"", util::xml::normalize_string(imagedev.image_interface()));
// close the XML tag
fprintf(m_output, ">\n");
@@ -1486,8 +1486,8 @@ void info_xml_creator::output_images(device_t &device, const char *root_tag)
const char *shortname = imagedev.brief_instance_name();
fprintf(m_output, "\t\t\t<instance");
- fprintf(m_output, " name=\"%s\"", xml_normalize_string(name));
- fprintf(m_output, " briefname=\"%s\"", xml_normalize_string(shortname));
+ fprintf(m_output, " name=\"%s\"", util::xml::normalize_string(name));
+ fprintf(m_output, " briefname=\"%s\"", util::xml::normalize_string(shortname));
fprintf(m_output, "/>\n");
std::string extensions(imagedev.file_extensions());
@@ -1496,7 +1496,7 @@ void info_xml_creator::output_images(device_t &device, const char *root_tag)
while (ext != nullptr)
{
fprintf(m_output, "\t\t\t<extension");
- fprintf(m_output, " name=\"%s\"", xml_normalize_string(ext));
+ fprintf(m_output, " name=\"%s\"", util::xml::normalize_string(ext));
fprintf(m_output, "/>\n");
ext = strtok(nullptr, ",");
}
@@ -1523,11 +1523,11 @@ void info_xml_creator::output_slots(device_t &device, const char *root_tag)
newtag = newtag.substr(newtag.find(oldtag.append(root_tag)) + oldtag.length());
// print m_output device type
- fprintf(m_output, "\t\t<slot name=\"%s\">\n", xml_normalize_string(newtag.c_str()));
+ fprintf(m_output, "\t\t<slot name=\"%s\">\n", util::xml::normalize_string(newtag.c_str()));
/*
if (slot.slot_interface()[0])
- fprintf(m_output, " interface=\"%s\"", xml_normalize_string(slot.slot_interface()));
+ fprintf(m_output, " interface=\"%s\"", util::xml::normalize_string(slot.slot_interface()));
*/
for (auto &option : slot.option_list())
@@ -1539,8 +1539,8 @@ void info_xml_creator::output_slots(device_t &device, const char *root_tag)
dev->config_complete();
fprintf(m_output, "\t\t\t<slotoption");
- fprintf(m_output, " name=\"%s\"", xml_normalize_string(option.second->name()));
- fprintf(m_output, " devname=\"%s\"", xml_normalize_string(dev->shortname()));
+ fprintf(m_output, " name=\"%s\"", util::xml::normalize_string(option.second->name()));
+ fprintf(m_output, " devname=\"%s\"", util::xml::normalize_string(dev->shortname()));
if (slot.default_option() != nullptr && strcmp(slot.default_option(), option.second->name())==0)
fprintf(m_output, " default=\"yes\"");
fprintf(m_output, "/>\n");
diff --git a/docs/release/src/hbmame/drivers/arkanoid.cpp b/docs/release/src/hbmame/drivers/arkanoid.cpp
index 23feba70bcb..45a393c2b25 100644
--- a/docs/release/src/hbmame/drivers/arkanoid.cpp
+++ b/docs/release/src/hbmame/drivers/arkanoid.cpp
@@ -52,7 +52,7 @@ ROM_START( arkll32 )
ROM_LOAD( "lle_a75_01-1.rom", 0x0000, 0x8000, CRC(8e6d7e7f) SHA1(3682c548c1bc3ceea2ff685fc5b82e61ed0044d2) )
ROM_LOAD( "lle_a75_11.rom", 0x8000, 0x8000, CRC(845fa7b0) SHA1(e89ab456281bcb83a61a89b347dc93303928d365) )
- ROM_REGION( 0x0800, "mcu", 0 )
+ ROM_REGION( 0x0800, "mcu:mcu", 0 )
ROM_LOAD( "arkanoid.uc", 0x0000, 0x0800, CRC(515d77b6) SHA1(a302937683d11f663abd56a2fd7c174374e4d7fb) )
ROM_REGION( 0x18000, "gfx1", 0 )
@@ -70,4 +70,4 @@ ROM_END
GAME( 2000, akblc2dx, arkanoid, bootleg, arkangc, arkanoid_state, arkblock, ROT90, "hack", "Block Deluxe (Game Corporation)", 0 )
GAME( 2000, akgcdx, arkanoid, bootleg, arkangc, arkanoid_state, arkgcbl, ROT90, "hack", "Arkanoid Deluxe (Game Corporation)", 0 )
GAME( 2000, aktaytdx, arkanoid, bootleg, arktayt2, driver_device, 0, ROT90, "hack", "Arkanoid Deluxe (Japan, Tayto)", 0 )
-GAME( 2000, arkll32, arkanoid, arkanoid, arkanoidj, driver_device, 0, ROT90, "hack", "Arkanoid LL32", 0 )
+GAME( 2000, arkll32, arkanoid, p3mcu, arkanoidj, driver_device, 0, ROT90, "hack", "Arkanoid LL32", 0 )
diff --git a/docs/release/src/hbmame/drivers/bublbobl.cpp b/docs/release/src/hbmame/drivers/bublbobl.cpp
index b55c17e6c6f..5c863bd70a8 100644
--- a/docs/release/src/hbmame/drivers/bublbobl.cpp
+++ b/docs/release/src/hbmame/drivers/bublbobl.cpp
@@ -111,9 +111,9 @@ ROM_END
//Press P1+P2 while playing, to advance
ROM_START( bbredux1 )
ROM_REGION( 0x30000, "maincpu", 0 )
- ROM_LOAD( "bb3", 0x00000, 0x8000, CRC(b802046d) SHA1(93dba2507c67f3f61eca80908a7a4409d2cd1b75) )
- ROM_LOAD( "bb5", 0x10000, 0x8000, CRC(d29d3444) SHA1(3db694a6ba2ba2ed85d31c2bc4c7c94911b99b85) )
- ROM_LOAD( "bb4", 0x18000, 0x8000, CRC(19a5a0fa) SHA1(e7fff3643d7922a494ad8118d1a0f74e52443f9f) )
+ ROM_LOAD( "bb3.1", 0x00000, 0x8000, CRC(b802046d) SHA1(93dba2507c67f3f61eca80908a7a4409d2cd1b75) )
+ ROM_LOAD( "bb5.1", 0x10000, 0x8000, CRC(d29d3444) SHA1(3db694a6ba2ba2ed85d31c2bc4c7c94911b99b85) )
+ ROM_LOAD( "bb4.1", 0x18000, 0x8000, CRC(19a5a0fa) SHA1(e7fff3643d7922a494ad8118d1a0f74e52443f9f) )
ROM_REGION( 0x10000, "slave", 0 )
ROM_LOAD( "a78-08.37", 0x0000, 0x08000, CRC(ae11a07b) SHA1(af7a335c8da637103103cc274e077f123908ebb7) )
@@ -147,9 +147,9 @@ ROM_END
// When you die for the last time, it momentarily says says press P1. Do so, to continue.
ROM_START( bbredux2 )
ROM_REGION( 0x30000, "maincpu", 0 )
- ROM_LOAD( "bb3", 0x00000, 0x8000, CRC(198dc44e) SHA1(de9538b47703c468f85ba318deb8aa0b65174a26) )
+ ROM_LOAD( "bb3.2", 0x00000, 0x8000, CRC(198dc44e) SHA1(de9538b47703c468f85ba318deb8aa0b65174a26) )
ROM_LOAD( "bb5", 0x10000, 0x8000, CRC(d29d3444) SHA1(3db694a6ba2ba2ed85d31c2bc4c7c94911b99b85) )
- ROM_LOAD( "bb4", 0x18000, 0x8000, CRC(9b819b62) SHA1(79d7208cb81fa36ed317f4776b1eda3082b1a21c) )
+ ROM_LOAD( "bb4.2", 0x18000, 0x8000, CRC(9b819b62) SHA1(79d7208cb81fa36ed317f4776b1eda3082b1a21c) )
ROM_REGION( 0x10000, "slave", 0 )
ROM_LOAD( "a78-08.37", 0x0000, 0x08000, CRC(ae11a07b) SHA1(af7a335c8da637103103cc274e077f123908ebb7) )
@@ -183,9 +183,9 @@ ROM_END
// High score save is not working as yet
ROM_START( bbredux3 )
ROM_REGION( 0x30000, "maincpu", 0 )
- ROM_LOAD( "bb3", 0x00000, 0x8000, CRC(959cafca) SHA1(9c541e45326d27f4d25a1fd9d66f234ce7f969c9) )
+ ROM_LOAD( "bb3.3", 0x00000, 0x8000, CRC(959cafca) SHA1(9c541e45326d27f4d25a1fd9d66f234ce7f969c9) )
ROM_LOAD( "bb5", 0x10000, 0x8000, CRC(d29d3444) SHA1(3db694a6ba2ba2ed85d31c2bc4c7c94911b99b85) )
- ROM_LOAD( "bb4", 0x18000, 0x8000, CRC(3f350047) SHA1(7e23d1c9b1a29760d96dcc7f7784ae610ac860d9) )
+ ROM_LOAD( "bb4.3", 0x18000, 0x8000, CRC(3f350047) SHA1(7e23d1c9b1a29760d96dcc7f7784ae610ac860d9) )
ROM_REGION( 0x10000, "slave", 0 )
ROM_LOAD( "a78-08.37", 0x0000, 0x08000, CRC(ae11a07b) SHA1(af7a335c8da637103103cc274e077f123908ebb7) )
@@ -219,7 +219,7 @@ ROM_END
ROM_START( sboblboblh )
ROM_REGION( 0x30000, "maincpu", 0 )
ROM_LOAD( "bb3.u28", 0x00000, 0x08000, CRC(c23cd704) SHA1(a389ecc8d55d1b0c915fd3814d93338b9e402701) )
- ROM_LOAD( "bb5", 0x10000, 0x08000, CRC(13118eb1) SHA1(5a5da40c2cc82420f70bc58ffa32de1088c6c82f) )
+ ROM_LOAD( "bb5.s", 0x10000, 0x08000, CRC(13118eb1) SHA1(5a5da40c2cc82420f70bc58ffa32de1088c6c82f) )
ROM_LOAD( "bbb-4.rom", 0x18000, 0x08000, CRC(94c75591) SHA1(7698bc4b7d20e554a73a489cd3a15ae61b350e37) )
ROM_REGION( 0x10000, "slave", 0 )
diff --git a/docs/release/src/hbmame/drivers/cps1mis.cpp b/docs/release/src/hbmame/drivers/cps1mis.cpp
index 630ff912498..87830a715fb 100644
--- a/docs/release/src/hbmame/drivers/cps1mis.cpp
+++ b/docs/release/src/hbmame/drivers/cps1mis.cpp
@@ -718,7 +718,7 @@ MACHINE_CONFIG_END
***********************************************************************/
ROM_START( 3wondrud )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "3wondrud.30", 0x00000, 0x20000, CRC(b0953ff4) SHA1(79d0b68948a9b5be8eacd33810ddcf4fa08dbe71) )
ROM_LOAD16_BYTE( "3wondrud.35", 0x00001, 0x20000, CRC(7695e8c6) SHA1(f78e7cb1098d77ce84d58a0d4509a77f5c483a77) )
ROM_LOAD16_BYTE( "3wondrud.31", 0x40000, 0x20000, CRC(8cf00a3c) SHA1(dceb5bccf7c96802e7c228ea52f82fbb49388e0d) )
@@ -763,7 +763,7 @@ ROM_END
ROM_START( captcocc )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP("captcocc.23", 0x000000, 0x80000, CRC(1e5c9f79) SHA1(09f7356b5badae26f24a2afac2cbe0d8e0c9481a) )
ROM_LOAD16_WORD_SWAP("captcocc.22", 0x080000, 0x80000, CRC(6ea50796) SHA1(62d0cd0203c2bb75bd0b69e3b25a492c37658da4) )
ROM_LOAD16_BYTE( "cc_24f.9e", 0x100000, 0x20000, CRC(3a794f25) SHA1(7f3722a4ef0c1d7acb73e6bac9dd6ae7b35e6374) )
@@ -805,7 +805,7 @@ ROM_START( captcocc )
ROM_END
ROM_START( captcomc )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "cc23", 0x000000, 0x80000, CRC(a5e73e49) SHA1(7bb75fa0e1122a85a421c50607c0ad57a387783e) )
ROM_LOAD16_WORD_SWAP( "cc22", 0x080000, 0x80000, CRC(919777c5) SHA1(2bd9b1527e8486ae89ddcdb0694c63c5859080b6) )
ROM_LOAD16_BYTE( "cc24", 0x100000, 0x20000, CRC(f3d6f147) SHA1(937822148c0f6f295d468024ce7887ee0353e669) )
@@ -847,7 +847,7 @@ ROM_START( captcomc )
ROM_END
ROM_START( captcomh )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "cce_23dh.rom", 0x000000, 0x80000, CRC(d97f921c) SHA1(451ab11ddd845ecddeaf60b3c46903d784c3389c) )
ROM_LOAD16_WORD_SWAP( "cc_22d.rom", 0x080000, 0x80000, CRC(a91949b7) SHA1(c027af89cd8f6bd3aaed61114582322c42e0c74f) )
ROM_LOAD16_BYTE( "cc_24d.rom", 0x100000, 0x20000, CRC(680e543f) SHA1(cfa963ab6329f615807db213bf53841860ed3149) )
@@ -889,7 +889,7 @@ ROM_START( captcomh )
ROM_END
ROM_START( captcoud )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP("captcoud.23", 0x000000, 0x80000, CRC(1d338c25) SHA1(4aba7e5a78bf20d887b3493e0d2a83098f877f9f) )
ROM_LOAD16_WORD_SWAP("captcoud.22", 0x080000, 0x80000, CRC(c5310f13) SHA1(97a3751630f10cf67515200ce435c34fda1d9a52) )
ROM_LOAD16_BYTE( "ccu_24b.9e", 0x100000, 0x20000, CRC(84ff99b2) SHA1(5b02c91f3d0f8fb46db9596136b683f5a22dc15f) )
@@ -931,7 +931,7 @@ ROM_START( captcoud )
ROM_END
ROM_START( captcovs )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP("captcovs.23", 0x000000, 0x80000, CRC(c1ad4e2a) SHA1(0b7843fec92261b2e727147aa6df60f4b5fc8fc7) )
ROM_LOAD16_WORD_SWAP("captcovs.22", 0x080000, 0x80000, CRC(8e19a05a) SHA1(b60dd9b1693630e9e3fe73c1b3f8a026945fb23d) )
ROM_LOAD16_BYTE( "cc_24f.9e", 0x100000, 0x20000, CRC(3a794f25) SHA1(7f3722a4ef0c1d7acb73e6bac9dd6ae7b35e6374) )
@@ -974,7 +974,7 @@ ROM_END
ROM_START( cps1demo )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "cd30-36.bin", 0x00000, 0x20000, CRC(5eb617d6) SHA1(9d4656d2b29244eb2a01058f5b80752d94065a6e) )
ROM_LOAD16_BYTE( "cd35-42.bin", 0x00001, 0x20000, CRC(1f1c0a62) SHA1(12d1950921fff6d52ae969a4c7357f4e7bc28d1e) )
ROM_LOAD16_WORD_SWAP( "ff32-32m.bin", 0x80000, 0x80000, CRC(c747696e) SHA1(d3362dadded31ccb7eaf71ef282d698d18edd722) )
@@ -995,7 +995,7 @@ ROM_START( cps1demo )
ROM_END
ROM_START( cps1frog )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "frog30-36.bin", 0x00000, 0x20000, CRC(8eb8ddbe) SHA1(298c72b3eb6f2721f204cf80ec4a7c52dc8b23fd) )
ROM_LOAD16_BYTE( "frog35-42.bin", 0x00001, 0x20000, CRC(acb5a988) SHA1(7264bb94f7bacef9bf03713d0a6d32e81ca1f8e2) )
ROM_LOAD16_WORD_SWAP( "frog32-32m.bin", 0x80000, 0x80000, CRC(75660aac) SHA1(6a521e1d2a632c26e53b83d2cc4b0edecfc1e68c) )
@@ -1016,7 +1016,7 @@ ROM_START( cps1frog )
ROM_END
ROM_START( cps1test )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "cps1test.bin", 0x000000, 0x80000, CRC(938c72fe) SHA1(0a48661d5638ed6b841f646ebb9f948a01b8e2d3) )
ROM_LOAD16_WORD_SWAP( "s92_22b.7f", 0x080000, 0x80000, CRC(2bbe15ed) SHA1(a8e2edef62fa99c5ef701b28bfb6bc42f3af183d) )
ROM_LOAD16_WORD_SWAP( "s92_21a.6f", 0x100000, 0x80000, CRC(925a7877) SHA1(1960dca35f0ca6f2b399a9fccfbc0132ac6425d1) )
@@ -1061,7 +1061,7 @@ ROM_START( cps1test )
ROM_END
ROM_START( cps1testa )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "cps1testa.bin", 0x000000, 0x80000, CRC(35a39adb) SHA1(dcb93102108a02f1f169833cfd355bd492cd9065) )
ROM_LOAD16_WORD_SWAP( "rcmu_22b.7f", 0x080000, 0x80000, CRC(708268c4) SHA1(554e011cad285b95dd1b6aa19be61b2413662a3a) )
ROM_LOAD16_WORD_SWAP( "rcmu_21a.6f", 0x100000, 0x80000, CRC(4376ea95) SHA1(7370ceffca513aa9f68a74f6869d561476589200) )
@@ -1169,7 +1169,7 @@ ROM_END
ROM_START( dino08h2 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "dino08h2.23", 0x000000, 0x80000, CRC(39ebeee2) SHA1(b48c3174e4ca26517958b3e58a3a693ce4e9ee88) )
ROM_LOAD16_WORD_SWAP( "dino08h2.22", 0x080000, 0x80000, CRC(09307e79) SHA1(cff0af94c6118a852351a7b624db65963c91f577) )
ROM_LOAD16_WORD_SWAP( "dino08h2.21", 0x100000, 0x80000, CRC(c2a0f051) SHA1(57e4a569824fb2a9d726ba610d13e451ab0b36cb) )
@@ -1202,7 +1202,7 @@ ROM_START( dino08h2 )
ROM_END
ROM_START( dino08h3 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "dino08h3.23", 0x000000, 0x80000, CRC(642a2380) SHA1(79d9f427740d7f86b81f560e71636097d10cccf1) )
ROM_LOAD16_WORD_SWAP( "dino08h3.22", 0x080000, 0x80000, CRC(7a3c6b73) SHA1(e7f75c286ced541d4d6e399a54fa39fc1a85773f) )
ROM_LOAD16_WORD_SWAP( "dino08h3.21", 0x100000, 0x80000, CRC(3383646e) SHA1(f3d220e79cb8f86ba799580541e790d9a1d2cdf5) )
@@ -1235,7 +1235,7 @@ ROM_START( dino08h3 )
ROM_END
ROM_START( dino08hp )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "dino08hp.23", 0x000000, 0x80000, CRC(394826e3) SHA1(7b295e263ab7f38a57a118de0f4308debfe14591) )
ROM_LOAD16_WORD_SWAP( "dino08hp.22", 0x080000, 0x80000, CRC(a4894b10) SHA1(6c6d4319af544383007190cfe8835189089e4ac3) )
ROM_LOAD16_WORD_SWAP( "dino08h2.21", 0x100000, 0x80000, CRC(c2a0f051) SHA1(57e4a569824fb2a9d726ba610d13e451ab0b36cb) )
@@ -1268,7 +1268,7 @@ ROM_START( dino08hp )
ROM_END
ROM_START( dinob ) // program same as dinopic in mame, but this one has working sound
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "3.bin", 0x000001, 0x80000, CRC(13dfeb08) SHA1(cd2f9dd64f4fabe93901247e36dff3763169716d) )
ROM_LOAD16_BYTE( "5.bin", 0x000000, 0x80000, CRC(96dfcbf1) SHA1(a8bda6edae2c1b79db7ae8a8976fd2457f874373) )
ROM_LOAD16_BYTE( "2.bin", 0x100001, 0x80000, CRC(0e4058ba) SHA1(346f9e34ea53dd1bf5cdafa1e38bf2edb09b9a7f) )
@@ -1305,7 +1305,7 @@ ROM_START( dinob ) // program same as dinopic in mame, but this one has working
ROM_END
ROM_START( dinobt )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "dinobt.23", 0x000000, 0x80000, CRC(3b1ed744) SHA1(7f9e062f97ef497c8993f574a3a51ae9e4e3e4f6) )
ROM_LOAD16_WORD_SWAP( "cde_22a.rom", 0x080000, 0x80000, CRC(9278aa12) SHA1(58cbbd53a98abe640ccb233f8dbd8ca6d63475e7) )
ROM_LOAD16_WORD_SWAP( "cde_21a.6f", 0x100000, 0x80000, CRC(66d23de2) SHA1(19b8a365f630411d524d055459020f4c8cf930f1) )
@@ -1338,7 +1338,7 @@ ROM_START( dinobt )
ROM_END
ROM_START( dinobtpp )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "dinobtpp.23", 0x000000, 0x80000, CRC(41f954c9) SHA1(494ca6b9a5df7c9f491e54e45da41b2dcb4936a9) )
ROM_LOAD16_WORD_SWAP( "cde_22a.rom", 0x080000, 0x80000, CRC(9278aa12) SHA1(58cbbd53a98abe640ccb233f8dbd8ca6d63475e7) )
ROM_LOAD16_WORD_SWAP( "cde_21a.6f", 0x100000, 0x80000, CRC(66d23de2) SHA1(19b8a365f630411d524d055459020f4c8cf930f1) )
@@ -1371,7 +1371,7 @@ ROM_START( dinobtpp )
ROM_END
ROM_START( dinocgba )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "dinocgba.23", 0x000000, 0x80000, CRC(7545d8b0) SHA1(b2400f558753e2c5d26a20ed94aff63d96424d1b) )
ROM_LOAD16_WORD_SWAP( "cde_22a.rom", 0x080000, 0x80000, CRC(9278aa12) SHA1(58cbbd53a98abe640ccb233f8dbd8ca6d63475e7) )
ROM_LOAD16_WORD_SWAP( "dinoeh.21", 0x100000, 0x80000, CRC(b89a0548) SHA1(13b79e18c3cced34b28a34a591e2bd3bd18739be) )
@@ -1404,7 +1404,7 @@ ROM_START( dinocgba )
ROM_END
ROM_START( dinocgbb )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "dinocgbb.23", 0x000000, 0x80000, CRC(2afc047c) SHA1(2d8831ae1faed2c8393db95835e157326a00f3f1) )
ROM_LOAD16_WORD_SWAP( "cde_22a.rom", 0x080000, 0x80000, CRC(9278aa12) SHA1(58cbbd53a98abe640ccb233f8dbd8ca6d63475e7) )
ROM_LOAD16_WORD_SWAP( "dinoeh.21", 0x100000, 0x80000, CRC(b89a0548) SHA1(13b79e18c3cced34b28a34a591e2bd3bd18739be) )
@@ -1437,7 +1437,7 @@ ROM_START( dinocgbb )
ROM_END
ROM_START( dinocgbc )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "dinocgbc.23", 0x000000, 0x80000, CRC(d7be3ebd) SHA1(0af400aa73b93908efe7e81f187ad0809b36593b) )
ROM_LOAD16_WORD_SWAP( "cde_22a.rom", 0x080000, 0x80000, CRC(9278aa12) SHA1(58cbbd53a98abe640ccb233f8dbd8ca6d63475e7) )
ROM_LOAD16_WORD_SWAP( "dinoeh.21", 0x100000, 0x80000, CRC(b89a0548) SHA1(13b79e18c3cced34b28a34a591e2bd3bd18739be) )
@@ -1470,7 +1470,7 @@ ROM_START( dinocgbc )
ROM_END
ROM_START( dinoeh )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "dinoeh.23", 0x000000, 0x80000, CRC(a6b88364) SHA1(71d2d66df77ba3cc856c2ecd317f4be122ed1feb) )
ROM_LOAD16_WORD_SWAP( "cde_22a.rom", 0x080000, 0x80000, CRC(9278aa12) SHA1(58cbbd53a98abe640ccb233f8dbd8ca6d63475e7) )
ROM_LOAD16_WORD_SWAP( "dinoeh.21", 0x100000, 0x80000, CRC(b89a0548) SHA1(13b79e18c3cced34b28a34a591e2bd3bd18739be) )
@@ -1497,7 +1497,7 @@ ROM_START( dinoeh )
ROM_END
ROM_START( dinoex )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "dinoex.23", 0x000000, 0x80000, CRC(c871b733) SHA1(0c2030a9ca0be8b14edbc4f2ae44184ab81b5e03) )
ROM_LOAD16_WORD_SWAP( "dinoex.22", 0x080000, 0x80000, CRC(b503e1ad) SHA1(73e53061b01940a9deb13c0ff5d874b4a8380f15) )
ROM_LOAD16_WORD_SWAP( "cde_21a.6f", 0x100000, 0x80000, CRC(66d23de2) SHA1(19b8a365f630411d524d055459020f4c8cf930f1) )
@@ -1524,7 +1524,7 @@ ROM_START( dinoex )
ROM_END
ROM_START( dinoh )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "cda_23h.rom", 0x000000, 0x80000, CRC(8e2a9cf0) SHA1(01111582e579bd3b43b52d0e0c445c32fe5e053b) )
ROM_LOAD16_WORD_SWAP( "cda_22h.rom", 0x080000, 0x80000, CRC(f72cd219) SHA1(a3f580bd328b54d2546ae7e94262c1a706d27172) )
ROM_LOAD16_WORD_SWAP( "cda_21h.rom", 0x100000, 0x80000, CRC(bc275b76) SHA1(1f7f7533b4ccb511dc479f531d9d6740d3ca6712) )
@@ -1552,7 +1552,7 @@ ROM_START( dinoh )
ROM_END
ROM_START( dinoha )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "kl2-r1.800", 0x080000, 0x080000, CRC(4c70dca7) SHA1(2e7a10c90924e0f87903eddb04313f61233a998f) )
ROM_CONTINUE( 0x000000, 0x080000 )
ROM_LOAD16_WORD_SWAP( "kl2-l2.800", 0x180000, 0x080000, CRC(c6ae7338) SHA1(4b8543cf1ac89ae95fe63e6d81c87d2bda52da69) )
@@ -1580,7 +1580,7 @@ ROM_START( dinoha )
ROM_END
ROM_START( dinohb )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "cd-d.800", 0x000000, 0x100000, CRC(2a7b2915) SHA1(817d24c5206a60c4d93affffc9bd5a72abccbb01) )
ROM_LOAD16_WORD_SWAP( "cd-e.800", 0x100000, 0x100000, CRC(e8370226) SHA1(9c6915ad9e48ccd2020fcad58ec56e6f7cd0c25c) )
@@ -1606,7 +1606,7 @@ ROM_START( dinohb )
ROM_END
ROM_START( dinohp )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "dinohp.23", 0x000000, 0x80000, CRC(c96a1d20) SHA1(76d2ce4727ad6f546148cc3c7338a6243cecce2d) )
ROM_LOAD16_WORD_SWAP( "cde_22a.rom", 0x080000, 0x80000, CRC(9278aa12) SHA1(58cbbd53a98abe640ccb233f8dbd8ca6d63475e7) )
ROM_LOAD16_WORD_SWAP( "cde_21a.6f", 0x100000, 0x80000, CRC(66d23de2) SHA1(19b8a365f630411d524d055459020f4c8cf930f1) )
@@ -1639,7 +1639,7 @@ ROM_START( dinohp )
ROM_END
ROM_START( dinohx )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "dinohx.23", 0x000000, 0x80000, CRC(a013a81f) SHA1(81c84ad76adfe1345d5e41bcddb47f2428de5006) )
ROM_LOAD16_WORD_SWAP( "cda_22h.rom", 0x080000, 0x80000, CRC(f72cd219) SHA1(a3f580bd328b54d2546ae7e94262c1a706d27172) )
ROM_LOAD16_WORD_SWAP( "cda_21h.rom", 0x100000, 0x80000, CRC(bc275b76) SHA1(1f7f7533b4ccb511dc479f531d9d6740d3ca6712) )
@@ -1667,7 +1667,7 @@ ROM_START( dinohx )
ROM_END
ROM_START( dinojp )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "cdjp-23a.8f", 0x000000, 0x80000, CRC(9cd746de) SHA1(d8b9c824e4b8adb66a273debce63128a16bb147a) )
ROM_LOAD16_WORD_SWAP( "cdjp-22a.7f", 0x080000, 0x80000, CRC(082f645d) SHA1(6865d6cf6464846b9aa423dc4e807932ae98a86d) )
ROM_LOAD16_WORD_SWAP( "cdep_21a.rom", 0x100000, 0x80000, CRC(95bd8020) SHA1(249746eb20483ec87b6ad5a74e8b790afdb389de) )
@@ -1714,7 +1714,7 @@ ROM_START( dinojp )
ROM_END
ROM_START( dinorp )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "dinorp.23", 0x000000, 0x80000, CRC(373282a0) SHA1(b02bf02c9ef21cfa2606f3c6e38542fcb0be45ab) )
ROM_LOAD16_WORD_SWAP( "cde_22a.rom", 0x080000, 0x80000, CRC(9278aa12) SHA1(58cbbd53a98abe640ccb233f8dbd8ca6d63475e7) )
ROM_LOAD16_WORD_SWAP( "dinorp.21", 0x100000, 0x80000, CRC(d0d89d2c) SHA1(36f510ca6a2713518c3dba8fb49a314fd0de4d75) )
@@ -1747,7 +1747,7 @@ ROM_START( dinorp )
ROM_END
ROM_START( dinoslice )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "cdeslice.rom", 0x000000, 0x200000, CRC(9da95eab) SHA1(370bf3bbd76de5ae638c6fdab67c7cea98744e7b) )
ROM_REGION( 0x400000, "gfx", 0 )
@@ -1792,7 +1792,7 @@ ROM_START( dinoslice )
ROM_END
ROM_START( dinouphp )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "dinouphp.23", 0x000000, 0x80000, CRC(1bf35c82) SHA1(82496d6c8fa853b0c28932f0f36e37219c0adfc8) )
ROM_LOAD16_WORD_SWAP( "cde_22a.rom", 0x080000, 0x80000, CRC(9278aa12) SHA1(58cbbd53a98abe640ccb233f8dbd8ca6d63475e7) )
ROM_LOAD16_WORD_SWAP( "cde_21a.6f", 0x100000, 0x80000, CRC(66d23de2) SHA1(19b8a365f630411d524d055459020f4c8cf930f1) )
@@ -1825,7 +1825,7 @@ ROM_START( dinouphp )
ROM_END
ROM_START( dinoz )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "dinoz_23a.8f", 0x000000, 0x80000, CRC(0129f422) SHA1(968e6d25a1aa2116f9e9a6b4b76c83bd63f4f477) )
ROM_LOAD16_WORD_SWAP( "dinoz_22a.7f", 0x080000, 0x80000, CRC(3861d9d8) SHA1(11dac49f09dfc325b9f529271dc5921d7aacb630) )
ROM_LOAD16_WORD_SWAP( "cde_21a.6f", 0x100000, 0x80000, CRC(66d23de2) SHA1(19b8a365f630411d524d055459020f4c8cf930f1) )
@@ -1876,7 +1876,7 @@ ROM_END
ROM_START( ffightb )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "ffu_36b.11f", 0x00000, 0x20000, CRC(a9fa0174) SHA1(a6f669370f1f822b2988c297a8e26bcb6300692d) )
ROM_LOAD16_BYTE( "ffu_42b.11h", 0x00001, 0x20000, CRC(d47cb6b7) SHA1(26c94b0d91a4343b58a7cc542417d8d36e9f2e34) )
ROM_LOAD16_BYTE( "ffu_37b.12f", 0x40000, 0x20000, CRC(3fc9f9e3) SHA1(0982c40d5967e5068ec592db022eb16172f95005) )
@@ -1911,7 +1911,7 @@ ROM_END
ROM_START( knight21 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "kr_2321.8f",0x00000, 0x80000, CRC(aacaebcd) SHA1(3c243d59b86b2a51c219c296c12090058851c77d) )
ROM_LOAD16_WORD_SWAP( "kr_22.7f", 0x80000, 0x80000, CRC(d0b671a9) SHA1(9865472c5fc3f617345e23b5de5a9ba177945b5a) )
@@ -1951,7 +1951,7 @@ ROM_START( knight21 )
ROM_END
ROM_START( knightsa )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "kr_23h.rom", 0x00000, 0x80000, CRC(bc3b60f5) SHA1(f8c5e49535bb191d46f4c32e336b2ca92517109a) )
ROM_LOAD16_WORD_SWAP( "kr_22.7f", 0x80000, 0x80000, CRC(d0b671a9) SHA1(9865472c5fc3f617345e23b5de5a9ba177945b5a) )
@@ -1991,7 +1991,7 @@ ROM_START( knightsa )
ROM_END
ROM_START( knightsb2 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "040-z.02", 0x00000, 0x80000, CRC(95d00a7e) SHA1(2da1c47aa15d44aa842a8d79e030e7e7b69bec19) )
ROM_LOAD16_BYTE( "040-r.02", 0x00001, 0x80000, CRC(5a9d0b64) SHA1(6ff312879c3d675ceee6fd3e262f797fabb9871e) )
@@ -2015,7 +2015,7 @@ ROM_START( knightsb2 )
ROM_END
ROM_START( knightsh )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "krh_23.rom", 0x00000, 0x80000, CRC(fa2ff63d) SHA1(f3800102aadeccd13ed49c88039732453266283a) )
ROM_LOAD16_WORD_SWAP( "krh_22.rom", 0x80000, 0x80000, CRC(1438d070) SHA1(4f6fad844c3e8eb960bb6cb85ac570979c0ae973) )
@@ -2039,7 +2039,7 @@ ROM_START( knightsh )
ROM_END
ROM_START( knightsha )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "krha_23.rom", 0x00000, 0x80000, CRC(a7fd309a) SHA1(b4f163d9588e9d8dd6f2ba6d6ae520efb620c1ac) )
ROM_LOAD16_WORD_SWAP( "krh_22.rom", 0x80000, 0x80000, CRC(1438d070) SHA1(4f6fad844c3e8eb960bb6cb85ac570979c0ae973) )
ROM_FILL(0xb7d,1,0x66)
@@ -2064,7 +2064,7 @@ ROM_START( knightsha )
ROM_END
ROM_START( knightsjb )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "23.096", 0x00000, 0x80000, CRC(7733b8a6) SHA1(ecf1a0d2b4631b9d4ba46e4987d226d938ee6628) )
ROM_LOAD16_WORD_SWAP( "22.096", 0x80000, 0x80000, CRC(d0b671a9) SHA1(9865472c5fc3f617345e23b5de5a9ba177945b5a) )
@@ -2128,7 +2128,7 @@ ROM_START( knightsro )
ROM_END
ROM_START( knightud )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "knightud.23", 0x00000, 0x80000, CRC(5fe98e7f) SHA1(3e01b9e06663ade831750de3ecd0d3925889a5da) )
ROM_LOAD16_WORD_SWAP( "kr_22.7f", 0x80000, 0x80000, CRC(d0b671a9) SHA1(9865472c5fc3f617345e23b5de5a9ba177945b5a) )
@@ -2169,7 +2169,7 @@ ROM_END
ROM_START( kodd )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "kodd.30", 0x00000, 0x20000, CRC(8eb281a4) SHA1(6e6e316321c500796bba6b888db8e0445b63bea3) )
ROM_LOAD16_BYTE( "kodd.37", 0x00001, 0x20000, CRC(9c16c2b9) SHA1(1c04419f1223b7a9a0ae2de8f11010b478d58c63) )
ROM_LOAD16_BYTE( "kodd.31", 0x40000, 0x20000, CRC(b4aeee54) SHA1(ed0b965b2f16a6aeb117e7b12ab10d7d0b87dcdf) )
@@ -2208,7 +2208,7 @@ ROM_END
// - Actor preview flickers instead of wriggling
// - No music in attract mode
ROM_START( kodh )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "23.096", 0x00000, 0x80000, CRC(daf89cfb) SHA1(de0944884d0e64c6b0410294d25308201508afbe) )
ROM_LOAD16_WORD_SWAP( "22.096", 0x80000, 0x80000, CRC(c83e19d8) SHA1(8c342818a1c5337ad4b259700e184972f821aca4) )
@@ -2235,7 +2235,7 @@ ROM_END
// - Actor preview flickers instead of wriggling
// - No music in attract mode
ROM_START( kodsp )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "kde_30.11e", 0x00000, 0x20000, CRC(c7414fd4) SHA1(37d27fbe7c617a26b53bfdfcd532cf573d42f33b) )
ROM_LOAD16_BYTE( "kde_37.11f", 0x00001, 0x20000, CRC(a5bf40d2) SHA1(cd34dbeabd0974709411579e669f01d0d799c2a1) )
ROM_LOAD16_BYTE( "kde_31.12e", 0x40000, 0x20000, CRC(1fffc7bd) SHA1(822c9ad996ca51a99a2bb1fe08fa19e18413030d) )
@@ -2272,7 +2272,7 @@ ROM_START( kodsp )
ROM_END
ROM_START( kodud )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "kodud.30", 0x00000, 0x20000, CRC(c5ada5eb) SHA1(c989c747abfc6f80871d0ee763d5573b321fb48e) )
ROM_LOAD16_BYTE( "kodud.37", 0x00001, 0x20000, CRC(b8169b17) SHA1(55176bb92fc422d4ce03a011190a7cc6caa082ff) )
ROM_LOAD16_BYTE( "kodud.31", 0x40000, 0x20000, CRC(72dd68a5) SHA1(db077c2c4716da59880e49af1d066b3c596143e1) )
@@ -2310,7 +2310,7 @@ ROM_END
ROM_START( pnicku )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "pnij36.bin", 0x00000, 0x20000, CRC(2d4ffb2b) SHA1(6e49cf89a36834fd1de8b4b860fe66f3d7d67a84) )
ROM_LOAD16_BYTE( "pniu42.bin", 0x00001, 0x20000, CRC(22d20227) SHA1(a103c9b1f6134c529405bd258da9f601c1459c47) )
@@ -2358,7 +2358,7 @@ ROM_END
ROM_START( punisherb ) // punipic in mame
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "3.bin", 0x000001, 0x80000, CRC(8c2593ac) SHA1(4261bc72b96c3a5690df35c5d8b71524765693d9) )
ROM_LOAD16_BYTE( "5.bin", 0x000000, 0x80000, CRC(c3151563) SHA1(61d3a20c25fea8a94ae6e473a87c21968867cba0) )
ROM_LOAD16_BYTE( "2.bin", 0x100001, 0x80000, CRC(d7b13f39) SHA1(eb7cd92b44fdef3b72672b0be6786c526421b627) )
@@ -2417,7 +2417,7 @@ ROM_START( punisherb ) // punipic in mame
ROM_END
ROM_START( punisherf )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "punisherf.23", 0x000000, 0x80000, CRC(ebab7576) SHA1(2a1664ebaf813a21986c97c16142ffd7c93c7a3b) )
ROM_LOAD16_WORD_SWAP( "psj22h.bin", 0x080000, 0x80000, CRC(84c5783e) SHA1(19571cdc4bf4cc1e59694fc8064cc88a49656449) )
ROM_LOAD16_WORD_SWAP( "punisherf.21", 0x100000, 0x80000, CRC(2bccb0ed) SHA1(44f45431d7ecca6eb8942be3d44b99cf856d12ab) )
@@ -2448,7 +2448,7 @@ ROM_START( punisherf )
ROM_END
ROM_START( punisherje1 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "psj23ex.bin", 0x000000, 0x80000, CRC(fa084bab) SHA1(af323e6399ab5d3091a57188d3cedc1d0600dd3d) )
ROM_LOAD16_WORD_SWAP( "psj22ex.bin", 0x080000, 0x80000, CRC(69433b02) SHA1(cc7127170fad47562aaded71a3c1e216084667f8) )
ROM_LOAD16_WORD_SWAP( "psje1.21", 0x100000, 0x80000, CRC(86aa8774) SHA1(501db3229c49ecd60eab72391f575f7df47e8782) )
@@ -2481,7 +2481,7 @@ ROM_START( punisherje1 )
ROM_END
ROM_START( punisherjh )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "psj23h.bin", 0x000000, 0x80000, CRC(41cb77e9) SHA1(7e2a21bd217c976b448a51ba8bdbab820a30851a) )
ROM_LOAD16_WORD_SWAP( "psj22h.bin", 0x080000, 0x80000, CRC(84c5783e) SHA1(19571cdc4bf4cc1e59694fc8064cc88a49656449) )
ROM_LOAD16_WORD_SWAP( "ps_21.rom", 0x100000, 0x80000, CRC(8affa5a9) SHA1(268760b83b1723ff50a019ec51ef7af2e49935bf) )
@@ -2528,7 +2528,7 @@ ROM_START( punisherjh )
ROM_END
ROM_START( punisherjh1 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "psjh1.23", 0x000000, 0x80000, CRC(75ed76a4) SHA1(8ba66fd6a1912aae4c382ac8900f522474884771) )
ROM_LOAD16_WORD_SWAP( "psjh1.22", 0x080000, 0x80000, CRC(b17f61f0) SHA1(a5550bb359941bea96cefb818ccbb175a0b20687) )
ROM_LOAD16_WORD_SWAP( "ps_21.6f", 0x100000, 0x80000, CRC(8affa5a9) SHA1(268760b83b1723ff50a019ec51ef7af2e49935bf) )
@@ -2561,7 +2561,7 @@ ROM_START( punisherjh1 )
ROM_END
ROM_START( punisherjha ) // punishje2: The Punisher (SM Experience Edition hack by Zhyxxxx set 2 13/06/09) : multijet
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "psj23ex.bin", 0x000000, 0x80000, CRC(fa084bab) SHA1(af323e6399ab5d3091a57188d3cedc1d0600dd3d) )
ROM_LOAD16_WORD_SWAP( "psj22ex.bin", 0x080000, 0x80000, CRC(69433b02) SHA1(cc7127170fad47562aaded71a3c1e216084667f8) )
ROM_LOAD16_WORD_SWAP( "ps_21ex.rom", 0x100000, 0x80000, CRC(e4e15e4a) SHA1(405d57983ed33276e6fde155d4c78c2973466483) )
@@ -2608,7 +2608,7 @@ ROM_START( punisherjha ) // punishje2: The Punisher (SM Experience Edition hack
ROM_END
ROM_START( punisherud1 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE ( "psud1_26.11e", 0x000000, 0x20000, CRC(f820e620) SHA1(7c2e55b4dc7aaf27badceafd7bde483f33676351) )
ROM_LOAD16_BYTE ( "psud1_30.11f", 0x000001, 0x20000, CRC(90afc70a) SHA1(73d5325a482becf46ef75456134242db7f1a31f8) )
ROM_LOAD16_BYTE ( "psu_27.12e", 0x040000, 0x20000, CRC(61c960a1) SHA1(f8fe651283cc1f138d013cab65b833505de6df9f) )
@@ -2647,7 +2647,7 @@ ROM_START( punisherud1 )
ROM_END
ROM_START( punisherud2 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "psud2.23", 0x000000, 0x80000, CRC(019efb28) SHA1(1790db51ce7cd1281932359de6e4e1e046db0369) )
ROM_LOAD16_WORD_SWAP( "psud2.22", 0x080000, 0x80000, CRC(c0110a4e) SHA1(43f6086634c332a58d95b0b51995ba1ab8ed1367) )
ROM_LOAD16_WORD_SWAP( "ps_21.6f", 0x100000, 0x80000, CRC(8affa5a9) SHA1(268760b83b1723ff50a019ec51ef7af2e49935bf) )
@@ -2680,8 +2680,50 @@ ROM_START( punisherud2 )
ROM_END
+// sf2uc with first 2 roms changed
+ROM_START( sf2bhj )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_BYTE( "sf2bhj.30", 0x00000, 0x20000, CRC(1699140f) SHA1(967f2a958ffe3886ce60568e2a63ee119757fa57) )
+ ROM_LOAD16_BYTE( "sf2bhj.37", 0x00001, 0x20000, CRC(4d563eb4) SHA1(a238129d867dc3f0b8b4e458d597b0d11bbeda05) )
+ ROM_LOAD16_BYTE( "sf2u_31c.12e", 0x40000, 0x20000, CRC(c4fff4a9) SHA1(4b593ace201fe7f5a00b5cd7f4e8fc3f8dd4ceed) )
+ ROM_LOAD16_BYTE( "sf2u_38c.12f", 0x40001, 0x20000, CRC(8210fc0e) SHA1(7d6cfb99afa89d0e6e991d9f7c1808b740def125) )
+ ROM_LOAD16_BYTE( "sf2u_28c.9e", 0x80000, 0x20000, CRC(6eddd5e8) SHA1(62bd1c2fc0321809421c9a592f691b5b1a1d8807) )
+ ROM_LOAD16_BYTE( "sf2u_35c.9f", 0x80001, 0x20000, CRC(6bcb404c) SHA1(b5f24556c633c521aadd94e016d78db6922e3dfa) )
+ ROM_LOAD16_BYTE( "sf2_29b.10e", 0xc0000, 0x20000, CRC(bb4af315) SHA1(75f0827f4f7e9f292add46467f8d4fe19b2514c9) )
+ ROM_LOAD16_BYTE( "sf2_36b.10f", 0xc0001, 0x20000, CRC(c02a13eb) SHA1(b807cc495bff3f95d03b061fc629c95f965cb6d8) )
+
+ ROM_REGION( 0x600000, "gfx", 0 )
+ ROMX_LOAD( "sf2-5m.4a", 0x000000, 0x80000, CRC(22c9cc8e) SHA1(b9194fb337b30502c1c9501cd6c64ae4035544d4) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sf2-7m.6a", 0x000002, 0x80000, CRC(57213be8) SHA1(3759b851ac0904ec79cbb67a2264d384b6f2f9f9) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sf2-1m.3a", 0x000004, 0x80000, CRC(ba529b4f) SHA1(520840d727161cf09ca784919fa37bc9b54cc3ce) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sf2-3m.5a", 0x000006, 0x80000, CRC(4b1b33a8) SHA1(2360cff890551f76775739e2d6563858bff80e41) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sf2-6m.4c", 0x200000, 0x80000, CRC(2c7e2229) SHA1(357c2275af9133fd0bd6fbb1fa9ad5e0b490b3a2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sf2-8m.6c", 0x200002, 0x80000, CRC(b5548f17) SHA1(baa92b91cf616bc9e2a8a66adc777ffbf962a51b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sf2-2m.3c", 0x200004, 0x80000, CRC(14b84312) SHA1(2eea16673e60ba7a10bd4d8f6c217bb2441a5b0e) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sf2-4m.5c", 0x200006, 0x80000, CRC(5e9cd89a) SHA1(f787aab98668d4c2c54fc4ba677c0cb808e4f31e) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sf2-13m.4d", 0x400000, 0x80000, CRC(994bfa58) SHA1(5669b845f624b10e7be56bfc89b76592258ce48b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sf2-15m.6d", 0x400002, 0x80000, CRC(3e66ad9d) SHA1(9af9df0826988872662753e9717c48d46f2974b0) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sf2-9m.3d", 0x400004, 0x80000, CRC(c1befaa8) SHA1(a6a7f4725e52678cbd8d557285c01cdccb2c2602) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sf2-11m.5d", 0x400006, 0x80000, CRC(0627c831) SHA1(f9a92d614e8877d648449de2612fc8b43c85e4c2) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x18000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "sf2_9.12a", 0x00000, 0x08000, CRC(a4823a1b) SHA1(7b6bf59dfd578bfbbdb64c27988796783442d659) )
+ ROM_CONTINUE( 0x10000, 0x08000 )
+
+ ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
+ ROM_LOAD( "sf2_18.11c", 0x00000, 0x20000, CRC(7f162009) SHA1(346bf42992b4c36c593e21901e22c87ae4a7d86d) )
+ ROM_LOAD( "sf2_19.12c", 0x20000, 0x20000, CRC(beade53f) SHA1(277c397dc12752719ec6b47d2224750bd1c07f79) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD( "prg1", 0x0000, 0x0117, CRC(f1129744) SHA1(a5300f301c1a08a7da768f0773fa0fe3f683b237) )
+ ROM_LOAD( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+ ROM_LOAD( "sou1", 0x0000, 0x0117, CRC(84f4b2fe) SHA1(dcc9e86cc36316fe42eace02d6df75d08bc8bb6d) )
+ROM_END
+
ROM_START( sf2c )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "sf2j_30", 0x00000, 0x20000, CRC(70813e5e) SHA1(39219a98d368dcb67cbd0a756f3e1fab7b9352f4) )
ROM_LOAD16_BYTE( "sf2j_37", 0x00001, 0x20000, CRC(d0659611) SHA1(1368228cc2c41a361f0e8eb516610522a38394b2) )
ROM_LOAD16_BYTE( "sf2j31.bin", 0x40000, 0x20000, CRC(fe15cb39) SHA1(383478524881ea70d9e04c9b6143b8735b637eee) )
@@ -2729,7 +2771,7 @@ ROM_START( sf2c )
ROM_END
ROM_START( sf2cebr )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "sf2cebr.23", 0x000000, 0x80000, CRC(74e848ee) SHA1(6DCE8D0C7D439E6D1D08C8169A3ECDF178E82C16) )
ROM_LOAD16_WORD_SWAP( "sf2cebr.22", 0x080000, 0x80000, CRC(c3c49626) SHA1(D0FAE1D2758360B56E6E583FEB4BDF7D4E2E1EBA) )
ROM_LOAD16_WORD_SWAP( "s92_21a.bin", 0x100000, 0x80000, CRC(925a7877) SHA1(1960dca35f0ca6f2b399a9fccfbc0132ac6425d1) )
@@ -2765,7 +2807,7 @@ ROM_START( sf2cebr )
ROM_END
ROM_START( sf2ced ) // Drakon 7.1
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "sf2ced_23b.8f", 0x000000, 0x80000, CRC(8628f0e2) SHA1(da1f89ccbfb175d39f7e5c69c1c7088205109187) )
ROM_LOAD16_WORD_SWAP( "sf2ced_22b.7f", 0x080000, 0x80000, CRC(b7b87a54) SHA1(ab441c30ba6b0e2e8b9785d77b96535357818e0b) )
ROM_LOAD16_WORD_SWAP( "sf2ced_21a.6f", 0x100000, 0x80000, CRC(b4f13bef) SHA1(5e6501c157890899848bccb34db06b3570e84c17) )
@@ -2809,8 +2851,8 @@ ROM_START( sf2ced ) // Drakon 7.1
ROM_LOAD_OPTIONAL( "c632.ic1", 0x0000, 0x0117, CRC(0fbd9270) SHA1(d7e737b20c44d41e29ca94be56114b31934dde81) )
ROM_END
-ROM_START( sf2ceda ) // Drakon unknown version
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ROM_START( sf2ceda ) // Drakon unknown version
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "sf2ceda_23b.8f", 0x000000, 0x80000, CRC(a8a81db7) SHA1(dd0d12ea049292bad48f1009419581695ea41618) )
ROM_LOAD16_WORD_SWAP( "sf2ceda_22b.7f", 0x080000, 0x80000, CRC(3c9ee969) SHA1(714fb726c336c5807a1b1d2112e89d3aa5c4af91) )
ROM_LOAD16_WORD_SWAP( "s92_21a.6f", 0x100000, 0x80000, CRC(925a7877) SHA1(1960dca35f0ca6f2b399a9fccfbc0132ac6425d1) )
@@ -2855,7 +2897,7 @@ ROM_START( sf2ceda ) // Drakon unknown version
ROM_END
ROM_START( sf2ceh )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "sf2ceh.23", 0x000000, 0x80000, CRC(25dc14c8) SHA1(fc7b5de3a50d7d9ee977091bab5f82f824e386f2) )
ROM_LOAD16_WORD_SWAP( "sf2ceh.22", 0x080000, 0x80000, CRC(1c9dd91c) SHA1(66fbd10958d3b9f027bc3ba85c99b649cf866ab7) )
ROM_LOAD16_WORD_SWAP( "s92_21a.bin", 0x100000, 0x80000, CRC(925a7877) SHA1(1960dca35f0ca6f2b399a9fccfbc0132ac6425d1) )
@@ -2890,8 +2932,119 @@ ROM_START( sf2ceh )
ROM_LOAD_OPTIONAL( "sou1", 0x0000, 0x0117, CRC(84f4b2fe) SHA1(dcc9e86cc36316fe42eace02d6df75d08bc8bb6d) )
ROM_END
+// sf2ceea with one rom changed
+ROM_START( sf2cehk )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "sf2cehk.23", 0x000000, 0x80000, CRC(a233c4c8) SHA1(0446ac1bcd9ded6951c6857600e5c30f56d8c430) )
+ ROM_LOAD16_WORD_SWAP( "s92_22a.7f", 0x080000, 0x80000, CRC(99f1cca4) SHA1(64111eba81d743fc3fd51d7a89cd0b2eefcc900d) )
+ ROM_LOAD16_WORD_SWAP( "s92_21a.6f", 0x100000, 0x80000, CRC(925a7877) SHA1(1960dca35f0ca6f2b399a9fccfbc0132ac6425d1) )
+
+ ROM_REGION( 0x600000, "gfx", 0 )
+ ROMX_LOAD( "s92-1m.3a", 0x000000, 0x80000, CRC(03b0d852) SHA1(f370f25c96ad2b94f8c53d6b7139100285a25bef) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-3m.5a", 0x000002, 0x80000, CRC(840289ec) SHA1(2fb42a242f60ba7e74009b5a90eb26e035ba1e82) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-2m.4a", 0x000004, 0x80000, CRC(cdb5f027) SHA1(4c7d944fef200fdfcaf57758b901b5511188ed2e) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-4m.6a", 0x000006, 0x80000, CRC(e2799472) SHA1(27d3796429338d82a8de246a0ea06dd487a87768) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-5m.7a", 0x200000, 0x80000, CRC(ba8a2761) SHA1(4b696d66c51611e43522bed752654314e76d33b6) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-7m.9a", 0x200002, 0x80000, CRC(e584bfb5) SHA1(ebdf1f5e2638eed3a65dda82b1ed9151a355f4c9) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-6m.8a", 0x200004, 0x80000, CRC(21e3f87d) SHA1(4a4961bb68c3a1ce15f9d393d9c03ecb2466cc29) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-8m.10a", 0x200006, 0x80000, CRC(befc47df) SHA1(520390420da3a0271ba90b0a933e65143265e5cf) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-10m.3c", 0x400000, 0x80000, CRC(960687d5) SHA1(2868c31121b1c7564e9767b9a19cdbf655c7ed1d) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-12m.5c", 0x400002, 0x80000, CRC(978ecd18) SHA1(648a59706b93c84b4206a968ecbdc3e834c476f6) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-11m.4c", 0x400004, 0x80000, CRC(d6ec9a0a) SHA1(ed6143f8737013b6ef1684e37c05e037e7a80dae) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-13m.6c", 0x400006, 0x80000, CRC(ed2c67f6) SHA1(0083c0ffaf6fe7659ff0cf822be4346cd6e61329) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x18000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "s92_09.11a", 0x00000, 0x08000, CRC(08f6b60e) SHA1(8258fcaca4ac419312531eec67079b97f471179c) )
+ ROM_CONTINUE( 0x10000, 0x08000 )
+
+ ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
+ ROM_LOAD( "s92_18.11c", 0x00000, 0x20000, CRC(7f162009) SHA1(346bf42992b4c36c593e21901e22c87ae4a7d86d) )
+ ROM_LOAD( "s92_19.12c", 0x20000, 0x20000, CRC(beade53f) SHA1(277c397dc12752719ec6b47d2224750bd1c07f79) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD( "prg1", 0x0000, 0x0117, CRC(f1129744) SHA1(a5300f301c1a08a7da768f0773fa0fe3f683b237) )
+ ROM_LOAD( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+ ROM_LOAD( "sou1", 0x0000, 0x0117, CRC(84f4b2fe) SHA1(dcc9e86cc36316fe42eace02d6df75d08bc8bb6d) )
+ROM_END
+
+// sf2ceea with 2 roms changed
+ROM_START( sf2cehp )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "sf2cehp.23", 0x000000, 0x80000, CRC(7796519f) SHA1(a420cdca5d5d7898a99afbc62cb33d17010f2def) )
+ ROM_LOAD16_WORD_SWAP( "sf2cehp.22", 0x080000, 0x80000, CRC(a99e9f23) SHA1(9c8a10d1382b289eb2fb0be73198c30e44e0c8af) )
+ ROM_LOAD16_WORD_SWAP( "s92_21a.6f", 0x100000, 0x80000, CRC(925a7877) SHA1(1960dca35f0ca6f2b399a9fccfbc0132ac6425d1) )
+
+ ROM_REGION( 0x600000, "gfx", 0 )
+ ROMX_LOAD( "s92-1m.3a", 0x000000, 0x80000, CRC(03b0d852) SHA1(f370f25c96ad2b94f8c53d6b7139100285a25bef) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-3m.5a", 0x000002, 0x80000, CRC(840289ec) SHA1(2fb42a242f60ba7e74009b5a90eb26e035ba1e82) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-2m.4a", 0x000004, 0x80000, CRC(cdb5f027) SHA1(4c7d944fef200fdfcaf57758b901b5511188ed2e) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-4m.6a", 0x000006, 0x80000, CRC(e2799472) SHA1(27d3796429338d82a8de246a0ea06dd487a87768) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-5m.7a", 0x200000, 0x80000, CRC(ba8a2761) SHA1(4b696d66c51611e43522bed752654314e76d33b6) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-7m.9a", 0x200002, 0x80000, CRC(e584bfb5) SHA1(ebdf1f5e2638eed3a65dda82b1ed9151a355f4c9) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-6m.8a", 0x200004, 0x80000, CRC(21e3f87d) SHA1(4a4961bb68c3a1ce15f9d393d9c03ecb2466cc29) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-8m.10a", 0x200006, 0x80000, CRC(befc47df) SHA1(520390420da3a0271ba90b0a933e65143265e5cf) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-10m.3c", 0x400000, 0x80000, CRC(960687d5) SHA1(2868c31121b1c7564e9767b9a19cdbf655c7ed1d) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-12m.5c", 0x400002, 0x80000, CRC(978ecd18) SHA1(648a59706b93c84b4206a968ecbdc3e834c476f6) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-11m.4c", 0x400004, 0x80000, CRC(d6ec9a0a) SHA1(ed6143f8737013b6ef1684e37c05e037e7a80dae) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-13m.6c", 0x400006, 0x80000, CRC(ed2c67f6) SHA1(0083c0ffaf6fe7659ff0cf822be4346cd6e61329) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x18000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "s92_09.11a", 0x00000, 0x08000, CRC(08f6b60e) SHA1(8258fcaca4ac419312531eec67079b97f471179c) )
+ ROM_CONTINUE( 0x10000, 0x08000 )
+
+ ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
+ ROM_LOAD( "s92_18.11c", 0x00000, 0x20000, CRC(7f162009) SHA1(346bf42992b4c36c593e21901e22c87ae4a7d86d) )
+ ROM_LOAD( "s92_19.12c", 0x20000, 0x20000, CRC(beade53f) SHA1(277c397dc12752719ec6b47d2224750bd1c07f79) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD( "prg1", 0x0000, 0x0117, CRC(f1129744) SHA1(a5300f301c1a08a7da768f0773fa0fe3f683b237) )
+ ROM_LOAD( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+ ROM_LOAD( "sou1", 0x0000, 0x0117, CRC(84f4b2fe) SHA1(dcc9e86cc36316fe42eace02d6df75d08bc8bb6d) )
+ROM_END
+
+// sf2ceea with 2 roms changed
+ROM_START( sf2cejem )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "sf2cejem.23", 0x000000, 0x80000, CRC(13310615) SHA1(6749c62d19fe554c521ca28e80175ec84450a45d) )
+ ROM_LOAD16_WORD_SWAP( "sf2cejem.22", 0x080000, 0x80000, CRC(d73ee1f8) SHA1(8d6083bf7487867146f091a1cb4bae8d539de46e) )
+ ROM_LOAD16_WORD_SWAP( "s92_21a.6f", 0x100000, 0x80000, CRC(925a7877) SHA1(1960dca35f0ca6f2b399a9fccfbc0132ac6425d1) )
+
+ ROM_REGION( 0x600000, "gfx", 0 )
+ ROMX_LOAD( "s92-1m.3a", 0x000000, 0x80000, CRC(03b0d852) SHA1(f370f25c96ad2b94f8c53d6b7139100285a25bef) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-3m.5a", 0x000002, 0x80000, CRC(840289ec) SHA1(2fb42a242f60ba7e74009b5a90eb26e035ba1e82) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-2m.4a", 0x000004, 0x80000, CRC(cdb5f027) SHA1(4c7d944fef200fdfcaf57758b901b5511188ed2e) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-4m.6a", 0x000006, 0x80000, CRC(e2799472) SHA1(27d3796429338d82a8de246a0ea06dd487a87768) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-5m.7a", 0x200000, 0x80000, CRC(ba8a2761) SHA1(4b696d66c51611e43522bed752654314e76d33b6) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-7m.9a", 0x200002, 0x80000, CRC(e584bfb5) SHA1(ebdf1f5e2638eed3a65dda82b1ed9151a355f4c9) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-6m.8a", 0x200004, 0x80000, CRC(21e3f87d) SHA1(4a4961bb68c3a1ce15f9d393d9c03ecb2466cc29) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-8m.10a", 0x200006, 0x80000, CRC(befc47df) SHA1(520390420da3a0271ba90b0a933e65143265e5cf) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-10m.3c", 0x400000, 0x80000, CRC(960687d5) SHA1(2868c31121b1c7564e9767b9a19cdbf655c7ed1d) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-12m.5c", 0x400002, 0x80000, CRC(978ecd18) SHA1(648a59706b93c84b4206a968ecbdc3e834c476f6) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-11m.4c", 0x400004, 0x80000, CRC(d6ec9a0a) SHA1(ed6143f8737013b6ef1684e37c05e037e7a80dae) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "s92-13m.6c", 0x400006, 0x80000, CRC(ed2c67f6) SHA1(0083c0ffaf6fe7659ff0cf822be4346cd6e61329) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x18000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "s92_09.11a", 0x00000, 0x08000, CRC(08f6b60e) SHA1(8258fcaca4ac419312531eec67079b97f471179c) )
+ ROM_CONTINUE( 0x10000, 0x08000 )
+
+ ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
+ ROM_LOAD( "s92_18.11c", 0x00000, 0x20000, CRC(7f162009) SHA1(346bf42992b4c36c593e21901e22c87ae4a7d86d) )
+ ROM_LOAD( "s92_19.12c", 0x20000, 0x20000, CRC(beade53f) SHA1(277c397dc12752719ec6b47d2224750bd1c07f79) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD( "prg1", 0x0000, 0x0117, CRC(f1129744) SHA1(a5300f301c1a08a7da768f0773fa0fe3f683b237) )
+ ROM_LOAD( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+ ROM_LOAD( "sou1", 0x0000, 0x0117, CRC(84f4b2fe) SHA1(dcc9e86cc36316fe42eace02d6df75d08bc8bb6d) )
+ROM_END
+
ROM_START( sf2koryuh )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "u222.rom", 0x000000, 0x80000, CRC(9236a79a) SHA1(39c47b0b0ca2f5f569ff07ebb91040b95d0cb43b) )
ROM_LOAD16_BYTE( "u196.rom", 0x000001, 0x80000, CRC(2722741f) SHA1(d2a2ea29894fbf731f6c8573b85e046dd52e2c97) )
ROM_LOAD16_BYTE( "u221.rom", 0x100000, 0x20000, CRC(64e6e091) SHA1(32ec05db955e538d4ada26d19ee50926f74b684f) )
@@ -2921,7 +3074,7 @@ ROM_START( sf2koryuh )
ROM_END
ROM_START( sf2h9 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "sf3a-1.040", 0x000000, 0x80000, CRC(9e6d058a) SHA1(8c9adca7b65dc929c325c0a62304d24dc0902c08) )
ROM_LOAD16_BYTE( "sf3a-3.040", 0x000001, 0x80000, CRC(518d8404) SHA1(635d8ac07126caf3c623d1f28aad38c5bc4c4bae) )
ROM_LOAD16_BYTE( "sf3a-2", 0x100000, 0x20000, CRC(fca4fc1e) SHA1(2b05d67443af099f95ef50f5e25d7a74b957e7a5) )
@@ -2951,7 +3104,7 @@ ROM_START( sf2h9 )
ROM_END
ROM_START( sf2h10 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "sfu9-1.040", 0x000000, 0x80000, CRC(95306baf) SHA1(471d1578607ae1090aa46cb111a8c2745d1fd47b) )
ROM_LOAD16_BYTE( "sfu9-3.040", 0x000001, 0x80000, CRC(21024d5f) SHA1(986b3910ce749f4ad42e1f86537a8fc3f0f3f867) )
ROM_LOAD16_BYTE( "sfu9-2.020", 0x100000, 0x40000, CRC(0b3fe5dd) SHA1(9b66cb867da61595f53d1c9e6b48c6bb7e06e1e0) )
@@ -2981,7 +3134,7 @@ ROM_START( sf2h10 )
ROM_END
ROM_START( sf2h11 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "sfu7-1.040", 0x000000, 0x80000, CRC(866a9b31) SHA1(92f89084293b69a9d5cd8d282ffaaca0739f1b03) )
ROM_LOAD16_BYTE( "sfu7-3.040", 0x000001, 0x80000, CRC(f3a45593) SHA1(0ba0d05f904ac17cd34c0a7c9dd0a20759ff4e78) )
ROM_LOAD16_BYTE( "sfu7-2.010", 0x100000, 0x20000, CRC(d1707134) SHA1(5bfdf7bc57bdb85183647ebb175346070dd102ee) )
@@ -3011,7 +3164,7 @@ ROM_START( sf2h11 )
ROM_END
ROM_START( sf2h12 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "sfu8-1.040", 0x000000, 0x80000, CRC(10ec67fe) SHA1(9eb30a0f64bf29028f89f9af74cb9d840ed197e2) )
ROM_LOAD16_BYTE( "sfu8-3.040", 0x000001, 0x80000, CRC(92eb3a1c) SHA1(0ee294c8b82b100f98da697562f9644b71cabcdd) )
ROM_LOAD16_BYTE( "sfu8-2.010", 0x100000, 0x20000, CRC(1073b7b6) SHA1(81ca1eab65ceac69520584bb23a684ccb9d92f89) )
@@ -3041,7 +3194,7 @@ ROM_START( sf2h12 )
ROM_END
ROM_START( sf2h13 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "222-040.13", 0x000000, 0x80000, CRC(ec6f5cb3) SHA1(24b3fc88a08a721985b053120997090bc394bc8e) )
ROM_LOAD16_BYTE( "196-040.13", 0x000001, 0x80000, CRC(0e9ac52b) SHA1(2c5faf7d8b598f2110f389aefa1a02e2281382ee) )
ROM_LOAD16_BYTE( "221-010.13", 0x100000, 0x20000, CRC(8226c11c) SHA1(9588bd64e338901394805aca8a234f880674dc60) )
@@ -3071,7 +3224,7 @@ ROM_START( sf2h13 )
ROM_END
ROM_START( sf2pun )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "sf2pun.23", 0x000000, 0x80000, CRC(8c3bb8f8) SHA1(756ae3980c15d037ff6e70d0c309d9caed6bac4f) )
ROM_LOAD16_WORD_SWAP( "sf2pun.22", 0x080000, 0x80000, CRC(0786f114) SHA1(4a6b52c98c839fcde2b7f425739569abc74c91f4) )
ROM_LOAD16_WORD_SWAP( "sf2red.21", 0x100000, 0x80000, CRC(52c486bb) SHA1(b7df7b10faa4c9a2f86ebf64cd63ac148d62dd09) )
@@ -3116,7 +3269,7 @@ ROM_START( sf2pun )
ROM_END
ROM_START( sf2sl73a )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "sf2sl73a.23", 0x000000, 0x80000, CRC(190f5419) SHA1(7fc7f3b6788d25b190bda3b3b6cf76a396d7d586) )
ROM_LOAD16_WORD_SWAP( "sf2sl73a.22", 0x080000, 0x80000, CRC(2b329193) SHA1(b1576b610e384fbeaef7be711888fb3fa3f10b1a) )
ROM_LOAD16_WORD_SWAP( "sf2sl73a.21", 0x100000, 0x80000, CRC(b4f13bef) SHA1(5e6501c157890899848bccb34db06b3570e84c17) )
@@ -3161,7 +3314,7 @@ ROM_START( sf2sl73a )
ROM_END
ROM_START( sf2th )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "u222", 0x000000, 0x80000, CRC(03991fba) SHA1(6c42bf15248640fdb3e98fb01b0a870649deb410) )
ROM_LOAD16_BYTE( "4.amf", 0x000001, 0x80000, CRC(39f15a1e) SHA1(901c4fea76bf5bff7330ed07ffde54cdccdaa680) )
ROM_LOAD16_BYTE( "u2221.rom", 0x100000, 0x20000, CRC(64e6e091) SHA1(32ec05db955e538d4ada26d19ee50926f74b684f) )
@@ -3196,7 +3349,7 @@ ROM_START( sf2th )
ROM_END
ROM_START( sf2tha )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "t-2.u52", 0x000000, 0x80000, CRC(0d305e8b) SHA1(7094160abbf24c119a575d93e3fe1ab84b537de0) )
ROM_LOAD16_BYTE( "t-1.u36", 0x000001, 0x80000, CRC(137d8665) SHA1(cf4805a11ab614ce5b7e1302ac14ba50fb01e5f4) )
ROM_LOAD16_BYTE( "t-4.u54", 0x100000, 0x40000, CRC(0b3fe5dd) SHA1(9b66cb867da61595f53d1c9e6b48c6bb7e06e1e0) )
@@ -3231,7 +3384,7 @@ ROM_START( sf2tha )
ROM_END
ROM_START( sf2tlona )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "tl4mt.1", 0x000000, 0x80000, CRC(158635ca) SHA1(878b56064861993ac92fbd88eb1117d3680fe7d7) )
ROM_LOAD16_BYTE( "tl4m.2", 0x000001, 0x80000, CRC(882cd1c4) SHA1(0cb971756352b1022ecd309b1bc3688c1f1acbd8) )
ROM_LOAD16_BYTE( "u221t.1m", 0x100000, 0x20000, CRC(1073b7b6) SHA1(81ca1eab65ceac69520584bb23a684ccb9d92f89) )
@@ -3261,7 +3414,7 @@ ROM_START( sf2tlona )
ROM_END
ROM_START( sf2tlonb )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "tl4m.1", 0x000000, 0x80000, CRC(afc7bd18) SHA1(ef7af7fb3563073b96563274ec48783feb2be757) )
ROM_LOAD16_BYTE( "tl4m.2", 0x000001, 0x80000, CRC(882cd1c4) SHA1(0cb971756352b1022ecd309b1bc3688c1f1acbd8) )
ROM_LOAD16_BYTE( "u221.1m", 0x100000, 0x20000, CRC(d1707134) SHA1(5bfdf7bc57bdb85183647ebb175346070dd102ee) )
@@ -3291,7 +3444,7 @@ ROM_START( sf2tlonb )
ROM_END
ROM_START( sf2tlonc )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "sf11-1.040", 0x000000, 0x80000, CRC(afc7bd18) SHA1(ef7af7fb3563073b96563274ec48783feb2be757) )
ROM_LOAD16_BYTE( "sf11-3.040", 0x000001, 0x80000, CRC(882cd1c4) SHA1(0cb971756352b1022ecd309b1bc3688c1f1acbd8) )
ROM_LOAD16_BYTE( "sf11-2.010", 0x100000, 0x20000, CRC(f8a5cd53) SHA1(f474e6d24f25ca9a126bd68b02089a0161e2cc0d) )
@@ -3321,7 +3474,7 @@ ROM_START( sf2tlonc )
ROM_END
ROM_START( sf2turyu )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "u222-f83.040", 0x000000, 0x100000, CRC(47468198) SHA1(D68D6342DA9B53163F36F44517F6DADF35E2A279) )
ROM_LOAD16_BYTE( "u196-99d.040", 0x000001, 0x100000, CRC(47d34191) SHA1(6718FDC8A0DAFEBCA7C35553CC270D16CE3F5D3E) )
ROM_LOAD16_BYTE( "u221-59e.010", 0x100000, 0x40000, CRC(5507bac9) SHA1(7797CA13CB02DB469DCBA00A07B1517C3586423E) )
@@ -3351,7 +3504,7 @@ ROM_START( sf2turyu )
ROM_END
ROM_START( sf2yyc3d5 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "sf3d5-1040", 0x000000, 0x80000, CRC(bcdd2c3a) SHA1(eff98e425f283afc69064e8bc73f769e0aab93ed) )
ROM_LOAD16_BYTE( "sf3d5-3040", 0x000001, 0x80000, CRC(01965987) SHA1(42abce3aa983ac4143490c0ab2e772a154905860) )
ROM_LOAD16_BYTE( "sf3d5-2010", 0x100000, 0x20000, CRC(dd2e1d31) SHA1(22b341a7365ba4a52c9ee2244d68409c5e86bcf0) )
@@ -3383,7 +3536,7 @@ ROM_START( sf2yyc3d5 )
ROM_END
ROM_START( sf2yyc3g )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "sf3g-1040", 0x000000, 0x80000, CRC(c90559a5) SHA1(f45563c79cf5ce610f92ca84c96d337cf6c9a979) )
ROM_LOAD16_BYTE( "sf3g-3040", 0x000001, 0x80000, CRC(81f36682) SHA1(53776084c973c0b7aafb203e8efcfd5f5c659c93) )
ROM_LOAD16_BYTE( "sf3g-2010", 0x100000, 0x20000, CRC(9eee20a1) SHA1(a6769744094dc0e65f9f34ef36929e7e8ae6155b) )
@@ -3415,7 +3568,7 @@ ROM_START( sf2yyc3g )
ROM_END
ROM_START( sf2yyc6 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "sf6-1040", 0x000000, 0x80000, CRC(ccd74822) SHA1(5f64585335ccc0fb1a97339532a6694076e2b6f2) )
ROM_LOAD16_BYTE( "sf6-3040", 0x000001, 0x80000, CRC(2a48b557) SHA1(2e74925a925f86619d4f8e633af718a5eaa8c585) )
ROM_LOAD16_BYTE( "u2221.rom", 0x100000, 0x20000, CRC(64e6e091) SHA1(32ec05db955e538d4ada26d19ee50926f74b684f) )
@@ -3470,7 +3623,7 @@ ROM_START( sk2h1 )
ROM_END
ROM_START( sk2h1q )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "sgyx.800", 0x000000, 0x100000, CRC(3703a650) SHA1(6cb8d6f99df5e2e5cf04aee8737bb585f9328ffd) )
ROM_REGION( 0x400000, "gfx", 0 )
@@ -3518,7 +3671,7 @@ ROM_START( sk2h2 )
ROM_END
ROM_START( sk2h2q )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "fg-c.040", 0x000000, 0x80000, CRC(d046fc86) SHA1(0ae0b9310e3a122cb69df4bb23672149794242f0) )
ROM_LOAD16_BYTE( "fg-a.040", 0x000001, 0x80000, CRC(f176ee8f) SHA1(fba357c31774aeecef88f70df4294514585df3a0) )
@@ -3572,8 +3725,83 @@ ROM_START( sk2h3 ) // same as MAME sgyxz - here until it gets fixed
ROM_LOAD( "sgyxz_snd1.bin", 0x00000, 0x40000, CRC(c15ac0f2) SHA1(8d9e5519d9820e4ac4f70555088c80e64d052c9d) )
ROM_END
+ROM_START( sk2h4q ) // wofjheo in mame++
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "sk2h4q.23", 0x000000, 0x100000, CRC(03eeb1cf) SHA1(4adffc4eadc5174e2185e923021fa17b113c8a7e) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "sgyx-1.160", 0x000000, 0x80000, CRC(a60be9f6) SHA1(2298a4b6a2c83b76dc106a1efa19606b298d378a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROM_CONTINUE( 0x000004, 0x80000 )
+ ROM_CONTINUE( 0x200000, 0x80000 )
+ ROM_CONTINUE( 0x200004, 0x80000 )
+ ROMX_LOAD( "sgyx-2.160", 0x000002, 0x80000, CRC(6ad9d048) SHA1(d47212d28d0a1ce349e4c59e5d0d99c541b3458e) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROM_CONTINUE( 0x000006, 0x80000 )
+ ROM_CONTINUE( 0x200002, 0x80000 )
+ ROM_CONTINUE( 0x200006, 0x80000 )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code + space for decrypted opcodes */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+ROM_END
+
+ROM_START( sk2h5q ) // wofhrvwx in mame++
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "sk2h5q.23", 0x000000, 0x100000, CRC(750dfc1d) SHA1(05967381446b54cea501c09ec033b16708f895e1) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "sgyx-1.160", 0x000000, 0x80000, CRC(a60be9f6) SHA1(2298a4b6a2c83b76dc106a1efa19606b298d378a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROM_CONTINUE( 0x000004, 0x80000 )
+ ROM_CONTINUE( 0x200000, 0x80000 )
+ ROM_CONTINUE( 0x200004, 0x80000 )
+ ROMX_LOAD( "sgyx-2.160", 0x000002, 0x80000, CRC(6ad9d048) SHA1(d47212d28d0a1ce349e4c59e5d0d99c541b3458e) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROM_CONTINUE( 0x000006, 0x80000 )
+ ROM_CONTINUE( 0x200002, 0x80000 )
+ ROM_CONTINUE( 0x200006, 0x80000 )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code + space for decrypted opcodes */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+ROM_END
+
+ROM_START( sk2h6q ) // wofhbw in mame++
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "sk2h6q.23", 0x000000, 0x100000, CRC(8080acc7) SHA1(b9e9d126c4e63748bd77947e9c50888c701ea165) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "sgyx-1.160", 0x000000, 0x80000, CRC(a60be9f6) SHA1(2298a4b6a2c83b76dc106a1efa19606b298d378a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROM_CONTINUE( 0x000004, 0x80000 )
+ ROM_CONTINUE( 0x200000, 0x80000 )
+ ROM_CONTINUE( 0x200004, 0x80000 )
+ ROMX_LOAD( "sgyx-2.160", 0x000002, 0x80000, CRC(6ad9d048) SHA1(d47212d28d0a1ce349e4c59e5d0d99c541b3458e) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROM_CONTINUE( 0x000006, 0x80000 )
+ ROM_CONTINUE( 0x200002, 0x80000 )
+ ROM_CONTINUE( 0x200006, 0x80000 )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code + space for decrypted opcodes */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+ROM_END
+
ROM_START( sk2h11 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "htk2a_23b.rom", 0x000000, 0x80000, CRC(1b17fc85) SHA1(d8c2bd31474dce2330adb05b859ce3fd13040d23) )
ROM_LOAD16_WORD_SWAP( "htk2a_22b.rom", 0x080000, 0x80000, CRC(900ad4cd) SHA1(988007447f93f3467029b9c29fd9670a7ecadaa3) )
@@ -3619,7 +3847,7 @@ ROM_START( sk2h11 )
ROM_END
ROM_START( sk2h12 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "htk2ah_23b.rom", 0x000000, 0x80000, CRC(6e3ff382) SHA1(14ef2c708da134f925efa0c3886a104c3ef9e5d7) )
ROM_LOAD16_WORD_SWAP( "htk2a_22b.rom", 0x080000, 0x80000, CRC(900ad4cd) SHA1(988007447f93f3467029b9c29fd9670a7ecadaa3) )
@@ -3645,7 +3873,7 @@ ROM_START( sk2h12 )
ROM_END
ROM_START( sk2h13 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "tk2ah_23b.rom", 0x000000, 0x80000, CRC(48fd83c6) SHA1(8f33124979d7ca4c2af10f2a98b524e5463458cc) )
ROM_LOAD16_WORD_SWAP( "htk2a_22b.rom", 0x080000, 0x80000, CRC(900ad4cd) SHA1(988007447f93f3467029b9c29fd9670a7ecadaa3) )
@@ -3671,7 +3899,7 @@ ROM_START( sk2h13 )
ROM_END
ROM_START( sk2h14 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "wofchs.23", 0x000000, 0x80000, CRC(2d70231a) SHA1(57c05c5685e8b3b6de81ab4eed05bd2ad08dbe57) )
ROM_LOAD16_WORD_SWAP( "wofchs.22", 0x080000, 0x80000, CRC(5eac2794) SHA1(76c50ef1fea35f86122ede62acfcd56abb866608) )
@@ -3697,7 +3925,7 @@ ROM_START( sk2h14 )
ROM_END
ROM_START( sk2h15 ) // wofaehp
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "sk2h15.8f", 0x000000, 0x80000, CRC(261766b2) SHA1(25cf51d0fb90e4a4e39492162f67de0defbc4285) )
ROM_LOAD16_WORD_SWAP( "tk2a_22c.7f", 0x080000, 0x80000, CRC(900ad4cd) SHA1(988007447f93f3467029b9c29fd9670a7ecadaa3) )
@@ -3723,7 +3951,7 @@ ROM_START( sk2h15 ) // wofaehp
ROM_END
ROM_START( sk2h16 ) // wofahp2
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "sk2h16.8f", 0x000000, 0x80000, CRC(7aed1751) SHA1(e5e10cae12a90c10831ad62669f8c2293a2ab263) )
ROM_LOAD16_WORD_SWAP( "sk2h16.7f", 0x080000, 0x80000, CRC(89483936) SHA1(8f5d19e9c9660908d2bc256418e63b2c89f64fc4) )
@@ -3749,7 +3977,7 @@ ROM_START( sk2h16 ) // wofahp2
ROM_END
ROM_START( sk2h21 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "3js_23.rom", 0x000000, 0x80000, CRC(1ebb76da) SHA1(a3d9643a03e964477abd5164202566fe4a11b902) )
ROM_LOAD16_WORD_SWAP( "3js_22.rom", 0x080000, 0x80000, CRC(f41d6153) SHA1(a2cafea8402ab58e8022020242397e7cdce57aff) )
ROM_LOAD16_BYTE( "3js_24.rom", 0x0c0000, 0x20000, CRC(06ead409) SHA1(7289afd15fecd185350d2705476d74baa6909782) )
@@ -3835,7 +4063,7 @@ ROM_START( sk2h31 )
ROM_END
ROM_START( sk2h31q )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "k6b.040", 0x000000, 0x80000, CRC(7b365108) SHA1(e4ef6e7267ecf36d8b15c7df0351b38777cd559d) )
ROM_LOAD16_BYTE( "k6a.040", 0x000001, 0x80000, CRC(10488a51) SHA1(061d5139f4289cbca9e0a743954d9c65a9384c06) )
@@ -3884,7 +4112,7 @@ ROM_START( sk2h32 )
ROM_END
ROM_START( sk2h32q )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "3js.800", 0x000000, 0x100000, CRC(812f9200) SHA1(ddf4261c21762e8168d83393a59aa1450762a89a) )
ROM_REGION( 0x400000, "gfx", 0 )
@@ -3933,7 +4161,7 @@ ROM_START( sk2h33 )
ROM_END
ROM_START( sk2h33q )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "c-c47b.040", 0x000000, 0x80000, CRC(b1809761) SHA1(99a17ed193654f61622eb721e20b69894c96d3d8) )
ROM_LOAD16_BYTE( "a-2402.040", 0x000001, 0x80000, CRC(4fab4232) SHA1(d8ffd06cce73e1c4bc6abb69a2e81277ce901563) )
@@ -3982,7 +4210,7 @@ ROM_START( sk2h34 )
ROM_END
ROM_START( sk2h34q )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "one.800", 0x000000, 0x100000, CRC(0507584d) SHA1(5a9df64b7c2c54c5aa0d4c9486c7404157c6119e) )
ROM_REGION( 0x400000, "gfx", 0 )
@@ -4007,7 +4235,7 @@ ROM_START( sk2h34q )
ROM_END
ROM_START( sk2h35 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "c-d140.040", 0x000000, 0x80000, CRC(e6d933a6) SHA1(c1f08bbbfc855bbc96b844eed7b1e4f9a0a07fbf) )
ROM_LOAD16_BYTE( "a-0050.040", 0x000001, 0x80000, CRC(403eaead) SHA1(ce6d061e5ee91de779c8d0c19bed273dc4769900) )
@@ -4034,7 +4262,7 @@ ROM_END
ROM_START( slammastud )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "mbu_23ed.8f", 0x000000, 0x80000, CRC(7697273f) SHA1(d42ce6414b42db14305f0497fb760e8a3e868b9d) )
ROM_LOAD16_BYTE( "mbu_24b.9e", 0x080000, 0x20000, CRC(95d5e729) SHA1(df3be896e55c92eb50887a4317178a3d11048433) )
ROM_LOAD16_BYTE( "mbu_28b.9f", 0x080001, 0x20000, CRC(b1c7cbcb) SHA1(cf5ad72be4a055db876e7347b1826325b9bf81d9) )
@@ -4083,7 +4311,7 @@ ROM_END
ROM_START( stridergf )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "30.11f", 0x00000, 0x20000, CRC(da997474) SHA1(3e4ac98f9a6967d61899281b31c7de779723397b) )
ROM_LOAD16_BYTE( "35.11h", 0x00001, 0x20000, CRC(5463aaa3) SHA1(e2d07ec2d818e9a2e2d7a77ff0309ae4011c0083) )
ROM_LOAD16_BYTE( "31.12f", 0x40000, 0x20000, CRC(d20786db) SHA1(c9c75488e6bb37cfd0d56073faf87ff5713bc9a0) )
@@ -4124,7 +4352,7 @@ ROM_START( stridergf )
ROM_END
ROM_START( stridergh )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "30.11f", 0x00000, 0x20000, CRC(da997474) SHA1(3e4ac98f9a6967d61899281b31c7de779723397b) )
ROM_LOAD16_BYTE( "35.11h", 0x00001, 0x20000, CRC(5463aaa3) SHA1(e2d07ec2d818e9a2e2d7a77ff0309ae4011c0083) )
ROM_LOAD16_BYTE( "31.12f", 0x40000, 0x20000, CRC(d20786db) SHA1(c9c75488e6bb37cfd0d56073faf87ff5713bc9a0) )
@@ -4166,7 +4394,7 @@ ROM_END
ROM_START( wofb )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "3-f2ab.040", 0x000000, 0x80000, CRC(61fd0a01) SHA1(a7b5bdddd7b31645e33314c1d3649e1506cecfea) )
ROM_LOAD16_BYTE( "1-9207.040", 0x000001, 0x80000, CRC(7f59e24c) SHA1(34c294328d00c65086622bd15e17210f07f37237) )
ROM_LOAD16_BYTE( "4-d4d2.010", 0x100000, 0x20000, CRC(fe5eee87) SHA1(be1230f64c1e59ae3ff3e58593070613966ac79d) )
@@ -4201,8 +4429,88 @@ ROM_START( wofb )
ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
ROM_END
+ROM_START( wofbio ) // same as wofjh except for first rom
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofbio.23", 0x000000, 0x80000, CRC(9725b5f4) SHA1(28c72348769eac95753dd469859edb8ca1f0b120) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
+ROM_START( wofbt ) // same as wofjh except for first rom
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofbt.23", 0x000000, 0x80000, CRC(eac7f675) SHA1(e5df8cfeb1ed32e7a8c5bb8e40035b6f8e5b6ec5) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
ROM_START( wofch_v3 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "wofch_v3.23", 0x000000, 0x80000, CRC(898a4e67) SHA1(3f45cc2e15bd398bdc84303f6cde6322394f6456) )
ROM_LOAD16_WORD_SWAP( "wofch_v3.22", 0x080000, 0x80000, CRC(e734ee51) SHA1(1dff1a6cccc1551a4489542ee1f5b38b2233349e) )
@@ -4228,7 +4536,7 @@ ROM_START( wofch_v3 )
ROM_END
ROM_START( wofchdx )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "wofchdx.23", 0x000000, 0x80000, CRC(b5f70324) SHA1(9cd8ca9dab1b2642810f50534186b575b1378ab8) )
ROM_LOAD16_WORD_SWAP( "wofchdx.22", 0x080000, 0x80000, CRC(5c453e70) SHA1(0ffad50e2f93881c6e9848f707eec7d0ee18f688) )
@@ -4254,7 +4562,7 @@ ROM_START( wofchdx )
ROM_END
ROM_START( wofchdx1 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "wofchdx.23", 0x000000, 0x80000, CRC(b5f70324) SHA1(9cd8ca9dab1b2642810f50534186b575b1378ab8) )
ROM_LOAD16_WORD_SWAP( "wofchdx1.22", 0x080000, 0x80000, CRC(55ed1b42) SHA1(0ea12b9298721aac20f351a894b4e7587bb38f88) )
@@ -4306,7 +4614,7 @@ ROM_START( wofchdx2 )
ROM_END
ROM_START( wofchspp )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "wofchspp.8f", 0x000000, 0x80000, CRC(61cf24c1) SHA1(e075432449923e69310040a268f81b74c31f5bcc) )
ROM_LOAD16_WORD_SWAP( "wofchspp.7f", 0x080000, 0x80000, CRC(a3cd1c51) SHA1(459c90bea4045a8ad79a36529d169951ac802fc3) )
@@ -4331,8 +4639,194 @@ ROM_START( wofchspp )
ROM_LOAD( "tk2-q4.4k", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
ROM_END
+ROM_START( wofctj ) // same as wofjh except for first rom
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofctj.23", 0x000000, 0x80000, CRC(d3d14501) SHA1(700c41b9e03c8568291266e5b991dd34e1c6f9c2) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
+ROM_START( wofdy ) // same as wofjh except for first rom
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofdy.23", 0x000000, 0x80000, CRC(f48bb903) SHA1(4aff9e8beb6a6bd32c9fdb83e28effa42234ab5c) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
+ROM_START( wofdyg ) // same as wofjh except for program roms
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofdyg.23", 0x000000, 0x80000, CRC(e91705df) SHA1(8c6969aae190b9e99d0879a7159718d8c2e9523c) )
+ ROM_LOAD16_WORD_SWAP( "wofzhs.22", 0x080000, 0x80000, CRC(4b2591c4) SHA1(8ba8efa94057fd7d183b9266009051ac81fe0581) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
+ROM_START( wofes )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofes.23", 0x000000, 0x80000, CRC(4935e2ce) SHA1(e6b6e6499738579b3c4f5dff44c8930257fe619b) )
+ ROM_LOAD16_WORD_SWAP( "tk2e_22b.rom", 0x080000, 0x80000, CRC(479b3f24) SHA1(9fb8ae06856fe115addfb6794c28978a4f6716ec) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2-5m.7a", 0x200000, 0x80000, CRC(291f0f0b) SHA1(094baf0f960f25fc2525b3b1cc378a49d9a0955d) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2-7m.9a", 0x200002, 0x80000, CRC(3edeb949) SHA1(c155698dd9ee9eb24bbc97a21118ef2e897ea82f) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2-6m.8a", 0x200004, 0x80000, CRC(1abd14d6) SHA1(dffff3126f102b4ec028a81405fc5b9bd7bb65b3) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2-8m.10a", 0x200006, 0x80000, CRC(b27948e3) SHA1(870d5d23f56798831c641e877ea94217058b2ddc) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+ROM_END
+
+ROM_START( woffh ) // same as wofjh except for program roms - colours are a bit weird
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "tk2j_23c.8f", 0x000000, 0x80000, CRC(9b215a68) SHA1(fc83ed26441fbfb15e21b093c7a6bed44b586e51) ) // from wofj
+ ROM_LOAD16_WORD_SWAP( "woffh.22", 0x080000, 0x80000, CRC(9fe4adf4) SHA1(ff1713880ad8b81d23f40dc3842aabcf6f444d65) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
ROM_START( woffr )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "tk2e_23bfr.rom", 0x000000, 0x80000, CRC(e006e81e) SHA1(dad6cd3a1175b6f366e8bf02d1af35af5f1b50cc) )
ROM_LOAD16_WORD_SWAP( "tk2e_22b.rom", 0x080000, 0x80000, CRC(479b3f24) SHA1(9fb8ae06856fe115addfb6794c28978a4f6716ec) )
@@ -4357,8 +4851,168 @@ ROM_START( woffr )
ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
ROM_END
+ROM_START( wofgyc ) // same as wofjh except for first rom
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofgyc.23", 0x000000, 0x80000, CRC(44d321f3) SHA1(abea7e417e05413ed41ab222d5ccbdf6dcbecc53) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
+ROM_START( wofgyq ) // same as wofjh except for first rom
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofgyq.23", 0x000000, 0x80000, CRC(bba39347) SHA1(296f8d124bde76dc5114a6210ed618dfa4d07d57) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
+ROM_START( wofhgz ) // same as wofjh except for first rom
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofhgz.23", 0x000000, 0x80000, CRC(4f480a16) SHA1(b000f1ec2742e9403943b95bdd890069378dc9ed) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
+ROM_START( wofhzj ) // same as wofjh except for first rom
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofhzj.23", 0x000000, 0x80000, CRC(643f9ef9) SHA1(2fe32edd38c2380a0dd7f9fc9bc44c4049d84646) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
ROM_START( wofjcn )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "wofjcn_23c.8f", 0x000000, 0x80000, CRC(e1dd01d8) SHA1(2d243fa39c784ce5164c7a58ffd4884a60eac81c) )
ROM_LOAD16_WORD_SWAP( "tk2j_22c.7f", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
@@ -4409,8 +5063,89 @@ ROM_START( wofjcn )
ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
ROM_END
+ROM_START( wofjd ) // same as wofjh except for first rom
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofjd.23", 0x000000, 0x80000, CRC(08631657) SHA1(2d2e0f302dbd64bb8a37577171e6e2194524abdf) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
+// same as wofjh except first rom
+ROM_START( wofjehp )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofjehp.23", 0x000000, 0x80000, CRC(93347af2) SHA1(2b2f02e3529ebaa06ea55b5648aa988d0542f1c6) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
ROM_START( wofjh )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "xtk2j23h.bin", 0x000000, 0x80000, CRC(84d38575) SHA1(537f12180adfcea7bceb24b0fa9af9165dbbe2e4) )
ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
@@ -4455,8 +5190,41 @@ ROM_START( wofjh )
ROM_LOAD_OPTIONAL( "d10f1.10f", 0x0000, 0x0117, CRC(6619c494) SHA1(3aef656c07182a2186f810f30e0d854dd5bd8d18) )
ROM_END
+ROM_START( wofjh2 )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofjh2.23", 0x000000, 0x80000, CRC(8fa725f0) SHA1(81c89f5bf1d180356a66d1cd216ea73c6e69f6df) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg1", 0x0000, 0x0117, CRC(f1129744) SHA1(a5300f301c1a08a7da768f0773fa0fe3f683b237) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+ ROM_LOAD_OPTIONAL( "sou1", 0x0000, 0x0117, CRC(84f4b2fe) SHA1(dcc9e86cc36316fe42eace02d6df75d08bc8bb6d) )
+ROM_END
+
ROM_START( wofjhb )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "tk2j.23c", 0x00000, 0x80000, CRC(432a74ff) SHA1(5675970143134c0cc3ae4964a8817fafee7876fa) )
ROM_LOAD16_WORD_SWAP( "tk2j_22c.7f", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
@@ -4482,7 +5250,7 @@ ROM_START( wofjhb )
ROM_END
ROM_START( wofjhc )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "tk2j2.23c", 0x00000, 0x80000, CRC(671b0c62) SHA1(7bba05e5e513edd878a30ef998b3beb4fd053cc6) )
ROM_LOAD16_WORD_SWAP( "tk2j_22c.7f", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
@@ -4507,8 +5275,131 @@ ROM_START( wofjhc )
ROM_LOAD( "tk2-q4.4k", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
ROM_END
+// same as wofjh except first rom
+ROM_START( wofjhdwb )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofjhdwb.23", 0x000000, 0x80000, CRC(e5534d5a) SHA1(497abf790ad0450545f02a1614ef197492b71159) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
+// same as wofjh except for the program roms
+ROM_START( wofjhp2 )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofjhp2.23", 0x000000, 0x80000, CRC(cfce0b11) SHA1(16f2376c8666cd48ea4b30711b0a3b1508a97482) )
+ ROM_LOAD16_WORD_SWAP( "wofjhp2.22", 0x080000, 0x80000, CRC(ae09e457) SHA1(1feb645d2371b58613db8d2eb871448b4b20041d) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
+// same as wofjh except first rom
+ROM_START( wofjjq )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofjjq.23", 0x000000, 0x80000, CRC(58ea0ddc) SHA1(3510b09abd261a896fda855130fd867c92aa030b) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
ROM_START( wofjm )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "wofjm.23", 0x000000, 0x80000, CRC(6dba1d2f) SHA1(310e9472d4da8ed4bdccdcd52004030b8799693c) )
ROM_LOAD16_WORD_SWAP( "wofjm.22", 0x080000, 0x80000, CRC(7630fd8a) SHA1(02c2164f191c2efb647b517ee2e8f46d870f9c93) )
@@ -4533,8 +5424,319 @@ ROM_START( wofjm )
ROM_LOAD( "tk2-q4.4k", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
ROM_END
+// same as wofjh except for the program roms
+ROM_START( wofjmsp )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofjmsp.23", 0x000000, 0x80000, CRC(a6f22395) SHA1(d2d8a6156c44383c48e4caf97799e231158b7cf2) )
+ ROM_LOAD16_WORD_SWAP( "wofjmsp.22", 0x080000, 0x80000, CRC(11bcbbb9) SHA1(bebef41b4ce27fef3f037d8188903334a41b35f4) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
+// same as wofjh except for the program roms
+ROM_START( wofjpsrw )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofjpsrw.23", 0x000000, 0x80000, CRC(6e392dd2) SHA1(b25f299dc7b8d87de1e42de97db04d3443eff167) )
+ ROM_LOAD16_WORD_SWAP( "wofjpsrw.22", 0x080000, 0x80000, CRC(838dff10) SHA1(56a9d5e2d9df843005f6bd0886f612a3c90b8e60) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
+ROM_START( wofjqz ) // same as wofjh except for first rom
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofjqz.23", 0x000000, 0x80000, CRC(98878d8d) SHA1(8a23813e0df0d9ef8fa2761ac355ef5da0f44021) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
+// same as wofjh except first rom
+ROM_START( wofjrabh )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofjrabh.23", 0x000000, 0x80000, CRC(51979a5a) SHA1(9beaba7d06be4c2b893e6fd3a0dbc157537d9913) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
+// same as wofjh except first rom
+ROM_START( wofjrlb )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofjrlb.23", 0x000000, 0x80000, CRC(19f49030) SHA1(3e500db79361b747a75d7712f3367754ee8771c7) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
+ROM_START( wofjrpbs )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofjrpbs.23", 0x000000, 0x80000, CRC(6c1683ee) SHA1(f22df63cae994fca6955f72313dd204a4734aa94) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg1", 0x0000, 0x0117, CRC(f1129744) SHA1(a5300f301c1a08a7da768f0773fa0fe3f683b237) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+ ROM_LOAD_OPTIONAL( "sou1", 0x0000, 0x0117, CRC(84f4b2fe) SHA1(dcc9e86cc36316fe42eace02d6df75d08bc8bb6d) )
+ROM_END
+
+ROM_START( wofjv10s )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofjv10s.23", 0x000000, 0x80000, CRC(86c23608) SHA1(0629d82779f6973514582e4a218f63429dccd080) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg1", 0x0000, 0x0117, CRC(f1129744) SHA1(a5300f301c1a08a7da768f0773fa0fe3f683b237) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+ ROM_LOAD_OPTIONAL( "sou1", 0x0000, 0x0117, CRC(84f4b2fe) SHA1(dcc9e86cc36316fe42eace02d6df75d08bc8bb6d) )
+ROM_END
+
+// same as wofjh except first rom
+ROM_START( wofjzcr1 )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofjzcr1.23", 0x000000, 0x80000, CRC(7df522ad) SHA1(dece17bd0c3a0a10bb3433fe878da4e66e84cc9f) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
ROM_START( wofjzero )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "wofjzero.8f", 0x000000, 0x80000, CRC(7896998d) SHA1(7f59015ec00232f2b40836127f143415678f7058) )
ROM_LOAD16_WORD_SWAP( "wofjzero.7f", 0x080000, 0x80000, CRC(43e57b1a) SHA1(f7469eb77a74601f94488c23466a6648a91fcbfc) )
ROM_LOAD16_WORD_SWAP( "wofjzero.6f", 0x100000, 0x80000, CRC(7a5f60c0) SHA1(b4d864e39811d1407ce2ba9580bd1e230edf37ff) )
@@ -4580,8 +5782,48 @@ ROM_START( wofjzero )
ROM_LOAD_OPTIONAL( "d10f1.10f", 0x0000, 0x0117, CRC(6619c494) SHA1(3aef656c07182a2186f810f30e0d854dd5bd8d18) )
ROM_END
+ROM_START( wofmr ) // same as wofjh except for program roms
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofmr.23", 0x000000, 0x80000, CRC(c1c0192c) SHA1(501225c58e25aaea4c0a4bb348f6a0150a742762) )
+ ROM_LOAD16_WORD_SWAP( "wofzhs.22", 0x080000, 0x80000, CRC(4b2591c4) SHA1(8ba8efa94057fd7d183b9266009051ac81fe0581) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
ROM_START( wofr1h )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "tk2e_23b.8f", 0x000000, 0x80000, CRC(0fc9e89c) SHA1(7e098ad77172a16dc234b144c98eb6be433df215) )
ROM_LOAD16_WORD_SWAP( "tk2e_22b.7f", 0x080000, 0x80000, CRC(e3f7cbf1) SHA1(f22d799d13eef6ef24db4689b7ddb1ce4eca505b) )
@@ -4626,10 +5868,50 @@ ROM_START( wofr1h )
ROM_LOAD_OPTIONAL( "d10f1.10f", 0x0000, 0x0117, CRC(6619c494) SHA1(3aef656c07182a2186f810f30e0d854dd5bd8d18) )
ROM_END
+ROM_START( wofsbl ) // same as wofjh except for first rom
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofsbl.23", 0x000000, 0x80000, CRC(5bd65308) SHA1(15065656433bbf582c1910180a04298c13ff0b60) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
// This is a rom kit to convert SF2 to WOF. There's no oki sound even though the roms are present, because
// the device isn't being addressed properly (no reads, and only a few writes). Also, demo sound doesn't work.
ROM_START( wofsf2 )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "wof_30.rom", 0x000000, 0x020000, CRC(15886428) SHA1(d528766346e52deb97b9f49f836064ab2891c6cd) )
ROM_LOAD16_BYTE( "wof_35.rom", 0x000001, 0x020000, CRC(2b9bd156) SHA1(ec12b4a5e0f257d852830a81d8a9ebe1aec12676) )
ROM_LOAD16_BYTE( "wof_31.rom", 0x040000, 0x020000, CRC(6dc0158b) SHA1(c148bea4b40b9a0c9bced022e42343973969cc20) )
@@ -4666,6 +5948,413 @@ ROM_START( wofsf2 )
ROM_LOAD( "wof_19.rom", 0x020000, 0x20000, CRC(068741db) SHA1(ab48aff639a7ac218b7d5304145e10e92d61fd9f) )
ROM_END
+ROM_START( wofsjj ) // same as wofjh except for first rom
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofsjj.23", 0x000000, 0x80000, CRC(86b71709) SHA1(7a5c12966520b48d23f6a7f5661746cb9d714939) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
+ROM_START( wofsz ) // same as wofjh except for first rom
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofsz.23", 0x000000, 0x80000, CRC(49b3eaf1) SHA1(fc6c5b0efbb4776bdfb47097ac58a9f6b452b136) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
+// same as wofu except first rom
+ROM_START( wofud )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofud.23", 0x000000, 0x80000, CRC(9bab998f) SHA1(6afe212d7816bde23aecb92f57d075c3e411d4c6) )
+ ROM_LOAD16_WORD_SWAP( "tk2u_22c.7f", 0x080000, 0x80000, CRC(f5af4774) SHA1(f6d53cf5b330e6d68f84da3e8c831a475585b93e) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2-1m.3a", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2-3m.5a", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2-2m.4a", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2-4m.6a", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2-5m.7a", 0x200000, 0x80000, CRC(291f0f0b) SHA1(094baf0f960f25fc2525b3b1cc378a49d9a0955d) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2-7m.9a", 0x200002, 0x80000, CRC(3edeb949) SHA1(c155698dd9ee9eb24bbc97a21118ef2e897ea82f) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2-6m.8a", 0x200004, 0x80000, CRC(1abd14d6) SHA1(dffff3126f102b4ec028a81405fc5b9bd7bb65b3) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2-8m.10a", 0x200006, 0x80000, CRC(b27948e3) SHA1(870d5d23f56798831c641e877ea94217058b2ddc) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.5k", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2-q1.1k", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2-q2.2k", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2-q3.3k", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2-q4.4k", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+
+ ROM_REGION( 0x0200, "dboardplds", 0 )
+ ROM_LOAD( "d7l1.7l", 0x0000, 0x0117, CRC(27b7410d) SHA1(06d0cba0226850f100ff1f539bd7d5db0f90c730) )
+ ROM_LOAD( "d8l1.8l", 0x0000, 0x0117, CRC(539fc7da) SHA1(cad5c91629c6247e49ccbbcbfe6b08229eafae07) )
+ ROM_LOAD( "d9k1.9k", 0x0000, 0x0117, NO_DUMP )
+ ROM_LOAD( "d10f1.10f", 0x0000, 0x0117, CRC(6619c494) SHA1(3aef656c07182a2186f810f30e0d854dd5bd8d18) )
+ROM_END
+
+ROM_START( wofyjs ) // same as wofjh except for first rom
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofzhy.23", 0x000000, 0x80000, CRC(341aa13d) SHA1(eed3be83078a86675068c52ca835fc27136a746b) ) // from wofzhy
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
+ROM_START( wofyxg ) // same as wofjh except for program roms
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofyxg.23", 0x000000, 0x80000, CRC(c6497c7d) SHA1(c6235edc15ccff4e8813690b1c4ea25de2b9858b) )
+ ROM_LOAD16_WORD_SWAP( "wofzhs.22", 0x080000, 0x80000, CRC(4b2591c4) SHA1(8ba8efa94057fd7d183b9266009051ac81fe0581) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
+ROM_START( wofzhs ) // same as wofjh except for program roms
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "tk2j_23c.8f", 0x000000, 0x80000, CRC(9b215a68) SHA1(fc83ed26441fbfb15e21b093c7a6bed44b586e51) ) // from wofj
+ ROM_LOAD16_WORD_SWAP( "wofzhs.22", 0x080000, 0x80000, CRC(4b2591c4) SHA1(8ba8efa94057fd7d183b9266009051ac81fe0581) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
+ROM_START( wofzhy ) // same as wofjh except for program roms
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofzhy.23", 0x000000, 0x80000, CRC(341aa13d) SHA1(eed3be83078a86675068c52ca835fc27136a746b) )
+ ROM_LOAD16_WORD_SWAP( "wofzhs.22", 0x080000, 0x80000, CRC(4b2591c4) SHA1(8ba8efa94057fd7d183b9266009051ac81fe0581) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
+ROM_START( wofzy2 ) // same as wofjh except for first rom
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofzy2.23", 0x000000, 0x80000, CRC(288ab565) SHA1(834e2d5cef1d0ae486e201bedf6281540c5ded13) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
+ROM_START( wofzy3 ) // same as wofjh except for first rom
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofzy3.23", 0x000000, 0x80000, CRC(420b3a40) SHA1(6d06b980f4afdcde5ff4cc2509e3ee398b79a19c) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
+ROM_START( wofzyq ) // same as wofjh except for first rom
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "wofzyq.23", 0x000000, 0x80000, CRC(f46755f1) SHA1(f6efa2d886f89d6ab95f919356b574a9b87ba69b) )
+ ROM_LOAD16_WORD_SWAP( "xtk2j22c.bin", 0x080000, 0x80000, CRC(b74b09ac) SHA1(3a44d6db5f51e1b5d2b43ef0ad1191da21e48427) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROMX_LOAD( "tk2_gfx1.rom", 0x000000, 0x80000, CRC(0d9cb9bf) SHA1(cc7140e9a01a14b252cb1090bcea32b0de461928) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx3.rom", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx2.rom", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_gfx4.rom", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_07.9a", 0x200004, 0x80000, CRC(d706568e) SHA1(7886414dc86c42e35d24b85c4bfa41a9f0c167ac) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "tk2_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( 0x28000, "audiocpu", 0 ) /* QSound Z80 code */
+ ROM_LOAD( "tk2_qa.rom", 0x00000, 0x08000, CRC(c9183a0d) SHA1(d8b1d41c572f08581f8ab9eb878de77d6ea8615d) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x200000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "tk2_q1.rom", 0x000000, 0x80000, CRC(611268cf) SHA1(83ab059f2110fb25fdcff928d56b790fc1f5c975) )
+ ROM_LOAD( "tk2_q2.rom", 0x080000, 0x80000, CRC(20f55ca9) SHA1(90134e9a9c4749bb65c728b66ea4dac1fd4d88a4) )
+ ROM_LOAD( "tk2_q3.rom", 0x100000, 0x80000, CRC(bfcf6f52) SHA1(2a85ff3fc89b4cbabd20779ec12da2e116333c7c) )
+ ROM_LOAD( "tk2_q4.rom", 0x180000, 0x80000, CRC(36642e88) SHA1(8ab25b19e2b67215a5cb1f3aa81b9d26009cfeb8) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD_OPTIONAL( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD_OPTIONAL( "prg2", 0x0000, 0x0117, CRC(4386879a) SHA1(c36896d169d8c78393609acbbe4397931292a033) )
+ ROM_LOAD_OPTIONAL( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "tk263b.1a", 0x0000, 0x0117, CRC(c4b0349b) SHA1(b4873dd5ad8735048deb3475222dde3c0b67eaaf) )
+ ROM_LOAD_OPTIONAL( "iob1.12d", 0x0000, 0x0117, CRC(3abc0700) SHA1(973043aa46ec6d5d1db20dc9d5937005a0f9f6ae) )
+ ROM_LOAD_OPTIONAL( "bprg1.11d", 0x0000, 0x0117, CRC(31793da7) SHA1(400fa7ac517421c978c1ee7773c30b9ed0c5d3f3) )
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD_OPTIONAL( "ioc1.ic1", 0x0000, 0x0117, CRC(0d182081) SHA1(475b3d417785da4bc512cce2b274bb00d4cc6792) )
+ROM_END
+
/***************************************************************************
@@ -4728,33 +6417,40 @@ GAME( 2009, punisherjh1, punisher, qsound, punisher, cps_state, punisher, RO
GAME( 1993, punisherjha, punisher, qsound, punisher, cps_state, punisher, ROT0, "Zhyxxxx", "The Punisher (930422 Japan, SM Experience Edition)", MACHINE_SUPPORTS_SAVE )
GAME( 1993, punisherud1, punisher, qsound, punisher, cps_state, punisher, ROT0, "hack", "The Punisher (US 930422 Phoenix Edition (8b/32p))", MACHINE_SUPPORTS_SAVE )
GAME( 1993, punisherud2, punisher, qsound, punisher, cps_state, punisher, ROT0, "hack", "The Punisher (US 930422 Phoenix Edition (16b/40p))", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, sf2bhj, sf2, cps1_10MHz, sf2j, cps_state, cps1, ROT0, "hack", "Street Fighter II: The World Warrior (Boss hack by Yumeji)", MACHINE_SUPPORTS_SAVE )
GAME( 1991, sf2c, sf2, cps1_10MHz, sf2j, cps_state, cps1, ROT0, "hack", "Street Fighter II: The World Warrior (Chinese 911210)", MACHINE_SUPPORTS_SAVE )
-GAME( 1999, sf2cebr, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Neogeo BR team", "Street Fighter II' - Champion Edition (Brasil 920313)", MACHINE_SUPPORTS_SAVE )
+GAME( 1999, sf2cebr, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Neogeo BR team", "Street Fighter II': Champion Edition (Brasil 920313)", MACHINE_SUPPORTS_SAVE )
GAME( 2012, sf2ced, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Drakon", "Street Fighter II': Champion Edition (Sheng Long Hack v7.1)", MACHINE_SUPPORTS_SAVE ) // "ETC"
GAME( 2012, sf2ceda, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Drakon", "Street Fighter II': Champion Edition (Hack)", MACHINE_SUPPORTS_SAVE ) // "ETC"
-GAME( 1999, sf2ceh, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "hack", "Street Fighter II' - Champion Edition (Hispanic 990804)", MACHINE_SUPPORTS_SAVE )
+GAME( 1999, sf2ceh, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "hack", "Street Fighter II': Champion Edition (Hispanic 990804)", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, sf2cehk, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Kawada7278", "Street Fighter II': Champion Edition (Hack Unknown by Kawada7278)", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, sf2cehp, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Pipi899", "Street Fighter II': Champion Edition (Moves hack by Pipi899 2009-01-10)", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, sf2cejem, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Blackheart", "Street Fighter II': Champion Edition (Easy Moves hack by Blackheart 2009-07-30)", MACHINE_SUPPORTS_SAVE )
GAME( 2013, sf2koryuh, sf2ce, cps1_12MHz, sf2hack, cps_state, cps1, ROT0, "TT", "Street Fighter II': Champion Edition (Hack by TT)", MACHINE_SUPPORTS_SAVE ) // 811102 !!! - based on World version
-GAME( 1992, sf2h9, sf2ce, cps1_12MHz, sf2, cps_state, sf2h9, ROT0, "Mega Co", "Street Fighter II - Champion Edition (H9, bootleg)", MACHINE_SUPPORTS_SAVE )
-GAME( 1992, sf2h10, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "hack", "Street Fighter II' - Champion Edition (H10, bootleg)", MACHINE_SUPPORTS_SAVE )
-GAME( 1992, sf2h11, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "hack", "Street Fighter II' - Champion Edition (H11, bootleg)", MACHINE_SUPPORTS_SAVE )
-GAME( 1992, sf2h12, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "hack", "Street Fighter II' - Champion Edition (H12, bootleg)", MACHINE_SUPPORTS_SAVE )
-GAME( 1992, sf2h13, sf2ce, cps1_12MHz, sf2j, cps_state, sf2h13, ROT0, "hack", "Street Fighter II' Turbo - Hyper Fighting (H13, bootleg)", MACHINE_SUPPORTS_SAVE ) // bad tile for Blanka on player select screen
+GAME( 1992, sf2h9, sf2ce, cps1_12MHz, sf2, cps_state, sf2h9, ROT0, "Mega Co", "Street Fighter II: Champion Edition (H9, bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, sf2h10, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "hack", "Street Fighter II': Champion Edition (H10, bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, sf2h11, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "hack", "Street Fighter II': Champion Edition (H11, bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, sf2h12, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "hack", "Street Fighter II': Champion Edition (H12, bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, sf2h13, sf2ce, cps1_12MHz, sf2j, cps_state, sf2h13, ROT0, "hack", "Street Fighter II' Turbo: Hyper Fighting (H13, bootleg)", MACHINE_SUPPORTS_SAVE ) // bad tile for Blanka on player select screen
GAME( 2012, sf2pun, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Drakon", "Street Fighter II': Champion Edition (Punishment Edition v1 Final)", MACHINE_SUPPORTS_SAVE )
GAME( 2013, sf2sl73a, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Drakon", "Street Fighter II': Champion Edition (Sheng Long v7.3a)", MACHINE_SUPPORTS_SAVE )
GAME( 1992, sf2th, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "hack", "Street Fighter II': Champion Edition (Turbo set 1, bootleg)", MACHINE_SUPPORTS_SAVE )
GAME( 1992, sf2tha, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "hack", "Street Fighter II': Champion Edition (Turbo set 2, bootleg)", MACHINE_SUPPORTS_SAVE )
-GAME( 1992, sf2tlona, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Tu Long", "Street Fighter II' - Champion Edition (Slay the Dragon set 1)", MACHINE_SUPPORTS_SAVE ) // These 2 are Chinese bootlegs
-GAME( 1992, sf2tlonb, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Tu Long", "Street Fighter II' - Champion Edition (Slay the Dragon set 2)", MACHINE_SUPPORTS_SAVE )
-GAME( 1992, sf2tlonc, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "Tu Long", "Street Fighter II' - Champion Edition (Slay the Dragon set 3)", MACHINE_SUPPORTS_SAVE )
-GAME( 1992, sf2turyu, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "hack", "Street Fighter II - Champion Edition (Tu Long prototype)", MACHINE_SUPPORTS_SAVE )
-GAME( 1992, sf2yyc3d5, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "hack", "Street Fighter II' - Champion Edition (YYC, 3D5, bootleg)", MACHINE_SUPPORTS_SAVE )
-GAME( 1992, sf2yyc3g, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "hack", "Street Fighter II' - Champion Edition (YYC, 3G, bootleg)", MACHINE_SUPPORTS_SAVE )
-GAME( 1992, sf2yyc6, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "hack", "Street Fighter II' - Champion Edition (YYC, 6, bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, sf2tlona, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Tu Long", "Street Fighter II': Champion Edition (Slay the Dragon set 1)", MACHINE_SUPPORTS_SAVE ) // These 2 are Chinese bootlegs
+GAME( 1992, sf2tlonb, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Tu Long", "Street Fighter II': Champion Edition (Slay the Dragon set 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, sf2tlonc, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "Tu Long", "Street Fighter II': Champion Edition (Slay the Dragon set 3)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, sf2turyu, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "hack", "Street Fighter II: Champion Edition (Tu Long prototype)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, sf2yyc3d5, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "hack", "Street Fighter II': Champion Edition (YYC, 3D5, bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, sf2yyc3g, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "hack", "Street Fighter II': Champion Edition (YYC, 3G, bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, sf2yyc6, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "hack", "Street Fighter II': Champion Edition (YYC, 6, bootleg)", MACHINE_SUPPORTS_SAVE )
GAME( 1999, sk2h1, wof, sk2h3, sk2h1, cps_state, sk2h1, ROT0, "All-In Co Ltd", "Sangokushi II (Asia 921005) (set H1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
GAME( 1999, sk2h1q, wof, sk2h1q, sk2h1, cps_state, sk2h1q, ROT0, "All-In Co Ltd", "Sangokushi II (Asia 921005) (set H1Q)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
GAME( 1999, sk2h2, wof, sk2h3, sk2h1, cps_state, sk2h1, ROT0, "All-In Co Ltd", "Sangokushi II (Asia 921005) (set H2)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
GAME( 1999, sk2h2q, wof, sk2h1q, sk2h1, cps_state, sk2h1q, ROT0, "All-In Co Ltd", "Sangokushi II (Asia 921005) (set H2Q)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
GAME( 1999, sk2h3, wof, sk2h3, sk2h3, cps_state, sk2h3, ROT0, "All-In Co Ltd", "Sangokushi II (Asia 921005) (set H3)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
+GAME( 1999, sk2h4q, wof, sk2h1q, sk2h1, cps_state, sk2h1q, ROT0, "All-In Co Ltd", "Sangokushi II (Asia 921005) (set H4Q)(Chinese hack v2.0)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
+GAME( 2009, sk2h5q, wof, sk2h1q, sk2h1, cps_state, sk2h1q, ROT0, "Winuxx", "Sangokushi II (Asia 921005) (set H5Q)(Revised Version hack by Winuxx 2009-09-09)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
+GAME( 1999, sk2h6q, wof, sk2h1q, sk2h1, cps_state, sk2h1q, ROT0, "Winuxx", "Sangokushi II (Asia 921005) (set H6Q)(Boss hack by Winuxx)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
GAME( 1992, sk2h11, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Sangokushi II (Asia 921005) (set H11)", MACHINE_SUPPORTS_SAVE )
GAME( 1992, sk2h12, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Sangokushi II (Asia 921005) (set H12)", MACHINE_SUPPORTS_SAVE )
GAME( 1992, sk2h13, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Sangokushi II (Asia 921005) (set H13)", MACHINE_SUPPORTS_SAVE )
@@ -4776,20 +6472,57 @@ GAME( 1993, slammastud, slammast, qsound, slammast, cps_state, slammast, RO
GAME( 2014, stridergf, strider, cps1_10MHz, stridrua, cps_state, cps1, ROT0, "Willkaotix", "Strider (Gfx fix)", MACHINE_SUPPORTS_SAVE )
GAME( 2014, stridergh, strider, cps1_10MHz, stridrua, cps_state, cps1, ROT0, "Willkaotix", "Strider (gfx fix, uncensored)", MACHINE_SUPPORTS_SAVE )
GAME( 1992, wofb, wof, qsound, wof, cps_state, wofb, ROT0, "hack", "Warriors of Fate (ETC 921002) (bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofbio, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Chinese hack: Boss Enhanced)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofbt, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Chinese hack: Zhang Fei Enhanced)", MACHINE_SUPPORTS_SAVE )
GAME( 1994, wofch_v3, wofch, qsound, wofch, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II: Sekiheki no Tatakai (CPS Changer, Japan 921031) (Set 2)", MACHINE_SUPPORTS_SAVE )
GAME( 2010, wofchdx, wofch, qsound, wofch, cps_state, wof, ROT0, "hack", "Sangokushi 3 Gaiden Kakou-on's Revenge DX (red)", MACHINE_SUPPORTS_SAVE )
GAME( 2010, wofchdx1, wofch, qsound, wofch, cps_state, wof, ROT0, "hack", "Sangokushi 3 Gaiden Kakou-on's Revenge DX (green set 1)", MACHINE_SUPPORTS_SAVE )
GAME( 2010, wofchdx2, wofch, qsound, wofch, cps_state, wof, ROT0, "hack", "Sangokushi 3 Gaiden Kakou-on's Revenge DX (green set 2)", MACHINE_SUPPORTS_SAVE )
GAME( 2010, wofchspp, wofch, qsound, wofch, cps_state, wof, ROT0, "Pipi899", "CPS Changer - Tenchi Wo Kurau II (Super Jian Huang hack by Pipi899 2010-01-29)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofctj, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Chinese hack: Cao Zhi Jian Enhanced)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofdy, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Chinese hack: Di Yu Enhanced)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofdyg, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Chinese hack: Di Yi Guan Enhanced)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofes, wof, qsound, wof, cps_state, wof, ROT0, "Chaihe", "Warriors of Fate (Enhanced Super Version hack by Chaihe)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, woffh, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Chinese hack: Fen Hong Enhanced)", MACHINE_SUPPORTS_SAVE )
+GAME( 2003, woffr, wof, qsound, wof, cps_state, wof, ROT0, "Arkatrad", "Warriors of Fate (France 030728)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofgyc, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Chinese hack: Guan Yu Chi Tu Ma Enhanced)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofgyq, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Chinese hack: Guan Yu Enhanced Enhanced)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofhgz, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Chinese hack: Han Guang Zhan Enhanced)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofhzj, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Chinese hack: Huang Zhong Enhanced)", MACHINE_SUPPORTS_SAVE )
GAME( 1992, wofjcn, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Japan 921031) (Chinese)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-GAME( 1992, woffr, wof, qsound, wof, cps_state, wof, ROT0, "Arkatrad", "Warriors of Fate (France 030728)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofjd, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Japan 921031 Phoenix Edition)", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, wofjehp, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Hack by Pipi899 2009-01-02)", MACHINE_SUPPORTS_SAVE )
GAME( 1992, wofjh, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Japan 921031) (Hack set 1)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofjh2, wof, qsound, wof, cps_state, wof, ROT0, "Shinwa", "Tenchi wo Kurau II (Hack by Shinwa)", MACHINE_SUPPORTS_SAVE )
GAME( 1992, wofjhb, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Japan 921031) (Hack set 2)", MACHINE_SUPPORTS_SAVE )
GAME( 1992, wofjhc, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Japan 921031) (Hack set 3)", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, wofjhdwb, wof, qsound, wof, cps_state, wof, ROT0, "Winuxx, Blackheart", "Tenchi wo Kurau II (Heaven and Earth Double Attack Test Version hack by Winuxx, Blackheart 2009-12-14)", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, wofjhp2, wof, qsound, wof, cps_state, wof, ROT0, "Pipi899", "Tenchi wo Kurau II (Easy Moves hack by Pipi899 2009-01-12)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofjjq, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Chinese hack: Xue Xing Enhanced)", MACHINE_SUPPORTS_SAVE )
GAME( 2013, wofjm, wof, qsound, wof, cps_state, wof, ROT0, "AXDX", "Tenchi wo Kurau 2 (Japan 921031)", MACHINE_SUPPORTS_SAVE )
+GAME( 2010, wofjmsp, wof, qsound, wof, cps_state, wof, ROT0, "Pipi899", "Tenchi wo Kurau II (Modified SubVersion hack by Pipi899 2010-01-26)", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, wofjpsrw, wof, qsound, wof, cps_state, wof, ROT0, "Rockywall", "Tenchi wo Kurau II (Playstation Version hack by Rockywall 2009-12-09)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofjqz, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Chinese hack: Jian Qi Zong Heng Enhanced)", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, wofjrabh, wof, qsound, wof, cps_state, wof, ROT0, "Blacheart", "Tenchi wo Kurau II (Revised Alternate hack by Blackheart 2009-12-17)", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, wofjrlb, wof, qsound, wof, cps_state, wof, ROT0, "LB70", "Tenchi wo Kurau II (Revised Version hack by Lb70 2009-03-21)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofjrpbs, wof, qsound, wof, cps_state, wof, ROT0, "Shinwa", "Tenchi wo Kurau II (Revised beta hack by Shinwa)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofjv10s, wof, qsound, wof, cps_state, wof, ROT0, "Shinwa", "Tenchi wo Kurau II (Revised v1.0 hack by Shinwa)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
+GAME( 2009, wofjzcr1, wof, qsound, wof, cps_state, wof, ROT0, "Blackheart", "Tenchi wo Kurau II (Zhao Chain Revised v1.0 hack by Blackheart 2009-12-16)", MACHINE_SUPPORTS_SAVE )
GAME( 2012, wofjzero, wof, qsound, wof, cps_state, wof, ROT0, "Zero", "Tenchi wo Kurau II (Power edition)(Japan 921031)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofmr, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Chinese hack: Mei ren Guan Enhanced)", MACHINE_SUPPORTS_SAVE )
GAME( 1992, wofr1h, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Warriors of Fate (ETC 921002) hack", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofsbl, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Chinese hack: Shen Bing Li Qi Enhanced)", MACHINE_SUPPORTS_SAVE )
GAME( 1992, wofsf2, wof, wofsf2, wof, cps_state, cps1, ROT0, "hack", "Warriors of Fate (conversion for SF2 HW) (ETC 921031)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofsjj, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Chinese hack: Shen Jian + Jian Qi Enhanced)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofsz, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Chinese hack: Shao Zhu Enhanced)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofud, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Warriors of Fate (USA 921031 Phoenix Edition)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofyjs, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Chinese hack: Yu Jian Shu Enhanced)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofyxg, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Chinese hack: Ying Xiong Guan Enhanced)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofzhs, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Chinese hack: Zhao Huan Shou Enhanced)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofzhy, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Chinese hack: Zhao Huan Shou + Yu Jian Shu Enhanced)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofzy2, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Chinese hack: Zhao Yun Lian Ti Enhanced)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofzy3, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Chinese hack: Zhao Yun Sheng Long Enhanced)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, wofzyq, wof, qsound, wof, cps_state, wof, ROT0, "hack", "Tenchi wo Kurau II (Chinese hack: Zhao Yun Bao Li Enhanced)", MACHINE_SUPPORTS_SAVE )
/*************************************************************************************************************************/
@@ -4803,7 +6536,7 @@ GAME( 1992, wofsf2, wof, wofsf2, wof, cps_state, cps1, RO
DRIVER_INIT_MEMBER( cps_state, dinoeh )
{
- machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x800180, 0x800181, write16_delegate(FUNC(cps_state::dinoh_sound_command_w),this));
+ machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x800180, 0x800181, write16_delegate(FUNC(cps_state::dinoh_sound_command_w),this));
kabuki_setup(dino_decode);
DRIVER_INIT_CALL(cps1);
}
@@ -4811,16 +6544,16 @@ DRIVER_INIT_MEMBER( cps_state, dinoeh )
DRIVER_INIT_MEMBER( cps_state, dinoh )
{
/* Patch out Q-Sound test */
- uint16_t *rom = (uint16_t *)memregion("maincpu")->base();
+ uint16_t *rom = (uint16_t *)memregion("maincpu")->base();
rom[0xaacf4/2] = 0x4e71;
DRIVER_INIT_CALL(dinoeh);
}
DRIVER_INIT_MEMBER( cps_state, dinoz )
{
- uint16_t *rom = (uint16_t *)memregion("maincpu")->base();
- rom[0xaaa82/2] = 0x4e71; // Patch out Q-Sound test
- rom[0x1cfb4/2] = 0x4e71; // patch out invalid instruction
+ uint16_t *rom = (uint16_t *)memregion("maincpu")->base();
+ rom[0xaaa82/2] = 0x4e71; // Patch out Q-Sound test
+ rom[0x1cfb4/2] = 0x4e71; // patch out invalid instruction
DRIVER_INIT_CALL(dinoeh);
}
@@ -5121,7 +6854,7 @@ DRIVER_INIT_MEMBER( cps_state, punisherb )
DRIVER_INIT_MEMBER( cps_state, sf2h9 )
{
/* Patch out protection check */
- uint16_t *rom = (uint16_t *)memregion("maincpu")->base();
+ uint16_t *rom = (uint16_t *)memregion("maincpu")->base();
rom[0xc0670/2] = 0x4e71;
DRIVER_INIT_CALL(cps1);
}
diff --git a/docs/release/src/hbmame/drivers/cps2.cpp b/docs/release/src/hbmame/drivers/cps2.cpp
index b61b89a5e85..87cb011a812 100644
--- a/docs/release/src/hbmame/drivers/cps2.cpp
+++ b/docs/release/src/hbmame/drivers/cps2.cpp
@@ -3,7 +3,7 @@
#include "../mame/drivers/cps2.cpp"
ROM_START( 1944da )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "nffu_da.03", 0x000000, 0x80000, CRC(78188e42) SHA1(add31daba3e6916a1facfaf32feeaba228e9a6ab) )
ROM_LOAD16_WORD_SWAP( "nff.04", 0x080000, 0x80000, CRC(dba1c66e) SHA1(4764e77d4da5d19d9acded27df1e1bcba06b0fcf) )
ROM_LOAD16_WORD_SWAP( "nffu.05", 0x100000, 0x80000, CRC(ea813eb7) SHA1(34e0175a5f22d08c3538369b4bfd077a7427a128) )
@@ -31,7 +31,7 @@ ROM_START( 1944da )
ROM_END
ROM_START( 1944fp )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "nffu.03fp", 0x000000, 0x80000, CRC(3239f3a2) SHA1(22f6e5772c3f2f98db79c9ec6809cb0343b7c877) )
ROM_LOAD16_WORD_SWAP( "nff.04fp", 0x080000, 0x80000, CRC(91297ec9) SHA1(3ef111613e758540a3187d972018b100bcb1652a) )
ROM_LOAD16_WORD_SWAP( "nffu.05", 0x100000, 0x80000, CRC(ea813eb7) SHA1(34e0175a5f22d08c3538369b4bfd077a7427a128) )
@@ -60,7 +60,7 @@ ROM_END
ROM_START( ddsomavs )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "ddsomavs.03g", 0x000000, 0x80000, CRC(e28c61f2) SHA1(a15ba7e4d1c6e2e2c047e12edefc6b1564464496) )
ROM_LOAD16_WORD_SWAP( "ddsomavs.04g", 0x080000, 0x80000, CRC(145efa6f) SHA1(2da422bf43c4b4abd20ddcf7b0dd4a37f23d756a) )
ROM_LOAD16_WORD_SWAP( "dd2.05g", 0x100000, 0x80000, CRC(5eb1991c) SHA1(429a60b5396ff4192904867fbe0524268f0edbcb) )
@@ -94,7 +94,7 @@ ROM_START( ddsomavs )
ROM_END
ROM_START( ddsomchs )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "dd2j.03g", 0x000000, 0x80000, CRC(e6c8c985) SHA1(0736a84d7d9d37d51826eac6826a7728260bc625) )
ROM_LOAD16_WORD_SWAP( "dd2j.04g", 0x080000, 0x80000, CRC(8386c0bd) SHA1(59bfc71914ec2bb7d1b9f327b25d2399181d4bb2) )
ROM_LOAD16_WORD_SWAP( "dd2.05g", 0x100000, 0x80000, CRC(5eb1991c) SHA1(429a60b5396ff4192904867fbe0524268f0edbcb) )
@@ -122,7 +122,7 @@ ROM_START( ddsomchs )
ROM_END
ROM_START( ddsomhp )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "ddsomhp.03e", 0x000000, 0x80000, CRC(5a9574e5) SHA1(c810b9bf495d4cd44305e27992848aab207da922) )
ROM_LOAD16_WORD_SWAP( "dd2e.04e", 0x080000, 0x80000, CRC(5b7052b6) SHA1(8a5f069f450da939d0f02518751cd9815d621d81) )
ROM_LOAD16_WORD_SWAP( "ddsomhp.05e", 0x100000, 0x80000, CRC(554e9b24) SHA1(6b78662c0e377f5595cef9d2b49d6af0ece19fd1) )
@@ -156,7 +156,7 @@ ROM_START( ddsomhp )
ROM_END
ROM_START( ddsomjfs )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "ddsomjfs.03g", 0x000000, 0x80000, CRC(cc650f5b) SHA1(b39dd217b8a4cf82f994e1657909ff001fc4721b) )
ROM_LOAD16_WORD_SWAP( "dd2j.04g", 0x080000, 0x80000, CRC(8386c0bd) SHA1(59bfc71914ec2bb7d1b9f327b25d2399181d4bb2) )
ROM_LOAD16_WORD_SWAP( "dd2.05g", 0x100000, 0x80000, CRC(5eb1991c) SHA1(429a60b5396ff4192904867fbe0524268f0edbcb) )
@@ -191,7 +191,7 @@ ROM_END
ROM_START( halfway )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "halfway.03", 0x000000, 0x080000, CRC(55ce8d4a) SHA1(3b7342afbfa1244cb5cbf5be7391d3e1f8231822) )
ROM_LOAD16_WORD_SWAP( "tohell.04", 0x080000, 0x080000, CRC(71060b9e) SHA1(007a174ceca6ae080f19f088bf0fc6cd0fe2510c) )
@@ -215,7 +215,7 @@ ROM_END
ROM_START( mpangjd )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "mpnj_d.03a", 0x000000, 0x80000, CRC(dac63128) SHA1(e5ee8f6d698a28dbf54520473520e40efadf30e3) )
ROM_LOAD16_WORD_SWAP( "mpnj_d.04a", 0x080000, 0x80000, CRC(d0b2592b) SHA1(f18c026776326f9bab70d1a8f66dd5fffb115b1b) )
@@ -243,7 +243,7 @@ ROM_END
ROM_START( mshjphp )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "mshjphp.03", 0x000000, 0x80000, CRC(31ae1efc) SHA1(02d3447edceb07ae4e40b068d8a5637547cbc17e) )
ROM_LOAD16_WORD_SWAP( "mshj.04g", 0x080000, 0x80000, CRC(61d791c6) SHA1(9f883bcc48058a99c4ba653d0855c58c5d081243) )
ROM_LOAD16_WORD_SWAP( "msh.05a", 0x100000, 0x80000, CRC(f37539e6) SHA1(770febc25ca5615b6c2023727edab3c68b15b2c4) )
@@ -276,8 +276,113 @@ ROM_START( mshjphp )
ROM_LOAD( "mshj.key", 0x000000, 0x000014, CRC(888761ac) SHA1(a1c72deedab2bafe5d594bba905a6274575b6e56) )
ROM_END
+// mshvsfj with a rom changed
+ROM_START( mshvsemb )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "mshvsemb.03", 0x000000, 0x80000, CRC(86672cbb) SHA1(7dc683ed8cf5bc205851375deab0438a1105d581) )
+ ROM_LOAD16_WORD_SWAP( "mvsj.04i", 0x080000, 0x80000, CRC(32741ace) SHA1(36db3a3aeaf29369977593c051bf5665cffefb2d) )
+ ROM_LOAD16_WORD_SWAP( "mvs.05h", 0x100000, 0x80000, CRC(77870dc3) SHA1(924a7c82456bb44d7b0be65af11dbe1a2420a3f0) )
+ ROM_LOAD16_WORD_SWAP( "mvs.06a", 0x180000, 0x80000, CRC(959f3030) SHA1(fbbaa915324815246738f3426232e623f039ce26) )
+ ROM_LOAD16_WORD_SWAP( "mvs.07b", 0x200000, 0x80000, CRC(7f915bdb) SHA1(683da09c5ba55e31b59aa95a8e13c45dc574ab3c) )
+ ROM_LOAD16_WORD_SWAP( "mvs.08a", 0x280000, 0x80000, CRC(c2813884) SHA1(49e5d4bc48f90c8146cb6aafb9240aff0119f1a7) )
+ ROM_LOAD16_WORD_SWAP( "mvs.09b", 0x300000, 0x80000, CRC(3ba08818) SHA1(9ab132a3cac55fcccebe6c99b6fb0ba1305f8f6e) )
+ ROM_LOAD16_WORD_SWAP( "mvs.10b", 0x380000, 0x80000, CRC(cf0dba98) SHA1(f4c1f8a6e7a79ecc6241d5268b3039f8a09ea516) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "mvs.13m", 0x0000000, 0x400000, CRC(29b05fd9) SHA1(e8fdb1ee5515a560eb4256ae4fd99bb1192e1a87) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvs.15m", 0x0000002, 0x400000, CRC(faddccf1) SHA1(4ed03ea91883a0413325f57edcc1614120b5922c) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvs.17m", 0x0000004, 0x400000, CRC(97aaf4c7) SHA1(6a054921cc14fe080cb3f62c391f8ae3cc7e8ba9) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvs.19m", 0x0000006, 0x400000, CRC(cb70e915) SHA1(da4d2480d348ac6dfd01256a88f4f3db8357ae46) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvs.14m", 0x1000000, 0x400000, CRC(b3b1972d) SHA1(0f2c3fb7de014181ee481ec35d0578b2c116c2dc) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvs.16m", 0x1000002, 0x400000, CRC(08aadb5d) SHA1(3a2c222eca3e7df80ce69951b3db6442312751a4) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvs.18m", 0x1000004, 0x400000, CRC(c1228b35) SHA1(7afdfb552888c79d0fbb30242b3d917b87fad57a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvs.20m", 0x1000006, 0x400000, CRC(366cc6c2) SHA1(6f2a789087c8e404c5227b927fa8328c03593243) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "mvs.01", 0x00000, 0x08000, CRC(68252324) SHA1(138ef320ef27956b2ab5591d49a1315b7b0a194c) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "mvs.02", 0x28000, 0x20000, CRC(b34e773d) SHA1(3bcf44bf06c35814cff29d244142db7abe05bd39) )
+
+ ROM_REGION( 0x800000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "mvs.11m", 0x000000, 0x400000, CRC(86219770) SHA1(4e5b68d382a5aa37f8b0b6434c53a2b95f5f9a4d) )
+ ROM_LOAD16_WORD_SWAP( "mvs.12m", 0x400000, 0x400000, CRC(f2fd7f68) SHA1(28a30d55d3eaf963006c7cbe7c288099cd3ba536) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "mshvsfj.key", 0x000000, 0x000014, CRC(565eeebb) SHA1(762844b59b2fcf529a26ad3dde8282415db926b3) )
+ROM_END
+
+// mshvsfj with 2 roms changed
+ROM_START( mshvsfjh )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "mshvsfjh.03", 0x000000, 0x80000, CRC(54ecd389) SHA1(be6d34587de852d93d575f7d1e5001e43f4be9e9) )
+ ROM_LOAD16_WORD_SWAP( "mshvsfjh.04", 0x080000, 0x80000, CRC(6031012f) SHA1(8905d52110f5c9da35ce4ec497c48ec73eb35e13) )
+ ROM_LOAD16_WORD_SWAP( "mvs.05h", 0x100000, 0x80000, CRC(77870dc3) SHA1(924a7c82456bb44d7b0be65af11dbe1a2420a3f0) )
+ ROM_LOAD16_WORD_SWAP( "mvs.06a", 0x180000, 0x80000, CRC(959f3030) SHA1(fbbaa915324815246738f3426232e623f039ce26) )
+ ROM_LOAD16_WORD_SWAP( "mvs.07b", 0x200000, 0x80000, CRC(7f915bdb) SHA1(683da09c5ba55e31b59aa95a8e13c45dc574ab3c) )
+ ROM_LOAD16_WORD_SWAP( "mvs.08a", 0x280000, 0x80000, CRC(c2813884) SHA1(49e5d4bc48f90c8146cb6aafb9240aff0119f1a7) )
+ ROM_LOAD16_WORD_SWAP( "mvs.09b", 0x300000, 0x80000, CRC(3ba08818) SHA1(9ab132a3cac55fcccebe6c99b6fb0ba1305f8f6e) )
+ ROM_LOAD16_WORD_SWAP( "mvs.10b", 0x380000, 0x80000, CRC(cf0dba98) SHA1(f4c1f8a6e7a79ecc6241d5268b3039f8a09ea516) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "mvs.13m", 0x0000000, 0x400000, CRC(29b05fd9) SHA1(e8fdb1ee5515a560eb4256ae4fd99bb1192e1a87) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvs.15m", 0x0000002, 0x400000, CRC(faddccf1) SHA1(4ed03ea91883a0413325f57edcc1614120b5922c) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvs.17m", 0x0000004, 0x400000, CRC(97aaf4c7) SHA1(6a054921cc14fe080cb3f62c391f8ae3cc7e8ba9) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvs.19m", 0x0000006, 0x400000, CRC(cb70e915) SHA1(da4d2480d348ac6dfd01256a88f4f3db8357ae46) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvs.14m", 0x1000000, 0x400000, CRC(b3b1972d) SHA1(0f2c3fb7de014181ee481ec35d0578b2c116c2dc) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvs.16m", 0x1000002, 0x400000, CRC(08aadb5d) SHA1(3a2c222eca3e7df80ce69951b3db6442312751a4) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvs.18m", 0x1000004, 0x400000, CRC(c1228b35) SHA1(7afdfb552888c79d0fbb30242b3d917b87fad57a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvs.20m", 0x1000006, 0x400000, CRC(366cc6c2) SHA1(6f2a789087c8e404c5227b927fa8328c03593243) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "mvs.01", 0x00000, 0x08000, CRC(68252324) SHA1(138ef320ef27956b2ab5591d49a1315b7b0a194c) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "mvs.02", 0x28000, 0x20000, CRC(b34e773d) SHA1(3bcf44bf06c35814cff29d244142db7abe05bd39) )
+
+ ROM_REGION( 0x800000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "mvs.11m", 0x000000, 0x400000, CRC(86219770) SHA1(4e5b68d382a5aa37f8b0b6434c53a2b95f5f9a4d) )
+ ROM_LOAD16_WORD_SWAP( "mvs.12m", 0x400000, 0x400000, CRC(f2fd7f68) SHA1(28a30d55d3eaf963006c7cbe7c288099cd3ba536) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "mshvsfj.key", 0x000000, 0x000014, CRC(565eeebb) SHA1(762844b59b2fcf529a26ad3dde8282415db926b3) )
+ROM_END
+
+// mshvsfj with a rom changed
+ROM_START( mshvsfjphp )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "mshvsfjphp.03", 0x000000, 0x80000, CRC(4c50cabc) SHA1(6139e3974d83fb4220aca84fa0ac6adcf23f45a5) )
+ ROM_LOAD16_WORD_SWAP( "mvsj.04i", 0x080000, 0x80000, CRC(32741ace) SHA1(36db3a3aeaf29369977593c051bf5665cffefb2d) )
+ ROM_LOAD16_WORD_SWAP( "mvs.05h", 0x100000, 0x80000, CRC(77870dc3) SHA1(924a7c82456bb44d7b0be65af11dbe1a2420a3f0) )
+ ROM_LOAD16_WORD_SWAP( "mvs.06a", 0x180000, 0x80000, CRC(959f3030) SHA1(fbbaa915324815246738f3426232e623f039ce26) )
+ ROM_LOAD16_WORD_SWAP( "mvs.07b", 0x200000, 0x80000, CRC(7f915bdb) SHA1(683da09c5ba55e31b59aa95a8e13c45dc574ab3c) )
+ ROM_LOAD16_WORD_SWAP( "mvs.08a", 0x280000, 0x80000, CRC(c2813884) SHA1(49e5d4bc48f90c8146cb6aafb9240aff0119f1a7) )
+ ROM_LOAD16_WORD_SWAP( "mvs.09b", 0x300000, 0x80000, CRC(3ba08818) SHA1(9ab132a3cac55fcccebe6c99b6fb0ba1305f8f6e) )
+ ROM_LOAD16_WORD_SWAP( "mvs.10b", 0x380000, 0x80000, CRC(cf0dba98) SHA1(f4c1f8a6e7a79ecc6241d5268b3039f8a09ea516) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "mvs.13m", 0x0000000, 0x400000, CRC(29b05fd9) SHA1(e8fdb1ee5515a560eb4256ae4fd99bb1192e1a87) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvs.15m", 0x0000002, 0x400000, CRC(faddccf1) SHA1(4ed03ea91883a0413325f57edcc1614120b5922c) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvs.17m", 0x0000004, 0x400000, CRC(97aaf4c7) SHA1(6a054921cc14fe080cb3f62c391f8ae3cc7e8ba9) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvs.19m", 0x0000006, 0x400000, CRC(cb70e915) SHA1(da4d2480d348ac6dfd01256a88f4f3db8357ae46) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvs.14m", 0x1000000, 0x400000, CRC(b3b1972d) SHA1(0f2c3fb7de014181ee481ec35d0578b2c116c2dc) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvs.16m", 0x1000002, 0x400000, CRC(08aadb5d) SHA1(3a2c222eca3e7df80ce69951b3db6442312751a4) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvs.18m", 0x1000004, 0x400000, CRC(c1228b35) SHA1(7afdfb552888c79d0fbb30242b3d917b87fad57a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvs.20m", 0x1000006, 0x400000, CRC(366cc6c2) SHA1(6f2a789087c8e404c5227b927fa8328c03593243) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "mvs.01", 0x00000, 0x08000, CRC(68252324) SHA1(138ef320ef27956b2ab5591d49a1315b7b0a194c) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "mvs.02", 0x28000, 0x20000, CRC(b34e773d) SHA1(3bcf44bf06c35814cff29d244142db7abe05bd39) )
+
+ ROM_REGION( 0x800000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "mvs.11m", 0x000000, 0x400000, CRC(86219770) SHA1(4e5b68d382a5aa37f8b0b6434c53a2b95f5f9a4d) )
+ ROM_LOAD16_WORD_SWAP( "mvs.12m", 0x400000, 0x400000, CRC(f2fd7f68) SHA1(28a30d55d3eaf963006c7cbe7c288099cd3ba536) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "mshvsfj.key", 0x000000, 0x000014, CRC(565eeebb) SHA1(762844b59b2fcf529a26ad3dde8282415db926b3) )
+ROM_END
+
ROM_START( mshyh )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "mshe.03e", 0x000000, 0x80000, CRC(bd951414) SHA1(5585bdd1484dc18c7630d689f60d91c068aafc97) )
ROM_LOAD16_WORD_SWAP( "mshyh.04", 0x080000, 0x80000, CRC(adbd5707) SHA1(79d56d5a28328ababec10e080e46d1bfa6d8cab7) )
ROM_LOAD16_WORD_SWAP( "msh.05", 0x100000, 0x80000, CRC(6a091b9e) SHA1(7fa54e69e1a1ca348cb08d892d55023e9a3ff4cb) )
@@ -312,7 +417,7 @@ ROM_END
ROM_START( mvscjemb )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "mvscjemb.03", 0x000000, 0x80000, CRC(8a50f418) SHA1(17db6f6afbe7866a4803bf2a20fb9b01b2b80250) )
ROM_LOAD16_WORD_SWAP( "mvcj.04a", 0x080000, 0x80000, CRC(07d212e8) SHA1(c5420e9bd580910c1f1d0264240aeef20aac30a7) )
ROM_LOAD16_WORD_SWAP( "mvc.05a", 0x100000, 0x80000, CRC(2d8c8e86) SHA1(b07d640a734c5d336054ed05195786224c9a6cd4) )
@@ -346,7 +451,7 @@ ROM_START( mvscjemb )
ROM_END
ROM_START( mvscjphp )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "mvscjphp.03", 0x000000, 0x80000, CRC(8f886e52) SHA1(5fcd465361452b3b163cbd62b6cd73835e2f9f54) )
ROM_LOAD16_WORD_SWAP( "mvcj.04a", 0x080000, 0x80000, CRC(07d212e8) SHA1(c5420e9bd580910c1f1d0264240aeef20aac30a7) )
ROM_LOAD16_WORD_SWAP( "mvc.05a", 0x100000, 0x80000, CRC(2d8c8e86) SHA1(b07d640a734c5d336054ed05195786224c9a6cd4) )
@@ -380,7 +485,7 @@ ROM_START( mvscjphp )
ROM_END
ROM_START( mvscrcp ) // doesn't work
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "mvce.03a", 0x000000, 0x80000, CRC(824e4a90) SHA1(5c79c166d988d8a75d9941f4ee6fa4d6476e55e1) )
ROM_LOAD16_WORD_SWAP( "mvce.04a", 0x080000, 0x80000, CRC(436c5a4e) SHA1(82f4586e888f2550c53bfdc93a53791a595e05bd) )
ROM_LOAD16_WORD_SWAP( "mvc.05a", 0x100000, 0x80000, CRC(2d8c8e86) SHA1(b07d640a734c5d336054ed05195786224c9a6cd4) )
@@ -414,7 +519,7 @@ ROM_START( mvscrcp ) // doesn't work
ROM_END
ROM_START( mvscuh ) // doesn't work
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "mvscuh.03", 0x000000, 0x80000, CRC(95eb2af9) SHA1(b5ba9ced0bb67783a00a07423b8b68bd3b89aaf9) )
ROM_LOAD16_WORD_SWAP( "mvscuh.04", 0x080000, 0x80000, CRC(05e4ba51) SHA1(21e7107d53c2416b215c9ff442a85e98489ac8ba) )
ROM_LOAD16_WORD_SWAP( "mvc.05a", 0x100000, 0x80000, CRC(2d8c8e86) SHA1(b07d640a734c5d336054ed05195786224c9a6cd4) )
@@ -448,7 +553,7 @@ ROM_START( mvscuh ) // doesn't work
ROM_END
ROM_START( pfghtjrm )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "pfghtjrm.03", 0x000000, 0x80000, CRC(5b91a900) SHA1(503fc8b5e687c11bfa5a3b55a7df8b22b8a02103) )
ROM_LOAD16_WORD_SWAP( "pcf.04", 0x080000, 0x80000, CRC(f4314c96) SHA1(c40ed74039bf0096eb3648b7243a8e697638e0a6) )
ROM_LOAD16_WORD_SWAP( "pcf.05", 0x100000, 0x80000, CRC(215655f6) SHA1(242c0f4401520f2a3b0deafc3a807b18b987e496) )
@@ -480,7 +585,7 @@ ROM_END
ROM_START( sfa2h )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "sz2eh.03", 0x000000, 0x80000, CRC(f24e7b3a) SHA1(0cf5169fcf46dcea5a100bf75a5dcd791c51b671) )
ROM_LOAD16_WORD_SWAP( "sz2e.04", 0x080000, 0x80000, CRC(22d17b26) SHA1(2d7a9cedae1bb2b7cfb80d2bfcf24cb7738df0bf) )
ROM_LOAD16_WORD_SWAP( "sz2.05", 0x100000, 0x80000, CRC(4b442a7c) SHA1(a0d7d229cff8efb2a253ff06270258b0b4d2761e) )
@@ -511,8 +616,178 @@ ROM_START( sfa2h )
ROM_LOAD( "sfa2.key", 0x000000, 0x000014, CRC(1578dcb0) SHA1(a8bc83b341f9ea2bcc18861419bd574d159c6fcc) )
ROM_END
+ROM_START( sfa3br )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "sfa3br.03", 0x000000, 0x80000, CRC(b2a99137) SHA1(cba8777cd241e270c19fe375489efc421cc01549) )
+ ROM_LOAD16_WORD_SWAP( "sfa3br.04", 0x080000, 0x80000, CRC(3e5cefe6) SHA1(f889bc9f7212e27d5df50ebda909b60e85dbfe29) )
+ ROM_LOAD16_WORD_SWAP( "sz3.05c", 0x100000, 0x80000, CRC(57fd0a40) SHA1(bc2d5f4d57117bbf58b1adb088e00424ef489e92) )
+ ROM_LOAD16_WORD_SWAP( "sz3.06c", 0x180000, 0x80000, CRC(f6305f8b) SHA1(3fd1ebdbad96103aca604e950b488e52460a71ec) )
+ ROM_LOAD16_WORD_SWAP( "sz3.07c", 0x200000, 0x80000, CRC(6eab0f6f) SHA1(f8d093dda65cf4e8a3000dc1b96355bb03dcb495) )
+ ROM_LOAD16_WORD_SWAP( "sz3.08c", 0x280000, 0x80000, CRC(910c4a3b) SHA1(dbd41280f9b16ad6a5b8f12092549970349395f1) )
+ ROM_LOAD16_WORD_SWAP( "sz3.09c", 0x300000, 0x80000, CRC(b29e5199) SHA1(c6c215eb5aa37f678a9cafcbd8620969fb5ca12f) )
+ ROM_LOAD16_WORD_SWAP( "sz3.10b", 0x380000, 0x80000, CRC(deb2ff52) SHA1(0aa4722aad68a04164946c78bf05752f947b4322) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "sfa3br.13", 0x0000000, 0x400000, CRC(f18ffe2d) SHA1(3b7251f3027461a847749c8238ff9b0a9ab1c405) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfa3br.15", 0x0000002, 0x400000, CRC(3283878c) SHA1(e879ad81be09f73949c188e45506f63a114999c9) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfa3br.17", 0x0000004, 0x400000, CRC(869e0ae2) SHA1(30e018f3b38dbdac6cd1d228865627811886624f) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfa3br.19", 0x0000006, 0x400000, CRC(81e0ebfa) SHA1(449b7afc0c88edbab51b27abef4be5ff3698470c) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.14m", 0x1000000, 0x400000, CRC(5ff98297) SHA1(9e0ce43380b776c7a03872bafd4856f6fa60bda7) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.16m", 0x1000002, 0x400000, CRC(52b5bdee) SHA1(7918204dc457f7a146d8fb8cf7242dfed3109fd8) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.18m", 0x1000004, 0x400000, CRC(40631ed5) SHA1(c18c56822b90a71ca5fbdf3440eb2671011f3d8f) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.20m", 0x1000006, 0x400000, CRC(763409b4) SHA1(af60a5116c1ca9050366a35ea29128921867f3cc) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "sz3.01", 0x00000, 0x08000, CRC(de810084) SHA1(fd0b969b732921ed8b40c16fbfa30ee09c7a7cbd) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "sz3.02", 0x28000, 0x20000, CRC(72445dc4) SHA1(14fca7596ac45ba655016eef5b6120f9f9671c23) )
+
+ ROM_REGION( 0x800000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "sz3.11m", 0x000000, 0x400000, CRC(1c89eed1) SHA1(649a0b0a3eb72e2e69e9fb1ac51a58b70daa39f3) )
+ ROM_LOAD16_WORD_SWAP( "sz3.12m", 0x400000, 0x400000, CRC(f392b13a) SHA1(fa04ce0370144a49bd1d5acd873eef87b0dc9d15) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "sfa3u.key", 0x000000, 0x000014, CRC(4a8f98c1) SHA1(11953de12ed8fbb6f60ad03b1ba5e22a429b7cfa) )
+ROM_END
+
+ROM_START( sfa3dp )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "sfa3dp.03", 0x000000, 0x80000, CRC(9411ced4) SHA1(45c963125242eb78992d7d13c3f773f00115ba97) )
+ ROM_LOAD16_WORD_SWAP( "sfa3dp.04", 0x080000, 0x80000, CRC(01a7b266) SHA1(32bec1fa10641c6c155e71827aaa9853e946f8c6) )
+ ROM_LOAD16_WORD_SWAP( "sz3.05c", 0x100000, 0x80000, CRC(57fd0a40) SHA1(bc2d5f4d57117bbf58b1adb088e00424ef489e92) )
+ ROM_LOAD16_WORD_SWAP( "sz3.06c", 0x180000, 0x80000, CRC(f6305f8b) SHA1(3fd1ebdbad96103aca604e950b488e52460a71ec) )
+ ROM_LOAD16_WORD_SWAP( "sz3.07c", 0x200000, 0x80000, CRC(6eab0f6f) SHA1(f8d093dda65cf4e8a3000dc1b96355bb03dcb495) )
+ ROM_LOAD16_WORD_SWAP( "sz3.08c", 0x280000, 0x80000, CRC(910c4a3b) SHA1(dbd41280f9b16ad6a5b8f12092549970349395f1) )
+ ROM_LOAD16_WORD_SWAP( "sz3.09c", 0x300000, 0x80000, CRC(b29e5199) SHA1(c6c215eb5aa37f678a9cafcbd8620969fb5ca12f) )
+ ROM_LOAD16_WORD_SWAP( "sz3.10b", 0x380000, 0x80000, CRC(deb2ff52) SHA1(0aa4722aad68a04164946c78bf05752f947b4322) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "sz3.13m", 0x0000000, 0x400000, CRC(0f7a60d9) SHA1(c69e0ee22537312909dacc86d2e4be319d54e426) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.15m", 0x0000002, 0x400000, CRC(8e933741) SHA1(f4ac4bfe830dc7df9fe4f680e4e0c053e7cbd8fe) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.17m", 0x0000004, 0x400000, CRC(d6e98147) SHA1(37f331fbb1284db446faecade6f484f58c0e1b2a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.19m", 0x0000006, 0x400000, CRC(f31a728a) SHA1(f14136564648f006c1b74afda78349f260524b5f) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.14m", 0x1000000, 0x400000, CRC(5ff98297) SHA1(9e0ce43380b776c7a03872bafd4856f6fa60bda7) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.16m", 0x1000002, 0x400000, CRC(52b5bdee) SHA1(7918204dc457f7a146d8fb8cf7242dfed3109fd8) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.18m", 0x1000004, 0x400000, CRC(40631ed5) SHA1(c18c56822b90a71ca5fbdf3440eb2671011f3d8f) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.20m", 0x1000006, 0x400000, CRC(763409b4) SHA1(af60a5116c1ca9050366a35ea29128921867f3cc) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "sz3.01", 0x00000, 0x08000, CRC(de810084) SHA1(fd0b969b732921ed8b40c16fbfa30ee09c7a7cbd) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "sz3.02", 0x28000, 0x20000, CRC(72445dc4) SHA1(14fca7596ac45ba655016eef5b6120f9f9671c23) )
+
+ ROM_REGION( 0x800000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "sz3.11m", 0x000000, 0x400000, CRC(1c89eed1) SHA1(649a0b0a3eb72e2e69e9fb1ac51a58b70daa39f3) )
+ ROM_LOAD16_WORD_SWAP( "sz3.12m", 0x400000, 0x400000, CRC(f392b13a) SHA1(fa04ce0370144a49bd1d5acd873eef87b0dc9d15) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "sfa3.key", 0x000000, 0x000014, CRC(54fa39c6) SHA1(a0d2f8e697a7a4201762cb02842581840b2a7f78) )
+ROM_END
+
+ROM_START( sfa3sp2 )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "sfa3sp2.03", 0x000000, 0x80000, CRC(41b961b4) SHA1(e2865fa71b647b4a8a86cc260b13d6f9616859fa) )
+ ROM_LOAD16_WORD_SWAP( "sz3e.04c", 0x080000, 0x80000, CRC(5ad3f721) SHA1(fec11cc5f63593f0181eb28ae85ad916686793eb) )
+ ROM_LOAD16_WORD_SWAP( "sz3.05c", 0x100000, 0x80000, CRC(57fd0a40) SHA1(bc2d5f4d57117bbf58b1adb088e00424ef489e92) )
+ ROM_LOAD16_WORD_SWAP( "sz3.06c", 0x180000, 0x80000, CRC(f6305f8b) SHA1(3fd1ebdbad96103aca604e950b488e52460a71ec) )
+ ROM_LOAD16_WORD_SWAP( "sz3.07c", 0x200000, 0x80000, CRC(6eab0f6f) SHA1(f8d093dda65cf4e8a3000dc1b96355bb03dcb495) )
+ ROM_LOAD16_WORD_SWAP( "sz3.08c", 0x280000, 0x80000, CRC(910c4a3b) SHA1(dbd41280f9b16ad6a5b8f12092549970349395f1) )
+ ROM_LOAD16_WORD_SWAP( "sz3.09c", 0x300000, 0x80000, CRC(b29e5199) SHA1(c6c215eb5aa37f678a9cafcbd8620969fb5ca12f) )
+ ROM_LOAD16_WORD_SWAP( "sz3.10b", 0x380000, 0x80000, CRC(deb2ff52) SHA1(0aa4722aad68a04164946c78bf05752f947b4322) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "sz3.13m", 0x0000000, 0x400000, CRC(0f7a60d9) SHA1(c69e0ee22537312909dacc86d2e4be319d54e426) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.15m", 0x0000002, 0x400000, CRC(8e933741) SHA1(f4ac4bfe830dc7df9fe4f680e4e0c053e7cbd8fe) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.17m", 0x0000004, 0x400000, CRC(d6e98147) SHA1(37f331fbb1284db446faecade6f484f58c0e1b2a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.19m", 0x0000006, 0x400000, CRC(f31a728a) SHA1(f14136564648f006c1b74afda78349f260524b5f) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.14m", 0x1000000, 0x400000, CRC(5ff98297) SHA1(9e0ce43380b776c7a03872bafd4856f6fa60bda7) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.16m", 0x1000002, 0x400000, CRC(52b5bdee) SHA1(7918204dc457f7a146d8fb8cf7242dfed3109fd8) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.18m", 0x1000004, 0x400000, CRC(40631ed5) SHA1(c18c56822b90a71ca5fbdf3440eb2671011f3d8f) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.20m", 0x1000006, 0x400000, CRC(763409b4) SHA1(af60a5116c1ca9050366a35ea29128921867f3cc) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "sz3.01", 0x00000, 0x08000, CRC(de810084) SHA1(fd0b969b732921ed8b40c16fbfa30ee09c7a7cbd) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "sz3.02", 0x28000, 0x20000, CRC(72445dc4) SHA1(14fca7596ac45ba655016eef5b6120f9f9671c23) )
+
+ ROM_REGION( 0x800000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "sz3.11m", 0x000000, 0x400000, CRC(1c89eed1) SHA1(649a0b0a3eb72e2e69e9fb1ac51a58b70daa39f3) )
+ ROM_LOAD16_WORD_SWAP( "sz3.12m", 0x400000, 0x400000, CRC(f392b13a) SHA1(fa04ce0370144a49bd1d5acd873eef87b0dc9d15) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "sfa3.key", 0x000000, 0x000014, CRC(54fa39c6) SHA1(a0d2f8e697a7a4201762cb02842581840b2a7f78) )
+ROM_END
+
+ROM_START( sfa3spp )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "sfa3spp.03", 0x000000, 0x80000, CRC(8267ee23) SHA1(ff86b54bcc7bdfb95bd537a3be2c03093c6865e1) )
+ ROM_LOAD16_WORD_SWAP( "sz3e.04c", 0x080000, 0x80000, CRC(5ad3f721) SHA1(fec11cc5f63593f0181eb28ae85ad916686793eb) )
+ ROM_LOAD16_WORD_SWAP( "sz3.05c", 0x100000, 0x80000, CRC(57fd0a40) SHA1(bc2d5f4d57117bbf58b1adb088e00424ef489e92) )
+ ROM_LOAD16_WORD_SWAP( "sz3.06c", 0x180000, 0x80000, CRC(f6305f8b) SHA1(3fd1ebdbad96103aca604e950b488e52460a71ec) )
+ ROM_LOAD16_WORD_SWAP( "sz3.07c", 0x200000, 0x80000, CRC(6eab0f6f) SHA1(f8d093dda65cf4e8a3000dc1b96355bb03dcb495) )
+ ROM_LOAD16_WORD_SWAP( "sz3.08c", 0x280000, 0x80000, CRC(910c4a3b) SHA1(dbd41280f9b16ad6a5b8f12092549970349395f1) )
+ ROM_LOAD16_WORD_SWAP( "sz3.09c", 0x300000, 0x80000, CRC(b29e5199) SHA1(c6c215eb5aa37f678a9cafcbd8620969fb5ca12f) )
+ ROM_LOAD16_WORD_SWAP( "sz3.10b", 0x380000, 0x80000, CRC(deb2ff52) SHA1(0aa4722aad68a04164946c78bf05752f947b4322) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "sz3.13m", 0x0000000, 0x400000, CRC(0f7a60d9) SHA1(c69e0ee22537312909dacc86d2e4be319d54e426) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.15m", 0x0000002, 0x400000, CRC(8e933741) SHA1(f4ac4bfe830dc7df9fe4f680e4e0c053e7cbd8fe) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.17m", 0x0000004, 0x400000, CRC(d6e98147) SHA1(37f331fbb1284db446faecade6f484f58c0e1b2a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.19m", 0x0000006, 0x400000, CRC(f31a728a) SHA1(f14136564648f006c1b74afda78349f260524b5f) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.14m", 0x1000000, 0x400000, CRC(5ff98297) SHA1(9e0ce43380b776c7a03872bafd4856f6fa60bda7) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.16m", 0x1000002, 0x400000, CRC(52b5bdee) SHA1(7918204dc457f7a146d8fb8cf7242dfed3109fd8) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.18m", 0x1000004, 0x400000, CRC(40631ed5) SHA1(c18c56822b90a71ca5fbdf3440eb2671011f3d8f) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.20m", 0x1000006, 0x400000, CRC(763409b4) SHA1(af60a5116c1ca9050366a35ea29128921867f3cc) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "sz3.01", 0x00000, 0x08000, CRC(de810084) SHA1(fd0b969b732921ed8b40c16fbfa30ee09c7a7cbd) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "sz3.02", 0x28000, 0x20000, CRC(72445dc4) SHA1(14fca7596ac45ba655016eef5b6120f9f9671c23) )
+
+ ROM_REGION( 0x800000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "sz3.11m", 0x000000, 0x400000, CRC(1c89eed1) SHA1(649a0b0a3eb72e2e69e9fb1ac51a58b70daa39f3) )
+ ROM_LOAD16_WORD_SWAP( "sz3.12m", 0x400000, 0x400000, CRC(f392b13a) SHA1(fa04ce0370144a49bd1d5acd873eef87b0dc9d15) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "sfa3.key", 0x000000, 0x000014, CRC(54fa39c6) SHA1(a0d2f8e697a7a4201762cb02842581840b2a7f78) )
+ROM_END
+
+ROM_START( sfa3uhd )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "sfa3uhd.03", 0x000000, 0x80000, CRC(eb1a8aeb) SHA1(fc6ae740eeeeb1c2a0e65b154f81904e59925a50) )
+ ROM_LOAD16_WORD_SWAP( "sz3u.04c", 0x080000, 0x80000, CRC(5f78f0e7) SHA1(f4df30fd3515fe9f1125f470b96028052c61f57b) )
+ ROM_LOAD16_WORD_SWAP( "sz3.05c", 0x100000, 0x80000, CRC(57fd0a40) SHA1(bc2d5f4d57117bbf58b1adb088e00424ef489e92) )
+ ROM_LOAD16_WORD_SWAP( "sz3.06c", 0x180000, 0x80000, CRC(f6305f8b) SHA1(3fd1ebdbad96103aca604e950b488e52460a71ec) )
+ ROM_LOAD16_WORD_SWAP( "sz3.07c", 0x200000, 0x80000, CRC(6eab0f6f) SHA1(f8d093dda65cf4e8a3000dc1b96355bb03dcb495) )
+ ROM_LOAD16_WORD_SWAP( "sz3.08c", 0x280000, 0x80000, CRC(910c4a3b) SHA1(dbd41280f9b16ad6a5b8f12092549970349395f1) )
+ ROM_LOAD16_WORD_SWAP( "sz3.09c", 0x300000, 0x80000, CRC(b29e5199) SHA1(c6c215eb5aa37f678a9cafcbd8620969fb5ca12f) )
+ ROM_LOAD16_WORD_SWAP( "sz3.10b", 0x380000, 0x80000, CRC(deb2ff52) SHA1(0aa4722aad68a04164946c78bf05752f947b4322) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "sz3.13m", 0x0000000, 0x400000, CRC(0f7a60d9) SHA1(c69e0ee22537312909dacc86d2e4be319d54e426) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.15m", 0x0000002, 0x400000, CRC(8e933741) SHA1(f4ac4bfe830dc7df9fe4f680e4e0c053e7cbd8fe) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.17m", 0x0000004, 0x400000, CRC(d6e98147) SHA1(37f331fbb1284db446faecade6f484f58c0e1b2a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.19m", 0x0000006, 0x400000, CRC(f31a728a) SHA1(f14136564648f006c1b74afda78349f260524b5f) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.14m", 0x1000000, 0x400000, CRC(5ff98297) SHA1(9e0ce43380b776c7a03872bafd4856f6fa60bda7) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.16m", 0x1000002, 0x400000, CRC(52b5bdee) SHA1(7918204dc457f7a146d8fb8cf7242dfed3109fd8) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.18m", 0x1000004, 0x400000, CRC(40631ed5) SHA1(c18c56822b90a71ca5fbdf3440eb2671011f3d8f) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.20m", 0x1000006, 0x400000, CRC(763409b4) SHA1(af60a5116c1ca9050366a35ea29128921867f3cc) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "sz3.01", 0x00000, 0x08000, CRC(de810084) SHA1(fd0b969b732921ed8b40c16fbfa30ee09c7a7cbd) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "sz3.02", 0x28000, 0x20000, CRC(72445dc4) SHA1(14fca7596ac45ba655016eef5b6120f9f9671c23) )
+
+ ROM_REGION( 0x800000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "sz3.11m", 0x000000, 0x400000, CRC(1c89eed1) SHA1(649a0b0a3eb72e2e69e9fb1ac51a58b70daa39f3) )
+ ROM_LOAD16_WORD_SWAP( "sz3.12m", 0x400000, 0x400000, CRC(f392b13a) SHA1(fa04ce0370144a49bd1d5acd873eef87b0dc9d15) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "sfa3u.key", 0x000000, 0x000014, CRC(4a8f98c1) SHA1(11953de12ed8fbb6f60ad03b1ba5e22a429b7cfa) )
+ROM_END
+
ROM_START( sfaud )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "sfzu_d.03d", 0x000000, 0x80000, CRC(9f2ff577) SHA1(e78d7e8e0a5703dea09aed2ac4055d45844cead5) )
ROM_LOAD16_WORD_SWAP( "sfz.04b", 0x080000, 0x80000, CRC(8b73b0e5) SHA1(5318761f615c21395366b5333e75eaaa73ef2073) )
ROM_LOAD16_WORD_SWAP( "sfz.05a", 0x100000, 0x80000, CRC(0810544d) SHA1(5f39bda3e7b16508eb58e5a2e0cc58c09cf428ce) )
@@ -540,7 +815,7 @@ ROM_END
ROM_START( sfz2abr )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "szabr.03", 0x000000, 0x80000, CRC(0e8e719b) SHA1(ef013adf386925c68f3d38159adfe447c8f259de) )
ROM_LOAD16_WORD_SWAP( "szabr.04", 0x080000, 0x80000, CRC(bc7271a0) SHA1(601a0e21926a1d9aebebf41e6dc08523b6773338) )
ROM_LOAD16_WORD_SWAP( "szabr.05", 0x100000, 0x80000, CRC(e19eee58) SHA1(f0a2f8606136450c375d9b43f182e4cee2ec1208) )
@@ -571,9 +846,329 @@ ROM_START( sfz2abr )
ROM_LOAD( "sfz2al.key", 0x000000, 0x000014, CRC(2904963e) SHA1(f4fa44646746ab4c6f2e76eaba57a7aee32e2933) )
ROM_END
+ROM_START( sfz2ajhp )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "sfzajhp.03", 0x000000, 0x80000, CRC(b2d81a68) SHA1(f59d1417fed645d1b4edec47195cf2e85d1c4fc4) )
+ ROM_LOAD16_WORD_SWAP( "szaj.04a", 0x080000, 0x80000, CRC(e7ca87c7) SHA1(e44c930b27431dd2b983d93471a440d292e7a8bb) )
+ ROM_LOAD16_WORD_SWAP( "szaj.05a", 0x100000, 0x80000, CRC(c88ebf88) SHA1(e37cf232fc70b9a3254dea99754e288232f04e25) )
+ ROM_LOAD16_WORD_SWAP( "szaj.06a", 0x180000, 0x80000, CRC(35ed5b7a) SHA1(b03cb92f594eb35fa374445f74930e9040a2baff) )
+ ROM_LOAD16_WORD_SWAP( "szaj.07a", 0x200000, 0x80000, CRC(975dcb3e) SHA1(a2ca8e5a768e49cce9e2137ec0dcba9337ed2ad5) )
+ ROM_LOAD16_WORD_SWAP( "szaj.08a", 0x280000, 0x80000, CRC(dc73f2d7) SHA1(09fa10e7d1ff5f0dac87a6cf3d66730e3ab9ad25) )
+
+ ROM_REGION( 0x1400000, "gfx", 0 )
+ ROMX_LOAD( "sza.13m", 0x0000000, 0x400000, CRC(4d1f1f22) SHA1(659fb4305bcf0cbbbbec97ede6e68a8323b13308) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sza.15m", 0x0000002, 0x400000, CRC(19cea680) SHA1(4cb88963a0fbcef191c8419b6379387c01b4c81e) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sza.17m", 0x0000004, 0x400000, CRC(e01b4588) SHA1(c2936608fd75ff6cd5fa94c6d6d6f0c77c44a450) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sza.19m", 0x0000006, 0x400000, CRC(0feeda64) SHA1(f5b350601437bd94b70d97feb23d791df19da6b3) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sza.14m", 0x1000000, 0x100000, CRC(0560c6aa) SHA1(f2bed3a8efef18052b51a7f0f6a888a18db813a1) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sza.16m", 0x1000002, 0x100000, CRC(ae940f87) SHA1(39ee26333abbe302ba76dced0196a2e6b3b1d02a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sza.18m", 0x1000004, 0x100000, CRC(4bc3c8bc) SHA1(6256963c515bf56f39b6e559afefd653ead56c54) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sza.20m", 0x1000006, 0x100000, CRC(39e674c0) SHA1(8e771a2d8c2accad0463bccd21d7b23af0c895a1) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "sza.01", 0x00000, 0x08000, CRC(1bc323cf) SHA1(83fbd6e9b327700dc9f1c59700b7385bc3705749) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "sza.02", 0x28000, 0x20000, CRC(ba6a5013) SHA1(7814f3e56b69529b9860dd61c3b1e8d700244b03) )
+
+ ROM_REGION( 0x400000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "sza.11m", 0x000000, 0x200000, CRC(aa47a601) SHA1(a4d1ee89c84a3b9db06469bb66e85293b5aa9ac9) )
+ ROM_LOAD16_WORD_SWAP( "sza.12m", 0x200000, 0x200000, CRC(2237bc53) SHA1(96d5693047e4cf1ed10a8ee1905cea267a278e92) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "sfz2alj.key", 0x000000, 0x000014, CRC(4c42320f) SHA1(0fabdab677416c5a8060526d997e6f80b26f9bb3) )
+ROM_END
+
+ROM_START( sfz2aldp )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "sfzaldp.03", 0x000000, 0x80000, CRC(d6493cc5) SHA1(b7123783b9f77a0ec2e995b599a96f291b178c95) )
+ ROM_LOAD16_WORD_SWAP( "sfzaldp.04", 0x080000, 0x80000, CRC(a3f56672) SHA1(7351929b857b710a658a0be7c9fb82edca89ddfe) )
+ ROM_LOAD16_WORD_SWAP( "szaj.05a", 0x100000, 0x80000, CRC(c88ebf88) SHA1(e37cf232fc70b9a3254dea99754e288232f04e25) )
+ ROM_LOAD16_WORD_SWAP( "szaj.06a", 0x180000, 0x80000, CRC(35ed5b7a) SHA1(b03cb92f594eb35fa374445f74930e9040a2baff) )
+ ROM_LOAD16_WORD_SWAP( "szaj.07a", 0x200000, 0x80000, CRC(975dcb3e) SHA1(a2ca8e5a768e49cce9e2137ec0dcba9337ed2ad5) )
+ ROM_LOAD16_WORD_SWAP( "szaj.08a", 0x280000, 0x80000, CRC(dc73f2d7) SHA1(09fa10e7d1ff5f0dac87a6cf3d66730e3ab9ad25) )
+
+ ROM_REGION( 0x1400000, "gfx", 0 )
+ ROMX_LOAD( "sza.13m", 0x0000000, 0x400000, CRC(4d1f1f22) SHA1(659fb4305bcf0cbbbbec97ede6e68a8323b13308) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sza.15m", 0x0000002, 0x400000, CRC(19cea680) SHA1(4cb88963a0fbcef191c8419b6379387c01b4c81e) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sza.17m", 0x0000004, 0x400000, CRC(e01b4588) SHA1(c2936608fd75ff6cd5fa94c6d6d6f0c77c44a450) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sza.19m", 0x0000006, 0x400000, CRC(0feeda64) SHA1(f5b350601437bd94b70d97feb23d791df19da6b3) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sza.14m", 0x1000000, 0x100000, CRC(0560c6aa) SHA1(f2bed3a8efef18052b51a7f0f6a888a18db813a1) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sza.16m", 0x1000002, 0x100000, CRC(ae940f87) SHA1(39ee26333abbe302ba76dced0196a2e6b3b1d02a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sza.18m", 0x1000004, 0x100000, CRC(4bc3c8bc) SHA1(6256963c515bf56f39b6e559afefd653ead56c54) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sza.20m", 0x1000006, 0x100000, CRC(39e674c0) SHA1(8e771a2d8c2accad0463bccd21d7b23af0c895a1) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "sza.01", 0x00000, 0x08000, CRC(1bc323cf) SHA1(83fbd6e9b327700dc9f1c59700b7385bc3705749) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "sza.02", 0x28000, 0x20000, CRC(ba6a5013) SHA1(7814f3e56b69529b9860dd61c3b1e8d700244b03) )
+
+ ROM_REGION( 0x400000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "sza.11m", 0x000000, 0x200000, CRC(aa47a601) SHA1(a4d1ee89c84a3b9db06469bb66e85293b5aa9ac9) )
+ ROM_LOAD16_WORD_SWAP( "sza.12m", 0x200000, 0x200000, CRC(2237bc53) SHA1(96d5693047e4cf1ed10a8ee1905cea267a278e92) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "sfz2alj.key", 0x000000, 0x000014, CRC(4c42320f) SHA1(0fabdab677416c5a8060526d997e6f80b26f9bb3) )
+ROM_END
+
+ROM_START( sfz2aldp2 )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "sfzaldp2.03", 0x000000, 0x80000, CRC(67bc6f45) SHA1(d810865d890fc7830078e5dc13002f4447a0b3ea) )
+ ROM_LOAD16_WORD_SWAP( "sfzaldp2.04", 0x080000, 0x80000, CRC(b124800a) SHA1(560e708e1296ac3e7e6b74bee99a152a0d1f6894) )
+ ROM_LOAD16_WORD_SWAP( "szaj.05a", 0x100000, 0x80000, CRC(c88ebf88) SHA1(e37cf232fc70b9a3254dea99754e288232f04e25) )
+ ROM_LOAD16_WORD_SWAP( "szaj.06a", 0x180000, 0x80000, CRC(35ed5b7a) SHA1(b03cb92f594eb35fa374445f74930e9040a2baff) )
+ ROM_LOAD16_WORD_SWAP( "szaj.07a", 0x200000, 0x80000, CRC(975dcb3e) SHA1(a2ca8e5a768e49cce9e2137ec0dcba9337ed2ad5) )
+ ROM_LOAD16_WORD_SWAP( "szaj.08a", 0x280000, 0x80000, CRC(dc73f2d7) SHA1(09fa10e7d1ff5f0dac87a6cf3d66730e3ab9ad25) )
+
+ ROM_REGION( 0x1400000, "gfx", 0 )
+ ROMX_LOAD( "sza.13m", 0x0000000, 0x400000, CRC(4d1f1f22) SHA1(659fb4305bcf0cbbbbec97ede6e68a8323b13308) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sza.15m", 0x0000002, 0x400000, CRC(19cea680) SHA1(4cb88963a0fbcef191c8419b6379387c01b4c81e) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sza.17m", 0x0000004, 0x400000, CRC(e01b4588) SHA1(c2936608fd75ff6cd5fa94c6d6d6f0c77c44a450) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sza.19m", 0x0000006, 0x400000, CRC(0feeda64) SHA1(f5b350601437bd94b70d97feb23d791df19da6b3) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sza.14m", 0x1000000, 0x100000, CRC(0560c6aa) SHA1(f2bed3a8efef18052b51a7f0f6a888a18db813a1) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sza.16m", 0x1000002, 0x100000, CRC(ae940f87) SHA1(39ee26333abbe302ba76dced0196a2e6b3b1d02a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sza.18m", 0x1000004, 0x100000, CRC(4bc3c8bc) SHA1(6256963c515bf56f39b6e559afefd653ead56c54) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sza.20m", 0x1000006, 0x100000, CRC(39e674c0) SHA1(8e771a2d8c2accad0463bccd21d7b23af0c895a1) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "sza.01", 0x00000, 0x08000, CRC(1bc323cf) SHA1(83fbd6e9b327700dc9f1c59700b7385bc3705749) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "sza.02", 0x28000, 0x20000, CRC(ba6a5013) SHA1(7814f3e56b69529b9860dd61c3b1e8d700244b03) )
+
+ ROM_REGION( 0x400000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "sza.11m", 0x000000, 0x200000, CRC(aa47a601) SHA1(a4d1ee89c84a3b9db06469bb66e85293b5aa9ac9) )
+ ROM_LOAD16_WORD_SWAP( "sza.12m", 0x200000, 0x200000, CRC(2237bc53) SHA1(96d5693047e4cf1ed10a8ee1905cea267a278e92) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "sfz2alj.key", 0x000000, 0x000014, CRC(4c42320f) SHA1(0fabdab677416c5a8060526d997e6f80b26f9bb3) )
+ROM_END
+
+ROM_START( sfz2jyh )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "sfz2jyh.03", 0x000000, 0x80000, CRC(4afbba27) SHA1(9bba80417763d3dd9614efc810908ef3d011c49d) )
+ ROM_LOAD16_WORD_SWAP( "sz2j.04a", 0x080000, 0x80000, CRC(ae4851a9) SHA1(4771bc22fe1b376b753a68506c012c52bd4b886d) )
+ ROM_LOAD16_WORD_SWAP( "sz2.05a", 0x100000, 0x80000, CRC(98e8e992) SHA1(41745b63e6b3888081d189b8315ed3b7526b3d20) )
+ ROM_LOAD16_WORD_SWAP( "sz2.06", 0x180000, 0x80000, CRC(5b1d49c0) SHA1(f0a0c894c9cbe2b18e7f59058665949ee0025732) )
+ ROM_LOAD16_WORD_SWAP( "sz2j.07a", 0x200000, 0x80000, CRC(d910b2a2) SHA1(aa201660caa9cef993c147a1077c9e7767b34a78) )
+ ROM_LOAD16_WORD_SWAP( "sz2.08", 0x280000, 0x80000, CRC(0fe8585d) SHA1(0cd5369a5aa90c98d8dc1ff3342cd4d990631cff) )
+
+ ROM_REGION( 0x1400000, "gfx", 0 )
+ ROMX_LOAD( "sz2.13m", 0x0000000, 0x400000, CRC(4d1f1f22) SHA1(659fb4305bcf0cbbbbec97ede6e68a8323b13308) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz2.15m", 0x0000002, 0x400000, CRC(19cea680) SHA1(4cb88963a0fbcef191c8419b6379387c01b4c81e) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz2.17m", 0x0000004, 0x400000, CRC(e01b4588) SHA1(c2936608fd75ff6cd5fa94c6d6d6f0c77c44a450) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz2.19m", 0x0000006, 0x400000, CRC(0feeda64) SHA1(f5b350601437bd94b70d97feb23d791df19da6b3) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz2.14m", 0x1000000, 0x100000, CRC(0560c6aa) SHA1(f2bed3a8efef18052b51a7f0f6a888a18db813a1) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz2.16m", 0x1000002, 0x100000, CRC(ae940f87) SHA1(39ee26333abbe302ba76dced0196a2e6b3b1d02a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz2.18m", 0x1000004, 0x100000, CRC(4bc3c8bc) SHA1(6256963c515bf56f39b6e559afefd653ead56c54) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz2.20m", 0x1000006, 0x100000, CRC(39e674c0) SHA1(8e771a2d8c2accad0463bccd21d7b23af0c895a1) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "sz2.01a", 0x00000, 0x08000, CRC(1bc323cf) SHA1(83fbd6e9b327700dc9f1c59700b7385bc3705749) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "sz2.02a", 0x28000, 0x20000, CRC(ba6a5013) SHA1(7814f3e56b69529b9860dd61c3b1e8d700244b03) )
+
+ ROM_REGION( 0x400000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "sz2.11m", 0x000000, 0x200000, CRC(aa47a601) SHA1(a4d1ee89c84a3b9db06469bb66e85293b5aa9ac9) )
+ ROM_LOAD16_WORD_SWAP( "sz2.12m", 0x200000, 0x200000, CRC(2237bc53) SHA1(96d5693047e4cf1ed10a8ee1905cea267a278e92) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "sfz2j.key", 0x000000, 0x000014, CRC(455bd098) SHA1(6a928a2d44f416ccdb0c09a8dd7466ac12f38110) )
+ROM_END
+
+
+ROM_START( sfz3jb )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "sfz3jb.03", 0x000000, 0x80000, CRC(d7eca311) SHA1(cb2156bb5b545782bf4c0387ba6995136d14452d) )
+ ROM_LOAD16_WORD_SWAP( "sfz3jb.04", 0x080000, 0x80000, CRC(ee836561) SHA1(9b3f6a7a7b11b76e4849698c7ce5f09c23bcdad0) )
+ ROM_LOAD16_WORD_SWAP( "sz3.05c", 0x100000, 0x80000, CRC(57fd0a40) SHA1(bc2d5f4d57117bbf58b1adb088e00424ef489e92) )
+ ROM_LOAD16_WORD_SWAP( "sz3.06c", 0x180000, 0x80000, CRC(f6305f8b) SHA1(3fd1ebdbad96103aca604e950b488e52460a71ec) )
+ ROM_LOAD16_WORD_SWAP( "sz3.07c", 0x200000, 0x80000, CRC(6eab0f6f) SHA1(f8d093dda65cf4e8a3000dc1b96355bb03dcb495) )
+ ROM_LOAD16_WORD_SWAP( "sz3.08c", 0x280000, 0x80000, CRC(910c4a3b) SHA1(dbd41280f9b16ad6a5b8f12092549970349395f1) )
+ ROM_LOAD16_WORD_SWAP( "sz3.09c", 0x300000, 0x80000, CRC(b29e5199) SHA1(c6c215eb5aa37f678a9cafcbd8620969fb5ca12f) )
+ ROM_LOAD16_WORD_SWAP( "sz3.10b", 0x380000, 0x80000, CRC(deb2ff52) SHA1(0aa4722aad68a04164946c78bf05752f947b4322) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "sz3.13m", 0x0000000, 0x400000, CRC(0f7a60d9) SHA1(c69e0ee22537312909dacc86d2e4be319d54e426) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.15m", 0x0000002, 0x400000, CRC(8e933741) SHA1(f4ac4bfe830dc7df9fe4f680e4e0c053e7cbd8fe) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.17m", 0x0000004, 0x400000, CRC(d6e98147) SHA1(37f331fbb1284db446faecade6f484f58c0e1b2a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.19m", 0x0000006, 0x400000, CRC(f31a728a) SHA1(f14136564648f006c1b74afda78349f260524b5f) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.14m", 0x1000000, 0x400000, CRC(5ff98297) SHA1(9e0ce43380b776c7a03872bafd4856f6fa60bda7) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.16m", 0x1000002, 0x400000, CRC(52b5bdee) SHA1(7918204dc457f7a146d8fb8cf7242dfed3109fd8) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.18m", 0x1000004, 0x400000, CRC(40631ed5) SHA1(c18c56822b90a71ca5fbdf3440eb2671011f3d8f) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.20m", 0x1000006, 0x400000, CRC(763409b4) SHA1(af60a5116c1ca9050366a35ea29128921867f3cc) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "sz3.01", 0x00000, 0x08000, CRC(de810084) SHA1(fd0b969b732921ed8b40c16fbfa30ee09c7a7cbd) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "sz3.02", 0x28000, 0x20000, CRC(72445dc4) SHA1(14fca7596ac45ba655016eef5b6120f9f9671c23) )
+
+ ROM_REGION( 0x800000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "sz3.11m", 0x000000, 0x400000, CRC(1c89eed1) SHA1(649a0b0a3eb72e2e69e9fb1ac51a58b70daa39f3) )
+ ROM_LOAD16_WORD_SWAP( "sz3.12m", 0x400000, 0x400000, CRC(f392b13a) SHA1(fa04ce0370144a49bd1d5acd873eef87b0dc9d15) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "sfz3j.key", 0x000000, 0x000014, CRC(d30cca8d) SHA1(b05869902d4d5968d5f79ed6165eb4b78e1ddcdd) )
+ROM_END
+
+ROM_START( sfz3jemb )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "sfz3jemb.03", 0x000000, 0x80000, CRC(1e103c5e) SHA1(2a96b8f62f4dcefadb4485c60e40074a6357a22a) )
+ ROM_LOAD16_WORD_SWAP( "sz3j.04c", 0x080000, 0x80000, CRC(fcb31228) SHA1(093f40083b5a4e4cae433d5856c48014063fe6ad) )
+ ROM_LOAD16_WORD_SWAP( "sz3.05c", 0x100000, 0x80000, CRC(57fd0a40) SHA1(bc2d5f4d57117bbf58b1adb088e00424ef489e92) )
+ ROM_LOAD16_WORD_SWAP( "sz3.06c", 0x180000, 0x80000, CRC(f6305f8b) SHA1(3fd1ebdbad96103aca604e950b488e52460a71ec) )
+ ROM_LOAD16_WORD_SWAP( "sz3.07c", 0x200000, 0x80000, CRC(6eab0f6f) SHA1(f8d093dda65cf4e8a3000dc1b96355bb03dcb495) )
+ ROM_LOAD16_WORD_SWAP( "sz3.08c", 0x280000, 0x80000, CRC(910c4a3b) SHA1(dbd41280f9b16ad6a5b8f12092549970349395f1) )
+ ROM_LOAD16_WORD_SWAP( "sz3.09c", 0x300000, 0x80000, CRC(b29e5199) SHA1(c6c215eb5aa37f678a9cafcbd8620969fb5ca12f) )
+ ROM_LOAD16_WORD_SWAP( "sz3.10b", 0x380000, 0x80000, CRC(deb2ff52) SHA1(0aa4722aad68a04164946c78bf05752f947b4322) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "sz3.13m", 0x0000000, 0x400000, CRC(0f7a60d9) SHA1(c69e0ee22537312909dacc86d2e4be319d54e426) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.15m", 0x0000002, 0x400000, CRC(8e933741) SHA1(f4ac4bfe830dc7df9fe4f680e4e0c053e7cbd8fe) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.17m", 0x0000004, 0x400000, CRC(d6e98147) SHA1(37f331fbb1284db446faecade6f484f58c0e1b2a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.19m", 0x0000006, 0x400000, CRC(f31a728a) SHA1(f14136564648f006c1b74afda78349f260524b5f) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.14m", 0x1000000, 0x400000, CRC(5ff98297) SHA1(9e0ce43380b776c7a03872bafd4856f6fa60bda7) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.16m", 0x1000002, 0x400000, CRC(52b5bdee) SHA1(7918204dc457f7a146d8fb8cf7242dfed3109fd8) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.18m", 0x1000004, 0x400000, CRC(40631ed5) SHA1(c18c56822b90a71ca5fbdf3440eb2671011f3d8f) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.20m", 0x1000006, 0x400000, CRC(763409b4) SHA1(af60a5116c1ca9050366a35ea29128921867f3cc) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "sz3.01", 0x00000, 0x08000, CRC(de810084) SHA1(fd0b969b732921ed8b40c16fbfa30ee09c7a7cbd) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "sz3.02", 0x28000, 0x20000, CRC(72445dc4) SHA1(14fca7596ac45ba655016eef5b6120f9f9671c23) )
+
+ ROM_REGION( 0x800000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "sz3.11m", 0x000000, 0x400000, CRC(1c89eed1) SHA1(649a0b0a3eb72e2e69e9fb1ac51a58b70daa39f3) )
+ ROM_LOAD16_WORD_SWAP( "sz3.12m", 0x400000, 0x400000, CRC(f392b13a) SHA1(fa04ce0370144a49bd1d5acd873eef87b0dc9d15) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "sfz3j.key", 0x000000, 0x000014, CRC(d30cca8d) SHA1(b05869902d4d5968d5f79ed6165eb4b78e1ddcdd) )
+ROM_END
+
+ROM_START( sfz3jhp )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "sfz3jhp.03", 0x000000, 0x80000, CRC(5719fd0c) SHA1(edfdbbc36173a00652ef136005e55171b446b6c2) )
+ ROM_LOAD16_WORD_SWAP( "sz3j.04c", 0x080000, 0x80000, CRC(fcb31228) SHA1(093f40083b5a4e4cae433d5856c48014063fe6ad) )
+ ROM_LOAD16_WORD_SWAP( "sz3.05c", 0x100000, 0x80000, CRC(57fd0a40) SHA1(bc2d5f4d57117bbf58b1adb088e00424ef489e92) )
+ ROM_LOAD16_WORD_SWAP( "sz3.06c", 0x180000, 0x80000, CRC(f6305f8b) SHA1(3fd1ebdbad96103aca604e950b488e52460a71ec) )
+ ROM_LOAD16_WORD_SWAP( "sz3.07c", 0x200000, 0x80000, CRC(6eab0f6f) SHA1(f8d093dda65cf4e8a3000dc1b96355bb03dcb495) )
+ ROM_LOAD16_WORD_SWAP( "sz3.08c", 0x280000, 0x80000, CRC(910c4a3b) SHA1(dbd41280f9b16ad6a5b8f12092549970349395f1) )
+ ROM_LOAD16_WORD_SWAP( "sz3.09c", 0x300000, 0x80000, CRC(b29e5199) SHA1(c6c215eb5aa37f678a9cafcbd8620969fb5ca12f) )
+ ROM_LOAD16_WORD_SWAP( "sz3.10b", 0x380000, 0x80000, CRC(deb2ff52) SHA1(0aa4722aad68a04164946c78bf05752f947b4322) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "sz3.13m", 0x0000000, 0x400000, CRC(0f7a60d9) SHA1(c69e0ee22537312909dacc86d2e4be319d54e426) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.15m", 0x0000002, 0x400000, CRC(8e933741) SHA1(f4ac4bfe830dc7df9fe4f680e4e0c053e7cbd8fe) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.17m", 0x0000004, 0x400000, CRC(d6e98147) SHA1(37f331fbb1284db446faecade6f484f58c0e1b2a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.19m", 0x0000006, 0x400000, CRC(f31a728a) SHA1(f14136564648f006c1b74afda78349f260524b5f) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.14m", 0x1000000, 0x400000, CRC(5ff98297) SHA1(9e0ce43380b776c7a03872bafd4856f6fa60bda7) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.16m", 0x1000002, 0x400000, CRC(52b5bdee) SHA1(7918204dc457f7a146d8fb8cf7242dfed3109fd8) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.18m", 0x1000004, 0x400000, CRC(40631ed5) SHA1(c18c56822b90a71ca5fbdf3440eb2671011f3d8f) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.20m", 0x1000006, 0x400000, CRC(763409b4) SHA1(af60a5116c1ca9050366a35ea29128921867f3cc) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "sz3.01", 0x00000, 0x08000, CRC(de810084) SHA1(fd0b969b732921ed8b40c16fbfa30ee09c7a7cbd) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "sz3.02", 0x28000, 0x20000, CRC(72445dc4) SHA1(14fca7596ac45ba655016eef5b6120f9f9671c23) )
+
+ ROM_REGION( 0x800000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "sz3.11m", 0x000000, 0x400000, CRC(1c89eed1) SHA1(649a0b0a3eb72e2e69e9fb1ac51a58b70daa39f3) )
+ ROM_LOAD16_WORD_SWAP( "sz3.12m", 0x400000, 0x400000, CRC(f392b13a) SHA1(fa04ce0370144a49bd1d5acd873eef87b0dc9d15) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "sfz3j.key", 0x000000, 0x000014, CRC(d30cca8d) SHA1(b05869902d4d5968d5f79ed6165eb4b78e1ddcdd) )
+ROM_END
+
+ROM_START( sfz3jsep )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "sfz3jsep.03", 0x000000, 0x80000, CRC(248da619) SHA1(54155279822dc8f754d753c696eeec1fd0e90c18) )
+ ROM_LOAD16_WORD_SWAP( "sz3j.04c", 0x080000, 0x80000, CRC(fcb31228) SHA1(093f40083b5a4e4cae433d5856c48014063fe6ad) )
+ ROM_LOAD16_WORD_SWAP( "sz3.05c", 0x100000, 0x80000, CRC(57fd0a40) SHA1(bc2d5f4d57117bbf58b1adb088e00424ef489e92) )
+ ROM_LOAD16_WORD_SWAP( "sz3.06c", 0x180000, 0x80000, CRC(f6305f8b) SHA1(3fd1ebdbad96103aca604e950b488e52460a71ec) )
+ ROM_LOAD16_WORD_SWAP( "sz3.07c", 0x200000, 0x80000, CRC(6eab0f6f) SHA1(f8d093dda65cf4e8a3000dc1b96355bb03dcb495) )
+ ROM_LOAD16_WORD_SWAP( "sz3.08c", 0x280000, 0x80000, CRC(910c4a3b) SHA1(dbd41280f9b16ad6a5b8f12092549970349395f1) )
+ ROM_LOAD16_WORD_SWAP( "sz3.09c", 0x300000, 0x80000, CRC(b29e5199) SHA1(c6c215eb5aa37f678a9cafcbd8620969fb5ca12f) )
+ ROM_LOAD16_WORD_SWAP( "sz3.10b", 0x380000, 0x80000, CRC(deb2ff52) SHA1(0aa4722aad68a04164946c78bf05752f947b4322) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "sz3.13m", 0x0000000, 0x400000, CRC(0f7a60d9) SHA1(c69e0ee22537312909dacc86d2e4be319d54e426) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.15m", 0x0000002, 0x400000, CRC(8e933741) SHA1(f4ac4bfe830dc7df9fe4f680e4e0c053e7cbd8fe) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.17m", 0x0000004, 0x400000, CRC(d6e98147) SHA1(37f331fbb1284db446faecade6f484f58c0e1b2a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.19m", 0x0000006, 0x400000, CRC(f31a728a) SHA1(f14136564648f006c1b74afda78349f260524b5f) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.14m", 0x1000000, 0x400000, CRC(5ff98297) SHA1(9e0ce43380b776c7a03872bafd4856f6fa60bda7) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.16m", 0x1000002, 0x400000, CRC(52b5bdee) SHA1(7918204dc457f7a146d8fb8cf7242dfed3109fd8) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.18m", 0x1000004, 0x400000, CRC(40631ed5) SHA1(c18c56822b90a71ca5fbdf3440eb2671011f3d8f) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sz3.20m", 0x1000006, 0x400000, CRC(763409b4) SHA1(af60a5116c1ca9050366a35ea29128921867f3cc) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "sz3.01", 0x00000, 0x08000, CRC(de810084) SHA1(fd0b969b732921ed8b40c16fbfa30ee09c7a7cbd) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "sz3.02", 0x28000, 0x20000, CRC(72445dc4) SHA1(14fca7596ac45ba655016eef5b6120f9f9671c23) )
+
+ ROM_REGION( 0x800000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "sz3.11m", 0x000000, 0x400000, CRC(1c89eed1) SHA1(649a0b0a3eb72e2e69e9fb1ac51a58b70daa39f3) )
+ ROM_LOAD16_WORD_SWAP( "sz3.12m", 0x400000, 0x400000, CRC(f392b13a) SHA1(fa04ce0370144a49bd1d5acd873eef87b0dc9d15) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "sfz3j.key", 0x000000, 0x000014, CRC(d30cca8d) SHA1(b05869902d4d5968d5f79ed6165eb4b78e1ddcdd) )
+ROM_END
+
+
+ROM_START( sfzjboss )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "sfzjboss.03", 0x000000, 0x80000, CRC(0a2e2f39) SHA1(654e05c1598ec932de03fd1ff8b9fa66ec4ceb60) )
+ ROM_LOAD16_WORD_SWAP( "sfz.04b", 0x080000, 0x80000, CRC(8b73b0e5) SHA1(5318761f615c21395366b5333e75eaaa73ef2073) )
+ ROM_LOAD16_WORD_SWAP( "sfz.05a", 0x100000, 0x80000, CRC(0810544d) SHA1(5f39bda3e7b16508eb58e5a2e0cc58c09cf428ce) )
+ ROM_LOAD16_WORD_SWAP( "sfzjboss.06", 0x180000, 0x80000, CRC(b6c4fec7) SHA1(602c9acb8034219334df05ff4d5dc67514823182) )
+
+ ROM_REGION( 0x1000000, "gfx", 0 )
+ ROM_FILL( 0x000000, 0x800000, 0x00 )
+ ROMX_LOAD( "sfz.14m", 0x800000, 0x200000, CRC(90fefdb3) SHA1(5eb28c8de57acfeaefebdd01509c7d9ba5244705) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfz.16m", 0x800002, 0x200000, CRC(5354c948) SHA1(07588f1ba6addc04fef3274c971174aaf3e632ab) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfz.18m", 0x800004, 0x200000, CRC(41a1e790) SHA1(ce25dad542308691dbe9606b26279bbd59ea4b81) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfz.20m", 0x800006, 0x200000, CRC(a549df98) SHA1(f054e95df650a891ef56da8bfb31cb2c945a9aed) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "sfz.01", 0x00000, 0x08000, CRC(ffffec7d) SHA1(75b4aef001b72a0f571b51b2b97803facc1832dd) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "sfz.02", 0x28000, 0x20000, CRC(45f46a08) SHA1(e32dbd27b52ab708278045b5a829376e55a4ca81) )
+
+ ROM_REGION( 0x400000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "sfz.11m", 0x000000, 0x200000, CRC(c4b093cd) SHA1(256526bb693a0b72443f047e060304c9b739acd1) )
+ ROM_LOAD16_WORD_SWAP( "sfz.12m", 0x200000, 0x200000, CRC(8bdbc4b4) SHA1(0e21c9a75a17a7e7dfd8bb51098c2b9dc4c933ec) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "sfzj.key", 0x000000, 0x000014, CRC(355d85b8) SHA1(5da2c407852ce7b28153f3f94de8328802ff2f2d) )
+ROM_END
+
+ROM_START( sfzjyh )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "sfzjyh.03", 0x000000, 0x80000, CRC(6b0366bf) SHA1(6138f48027beaba73cc744ffc75589fe26ec1339) )
+ ROM_LOAD16_WORD_SWAP( "sfz.04b", 0x080000, 0x80000, CRC(8b73b0e5) SHA1(5318761f615c21395366b5333e75eaaa73ef2073) )
+ ROM_LOAD16_WORD_SWAP( "sfz.05a", 0x100000, 0x80000, CRC(0810544d) SHA1(5f39bda3e7b16508eb58e5a2e0cc58c09cf428ce) )
+ ROM_LOAD16_WORD_SWAP( "sfzjyh.06", 0x180000, 0x80000, CRC(e7bb5d20) SHA1(0f2e4516ba93f02e6869b182d225718e845d1093) )
+
+ ROM_REGION( 0x1000000, "gfx", 0 )
+ ROM_FILL( 0x000000, 0x800000, 0x00 )
+ ROMX_LOAD( "sfz.14m", 0x800000, 0x200000, CRC(90fefdb3) SHA1(5eb28c8de57acfeaefebdd01509c7d9ba5244705) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfz.16m", 0x800002, 0x200000, CRC(5354c948) SHA1(07588f1ba6addc04fef3274c971174aaf3e632ab) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfz.18m", 0x800004, 0x200000, CRC(41a1e790) SHA1(ce25dad542308691dbe9606b26279bbd59ea4b81) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfz.20m", 0x800006, 0x200000, CRC(a549df98) SHA1(f054e95df650a891ef56da8bfb31cb2c945a9aed) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "sfz.01", 0x00000, 0x08000, CRC(ffffec7d) SHA1(75b4aef001b72a0f571b51b2b97803facc1832dd) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "sfz.02", 0x28000, 0x20000, CRC(45f46a08) SHA1(e32dbd27b52ab708278045b5a829376e55a4ca81) )
+
+ ROM_REGION( 0x400000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "sfz.11m", 0x000000, 0x200000, CRC(c4b093cd) SHA1(256526bb693a0b72443f047e060304c9b739acd1) )
+ ROM_LOAD16_WORD_SWAP( "sfz.12m", 0x200000, 0x200000, CRC(8bdbc4b4) SHA1(0e21c9a75a17a7e7dfd8bb51098c2b9dc4c933ec) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "sfzj.key", 0x000000, 0x000014, CRC(355d85b8) SHA1(5da2c407852ce7b28153f3f94de8328802ff2f2d) )
+ROM_END
+
ROM_START( sgemfch )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "pcfu.03", 0x000000, 0x80000, CRC(ac2e8566) SHA1(5975aae46bded231c0f478f40c7257434ade36b0) )
ROM_LOAD16_WORD_SWAP( "pcf.04", 0x080000, 0x80000, CRC(f4314c96) SHA1(c40ed74039bf0096eb3648b7243a8e697638e0a6) )
ROM_LOAD16_WORD_SWAP( "pcf.05", 0x100000, 0x80000, CRC(215655f6) SHA1(242c0f4401520f2a3b0deafc3a807b18b987e496) )
@@ -605,7 +1200,7 @@ ROM_END
ROM_START( spf2tb )
- ROM_REGION(CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION(CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "pzfu_boss.03a", 0x000000, 0x80000, CRC(ca1f3e42) SHA1(784214517f3ac3f5f727a18f50992d4fa3417726) )
ROM_LOAD16_WORD_SWAP( "pzf.04", 0x080000, 0x80000, CRC(b80649e2) SHA1(5bfccd656aea7ff82e9a20bb5856f4ab99b5a007) )
@@ -631,7 +1226,7 @@ ROM_END
ROM_START( ssf2r1d )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "ssfud.03a", 0x000000, 0x80000, CRC(fad5daf8) SHA1(5bed5d5af8dffc54d3b3371274a3905f46384f79) )
ROM_LOAD16_WORD_SWAP( "ssfud.04a", 0x080000, 0x80000, CRC(0d31af65) SHA1(7e903e18cb899627fedd8ad92594b75b5d8ee8fd) )
ROM_LOAD16_WORD_SWAP( "ssfud.05", 0x100000, 0x80000, CRC(75c651ef) SHA1(8c6f60d3cf10d802190438c403a719bc30ccbeaa) )
@@ -667,7 +1262,7 @@ ROM_START( ssf2r1d )
ROM_END
ROM_START( ssf2td )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "sfxe_d.03c", 0x000000, 0x80000, CRC(ed99d850) SHA1(d2dcb8395d630fcd1776fd32a9c685646e1f18be) )
ROM_LOAD16_WORD_SWAP( "sfxe_d.04a", 0x080000, 0x80000, CRC(38d9b364) SHA1(814e67441a9d92ed89edf20dacb17a0f100020e3) )
ROM_LOAD16_WORD_SWAP( "sfxe_d.05", 0x100000, 0x80000, CRC(c63358d0) SHA1(dde4d9e9adce4dee02322c0fd71615eed0af62e6) )
@@ -703,6 +1298,264 @@ ROM_START( ssf2td )
ROM_LOAD( "phoenix.key", 0x000000, 0x000014, CRC(2cf772b0) SHA1(eff33c65a4f3862c231f9e4d6fefa7b34398dbf2) )
ROM_END
+ROM_START( ssf2tfp )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "ssf2tfp.03", 0x000000, 0x80000, CRC(8f7d4954) SHA1(ace9981370b8f6df3186c9d9a1d3a614cc519af1) )
+ ROM_LOAD16_WORD_SWAP( "sfxe.04a", 0x080000, 0x80000, CRC(d0bc29c6) SHA1(d9f89bcd79cba26db2100a00dd7bd8ee6ecb75f3) )
+ ROM_LOAD16_WORD_SWAP( "sfxe.05", 0x100000, 0x80000, CRC(65222964) SHA1(025bb708dc5b6365cc7fe60fc3f242511ad8f384) )
+ ROM_LOAD16_WORD_SWAP( "sfxe.06a", 0x180000, 0x80000, CRC(8fe9f531) SHA1(b5d9ed498f730fdb968992bdec33605db1a007f4) )
+ ROM_LOAD16_WORD_SWAP( "sfxe.07", 0x200000, 0x80000, CRC(8a7d0cb6) SHA1(27ea0cea73a93c27257bf2a170d1deaf938cc311) )
+ ROM_LOAD16_WORD_SWAP( "sfxe.08", 0x280000, 0x80000, CRC(74c24062) SHA1(f3eca09e0544c6aa46b0c4bead2246ab1e9a97d9) )
+ ROM_LOAD16_WORD_SWAP( "sfx.09", 0x300000, 0x80000, CRC(642fae3f) SHA1(746df99b826b9837bba267104132161153c1daff) )
+
+ ROM_REGION( 0x1000000, "gfx", 0 )
+ ROMX_LOAD( "sfx.13m", 0x000000, 0x200000, CRC(cf94d275) SHA1(bf2a6d98a656d1cb5734da7836686242d3211137) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.15m", 0x000002, 0x200000, CRC(5eb703af) SHA1(4b302dbb66e8a5c2ad92798699391e981bada427) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.17m", 0x000004, 0x200000, CRC(ffa60e0f) SHA1(b21b1c749a8241440879bf8e7cb33968ccef97e5) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.19m", 0x000006, 0x200000, CRC(34e825c5) SHA1(4d320fc96d1ef0b9928a8ce801734245a4c097a5) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.14m", 0x800000, 0x100000, CRC(b7cc32e7) SHA1(0f4d26af338dab5dce5b7b34d32ad0c573434ace) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.16m", 0x800002, 0x100000, CRC(8376ad18) SHA1(f4456833fb396e6501f4174c0fe5fd63ea40a188) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.18m", 0x800004, 0x100000, CRC(f5b1b336) SHA1(4b060501e56b9d61294748da5387cdae5280ec4d) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.20m", 0x800006, 0x100000, CRC(459d5c6b) SHA1(32b11ba7a12004aff810d719bff7508204c7b7c0) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.21m", 0xc00000, 0x100000, CRC(e32854af) SHA1(1a5e11e9caa2b96108d89ae660ef1f6bcb469a74) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.23m", 0xc00002, 0x100000, CRC(760f2927) SHA1(491e28e14ee06821fc9e709efa7b91313bc0c2db) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.25m", 0xc00004, 0x100000, CRC(1ee90208) SHA1(83df1d9953560edddc2951ea426d29fb014e6a8a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.27m", 0xc00006, 0x100000, CRC(f814400f) SHA1(ad6921af36d0bd5dfb89b1fb53c3ca3fd92d7204) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "sfx.01", 0x00000, 0x08000, CRC(b47b8835) SHA1(c8b2d50fe3a329bd0592ea160d505155d873dab1) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "sfx.02", 0x28000, 0x20000, CRC(0022633f) SHA1(cab3afc79da53e3887eb1ccd1f4d19790728e6cd) )
+
+ ROM_REGION( 0x400000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "sfx.11m", 0x000000, 0x200000, CRC(9bdbd476) SHA1(a8520f77f30b97aae36408e0c4ca1ebbde1808a5) )
+ ROM_LOAD16_WORD_SWAP( "sfx.12m", 0x200000, 0x200000, CRC(a05e3aab) SHA1(d4eb9cae66c74e956569fea8b815156fbd420f83) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "ssf2t.key", 0x000000, 0x000014, CRC(524d608e) SHA1(fcd2b9a1a640a0dee4a674dc9cfb3975466f7757) )
+ROM_END
+
+ROM_START( ssf2tfr )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "ssf2tfr.03", 0x000000, 0x80000, CRC(c8c491d1) SHA1(5e12ccd36c8cd086d3d628e7f121aefcbc17340e) )
+ ROM_LOAD16_WORD_SWAP( "ssf2tfr.04", 0x080000, 0x80000, CRC(b018ceea) SHA1(75fa14f93c82ade94713556cffcfd17dfcef3e35) )
+ ROM_LOAD16_WORD_SWAP( "sfxe.05", 0x100000, 0x80000, CRC(65222964) SHA1(025bb708dc5b6365cc7fe60fc3f242511ad8f384) )
+ ROM_LOAD16_WORD_SWAP( "sfxe.06a", 0x180000, 0x80000, CRC(8fe9f531) SHA1(b5d9ed498f730fdb968992bdec33605db1a007f4) )
+ ROM_LOAD16_WORD_SWAP( "sfxe.07", 0x200000, 0x80000, CRC(8a7d0cb6) SHA1(27ea0cea73a93c27257bf2a170d1deaf938cc311) )
+ ROM_LOAD16_WORD_SWAP( "sfxe.08", 0x280000, 0x80000, CRC(74c24062) SHA1(f3eca09e0544c6aa46b0c4bead2246ab1e9a97d9) )
+ ROM_LOAD16_WORD_SWAP( "sfx.09", 0x300000, 0x80000, CRC(642fae3f) SHA1(746df99b826b9837bba267104132161153c1daff) )
+
+ ROM_REGION( 0x1000000, "gfx", 0 )
+ ROMX_LOAD( "sfx.13m", 0x000000, 0x200000, CRC(cf94d275) SHA1(bf2a6d98a656d1cb5734da7836686242d3211137) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.15m", 0x000002, 0x200000, CRC(5eb703af) SHA1(4b302dbb66e8a5c2ad92798699391e981bada427) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.17m", 0x000004, 0x200000, CRC(ffa60e0f) SHA1(b21b1c749a8241440879bf8e7cb33968ccef97e5) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.19m", 0x000006, 0x200000, CRC(34e825c5) SHA1(4d320fc96d1ef0b9928a8ce801734245a4c097a5) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.14m", 0x800000, 0x100000, CRC(b7cc32e7) SHA1(0f4d26af338dab5dce5b7b34d32ad0c573434ace) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.16m", 0x800002, 0x100000, CRC(8376ad18) SHA1(f4456833fb396e6501f4174c0fe5fd63ea40a188) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.18m", 0x800004, 0x100000, CRC(f5b1b336) SHA1(4b060501e56b9d61294748da5387cdae5280ec4d) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.20m", 0x800006, 0x100000, CRC(459d5c6b) SHA1(32b11ba7a12004aff810d719bff7508204c7b7c0) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.21m", 0xc00000, 0x100000, CRC(e32854af) SHA1(1a5e11e9caa2b96108d89ae660ef1f6bcb469a74) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.23m", 0xc00002, 0x100000, CRC(760f2927) SHA1(491e28e14ee06821fc9e709efa7b91313bc0c2db) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.25m", 0xc00004, 0x100000, CRC(1ee90208) SHA1(83df1d9953560edddc2951ea426d29fb014e6a8a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.27m", 0xc00006, 0x100000, CRC(f814400f) SHA1(ad6921af36d0bd5dfb89b1fb53c3ca3fd92d7204) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "sfx.01", 0x00000, 0x08000, CRC(b47b8835) SHA1(c8b2d50fe3a329bd0592ea160d505155d873dab1) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "sfx.02", 0x28000, 0x20000, CRC(0022633f) SHA1(cab3afc79da53e3887eb1ccd1f4d19790728e6cd) )
+
+ ROM_REGION( 0x400000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "sfx.11m", 0x000000, 0x200000, CRC(9bdbd476) SHA1(a8520f77f30b97aae36408e0c4ca1ebbde1808a5) )
+ ROM_LOAD16_WORD_SWAP( "sfx.12m", 0x200000, 0x200000, CRC(a05e3aab) SHA1(d4eb9cae66c74e956569fea8b815156fbd420f83) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "ssf2t.key", 0x000000, 0x000014, CRC(524d608e) SHA1(fcd2b9a1a640a0dee4a674dc9cfb3975466f7757) )
+ROM_END
+
+ROM_START( ssf2tpls )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "ssf2tpls.03", 0x000000, 0x80000, CRC(abd7a3e0) SHA1(088166ab28e7a3abf90720c1c6108ff8946b6f7b) )
+ ROM_LOAD16_WORD_SWAP( "ssf2tpls.04", 0x080000, 0x80000, CRC(94a4434b) SHA1(1729bed0121995ddffc21b3d3841f6eaddab8064) )
+ ROM_LOAD16_WORD_SWAP( "sfxe.05", 0x100000, 0x80000, CRC(65222964) SHA1(025bb708dc5b6365cc7fe60fc3f242511ad8f384) )
+ ROM_LOAD16_WORD_SWAP( "sfxe.06a", 0x180000, 0x80000, CRC(8fe9f531) SHA1(b5d9ed498f730fdb968992bdec33605db1a007f4) )
+ ROM_LOAD16_WORD_SWAP( "sfxe.07", 0x200000, 0x80000, CRC(8a7d0cb6) SHA1(27ea0cea73a93c27257bf2a170d1deaf938cc311) )
+ ROM_LOAD16_WORD_SWAP( "sfxe.08", 0x280000, 0x80000, CRC(74c24062) SHA1(f3eca09e0544c6aa46b0c4bead2246ab1e9a97d9) )
+ ROM_LOAD16_WORD_SWAP( "sfx.09", 0x300000, 0x80000, CRC(642fae3f) SHA1(746df99b826b9837bba267104132161153c1daff) )
+
+ ROM_REGION( 0x1000000, "gfx", 0 )
+ ROMX_LOAD( "sfx.13m", 0x000000, 0x200000, CRC(cf94d275) SHA1(bf2a6d98a656d1cb5734da7836686242d3211137) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.15m", 0x000002, 0x200000, CRC(5eb703af) SHA1(4b302dbb66e8a5c2ad92798699391e981bada427) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.17m", 0x000004, 0x200000, CRC(ffa60e0f) SHA1(b21b1c749a8241440879bf8e7cb33968ccef97e5) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.19m", 0x000006, 0x200000, CRC(34e825c5) SHA1(4d320fc96d1ef0b9928a8ce801734245a4c097a5) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.14m", 0x800000, 0x100000, CRC(b7cc32e7) SHA1(0f4d26af338dab5dce5b7b34d32ad0c573434ace) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.16m", 0x800002, 0x100000, CRC(8376ad18) SHA1(f4456833fb396e6501f4174c0fe5fd63ea40a188) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.18m", 0x800004, 0x100000, CRC(f5b1b336) SHA1(4b060501e56b9d61294748da5387cdae5280ec4d) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.20m", 0x800006, 0x100000, CRC(459d5c6b) SHA1(32b11ba7a12004aff810d719bff7508204c7b7c0) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.21m", 0xc00000, 0x100000, CRC(e32854af) SHA1(1a5e11e9caa2b96108d89ae660ef1f6bcb469a74) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.23m", 0xc00002, 0x100000, CRC(760f2927) SHA1(491e28e14ee06821fc9e709efa7b91313bc0c2db) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.25m", 0xc00004, 0x100000, CRC(1ee90208) SHA1(83df1d9953560edddc2951ea426d29fb014e6a8a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.27m", 0xc00006, 0x100000, CRC(f814400f) SHA1(ad6921af36d0bd5dfb89b1fb53c3ca3fd92d7204) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "sfx.01", 0x00000, 0x08000, CRC(b47b8835) SHA1(c8b2d50fe3a329bd0592ea160d505155d873dab1) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "sfx.02", 0x28000, 0x20000, CRC(0022633f) SHA1(cab3afc79da53e3887eb1ccd1f4d19790728e6cd) )
+
+ ROM_REGION( 0x400000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "sfx.11m", 0x000000, 0x200000, CRC(9bdbd476) SHA1(a8520f77f30b97aae36408e0c4ca1ebbde1808a5) )
+ ROM_LOAD16_WORD_SWAP( "sfx.12m", 0x200000, 0x200000, CRC(a05e3aab) SHA1(d4eb9cae66c74e956569fea8b815156fbd420f83) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "ssf2t.key", 0x000000, 0x000014, CRC(524d608e) SHA1(fcd2b9a1a640a0dee4a674dc9cfb3975466f7757) )
+ROM_END
+
+ROM_START( ssf2xjhy )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "ssf2xjhy.03", 0x000000, 0x80000, CRC(62b59bf0) SHA1(b8ef9a39dd594f243dab3b440c871730356403c8) )
+ ROM_LOAD16_WORD_SWAP( "sfxj.04a", 0x080000, 0x80000, CRC(af7767b4) SHA1(61e7364408bf07c01634913c112b6245acce48ab) )
+ ROM_LOAD16_WORD_SWAP( "sfxj.05", 0x100000, 0x80000, CRC(f4ff18f5) SHA1(aa713c9e1a2eba35bf1c9b40bb262ff7e46b9ce4) )
+ ROM_LOAD16_WORD_SWAP( "sfxj.06a", 0x180000, 0x80000, CRC(260d0370) SHA1(5339cf87000caef74d491815391be59cfd701c8b) )
+ ROM_LOAD16_WORD_SWAP( "sfxj.07", 0x200000, 0x80000, CRC(1324d02a) SHA1(c23a6ea09819bd33b6e2f58aa28c317ce53a46a0) )
+ ROM_LOAD16_WORD_SWAP( "sfxj.08", 0x280000, 0x80000, CRC(2de76f10) SHA1(8cbe96dfeaa41306caa2819b82272ce3b0b9f926) )
+ ROM_LOAD16_WORD_SWAP( "sfx.09", 0x300000, 0x80000, CRC(642fae3f) SHA1(746df99b826b9837bba267104132161153c1daff) )
+
+ ROM_REGION( 0x1000000, "gfx", 0 )
+ ROMX_LOAD( "sfx.13m", 0x000000, 0x200000, CRC(cf94d275) SHA1(bf2a6d98a656d1cb5734da7836686242d3211137) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.15m", 0x000002, 0x200000, CRC(5eb703af) SHA1(4b302dbb66e8a5c2ad92798699391e981bada427) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.17m", 0x000004, 0x200000, CRC(ffa60e0f) SHA1(b21b1c749a8241440879bf8e7cb33968ccef97e5) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.19m", 0x000006, 0x200000, CRC(34e825c5) SHA1(4d320fc96d1ef0b9928a8ce801734245a4c097a5) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.14m", 0x800000, 0x100000, CRC(b7cc32e7) SHA1(0f4d26af338dab5dce5b7b34d32ad0c573434ace) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.16m", 0x800002, 0x100000, CRC(8376ad18) SHA1(f4456833fb396e6501f4174c0fe5fd63ea40a188) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.18m", 0x800004, 0x100000, CRC(f5b1b336) SHA1(4b060501e56b9d61294748da5387cdae5280ec4d) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.20m", 0x800006, 0x100000, CRC(459d5c6b) SHA1(32b11ba7a12004aff810d719bff7508204c7b7c0) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.21m", 0xc00000, 0x100000, CRC(e32854af) SHA1(1a5e11e9caa2b96108d89ae660ef1f6bcb469a74) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.23m", 0xc00002, 0x100000, CRC(760f2927) SHA1(491e28e14ee06821fc9e709efa7b91313bc0c2db) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.25m", 0xc00004, 0x100000, CRC(1ee90208) SHA1(83df1d9953560edddc2951ea426d29fb014e6a8a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.27m", 0xc00006, 0x100000, CRC(f814400f) SHA1(ad6921af36d0bd5dfb89b1fb53c3ca3fd92d7204) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "sfx.01", 0x00000, 0x08000, CRC(b47b8835) SHA1(c8b2d50fe3a329bd0592ea160d505155d873dab1) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "sfx.02", 0x28000, 0x20000, CRC(0022633f) SHA1(cab3afc79da53e3887eb1ccd1f4d19790728e6cd) )
+
+ ROM_REGION( 0x400000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "sfx.11m", 0x000000, 0x200000, CRC(9bdbd476) SHA1(a8520f77f30b97aae36408e0c4ca1ebbde1808a5) )
+ ROM_LOAD16_WORD_SWAP( "sfx.12m", 0x200000, 0x200000, CRC(a05e3aab) SHA1(d4eb9cae66c74e956569fea8b815156fbd420f83) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "ssf2xj.key", 0x000000, 0x000014, CRC(160d1424) SHA1(187baff83b54acfdcedd9b9222a4cc768040c622) )
+ROM_END
+
+ROM_START( ssf2xjjs )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "ssf2xjjs.03", 0x000000, 0x80000, CRC(183e95df) SHA1(009bfc636f67481ae0147a96e9a9b8eaa6137e52) )
+ ROM_LOAD16_WORD_SWAP( "ssf2xjjs.04", 0x080000, 0x80000, CRC(6ce1a901) SHA1(dd8d82b744bb40d1c07ad8feabfc02c62cd868aa) )
+ ROM_LOAD16_WORD_SWAP( "sfxj.05", 0x100000, 0x80000, CRC(f4ff18f5) SHA1(aa713c9e1a2eba35bf1c9b40bb262ff7e46b9ce4) )
+ ROM_LOAD16_WORD_SWAP( "sfxj.06a", 0x180000, 0x80000, CRC(260d0370) SHA1(5339cf87000caef74d491815391be59cfd701c8b) )
+ ROM_LOAD16_WORD_SWAP( "sfxj.07", 0x200000, 0x80000, CRC(1324d02a) SHA1(c23a6ea09819bd33b6e2f58aa28c317ce53a46a0) )
+ ROM_LOAD16_WORD_SWAP( "sfxj.08", 0x280000, 0x80000, CRC(2de76f10) SHA1(8cbe96dfeaa41306caa2819b82272ce3b0b9f926) )
+ ROM_LOAD16_WORD_SWAP( "sfx.09", 0x300000, 0x80000, CRC(642fae3f) SHA1(746df99b826b9837bba267104132161153c1daff) )
+
+ ROM_REGION( 0x1000000, "gfx", 0 )
+ ROMX_LOAD( "sfx.13m", 0x000000, 0x200000, CRC(cf94d275) SHA1(bf2a6d98a656d1cb5734da7836686242d3211137) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.15m", 0x000002, 0x200000, CRC(5eb703af) SHA1(4b302dbb66e8a5c2ad92798699391e981bada427) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.17m", 0x000004, 0x200000, CRC(ffa60e0f) SHA1(b21b1c749a8241440879bf8e7cb33968ccef97e5) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.19m", 0x000006, 0x200000, CRC(34e825c5) SHA1(4d320fc96d1ef0b9928a8ce801734245a4c097a5) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.14m", 0x800000, 0x100000, CRC(b7cc32e7) SHA1(0f4d26af338dab5dce5b7b34d32ad0c573434ace) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.16m", 0x800002, 0x100000, CRC(8376ad18) SHA1(f4456833fb396e6501f4174c0fe5fd63ea40a188) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.18m", 0x800004, 0x100000, CRC(f5b1b336) SHA1(4b060501e56b9d61294748da5387cdae5280ec4d) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.20m", 0x800006, 0x100000, CRC(459d5c6b) SHA1(32b11ba7a12004aff810d719bff7508204c7b7c0) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.21m", 0xc00000, 0x100000, CRC(e32854af) SHA1(1a5e11e9caa2b96108d89ae660ef1f6bcb469a74) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.23m", 0xc00002, 0x100000, CRC(760f2927) SHA1(491e28e14ee06821fc9e709efa7b91313bc0c2db) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.25m", 0xc00004, 0x100000, CRC(1ee90208) SHA1(83df1d9953560edddc2951ea426d29fb014e6a8a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.27m", 0xc00006, 0x100000, CRC(f814400f) SHA1(ad6921af36d0bd5dfb89b1fb53c3ca3fd92d7204) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "sfx.01", 0x00000, 0x08000, CRC(b47b8835) SHA1(c8b2d50fe3a329bd0592ea160d505155d873dab1) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "sfx.02", 0x28000, 0x20000, CRC(0022633f) SHA1(cab3afc79da53e3887eb1ccd1f4d19790728e6cd) )
+
+ ROM_REGION( 0x400000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "sfx.11m", 0x000000, 0x200000, CRC(9bdbd476) SHA1(a8520f77f30b97aae36408e0c4ca1ebbde1808a5) )
+ ROM_LOAD16_WORD_SWAP( "sfx.12m", 0x200000, 0x200000, CRC(a05e3aab) SHA1(d4eb9cae66c74e956569fea8b815156fbd420f83) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "ssf2xj.key", 0x000000, 0x000014, CRC(160d1424) SHA1(187baff83b54acfdcedd9b9222a4cc768040c622) )
+ROM_END
+
+ROM_START( ssf2xjnc )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "ssf2xjnc.03", 0x000000, 0x80000, CRC(c0b5e5b8) SHA1(8cedb674aac5918dbb38d2efa4036ea602b92f8a) )
+ ROM_LOAD16_WORD_SWAP( "ssf2xjnc.04", 0x080000, 0x80000, CRC(4e17998f) SHA1(24b10b541191dfd522f024259d530451785abc2d) )
+ ROM_LOAD16_WORD_SWAP( "sfxj.05", 0x100000, 0x80000, CRC(f4ff18f5) SHA1(aa713c9e1a2eba35bf1c9b40bb262ff7e46b9ce4) )
+ ROM_LOAD16_WORD_SWAP( "sfxj.06a", 0x180000, 0x80000, CRC(260d0370) SHA1(5339cf87000caef74d491815391be59cfd701c8b) )
+ ROM_LOAD16_WORD_SWAP( "sfxj.07", 0x200000, 0x80000, CRC(1324d02a) SHA1(c23a6ea09819bd33b6e2f58aa28c317ce53a46a0) )
+ ROM_LOAD16_WORD_SWAP( "ssf2xjnc.08", 0x280000, 0x80000, CRC(6745612c) SHA1(d21b010d25d19b1c31b7f02d85978cd4a4444d60) )
+ ROM_LOAD16_WORD_SWAP( "sfx.09", 0x300000, 0x80000, CRC(642fae3f) SHA1(746df99b826b9837bba267104132161153c1daff) )
+
+ ROM_REGION( 0x1000000, "gfx", 0 )
+ ROMX_LOAD( "sfx.13m", 0x000000, 0x200000, CRC(cf94d275) SHA1(bf2a6d98a656d1cb5734da7836686242d3211137) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.15m", 0x000002, 0x200000, CRC(5eb703af) SHA1(4b302dbb66e8a5c2ad92798699391e981bada427) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.17m", 0x000004, 0x200000, CRC(ffa60e0f) SHA1(b21b1c749a8241440879bf8e7cb33968ccef97e5) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.19m", 0x000006, 0x200000, CRC(34e825c5) SHA1(4d320fc96d1ef0b9928a8ce801734245a4c097a5) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.14m", 0x800000, 0x100000, CRC(b7cc32e7) SHA1(0f4d26af338dab5dce5b7b34d32ad0c573434ace) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.16m", 0x800002, 0x100000, CRC(8376ad18) SHA1(f4456833fb396e6501f4174c0fe5fd63ea40a188) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.18m", 0x800004, 0x100000, CRC(f5b1b336) SHA1(4b060501e56b9d61294748da5387cdae5280ec4d) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.20m", 0x800006, 0x100000, CRC(459d5c6b) SHA1(32b11ba7a12004aff810d719bff7508204c7b7c0) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.21m", 0xc00000, 0x100000, CRC(e32854af) SHA1(1a5e11e9caa2b96108d89ae660ef1f6bcb469a74) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.23m", 0xc00002, 0x100000, CRC(760f2927) SHA1(491e28e14ee06821fc9e709efa7b91313bc0c2db) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.25m", 0xc00004, 0x100000, CRC(1ee90208) SHA1(83df1d9953560edddc2951ea426d29fb014e6a8a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "sfx.27m", 0xc00006, 0x100000, CRC(f814400f) SHA1(ad6921af36d0bd5dfb89b1fb53c3ca3fd92d7204) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "sfx.01", 0x00000, 0x08000, CRC(b47b8835) SHA1(c8b2d50fe3a329bd0592ea160d505155d873dab1) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "sfx.02", 0x28000, 0x20000, CRC(0022633f) SHA1(cab3afc79da53e3887eb1ccd1f4d19790728e6cd) )
+
+ ROM_REGION( 0x400000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "sfx.11m", 0x000000, 0x200000, CRC(9bdbd476) SHA1(a8520f77f30b97aae36408e0c4ca1ebbde1808a5) )
+ ROM_LOAD16_WORD_SWAP( "sfx.12m", 0x200000, 0x200000, CRC(a05e3aab) SHA1(d4eb9cae66c74e956569fea8b815156fbd420f83) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "ssf2xj.key", 0x000000, 0x000014, CRC(160d1424) SHA1(187baff83b54acfdcedd9b9222a4cc768040c622) )
+ROM_END
+
+ROM_START( ssf2zhp )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "ssf2zhp.03", 0x000000, 0x80000, CRC(e7dcfc8d) SHA1(7a6e703a5cfd9fbdceab84e5f5e0d443e6c95dcc) )
+ ROM_LOAD16_WORD_SWAP( "ssfe.04", 0x080000, 0x80000, CRC(b082aa67) SHA1(ca26b4bb1947cb30eaf6b61f606b859d18da4c4c) )
+ ROM_LOAD16_WORD_SWAP( "ssfe.05", 0x100000, 0x80000, CRC(02b9c137) SHA1(ba624441e1b4bfb67c71f6a116fe43539eaa4a15) )
+ ROM_LOAD16_WORD_SWAP( "ssfe.06", 0x180000, 0x80000, CRC(70d470c5) SHA1(ba03c8f4c76f72f4483e91547e03d1a0cf6db485) )
+ ROM_LOAD16_WORD_SWAP( "ssfe.07", 0x200000, 0x80000, CRC(2409001d) SHA1(f532ebb2efbb8f8ba311d10ff897490352c87f97) )
+
+ ROM_REGION( 0xc00000, "gfx", 0 )
+ ROMX_LOAD( "ssf.13m", 0x000000, 0x200000, CRC(cf94d275) SHA1(bf2a6d98a656d1cb5734da7836686242d3211137) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "ssf.15m", 0x000002, 0x200000, CRC(5eb703af) SHA1(4b302dbb66e8a5c2ad92798699391e981bada427) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "ssf.17m", 0x000004, 0x200000, CRC(ffa60e0f) SHA1(b21b1c749a8241440879bf8e7cb33968ccef97e5) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "ssf.19m", 0x000006, 0x200000, CRC(34e825c5) SHA1(4d320fc96d1ef0b9928a8ce801734245a4c097a5) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "ssf.14m", 0x800000, 0x100000, CRC(b7cc32e7) SHA1(0f4d26af338dab5dce5b7b34d32ad0c573434ace) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "ssf.16m", 0x800002, 0x100000, CRC(8376ad18) SHA1(f4456833fb396e6501f4174c0fe5fd63ea40a188) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "ssf.18m", 0x800004, 0x100000, CRC(f5b1b336) SHA1(4b060501e56b9d61294748da5387cdae5280ec4d) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "ssf.20m", 0x800006, 0x100000, CRC(459d5c6b) SHA1(32b11ba7a12004aff810d719bff7508204c7b7c0) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "ssf.01", 0x00000, 0x08000, CRC(eb247e8c) SHA1(24296c18d9b1136d69712bf1c9d9d15463041e83) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+
+ ROM_REGION( 0x400000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD( "ssf.q01", 0x000000, 0x080000, CRC(a6f9da5c) SHA1(6d19f83a01bd25b838d5c2871f7964529d926c98) )
+ ROM_LOAD( "ssf.q02", 0x080000, 0x080000, CRC(8c66ae26) SHA1(32a82aee6ed4480e5a990f9af161734c7c0a1403) )
+ ROM_LOAD( "ssf.q03", 0x100000, 0x080000, CRC(695cc2ca) SHA1(c2675f0233608b76de528d2a6ef19846d1348060) )
+ ROM_LOAD( "ssf.q04", 0x180000, 0x080000, CRC(9d9ebe32) SHA1(9b26329370041374f1a90b479a172d2bc2801c4d) )
+ ROM_LOAD( "ssf.q05", 0x200000, 0x080000, CRC(4770e7b7) SHA1(0e764f0befb9227b0b36508d8ca8ec9be31bcb05) )
+ ROM_LOAD( "ssf.q06", 0x280000, 0x080000, CRC(4e79c951) SHA1(1144781d7dc57ef8a6458d982f5c91548ff59e27) )
+ ROM_LOAD( "ssf.q07", 0x300000, 0x080000, CRC(cdd14313) SHA1(ebe767a9d4b51dba4282fa0a36a546a88620dd59) )
+ ROM_LOAD( "ssf.q08", 0x380000, 0x080000, CRC(6f5a088c) SHA1(6c0b4690479647a99d76335f174be8455b4ff118) )
+
+ ROM_REGION( 0x20, "key", 0 )
+ ROM_LOAD( "ssf2.key", 0x000000, 0x000014, CRC(e469ccbb) SHA1(43d49107e96a4a14f1f25931ad3ae6065958150e) )
+ROM_END
+
ROM_START( suicide )
ROM_REGION(CODE_SIZE, "maincpu", 0 )
@@ -754,7 +1607,7 @@ ROM_END
ROM_START( vampjb )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "vampjb.03a", 0x000000, 0x80000, CRC(55c1be82) SHA1(948e1e322945adc775da8b22165697b5c7999b1b) )
ROM_LOAD16_WORD_SWAP( "vampjb.04b", 0x080000, 0x80000, CRC(9c12017e) SHA1(0800802748ce61b01a18c06b61fcb8fd7bb34f62) )
ROM_LOAD16_WORD_SWAP( "vamj.05a", 0x100000, 0x80000, CRC(6c497e92) SHA1(7c1ccdfd77fb50afe024c8402376daaeab641a24) )
@@ -789,7 +1642,7 @@ ROM_END
ROM_START( vsav2emb )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "vsav2emb.03", 0x000000, 0x80000, CRC(31676894) SHA1(0cb25d691213accb43e81f284d29812de893b296) )
ROM_LOAD16_WORD_SWAP( "vs2j.04", 0x080000, 0x80000, CRC(107c091b) SHA1(bf5c2e4339e1a66b3c819900cc9b723a537adf6b) )
ROM_LOAD16_WORD_SWAP( "vs2j.05", 0x100000, 0x80000, CRC(61979638) SHA1(4d5625a9a06926c1a42c8f6e3a4c943f17750ec2) )
@@ -824,7 +1677,7 @@ ROM_END
ROM_START( xmcotajb )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "xmcotajb.03", 0x000000, 0x80000, CRC(bd2f0b84) SHA1(2b5c6deb2bb7e10a142a490781231d2ccfceee1c) )
ROM_LOAD16_WORD_SWAP( "xmnj.04b", 0x080000, 0x80000, CRC(54b3fba3) SHA1(47eaff5d36a45e4196f87ed3d02e54d5407e7962) ) // used in xmcotaj2
ROM_LOAD16_WORD_SWAP( "xmn.05", 0x100000, 0x80000, CRC(c3ed62a2) SHA1(4e3317d7ca981e33318822103a16e59f4ce20deb) )
@@ -858,7 +1711,7 @@ ROM_START( xmcotajb )
ROM_END
ROM_START( xmcotajphp )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "xmcotajphp.03", 0x000000, 0x80000, CRC(654c6b83) SHA1(b61d8891edb105ad72a76ee0c1018bc5edc64b6c) )
ROM_LOAD16_WORD_SWAP( "xmnj.04d", 0x080000, 0x80000, CRC(38eed613) SHA1(86ecb58bf03adda705a39a9779862fe2c85cadad) )
ROM_LOAD16_WORD_SWAP( "xmn.05", 0x100000, 0x80000, CRC(c3ed62a2) SHA1(4e3317d7ca981e33318822103a16e59f4ce20deb) )
@@ -893,7 +1746,7 @@ ROM_END
ROM_START( xmvsfjphp )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "xmvsfjphp.03", 0x000000, 0x80000, CRC(1d46fdba) SHA1(fceec89ca0fa163b0edc8e055a6c7198f3520851) )
ROM_LOAD16_WORD_SWAP( "xvsj.04", 0x080000, 0x80000, CRC(70a59b35) SHA1(786d9b243373024735848f785503c6aa883b1c2f) )
ROM_LOAD16_WORD_SWAP( "xvs.05a", 0x100000, 0x80000, CRC(7db6025d) SHA1(2d74f48f83f45359bfaca28ab686625766af12ee) )
@@ -926,7 +1779,7 @@ ROM_START( xmvsfjphp )
ROM_END
ROM_START( xmvsfrm )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "xmvsfrm.03", 0x000000, 0x80000, CRC(be94fd2b) SHA1(f668d8fe1932434dfb9aec865a79ddac6c6496ef) )
ROM_LOAD16_WORD_SWAP( "xvse.04d", 0x080000, 0x80000, CRC(5eb9c02e) SHA1(25a392913213b98ce1bbd463bf5e5e10729bde0c) )
ROM_LOAD16_WORD_SWAP( "xvs.05a", 0x100000, 0x80000, CRC(7db6025d) SHA1(2d74f48f83f45359bfaca28ab686625766af12ee) )
@@ -959,7 +1812,7 @@ ROM_START( xmvsfrm )
ROM_END
ROM_START( xmvsfryh )
- ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "xmvsfryh.03", 0x000000, 0x80000, CRC(ed7c235a) SHA1(c49bfeef0351165ee30c8433feb026acebd7a36a) )
ROM_LOAD16_WORD_SWAP( "xmvsfryh.04", 0x080000, 0x80000, CRC(3a527f69) SHA1(72312d4aeaac07c4b4f91a0301948faf2f17d74d) )
ROM_LOAD16_WORD_SWAP( "xvs.05a", 0x100000, 0x80000, CRC(7db6025d) SHA1(2d74f48f83f45359bfaca28ab686625766af12ee) )
@@ -1008,13 +1861,38 @@ GAME( 2009, mvscjemb, mvsc, cps2, cps2_2p6b, cps_state, cps2, ROT0, "
GAME( 1998, mvscjphp, mvsc, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Pipi899", "Marvel Vs. Capcom: Clash of Super Heroes (Power hack by Pipi899)", MACHINE_SUPPORTS_SAVE )
GAME( 2016, mvscrcp, mvsc, cps2, cps2_2p6b, cps_state, cps2, ROT0, "CPS-2 Evolved", "Marvel Vs. Capcom RCP", MACHINE_SUPPORTS_SAVE )
GAME( 1998, mvscuh, mvsc, cps2, cps2_2p6b, cps_state, cps2, ROT0, "EGCG", "Marvel Vs. Capcom: Clash of Super Heroes (ExChar hack (EGCG))", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, mshvsemb, mshvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Blackheart", "Marvel Super Heroes Vs. Street Fighter (Easy Moves hack by Blackheart 2009-04-23)", MACHINE_SUPPORTS_SAVE )
+GAME( 1997, mshvsfjh, mshvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Yumeji", "Marvel Super Heroes Vs. Street Fighter (Boss hack by Yumeji)", MACHINE_SUPPORTS_SAVE )
+GAME( 1997, mshvsfjphp, mshvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Pipi899", "Marvel Super Heroes Vs. Street Fighter (Power hack by Pipi899)", MACHINE_SUPPORTS_SAVE )
GAME( 2009, pfghtjrm, sgemf, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Blackheart", "Pocket Fighter (Easy Moves hack by Blackheart 2009-04-20)", MACHINE_SUPPORTS_SAVE )
GAME( 1996, sfa2h, sfa2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Pipi899", "Street Fighter Alpha 2 (Euro 960229) Boss Hack", MACHINE_SUPPORTS_SAVE )
+GAME( 2005, sfa3br, sfa3, cps2, cps2_2p6bt,cps_state, cps2, ROT0, "Neogeo BR team", "Street Fighter Alpha 3 (Brasil 050513)", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, sfa3dp, sfa3, cps2, cps2_2p6bt,cps_state, cps2, ROT0, "Pipi899", "Street Fighter Alpha 3 (Dragon Edition hack by Pipi899 2009-05-10)", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, sfa3sp2, sfa3, cps2, cps2_2p6bt,cps_state, cps2, ROT0, "Pipi899", "Street Fighter Alpha 3 (Boss Special Fix hack by Pipi899 2009-09-27)", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, sfa3spp, sfa3, cps2, cps2_2p6bt,cps_state, cps2, ROT0, "Pipi899", "Street Fighter Alpha 3 (Boss Special hack by Pipi899 2009-07-03)", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, sfa3uhd, sfa3, cps2, cps2_2p6bt,cps_state, cps2, ROT0, "Dodowang", "Street Fighter Alpha 3 (Revision hack by Dodowang (ECGC))", MACHINE_SUPPORTS_SAVE )
GAME( 1995, sfaud, sfa, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "Razoola", "Street Fighter Alpha: Warriors' Dreams (USA 950727 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE )
GAME( 1996, sfz2abr, sfa2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Neogeo BR team", "Street Fighter Zero 2 Alpha (Brasil 061225)", MACHINE_SUPPORTS_SAVE ) // portuguese-brazilian hack fix
+GAME( 2008, sfz2ajhp, sfz2al, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Pipi899", "Street Fighter Zero 2 Alpha (Enhanced Dan Version hack by Pipi899 2008-12-11)", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, sfz2aldp, sfz2al, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Pipi899", "Street Fighter Zero 2 Alpha (Dragon Edition v1.0 hack by Pipi899 2009-03-17)", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, sfz2aldp2, sfz2al, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Pipi899", "Street Fighter Zero 2 Alpha (Dragon Edition v2.0 hack by Pipi899 2009-04-24)", MACHINE_SUPPORTS_SAVE )
+GAME( 1996, sfz2jyh, sfa2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Yumeji", "Street Fighter Zero 2 (Boss hack by Yumeji)", MACHINE_SUPPORTS_SAVE )
+GAME( 1998, sfz3jb, sfa3, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Yumeji", "Street Fighter Zero 3 (Boss hack by Yumeji)", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, sfz3jemb, sfa3, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Blacheart", "Street Fighter Zero 3 (Easy Moves hack by Blackheart 2009-05-01)", MACHINE_SUPPORTS_SAVE )
+GAME( 1998, sfz3jhp, sfa3, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Pipi899", "Street Fighter Zero 3 (Hack by Pipi899)", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, sfz3jsep, sfa3, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Pipi899", "Street Fighter Zero 3 (Shin Edition hack by Pipi899 2009-01-01)", MACHINE_SUPPORTS_SAVE )
+GAME( 1995, sfzjboss, sfa, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Yumeji", "Street Fighter Zero (Boss hack set 2 by Yumeji)", MACHINE_SUPPORTS_SAVE )
+GAME( 1995, sfzjyh, sfa, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Yumeji", "Street Fighter Zero (Boss hack set 1 by Yumeji)", MACHINE_SUPPORTS_SAVE )
GAME( 1997, sgemfch, sgemf, cps2, cps2_2p3b, cps_state, cps2, ROT0, "hack", "Super Gem Fighter Mini Mix (Color remix)", MACHINE_SUPPORTS_SAVE )
GAME( 1993, ssf2r1d, ssf2, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "Razoola", "Super Street Fighter II: The New Challengers (ETC 930911 Phoenix Edition)", MACHINE_SUPPORTS_SAVE )
-GAME( 1994, ssf2td, ssf2t, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "Eazoola", "Super Street Fighter II Turbo (World 940223 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1994, ssf2td, ssf2t, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "Razoola", "Super Street Fighter II Turbo (World 940223 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1994, ssf2tfp, ssf2t, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Cigarette Patch", "Super Street Fighter II Turbo (French Parody by Cigarette Patch)", MACHINE_SUPPORTS_SAVE )
+GAME( 1994, ssf2tfr, ssf2t, cps2, cps2_2p6b, cps_state, cps2, ROT0, "NEOARC", "Super Street Fighter II Turbo (French by NEOARC Team)", MACHINE_SUPPORTS_SAVE )
+GAME( 1994, ssf2tpls, ssf2t, cps2, cps2_2p6b, cps_state, cps2, ROT0, "KrysoFun", "Super Street Fighter II Turbo (Plus v0.9 beta KrysoFun hack)", MACHINE_SUPPORTS_SAVE )
+GAME( 1994, ssf2xjhy, ssf2t, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Yumeji", "Super Street Fighter II X: Grand Master Challenge (Gouki Edition hack by Yumeji)", MACHINE_SUPPORTS_SAVE )
+GAME( 1994, ssf2xjjs, ssf2t, cps2, cps2_2p6b, cps_state, cps2, ROT0, "FGCH", "Super Street Fighter II X: Grand Master Challenge (Original Color FGCH hack)", MACHINE_SUPPORTS_SAVE )
+GAME( 1994, ssf2xjnc, ssf2t, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Shiro", "Super Street Fighter II X: Grand Master Challenge (Nude hack by Shiro)", MACHINE_SUPPORTS_SAVE )
+GAME( 1994, ssf2zhp, ssf2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Pipi899", "Super Street Fighter II (Easy Move Zangief Edition hack by Pipi899 2009-01-05)", MACHINE_SUPPORTS_SAVE )
GAME( 1996, spf2tb, spf2t, cps2, cps2_2p2b, cps_state, cps2, ROT0, "hack", "Super Puzzle Fighter II Turbo Boss Hack (USA 960620)", MACHINE_SUPPORTS_SAVE )
GAME( 1996, suicide, 0, dead_cps2, cps2_2p2b, cps_state, cps2, ROT0, "Razoola", "Suicide Test", MACHINE_SUPPORTS_SAVE )
GAME( 2015, suicide2, suicide, dead_cps2, cps2_2p2b, cps_state, cps2, ROT0, "Razoola", "Suicide Test v2", MACHINE_SUPPORTS_SAVE )
diff --git a/docs/release/src/hbmame/drivers/fcrash.cpp b/docs/release/src/hbmame/drivers/fcrash.cpp
index 955c17f621a..90642c4072b 100644
--- a/docs/release/src/hbmame/drivers/fcrash.cpp
+++ b/docs/release/src/hbmame/drivers/fcrash.cpp
@@ -493,7 +493,8 @@ void cps_state::fcrash_render_sprites( screen_device &screen, bitmap_ind16 &bitm
int num_sprites = m_gfxdecode->gfx(2)->elements();
int last_sprite_offset = 0x1ffc;
uint16_t *sprite_ram = m_gfxram;
- uint16_t tileno,flipx,flipy,colour,xpos,ypos;
+ uint16_t tileno,colour,xpos,ypos;
+ bool flipx, flipy;
/* if we have separate sprite ram, use it */
if (m_bootleg_sprite_ram) sprite_ram = m_bootleg_sprite_ram.get();
@@ -511,13 +512,16 @@ void cps_state::fcrash_render_sprites( screen_device &screen, bitmap_ind16 &bitm
if (tileno >= num_sprites) continue; /* don't render anything outside our tiles */
xpos = sprite_ram[base + pos + 2] & 0x1ff;
ypos = sprite_ram[base + pos - 1] & 0x1ff;
- flipx = sprite_ram[base + pos + 1] & 0x20;
- flipy = sprite_ram[base + pos + 1] & 0x40;
+ flipx = BIT(sprite_ram[base + pos + 1], 5);
+ flipy = BIT(sprite_ram[base + pos + 1], 6);
colour = sprite_ram[base + pos + 1] & 0x1f;
ypos = 256 - ypos - 16;
xpos = xpos + m_sprite_x_offset + 49;
- m_gfxdecode->gfx(2)->prio_transpen(bitmap,cliprect, tileno, colour, flipx, flipy, xpos, ypos, screen.priority(), 0x02, 15);
+ if (flip_screen())
+ m_gfxdecode->gfx(2)->prio_transpen(bitmap, cliprect, tileno, colour, !flipx, !flipy, 512-16-xpos, 256-16-ypos, screen.priority(), 2, 15);
+ else
+ m_gfxdecode->gfx(2)->prio_transpen(bitmap, cliprect, tileno, colour, flipx, flipy, xpos, ypos, screen.priority(), 2, 15);
}
}
}
diff --git a/docs/release/src/hbmame/drivers/galaxian.cpp b/docs/release/src/hbmame/drivers/galaxian.cpp
index c2fc0bb2bbb..4bf9d52b8ac 100644
--- a/docs/release/src/hbmame/drivers/galaxian.cpp
+++ b/docs/release/src/hbmame/drivers/galaxian.cpp
@@ -188,14 +188,33 @@ DRIVER_INIT_MEMBER( galaxian_state, trukker )
-/************************************************************
+/***************************************************************
*
- * Frogger Sound Test rom - have to disable the watchdog
+ * Frogger Sound Test rom - watchdog has been disabled.
+ * You can lengthen the time, but holding down an arrow key
+ * will still eventually trigger it.
*
- ************************************************************/
+ ***************************************************************/
+
+static ADDRESS_MAP_START( tst_frog_map, AS_PROGRAM, 8, galaxian_state )
+ ADDRESS_MAP_UNMAP_HIGH
+ AM_RANGE(0x0000, 0x3fff) AM_ROM
+ AM_RANGE(0x8000, 0x87ff) AM_RAM
+ AM_RANGE(0x8800, 0x8800) AM_READNOP //AM_DEVREAD("watchdog", watchdog_timer_device, reset_r)
+ AM_RANGE(0xa800, 0xabff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_SHARE("videoram")
+ AM_RANGE(0xb000, 0xb0ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_SHARE("spriteram")
+ AM_RANGE(0xb808, 0xb808) AM_MIRROR(0x07e3) AM_WRITE(irq_enable_w)
+ AM_RANGE(0xb80c, 0xb80c) AM_MIRROR(0x07e3) AM_WRITE(galaxian_flip_screen_y_w)
+ AM_RANGE(0xb810, 0xb810) AM_MIRROR(0x07e3) AM_WRITE(galaxian_flip_screen_x_w)
+ AM_RANGE(0xb818, 0xb818) AM_MIRROR(0x07e3) AM_WRITE(coin_count_0_w) /* IOPC7 */
+ AM_RANGE(0xb81c, 0xb81c) AM_MIRROR(0x07e3) AM_WRITE(coin_count_1_w) /* POUT1 */
+ AM_RANGE(0xc000, 0xffff) AM_READWRITE(frogger_ppi8255_r, frogger_ppi8255_w)
+ADDRESS_MAP_END
static MACHINE_CONFIG_DERIVED( tst_frog, frogger )
- //MCFG_WATCHDOG_VBLANK_INIT(0)
+ MCFG_CPU_MODIFY("maincpu")
+ MCFG_CPU_PROGRAM_MAP(tst_frog_map)
+ MCFG_DEVICE_REMOVE("watchdog")
MACHINE_CONFIG_END
diff --git a/docs/release/src/hbmame/drivers/m52.cpp b/docs/release/src/hbmame/drivers/m52.cpp
index 019930dfb78..7fd49646eab 100644
--- a/docs/release/src/hbmame/drivers/m52.cpp
+++ b/docs/release/src/hbmame/drivers/m52.cpp
@@ -13,15 +13,15 @@ ROM_START( spatrol )
ROM_LOAD( "mp-s1.1a", 0x7000, 0x1000, CRC(561d3108) SHA1(4998c68a9e9a8002251fa8f07aa1082444a9dc80) )
ROM_REGION( 0x2000, "gfx1", 0 )
- ROM_LOAD( "spatrol.3e", 0x0000, 0x1000, CRC(130709e8) SHA1(fa3d0aca3179073c92a39c50f535d945f9b58725) ) /* chars */
+ ROM_LOAD( "spatrol.3e", 0x0000, 0x1000, CRC(130709e8) SHA1(fa3d0aca3179073c92a39c50f535d945f9b58725) )
ROM_LOAD( "spatrol.3f", 0x1000, 0x1000, CRC(1ac58abc) SHA1(1a945c4efa6ef4a7d68cb6cb7b91a76be956837e) )
ROM_REGION( 0x2000, "gfx2", 0 )
- ROM_LOAD( "spatrol.3m", 0x0000, 0x1000, CRC(09e18f9a) SHA1(9f41aacbc5352b8783422fdffef949426bada588) ) /* sprites */
+ ROM_LOAD( "spatrol.3m", 0x0000, 0x1000, CRC(09e18f9a) SHA1(9f41aacbc5352b8783422fdffef949426bada588) )
ROM_LOAD( "spatrol.3n", 0x1000, 0x1000, CRC(36b1891e) SHA1(e204c259ca9c37d0843b5c877debf2171c40249a) )
ROM_REGION( 0x1000, "gfx3", 0 )
- ROM_LOAD( "spatrol.3l", 0x0000, 0x1000, CRC(49877023) SHA1(a76b18afb20ab416318812f66bfdd57733441cb5) ) /* background graphics */
+ ROM_LOAD( "spatrol.3l", 0x0000, 0x1000, CRC(49877023) SHA1(a76b18afb20ab416318812f66bfdd57733441cb5) )
ROM_REGION( 0x1000, "gfx4", 0 )
ROM_LOAD( "mpe-2.3k", 0x0000, 0x1000, CRC(c7aa1fb0) SHA1(14c6c76e1d0db2c0745e5d6d33ea6945fac8e9ee) )
@@ -31,10 +31,94 @@ ROM_START( spatrol )
ROM_REGION( 0x0340, "proms", 0 )
ROM_LOAD( "mpc-4.2a", 0x0000, 0x0200, CRC(07f99284) SHA1(dfc52958f2520e1ce4446dd4c84c91413bbacf76) )
- ROM_LOAD( "mpc-3.1m", 0x0200, 0x0020, CRC(6a57eff2) SHA1(2d1c12dab5915da2ccd466e39436c88be434d634) ) /* background palette */
- ROM_LOAD( "mpc-1.1f", 0x0220, 0x0020, CRC(26979b13) SHA1(8c41a8cce4f3384c392a9f7a223a50d7be0e14a5) ) /* sprite palette */
- ROM_LOAD( "mpc-2.2h", 0x0240, 0x0100, CRC(7ae4cd97) SHA1(bc0662fac82ffe65f02092d912b2c2b0c7a8ac2b) ) /* sprite lookup table */
+ ROM_LOAD( "mpc-3.1m", 0x0200, 0x0020, CRC(6a57eff2) SHA1(2d1c12dab5915da2ccd466e39436c88be434d634) )
+ ROM_LOAD( "mpc-1.1f", 0x0220, 0x0020, CRC(26979b13) SHA1(8c41a8cce4f3384c392a9f7a223a50d7be0e14a5) )
+ ROM_LOAD( "mpc-2.2h", 0x0240, 0x0100, CRC(7ae4cd97) SHA1(bc0662fac82ffe65f02092d912b2c2b0c7a8ac2b) )
ROM_END
GAME( 2008, spatrol, mpatrol, m52, mpatrol, driver_device, 0, ROT0, "Gatinho", "Sponge Patrol", MACHINE_SUPPORTS_SAVE )
+
+// alpha1vx, here for playing around with
+// Issues: sometimes you die for no reason; and the sprites seem to be missing solidarity and colours
+// It's safer to stay near the bottom, you can get through a few levels that way. Keep firing or you will self-destruct within a few seconds.
+// The POW bonus (which is made of 4 bytes) only shows the bottom half or the left half... probably a code bug
+
+static ADDRESS_MAP_START( alpha1vx_map, AS_PROGRAM, 8, m52_state )
+ AM_RANGE(0x0000, 0x6fff) AM_ROM
+ AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(m52_videoram_w) AM_SHARE("videoram")
+ AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(m52_colorram_w) AM_SHARE("colorram")
+ AM_RANGE(0x8800, 0x8800) AM_READNOP // watchdog? HBMAME
+ AM_RANGE(0xc800, 0xc9ff) AM_WRITEONLY AM_SHARE("spriteram") // bigger or mirrored?
+ AM_RANGE(0xd000, 0xd000) AM_READ_PORT("IN0") AM_DEVWRITE("irem_audio", irem_audio_device, cmd_w)
+ AM_RANGE(0xd001, 0xd001) AM_READ_PORT("IN1") AM_WRITE(alpha1v_flipscreen_w)
+ AM_RANGE(0xd002, 0xd002) AM_READ_PORT("IN2")
+ AM_RANGE(0xd003, 0xd003) AM_READ_PORT("DSW1")
+ AM_RANGE(0xd004, 0xd004) AM_READ_PORT("DSW2")
+ AM_RANGE(0xe000, 0xefff) AM_RAM // bigger or mirrored?
+ADDRESS_MAP_END
+
+static MACHINE_CONFIG_START( alpha1vx, m52_state )
+ /* basic machine hardware */
+ MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6)
+ MCFG_CPU_PROGRAM_MAP(alpha1vx_map)
+ MCFG_CPU_IO_MAP(main_portmap)
+ MCFG_CPU_VBLANK_INT_DRIVER("screen", m52_state, irq0_line_hold)
+
+ /* video hardware */
+ MCFG_GFXDECODE_ADD("gfxdecode", "palette", m52)
+ MCFG_PALETTE_ADD("palette", 128*4+16*4+3*4)
+ MCFG_PALETTE_INDIRECT_ENTRIES(512+32+32)
+ MCFG_PALETTE_INIT_OWNER(m52_state, m52)
+
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/3, 384, 136, 376, 282, 16, 272) // HBMAME
+ MCFG_SCREEN_UPDATE_DRIVER(m52_state, screen_update_m52)
+ MCFG_SCREEN_PALETTE("palette")
+
+ /* sound hardware */
+ MCFG_DEVICE_ADD("irem_audio", IREM_M52_SOUNDC_AUDIO, 0)
+
+MACHINE_CONFIG_END
+
+
+ROM_START( alpha1vx )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "2-m3", 0x0000, 0x1000, CRC(3a679d34) SHA1(1a54a43070c56dc91d4d258f29e29613bb309f1c) )
+ ROM_LOAD( "3-l3", 0x1000, 0x1000, CRC(2f09df64) SHA1(e91602e9e41ad24dd1d7f384ed81b9bdaadd03e1) )
+ ROM_LOAD( "4-k3", 0x2000, 0x1000, CRC(64fb9c8a) SHA1(735fd00cc42193a417e6cde75f12b4cf2e804942) )
+ ROM_LOAD( "5-j3", 0x3000, 0x1000, CRC(d1643d18) SHA1(7c794b82e17e2ba0a6237e3fc20d8314f6c2481c) )
+ ROM_LOAD( "6-h3", 0x4000, 0x1000, CRC(cf34ab51) SHA1(3696da71e2bc7edd1ee7aeaac87be5386608c09e) )
+ ROM_LOAD( "7-f3", 0x5000, 0x1000, CRC(99db9781) SHA1(a56a675cc4cbc9681bfe8052f51f19336eb2a0a6) )
+ ROM_LOAD( "7a e3", 0x6000, 0x1000, CRC(3b0b4b0d) SHA1(0d8eea1e2db269943611289b3490a578ee347f85) )
+
+ ROM_REGION( 0x8000, "irem_audio:iremsound", 0 )
+ ROM_LOAD( "1-a1", 0x7000, 0x1000, CRC(9e07fdd5) SHA1(ed4f462fcfe91fa8e88bfeaaba0a0c11fa0b4601) )
+
+ ROM_REGION( 0x2000, "gfx1", 0 )
+ ROM_LOAD( "14-e3", 0x0000, 0x1000, CRC(cf00c737) SHA1(415e90289039cac4d04cb1d559f1378ca6a32132) )
+ ROM_LOAD( "13-f3", 0x1000, 0x1000, CRC(4b799229) SHA1(42cbdcf787b08b041d30504d699a12c378224933) )
+
+ ROM_REGION( 0x3000, "gfx2", 0 ) // 3bpp? (mpatrol is 2bpp..)
+ ROM_LOAD( "15-n3", 0x0000, 0x1000, CRC(dc26df76) SHA1(dd1cff7935f5559f9d1b440e02d5e5aa521b0054) )
+ ROM_LOAD( "16-l3", 0x1000, 0x1000, CRC(39b9863b) SHA1(da9da9a1066188f050c422dfed1bbbd3ba612ccc) )
+ ROM_LOAD( "17-k3", 0x2000, 0x1000, CRC(cfd90773) SHA1(052e126888b6de636db9c521a090699c282b620b) )
+
+ ROM_REGION( 0x1000, "gfx3", 0 )
+ ROM_LOAD( "11-k3", 0x0000, 0x1000, CRC(7659440a) SHA1(2efd27c82913513dd03e799f1ed3c10b0863677d) )
+
+ ROM_REGION( 0x1000, "gfx4", 0 )
+ ROM_LOAD( "9-n3", 0x0000, 0x1000, CRC(0fdb7d13) SHA1(e828254a4f94df633d338b5772719276d41c6b7f) )
+
+ ROM_REGION( 0x1000, "gfx5", 0 )
+ ROM_LOAD( "10-lm3", 0x0000, 0x1000, CRC(9dde3a75) SHA1(293d093485be19bfb20685d76a08ac78e24062bf) )
+
+ ROM_REGION( 0x0340, "proms", 0 )
+ ROM_LOAD( "63s481-a2", 0x0000, 0x0200, CRC(58678ea8) SHA1(b13a78a5bca8ad5bdec1293512b53654768a7a7a) )
+ ROM_LOAD( "18s030-m1", 0x0200, 0x0020, CRC(6a57eff2) SHA1(2d1c12dab5915da2ccd466e39436c88be434d634) )
+ ROM_LOAD( "mb7051-f1", 0x0220, 0x0020, CRC(d8bdd0df) SHA1(ca522428927911808214d319af314f601497ded4) )
+ ROM_LOAD( "mb7052-h2", 0x0240, 0x0100, CRC(ce9f0ef9) SHA1(3afb94ed033f272983bbed22a59856df7824ef8a) )
+ROM_END
+
+GAME( 1988, alpha1vx, alpha1v, alpha1vx, alpha1v, driver_device, 0, ROT0, "Vision Electronics", "Alpha One (test)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
+
diff --git a/docs/release/src/hbmame/drivers/maketrax.cpp b/docs/release/src/hbmame/drivers/maketrax.cpp
index 79e22b62596..a352ead04d7 100644
--- a/docs/release/src/hbmame/drivers/maketrax.cpp
+++ b/docs/release/src/hbmame/drivers/maketrax.cpp
@@ -535,6 +535,18 @@ ROM_START( pactest )
PACMAN_PROMS
ROM_END
+ROM_START( pactetris ) // No text, no scores. When the game ends, it goes crazy.
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "pactetris.1", 0x0000, 0x1929, CRC(f67b4604) SHA1(21dfb16e524734cf180b7a3c514575dfc9cb8bbc) )
+ ROM_REGION( 0x2000, "gfx1", 0 )
+ ROM_LOAD( "puckman.5e", 0x0000, 0x0800, CRC(2066a0b7) SHA1(6d4ccc27d6be185589e08aa9f18702b679e49a4a) )
+ ROM_LOAD( "puckman.5h", 0x0800, 0x0800, CRC(3591b89d) SHA1(79bb456be6c39c1ccd7d077fbe181523131fb300) )
+ ROM_LOAD( "puckman.5f", 0x1000, 0x0800, CRC(9e39323a) SHA1(be933e691df4dbe7d12123913c3b7b7b585b7a35) )
+ ROM_LOAD( "puckman.5j", 0x1800, 0x0800, CRC(1b1d9096) SHA1(53771c573051db43e7185b1d188533056290a620) )
+
+ PACMAN_PROMS
+ROM_END
+
ROM_START( piranha )
ROM_REGION( 0x10000, "maincpu",0 )
ROM_LOAD( "pir1.bin", 0x0000, 0x0800, CRC(69a3e6ea) SHA1(c54e5d039a03d3cbee7a5e21bf1e23f4fd913ea6) )
@@ -748,41 +760,39 @@ GAME( 1981, piranhao, puckman, piranha, mspacman, pacman_state, eyes, ROT
/* Dave Widel's Games - http://www.widel.com */
-GAME( 2003, aa, 0, widel, mspacpls, driver_device, 0, ROT90, "David Widel", "Alien Armada", MACHINE_SUPPORTS_SAVE )
-GAME( 2003, bace, 0, widel, mspacpls, driver_device, 0, ROT90, "David Widel", "Balloon Ace", MACHINE_SUPPORTS_SAVE )
-GAME( 2003, dderby, 0, widel, mspacpls, driver_device, 0, ROT90, "David Widel", "Death Derby", MACHINE_SUPPORTS_SAVE )
-GAME( 2003, kangaroh, 0, woodpek, mspacpls, driver_device, 0, ROT90, "David Widel", "Kagaroo (Qbertish) (incomplete)", MACHINE_IS_INCOMPLETE | MACHINE_SUPPORTS_SAVE )
-GAME( 2003, ladybugh, lazybug, woodpek, mspacpls, driver_device, 0, ROT90, "David Widel", "Ladybug on Pacman Hardware", MACHINE_SUPPORTS_SAVE )
-GAME( 1981, lazybug, 0, woodpek, mspacpls, driver_device, 0, ROT90, "David Widel", "Lazy Bug", MACHINE_SUPPORTS_SAVE )
-GAME( 1981, lazybug1, lazybug, woodpek, mspacpls, driver_device, 0, ROT90, "David Widel", "Lazy Bug (Slower)", MACHINE_SUPPORTS_SAVE )
-GAME( 19??, pactest, 0, woodpek, mspacpls, driver_device, 0, ROT90, "David Widel", "Test - Pacman board test", MACHINE_SUPPORTS_SAVE )
-GAME( 2003, ppong, 0, woodpek, mspacpls, driver_device, 0, ROT90, "David Widel", "Pong (Pacman Hardware)", MACHINE_SUPPORTS_SAVE )
-GAME( 2003, ppong2, ppong, woodpek, mspacpls, driver_device, 0, ROT90, "David Widel", "Pong (Pacman Hardware) v2", MACHINE_SUPPORTS_SAVE )
-GAME( 2003, rainboh, 0, pacman, mspacpls, driver_device, 0, ROT90, "David Widel", "Rainbow (Incomplete)", MACHINE_IS_INCOMPLETE | MACHINE_SUPPORTS_SAVE )
-GAME( 1981, wavybug, lazybug, woodpek, mspacpls, driver_device, 0, ROT90, "David Widel", "Wavy Bug", MACHINE_SUPPORTS_SAVE )
-GAME( 2003, zap, 0, woodpek, mspacpls, driver_device, 0, ROT90, "David Widel", "Space Zap Tribute", MACHINE_SUPPORTS_SAVE )
+GAME( 2003, aa, 0, widel, mspacpls, driver_device, 0, ROT90, "David Widel", "Alien Armada", MACHINE_SUPPORTS_SAVE )
+GAME( 2003, bace, 0, widel, mspacpls, driver_device, 0, ROT90, "David Widel", "Balloon Ace", MACHINE_SUPPORTS_SAVE )
+GAME( 2003, dderby, 0, widel, mspacpls, driver_device, 0, ROT90, "David Widel", "Death Derby", MACHINE_SUPPORTS_SAVE )
+GAME( 2003, kangaroh, 0, woodpek, mspacpls, driver_device, 0, ROT90, "David Widel", "Kagaroo (Qbertish) (incomplete)", MACHINE_IS_INCOMPLETE | MACHINE_SUPPORTS_SAVE )
+GAME( 2003, ladybugh, lazybug, woodpek, mspacpls, driver_device, 0, ROT90, "David Widel", "Ladybug on Pacman Hardware", MACHINE_SUPPORTS_SAVE )
+GAME( 1981, lazybug, 0, woodpek, mspacpls, driver_device, 0, ROT90, "David Widel", "Lazy Bug", MACHINE_SUPPORTS_SAVE )
+GAME( 1981, lazybug1, lazybug, woodpek, mspacpls, driver_device, 0, ROT90, "David Widel", "Lazy Bug (Slower)", MACHINE_SUPPORTS_SAVE )
+GAME( 19??, pactest, 0, woodpek, mspacpls, driver_device, 0, ROT90, "David Widel", "Test - Pacman board test", MACHINE_SUPPORTS_SAVE )
+GAME( 2003, ppong, 0, woodpek, mspacpls, driver_device, 0, ROT90, "David Widel", "Pong (Pacman Hardware)", MACHINE_SUPPORTS_SAVE )
+GAME( 2003, ppong2, ppong, woodpek, mspacpls, driver_device, 0, ROT90, "David Widel", "Pong (Pacman Hardware) v2", MACHINE_SUPPORTS_SAVE )
+GAME( 2003, rainboh, 0, pacman, mspacpls, driver_device, 0, ROT90, "David Widel", "Rainbow (Incomplete)", MACHINE_IS_INCOMPLETE | MACHINE_SUPPORTS_SAVE )
+GAME( 1981, wavybug, lazybug, woodpek, mspacpls, driver_device, 0, ROT90, "David Widel", "Wavy Bug", MACHINE_SUPPORTS_SAVE )
+GAME( 2003, zap, 0, woodpek, mspacpls, driver_device, 0, ROT90, "David Widel", "Space Zap Tribute", MACHINE_SUPPORTS_SAVE )
/* Jerronimo's Progs - www.umlautllama.com */
-GAME( 2006, absurd, 0, pacman, mspacman, driver_device, 0, ROT90, "Scott Lawrence", "Absurd!/QuadBlok (non-working alpha ver 3)", MACHINE_IS_INCOMPLETE | MACHINE_SUPPORTS_SAVE )
-GAME( 2003, alpaca7, alpaca8, pacman, pacman0, driver_device, 0, ROT90, "Scott Lawrence", "Alpaca v0.7 (Pacman Hardware)", MACHINE_SUPPORTS_SAVE )
-GAME( 2003, alpaca8, 0, pacman, pacman0, driver_device, 0, ROT90, "Scott Lawrence", "Alpaca v0.8 (Pacman Hardware)", MACHINE_SUPPORTS_SAVE )
-GAME( 2001, pachello, 0, pachack, pacman0, driver_device, 0, ROT90, "Scott Lawrence", "Hello, World!", MACHINE_SUPPORTS_SAVE )
-GAME( 2001, pacmatri, 0, pachack, pacman0, driver_device, 0, ROT90, "Scott Lawrence", "Matrix Effect", MACHINE_SUPPORTS_SAVE )
-GAME( 2003, seq1, 0, pachack, pacman0, driver_device, 0, ROT90, "Scott Lawrence", "16 Step Simple Sequencer", MACHINE_SUPPORTS_SAVE )
-GAME( 2003, seq2, seq1, pachack, pacman0, driver_device, 0, ROT90, "Scott Lawrence", "Sequencer and Music Player", MACHINE_SUPPORTS_SAVE )
-GAME( 2012, tinyworld,0, pacman, mspacman, driver_device, 0, ROT90, "Scott Lawrence", "Tiny World 82 (demo)", MACHINE_IS_INCOMPLETE | MACHINE_SUPPORTS_SAVE )
+GAME( 2006, absurd, 0, pacman, mspacman, driver_device, 0, ROT90, "Scott Lawrence", "Absurd!/QuadBlok (non-working alpha ver 3)", MACHINE_IS_INCOMPLETE | MACHINE_SUPPORTS_SAVE )
+GAME( 2003, alpaca7, alpaca8, pacman, pacman0, driver_device, 0, ROT90, "Scott Lawrence", "Alpaca v0.7 (Pacman Hardware)", MACHINE_SUPPORTS_SAVE )
+GAME( 2003, alpaca8, 0, pacman, pacman0, driver_device, 0, ROT90, "Scott Lawrence", "Alpaca v0.8 (Pacman Hardware)", MACHINE_SUPPORTS_SAVE )
+GAME( 2001, pachello, 0, pachack, pacman0, driver_device, 0, ROT90, "Scott Lawrence", "Hello, World!", MACHINE_SUPPORTS_SAVE )
+GAME( 2001, pacmatri, 0, pachack, pacman0, driver_device, 0, ROT90, "Scott Lawrence", "Matrix Effect", MACHINE_SUPPORTS_SAVE )
+GAME( 2003, seq1, 0, pachack, pacman0, driver_device, 0, ROT90, "Scott Lawrence", "16 Step Simple Sequencer", MACHINE_SUPPORTS_SAVE )
+GAME( 2003, seq2, seq1, pachack, pacman0, driver_device, 0, ROT90, "Scott Lawrence", "Sequencer and Music Player", MACHINE_SUPPORTS_SAVE )
+GAME( 2012, tinyworld,0, pacman, mspacman, driver_device, 0, ROT90, "Scott Lawrence", "Tiny World 82 (demo)", MACHINE_IS_INCOMPLETE | MACHINE_SUPPORTS_SAVE )
/* Other Misc Hacks */
-GAME( 2002, crashh, 0, woodpek, mspacpls, driver_device, 0, ROT90, "hack", "Crash", MACHINE_SUPPORTS_SAVE )
-GAME( 1981, mtturbo, 0, pacmanp, maketrax, pacman_state, maketrax, ROT270,"Tim Arcadecollecting", "Make Trax (Turbo Hack)", MACHINE_SUPPORTS_SAVE ) // http://www.arcadecollecting.com/hacks/maketrax
-GAME( 1999, tst_pacm, 0, pacman, mspacpls, driver_device, 0, ROT90, "David Caldwell", "Test - Pacman Hardware", MACHINE_SUPPORTS_SAVE ) // http://www.porkrind.org/arcade/
-
-/* Other misc unemulated dumps */
-
+GAME( 2002, crashh, 0, woodpek, mspacpls, driver_device, 0, ROT90, "hack", "Crash", MACHINE_SUPPORTS_SAVE )
+GAME( 1981, mtturbo, 0, pacmanp, maketrax, pacman_state, maketrax, ROT270, "Tim Arcadecollecting", "Make Trax (Turbo Hack)", MACHINE_SUPPORTS_SAVE ) // http://www.arcadecollecting.com/hacks/maketrax
+GAME( 1999, tst_pacm, 0, pacman, mspacpls, driver_device, 0, ROT90, "David Caldwell", "Test - Pacman Hardware", MACHINE_SUPPORTS_SAVE ) // http://www.porkrind.org/arcade/
GAME( 1982, eyesb, eyes, pacman, eyes, pacman_state, eyes, ROT90, "bootleg", "Eyes (unknown bootleg)", MACHINE_SUPPORTS_SAVE )
GAME( 2016, ghohunt, puckman, pacman, pacman0, driver_device, 0, ROT90, "Hurray Banana", "Ghost Hunt", MACHINE_SUPPORTS_SAVE )
+GAME( 2012, pactetris,puckman, pacman, pacman0, driver_device, 0, ROT90, "Ben Leperchey", "Tetris on Pacman hardware (incomplete)", MACHINE_SUPPORTS_SAVE )
/*************************************************************************************************************************/
diff --git a/docs/release/src/hbmame/drivers/model2.cpp b/docs/release/src/hbmame/drivers/model2.cpp
new file mode 100644
index 00000000000..3e7488fcf06
--- /dev/null
+++ b/docs/release/src/hbmame/drivers/model2.cpp
@@ -0,0 +1,53 @@
+// license:BSD-3-Clause
+// copyright-holders:Robbbert
+#include "../mame/drivers/model2.cpp"
+
+ROM_START( srallyp )
+ ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
+ ROM_LOAD32_WORD( "srallyp.ic12", 0x000000, 0x080000, CRC(926632ab) SHA1(7a37813f3d59b8e6e68220aa3120460b1ce5b33d) )
+ ROM_LOAD32_WORD( "srallyp.ic13", 0x000002, 0x080000, CRC(c93b33f1) SHA1(8477a05e44c1c9ee5e99eaa9d31cd9905ebf8c26) )
+
+ ROM_REGION32_LE( 0x2400000, "user1", 0 ) // Data
+ ROM_LOAD32_WORD( "mpr-17746.10", 0x000000, 0x200000, CRC(8fe311f4) SHA1(f4ada8e5c906fc384bed1b96f09cdf313f89e825) )
+ ROM_LOAD32_WORD( "mpr-17747.11", 0x000002, 0x200000, CRC(543593fd) SHA1(5ba63a77e9fc70569af21d50b3171bc8ff4522b8) )
+ ROM_LOAD32_WORD( "mpr-17744.8", 0x400000, 0x200000, CRC(71fed098) SHA1(1d187cad375121a45348d640edd3cc7dce658d28) )
+ ROM_LOAD32_WORD( "mpr-17745.9", 0x400002, 0x200000, CRC(8ecca705) SHA1(ed2b3298aad6f4e52dc672a0168183e457564b43) )
+ ROM_LOAD32_WORD( "mpr-17884.6", 0x800000, 0x200000, CRC(4cfc95e1) SHA1(81d927b8c4f9d0c4c5e29d676b30f30f83751fdc) )
+ ROM_LOAD32_WORD( "mpr-17885.7", 0x800002, 0x200000, CRC(a08d2467) SHA1(9449ac8f8f9ce8d8e536b05a91e46841fed7f2d0) )
+
+ ROM_REGION( 0x800000, "tgp", 0 ) // TGP program? (COPRO socket)
+ ROM_LOAD32_WORD( "mpr-17754.28", 0x000000, 0x200000, CRC(81a84f67) SHA1(c0a9b690523a529e4015e9af10dc3fb2a1726f08) )
+ ROM_LOAD32_WORD( "mpr-17755.29", 0x000002, 0x200000, CRC(2a6e7da4) SHA1(e60803ae951489fe47d66731d15c32249ca547b4) )
+
+ ROM_REGION( 0x010000, "drivecpu", 0 ) // Drive I/O program
+ ROM_LOAD( "epr-17891.ic12", 0x000000, 0x010000, CRC(9a33b437) SHA1(3e8f210aa5159e78f640126cb5ce7f05f22560f2) )
+
+ ROM_REGION( 0x2000000, "user2", 0 ) // Models
+ ROM_LOAD32_WORD( "mpr-17748.16", 0x000000, 0x200000, CRC(3148a2b2) SHA1(283cc49bfb6c6381a7ead9273fd097dca5b981b6) )
+ ROM_LOAD32_WORD( "mpr-17750.20", 0x000002, 0x200000, CRC(232aec29) SHA1(4d470e71df61298282c356814e2d151fda323fb6) )
+ ROM_LOAD32_WORD( "mpr-17749.17", 0x400000, 0x200000, CRC(0838d184) SHA1(704175c8b29e4c989afcb7be42e7e0e096740eaf) )
+ ROM_LOAD32_WORD( "mpr-17751.21", 0x400002, 0x200000, CRC(ed87ac62) SHA1(601542149d33ca52a47536b4b0af47bf1fd87eb2) )
+
+ ROM_REGION( 0x1000000, "user3", 0 ) // Textures
+ ROM_LOAD32_WORD( "mpr-17753.25", 0x000000, 0x200000, CRC(6db0eb36) SHA1(dd5fd3c9592360d3e95623ac2491e6faabe9dbcb) )
+ ROM_LOAD32_WORD( "mpr-17752.24", 0x000002, 0x200000, CRC(d6aa86ce) SHA1(1d342f87d1af1e5438d1ae818b1b14268e765897) )
+
+ ROM_REGION( 0x20000, "cpu4", 0) // Communication program
+ ROM_LOAD( "epr-16726.bin", 0x000000, 0x020000, CRC(c179b8c7) SHA1(86d3e65c77fb53b1d380b629348f4ab5b3d39228) )
+
+ ROM_REGION( 0x100000, "audiocpu", 0 ) // Sound program
+ ROM_LOAD16_WORD_SWAP( "epr-17890a.30", 0x080000, 0x040000, CRC(5bac3fa1) SHA1(3635333d36463b6fab25560ed918e05138f964dc) )
+
+ ROM_REGION( 0x800000, "scsp", 0 ) // Samples
+ ROM_LOAD( "mpr-17756.31", 0x000000, 0x200000, CRC(7725f111) SHA1(1f1ee3f19a6bcf57bc5a1c7dd64ee83f8b81f084) )
+ ROM_LOAD( "mpr-17757.32", 0x200000, 0x200000, CRC(1616e649) SHA1(1d3a0e441d150ada0535a9d50e2f69dd4b99c584) )
+ ROM_LOAD( "mpr-17886.36", 0x400000, 0x200000, CRC(54a72923) SHA1(103c4838b27378c834c08d29d6fb6ba95e7f9d03) )
+ ROM_LOAD( "mpr-17887.37", 0x600000, 0x200000, CRC(38c31fdd) SHA1(a85f05160b060d9d4a431aaa73cfc03f24214fb9) )
+
+ MODEL2_CPU_BOARD
+ MODEL2A_VID_BOARD
+ROM_END
+
+
+
+GAME( 2000?, srallyp, srallyc, srallyc, srallyc, model2_state, srallyc, ROT0, "Kyle Hodgetts", "Sega Rally Pro Drivin'", 0 )
diff --git a/docs/release/src/hbmame/drivers/neogeo1.cpp b/docs/release/src/hbmame/drivers/neogeo1.cpp
index 238a63c6eec..db8ad5901ad 100644
--- a/docs/release/src/hbmame/drivers/neogeo1.cpp
+++ b/docs/release/src/hbmame/drivers/neogeo1.cpp
@@ -1793,26 +1793,6 @@ ROM_START( ragnagrdeh ) /* Operation Ragnagard - Enhance by Ydmis - (Can choose
ROM_END
-ROM_START( roboarma )
- ROM_REGION( 0x100000, "maincpu", 0 )
- ROM_LOAD16_WORD_SWAP( "032a.p1", 0x000000, 0x080000, CRC(27c773cb) SHA1(597ca73f142b1129cc7780540bb9cfacd47bc6ce) )
-
- NEO_SFIX_128K( "032-s1.s1", CRC(ac0daa1b) SHA1(93bae4697dc403fce19422752a514326ccf66a91) )
-
- NEO_BIOS_AUDIO_128K( "032-m1.m1", CRC(35ec952d) SHA1(8aed30e26d7e2c70dbce5de752df416091066f7b) )
-
- ROM_REGION( 0x200000, "ymsnd", 0 )
- ROM_LOAD( "032-v1.v1", 0x000000, 0x100000, CRC(63791533) SHA1(4479e9308cdc906b9e03b985303f4ebedd00512f) )
- ROM_LOAD( "032-v2.v2", 0x100000, 0x100000, CRC(eb95de70) SHA1(b34885201116d2b3bbdee15ec7b5961cf5c069e1) )
-
- ROM_REGION( 0x300000, "sprites", 0 )
- ROM_LOAD16_BYTE( "032-c1.c1", 0x000000, 0x100000, CRC(97984c6c) SHA1(deea59c0892f05dc7db98cb57b3eb83688dc57f0) )
- ROM_LOAD16_BYTE( "032-c2.c2", 0x000001, 0x100000, CRC(65773122) SHA1(2c0162a8e971e5e57933e4ae16040bf824ffdefe) )
- ROM_LOAD16_BYTE( "032-c3.c3", 0x200000, 0x080000, CRC(40adfccd) SHA1(b11f866dd70ba0ed9123424508355cb948b19bdc) )
- ROM_LOAD16_BYTE( "032-c4.c4", 0x200001, 0x080000, CRC(462571de) SHA1(5c3d610d492f91564423873b3b434dcda700373f) )
-ROM_END
-
-
ROM_START( s1945pd )
ROM_REGION( 0x500000, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "254-p1.p1", 0x000000, 0x100000, CRC(ff8efcff) SHA1(dcaeaca573385c172ecc43ee6bee355359091893) )
@@ -2526,8 +2506,6 @@ GAME( 1994, pspikes2cd, pspikes2, neogeo_noslot, neogeo, neogeo_state,
GAME( 1996, ragnagrdeh, zedblade, neogeo_noslot, neogeo, neogeo_state, neogeo, ROT0, "Ydmis", "Operation Ragnagard (Add Char)", MACHINE_SUPPORTS_SAVE ) // Lucifer, Eelis and Behemoth
-GAME( 1991, roboarma, roboarmy, neogeo_noslot, neogeo, neogeo_state, neogeo, ROT0, "hack", "Robo Army (hack)", MACHINE_SUPPORTS_SAVE )
-
GAME( 1999, s1945pd, s1945p, neogeo_noslot, neogeo, neogeo_hbmame, cmc42sfix, ROT0, "Psikyo", "Strikers 1945 Plus (decrypted C)", MACHINE_SUPPORTS_SAVE )
GAME( 1999, s1945pwe, s1945p, neogeo_noslot, neogeo, neogeo_noslot_state, s1945p, ROT0, "Wesker", "Strikers 1945 Plus (Hack)", MACHINE_SUPPORTS_SAVE )
diff --git a/docs/release/src/hbmame/drivers/retofinv.cpp b/docs/release/src/hbmame/drivers/retofinv.cpp
index 555962d2380..dfe0eb21f47 100644
--- a/docs/release/src/hbmame/drivers/retofinv.cpp
+++ b/docs/release/src/hbmame/drivers/retofinv.cpp
@@ -14,7 +14,7 @@ ROM_START( retofinv4 )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_LOAD( "a37-05.17", 0x0000, 0x2000, CRC(9025abea) SHA1(2f03e8572f23624d7cd1215a55109e97fd66e271) )
- ROM_REGION( 0x0800, "68705", 0 )
+ ROM_REGION( 0x0800, "68705:mcu", 0 )
ROM_LOAD( "a37-09.37", 0x00000, 0x0800, BAD_DUMP CRC(79bd6ded) SHA1(4967e95b4461c1bfb4e933d1804677799014f77b) )
ROM_REGION( 0x02000, "gfx1", 0 )
diff --git a/docs/release/src/hbmame/drivers/segas16b.cpp b/docs/release/src/hbmame/drivers/segas16b.cpp
index f5c706bf097..badecf5e8e2 100644
--- a/docs/release/src/hbmame/drivers/segas16b.cpp
+++ b/docs/release/src/hbmame/drivers/segas16b.cpp
@@ -3,16 +3,16 @@
#include "../mame/drivers/segas16b.cpp"
ROM_START( altbeastfr )
- ROM_REGION( 0x040000, "maincpu", 0 ) /* 68000 code */
- ROM_LOAD16_BYTE( "epr-11907.a7fr", 0x000000, 0x20000, CRC(309d3a0a) SHA1(646dcafe7ac2831e241eb0643a06f8c32bdba77a) )
- ROM_LOAD16_BYTE( "epr-11906.a5fr", 0x000001, 0x20000, CRC(39cd8368) SHA1(6b5890d44b549c3bbe18345ac86943c55f7b9d26) )
+ ROM_REGION( 0x040000, "maincpu", 0 ) // 68000 code
+ ROM_LOAD16_BYTE( "altbeastfr.a7", 0x000000, 0x20000, CRC(309d3a0a) SHA1(646dcafe7ac2831e241eb0643a06f8c32bdba77a) )
+ ROM_LOAD16_BYTE( "altbeastfr.a5", 0x000001, 0x20000, CRC(39cd8368) SHA1(6b5890d44b549c3bbe18345ac86943c55f7b9d26) )
- ROM_REGION( 0x60000, "gfx1", 0 ) /* tiles */
+ ROM_REGION( 0x60000, "gfx1", 0 ) // tiles
ROM_LOAD( "opr-11674.a14", 0x00000, 0x20000, CRC(a57a66d5) SHA1(5103583d48997abad12a0c5fee26431c486ced52) )
ROM_LOAD( "opr-11675.a15", 0x20000, 0x20000, CRC(2ef2f144) SHA1(38d22d609db2d9b6067b5d12f6499436de4605cb) )
ROM_LOAD( "opr-11676.a16", 0x40000, 0x20000, CRC(0c04acac) SHA1(87fe2a0dd9913f9550e9b4cbc7e7465b61640e07) )
- ROM_REGION16_BE( 0x100000, "gfx2", 0 ) /* sprites */
+ ROM_REGION16_BE( 0x100000, "sprites", 0 ) // sprites
ROM_LOAD16_BYTE( "epr-11677.b1", 0x00001, 0x20000, CRC(a01425cd) SHA1(72be5ec29e476601f9bf6aaedef9b73cedeb42f0) )
ROM_LOAD16_BYTE( "epr-11681.b5", 0x00000, 0x20000, CRC(d9e03363) SHA1(995a7c6a8f0c61468b57a3bb407461a2a3ae8adc) )
ROM_LOAD16_BYTE( "epr-11678.b2", 0x40001, 0x20000, CRC(17a9fc53) SHA1(85a9a605742ae5aab86db37189b9ee4d54c70e56) )
@@ -22,13 +22,13 @@ ROM_START( altbeastfr )
ROM_LOAD16_BYTE( "epr-11680.b4", 0xc0001, 0x20000, CRC(f43dcdec) SHA1(2941500cf33afca487f19f2329033d5d17aad826) )
ROM_LOAD16_BYTE( "epr-11684.b8", 0xc0000, 0x20000, CRC(b20c0edb) SHA1(6c8694d05e3adac37c9015037ab800233371db36) )
- ROM_REGION( 0x50000, "soundcpu", 0 ) /* sound CPU */
+ ROM_REGION( 0x50000, "soundcpu", 0 ) // sound CPU
ROM_LOAD( "epr-11671.a10", 0x00000, 0x08000, CRC(2b71343b) SHA1(8a657f787de2b9d5161ed2c109642a148348af09) )
ROM_LOAD( "opr-11672.a11", 0x10000, 0x20000, CRC(bbd7f460) SHA1(bbc5c2219cb3a827d84062b19affd9780da2a3cf) )
ROM_LOAD( "opr-11673.a12", 0x30000, 0x20000, CRC(400c4a36) SHA1(de4bdfa91734410e0a7f6a16bf8336db172f458a) )
- ROM_REGION( 0x10000, "mcu", 0 ) /* Intel i8751 protection MCU */
- ROM_LOAD( "317-0078.c2", 0x00000, 0x1000, NO_DUMP )
+ ROM_REGION( 0x1000, "mcu", 0 ) // Intel i8751 protection MCU
+ ROM_LOAD( "317-0078.c2", 0x00000, 0x1000, CRC(8101925f) SHA1(a45d772ebe2fd1a577a6ccac8c6c76bb622258bb) )
ROM_END
-GAME( 1988, altbeastfr, altbeast, system16b_i8751, altbeast, segas16b_state, altbeast_5521, ROT0, "Arkatrad", "Altered Beast (French)", MACHINE_NOT_WORKING )
+GAME( 1988, altbeastfr, altbeast, system16b_i8751, altbeast, segas16b_state, generic_5521, ROT0, "Arkatrad", "Altered Beast (French)", MACHINE_NOT_WORKING )
diff --git a/docs/release/src/hbmame/drivers/snk6502.cpp b/docs/release/src/hbmame/drivers/snk6502.cpp
index 4301d2e7747..543ddf8c95a 100644
--- a/docs/release/src/hbmame/drivers/snk6502.cpp
+++ b/docs/release/src/hbmame/drivers/snk6502.cpp
@@ -16,7 +16,7 @@ ROM_START( vantris )
ROM_RELOAD( 0x0020, 0x0020 )
ROM_REGION( 0x1000, "snk6502", 0 )
- ROM_LOAD( "vantris.ic51", 0x0000, 0x0800, CRC(fd4d8bb0) SHA1(d59ec7569147263aed50041b15aed2ca4f395c23) )
+ ROM_LOAD( "vantris.ic53", 0x0000, 0x0800, CRC(fd4d8bb0) SHA1(d59ec7569147263aed50041b15aed2ca4f395c23) )
ROM_LOAD( "sk4_ic52.bin", 0x0800, 0x0800, CRC(cc4a0b6f) SHA1(251b24d60083d516c4ba686d75b41e04d10f7198) )
ROM_REGION( 0x5800, "speech", ROMREGION_ERASE00 )
diff --git a/docs/release/src/hbmame/drivers/toaplan1.cpp b/docs/release/src/hbmame/drivers/toaplan1.cpp
deleted file mode 100644
index f82d1ec127f..00000000000
--- a/docs/release/src/hbmame/drivers/toaplan1.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Robbbert
-#include "../mame/drivers/toaplan1.cpp"
-
-ROM_START( samenew )
- ROM_REGION( 0x080000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "o17_09n.8j", 0x000000, 0x08000, CRC(f60af2f9) SHA1(ce41efd5ca4f4adc8bf1976f61a8a8d357fb234a) )
- ROM_LOAD16_BYTE( "o17_10n.8l", 0x000001, 0x08000, CRC(023bcb95) SHA1(69a051fb223e6cacaf1cda8bf5430933d24fb8a7) )
- ROM_LOAD16_BYTE( "o17_11.7j", 0x040000, 0x20000, CRC(be07d101) SHA1(1eda14ba24532b565d6ad57490b73ff312f98b53) )
- ROM_LOAD16_BYTE( "o17_12.7l", 0x040001, 0x20000, CRC(ef698811) SHA1(4c729704eba0bf469599c79009327e4fa5dc540b) )
-
- ROM_REGION( 0x8000, "audiocpu", 0 )
- ROM_LOAD( "hd647180.017", 0x00000, 0x08000, NO_DUMP )
-
- ROM_REGION( 0x80000, "gfx1", 0 )
- ROM_LOAD16_BYTE( "o17_05.12j", 0x00000, 0x20000, CRC(565315f8) SHA1(6b1c5ef52359483228b329c89c2e1174e3fbf017) )
- ROM_LOAD16_BYTE( "o17_06.13j", 0x00001, 0x20000, CRC(95262d4c) SHA1(16f3aabecb1c87ce7eadf4f0ff61b29a4c017614) )
- ROM_LOAD16_BYTE( "o17_07.12l", 0x40000, 0x20000, CRC(4c4b735c) SHA1(812c3bf46bd7764b2bb812bd2b9eb0331ed257ae) )
- ROM_LOAD16_BYTE( "o17_08.13l", 0x40001, 0x20000, CRC(95c6586c) SHA1(ff87901f79d80f73ad09664b0c0d892898570616) )
-
- ROM_REGION( 0x80000, "gfx2", 0 )
- ROM_LOAD16_BYTE( "o17_01.1d", 0x00000, 0x20000, CRC(ea12e491) SHA1(02190722b7c5383471e0af9596be7039a5367240) )
- ROM_LOAD16_BYTE( "o17_02.3d", 0x00001, 0x20000, CRC(32a13a9f) SHA1(1446acdfd21cd41f3d97aaf30f498c0c5d890605) )
- ROM_LOAD16_BYTE( "o17_03.5d", 0x40000, 0x20000, CRC(68723dc9) SHA1(4f1b7aa2469c955e03737b611a7d2524f1e4f61e) )
- ROM_LOAD16_BYTE( "o17_04.7d", 0x40001, 0x20000, CRC(fe0ecb13) SHA1(634a49262b9c092c25f11b14c6757fe94ea9eddc) )
-
- ROM_REGION( 0x40, "proms", 0 )
- ROM_LOAD( "prom14.25b", 0x00, 0x20, CRC(bc88cced) SHA1(5055362710c0f58823c05fb4c0e0eec638b91e3d) )
- ROM_LOAD( "prom15.20c", 0x20, 0x20, CRC(a1e17492) SHA1(9ddec4c97f2d541f69f3c32c47aaa21fd9699ae2) )
-ROM_END
-
-GAME( 2014, samenew, fireshrk, samesame, samesame, toaplan1_state, toaplan1, ROT270, "Trap15", "Same! Same! Same! (NEW VER!)", MACHINE_NO_SOUND )
diff --git a/docs/release/src/hbmame/hbmame.lst b/docs/release/src/hbmame/hbmame.lst
index a5b2fe66a8b..67cc6e981d8 100644
--- a/docs/release/src/hbmame/hbmame.lst
+++ b/docs/release/src/hbmame/hbmame.lst
@@ -11,6 +11,7 @@
/* 1942 */
1942 //parent
+1942h
1942c64 // 1942 with C64 sounds (by minwah)
1942fpa // 1942 with free play (by cmonkey)
galagax /* Jerky - Chris Moore hack of 1942 */
@@ -223,11 +224,15 @@ punisherjh1
punisherjha
punisherud1
punisherud2
+sf2bhj
sf2c // sf2, chinese
sf2cebr /* hack, Brasil 920313 */
sf2ced /* hack, Hispanic 990804 */
sf2ceda /* hack, Hispanic 990804 */
sf2ceh /* hack, Hispanic 990804 */
+sf2cehk
+sf2cehp
+sf2cejem
sf2koryuh /* Hack by TT */
sf2h9 /* Found in Mame Plus */
sf2h10 /* Found in Mame Plus */
@@ -246,8 +251,13 @@ sf2yyc3d5
sf2yyc3g
sf2yyc6
sk2h1 /* 1999 Legend of Three Kingdoms' Heroes / Sanguo Yingxiong Zhuan */
+sk2h1q // qsound version of sk2h1
sk2h2 /* 1999 Legend of Three Kingdoms' Heroes / Sanguo Yingxiong Zhuan */
+sk2h2q
sk2h3 // mame sgyxz for testing
+sk2h4q
+sk2h5q
+sk2h6q
sk2h11 /* 1992 Sangokushi II (Hack 1) */
sk2h12 /* 1992 Sangokushi II (Hack 2) */
sk2h13 /* 1992 Sangokushi II (Hack 3) */
@@ -259,8 +269,6 @@ sk2h32 /* 1997 Three Holy Swords / San Sheng Jian */
sk2h33 /* 1995 Holy Sword Three Kingdoms / Sheng Jian San Guo */
sk2h34 /* 1995 Holy Sword Three Kingdoms / Sheng Jian San Guo */
sk2h35 /* 1995 Holy Sword Three Kingdoms / Sheng Jian San Guo */
-sk2h1q // qsound version of sk2h1
-sk2h2q
sk2h31q
sk2h32q
sk2h33q
@@ -271,21 +279,58 @@ stridergh // as above, and uncensored
sk2h15 // wofaehp
sk2h16 // wofahp2
wofb
+wofbio
+wofbt
wofch
wofch_v3
wofchdx
wofchdx1
wofchdx2
wofchspp
-wofjcn // chinese language
+wofctj
+wofdy
+wofdyg
+wofes
+woffh
woffr /* Neo-Arc French Trans */
+wofgyc
+wofgyq
+wofhgz
+wofhzj
+wofjcn // chinese language
+wofjd
+wofjehp
wofjh
+wofjh2
wofjhb // was dynwarjh in another life
wofjhc // was dynwarj2 in another life
+wofjhdwb
+wofjhp2
+wofjjq
wofjm
+wofjmsp
+wofjpsrw
+wofjqz
+wofjrabh
+wofjrlb
+//wofjrpbs exception in first demo
+//wofjv10s exception in first demo
+wofjzcr1
wofjzero
+wofmr
wofr1h
+wofsbl
wofsf2
+wofsjj
+wofsz
+wofud
+wofyjs
+wofyxg
+wofzhs
+wofzhy
+wofzy2
+wofzy3
+wofzyq
/* cps2 */
// CPS2 PARENTS ***
@@ -333,6 +378,9 @@ ddsomhp
ddsomjfs
halfway // progear hack by The Halfway House
mshjphp
+mshvsemb
+mshvsfjh
+mshvsfjphp
mshyh
mvscjemb
mvscjphp
@@ -342,9 +390,31 @@ pfghtjrm
suicide /* Razoola */
suicide2 /* Razoola */
sfa2h
+sfa3br
+sfa3dp
+sfa3sp2
+sfa3spp
+sfa3uhd
sfz2abr
+sfz2ajhp
+sfz2aldp
+sfz2aldp2
+sfz2jyh
+sfz3jb
+sfz3jemb
+sfz3jhp
+sfz3jsep
+sfzjboss
+sfzjyh
sgemfch
spf2tb // boss hack
+ssf2tfp
+ssf2tfr
+ssf2tpls
+ssf2xjhy
+ssf2xjjs
+ssf2xjnc
+ssf2zhp
vampjb
vsav2emb
xmcotajb
@@ -1293,16 +1363,18 @@ airwolf //parent
airwolffr // french
/* m52 */
-alpha1v // Kyle Hodgetts
+alpha1v //parent
+alpha1vx // Kyle Hodgetts
mpatrol //parent
spatrol /* Sponge Patrol - Gatinho 2008 */
/* maketrax */
eyes //parent
aa /* Widel's Games */
+abscam // GL 1982
absurd /* scott - nonworking alpha ver 3 */
-//alpaca7 /* Jerronimo (useless) */
-//alpaca8 /* Jerronimo (useless) */
+alpaca7 /* Jerronimo (useless) */
+alpaca8 /* Jerronimo (useless) */
bace /* Widel's Games */
crashh /* PacMAME Hacks */
dderby /* Widel's Games */
@@ -1315,6 +1387,7 @@ mtturbo /* Tim - Make Trax Turbo Hack */
pachello /* Jerronimo */
pacmatri /* Jerronimo */
pactest /* Widel's Games */
+pactetris
ppong /* Widel's Games */
ppong2 /* Widel's Games */
rainboh /* Widel's Games */
@@ -1322,7 +1395,7 @@ seq1 /* Jerronimo */
seq2 /* Jerronimo */
tst_pacm
wavybug
-zap /* Widel's Games */
+zap /* Widel's Games */
/* mappy */
mappy //parent
@@ -1419,6 +1492,10 @@ mitcdemo /* Charles Doty */
/* mmagic */
mmagic // with sound
+ /* model2 */
+srallyc //parent
+srallyp // Kyle Hodgetts Sega Rally Pro Drivin'
+
/* monaco */
monaco
@@ -2000,7 +2077,6 @@ pnyaad
preisle2d
//pspikes2cd // not working
ragnagrdeh
-roboarma
s1945pd
s1945pwe
savageredb
@@ -2452,8 +2528,8 @@ pengo //parent
pacpen
pengopop
vecpengo /* T-Bone hack of Pengo */
-//alpacap7 /* "Jerronimo", "Alpaca v0.7 (Pengo Hardware) useless */
-//alpacap8 /* "Jerronimo", "Alpaca v0.8 (Pengo Hardware) useless */
+alpacap7 /* "Jerronimo", "Alpaca v0.7 (Pengo Hardware) useless */
+alpacap8 /* "Jerronimo", "Alpaca v0.8 (Pengo Hardware) useless */
/* pgm */
pgm //required bios
@@ -2605,6 +2681,9 @@ astrob2h
kicker //parent
kfjohnny /* hack by Smitdogg*/
+ /* skimaxx */
+skimaxx // Kyle Hodgetts
+
/* snk6502 */
vantris /* (c) 1998 Norbert Kehrer */
@@ -2699,7 +2778,7 @@ ssridersaex
/* toaplan1 */
fireshrk //parent
-samenew // Trap15
+samesamenh // Trap15
/* toaplan2 */
kingdmgp //parent
diff --git a/docs/release/src/hbmame/video/cps1.cpp b/docs/release/src/hbmame/video/cps1.cpp
index 7c9d9c4a035..d4e88ee7ba1 100644
--- a/docs/release/src/hbmame/video/cps1.cpp
+++ b/docs/release/src/hbmame/video/cps1.cpp
@@ -1697,11 +1697,15 @@ static const struct CPS1config cps1_config_table[]=
{"punisherjha", CPS_B_21_QS3, mapper_PS63B }, //works
{"punisherud1", CPS_B_21_DEF, mapper_PS63B }, //works
{"punisherud2", CPS_B_21_DEF, mapper_PS63B }, //works
+ {"sf2bhj", CPS_B_12, mapper_STF29, 0x36 }, //works
{"sf2c", CPS_B_13, mapper_STF29, 0x36 }, //works
{"sf2cebr", CPS_B_21_DEF, mapper_S9263B, 0x36 }, //works
{"sf2ced", CPS_B_21_DEF, mapper_S9263B, 0x36 }, //works
{"sf2ceda", CPS_B_21_DEF, mapper_S9263B, 0x36 }, //works
{"sf2ceh", CPS_B_21_DEF, mapper_S9263B, 0x36 }, //works
+ {"sf2cehk", CPS_B_21_DEF, mapper_S9263B, 0x36 }, //works
+ {"sf2cehp", CPS_B_21_DEF, mapper_S9263B, 0x36 }, //works
+ {"sf2cejem", CPS_B_21_DEF, mapper_S9263B, 0x36 }, //works
{"sf2koryuh", CPS_B_21_DEF, mapper_S9263B, 0x36, 0, 0, 0x41 }, //works
{"sf2h9", CPS_B_21_DEF, mapper_S9263B, 0x36, 0, 0, 0x41 }, //works
{"sf2h10", CPS_B_21_DEF, mapper_S9263B, 0x36, 0, 0, 0x41 }, //works
@@ -1724,6 +1728,9 @@ static const struct CPS1config cps1_config_table[]=
{"sk2h2", HACK_H_2, mapper_TK263B, 0, 0, 0, 0x8F }, //works, priorities
{"sk2h2q", HACK_H_2, mapper_TK263B, 0, 0, 0, 0x8F }, //works, priorities
{"sk2h3", HACK_H_2, mapper_TK263B, 0, 0, 0, 0x8F }, //works, priorities
+ {"sk2h4q", HACK_H_2, mapper_TK263B, 0, 0, 0, 0x8F }, //works, priorities
+ {"sk2h5q", HACK_H_2, mapper_TK263B, 0, 0, 0, 0x8F }, //works, priorities
+ {"sk2h6q", HACK_H_2, mapper_TK263B, 0, 0, 0, 0x8F }, //works, priorities
{"sk2h11", CPS_B_21_DEF, mapper_TK263B }, //works
{"sk2h12", CPS_B_21_DEF, mapper_TK263B }, //works
{"sk2h13", CPS_B_21_DEF, mapper_TK263B }, //works
@@ -1746,20 +1753,57 @@ static const struct CPS1config cps1_config_table[]=
{"stridergh", CPS_B_01, mapper_ST24M1 }, //works
{"varthb", CPS_B_04, mapper_VA63B, 0, 0, 0, 0x0F }, //works
{"wofb", CPS_B_21_DEF, mapper_TK263B }, //works
+ {"wofbio", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofbt", CPS_B_21_QS1, mapper_TK263B }, //works
{"wofch_v3", CPS_B_21_DEF, mapper_sfzch }, //works
{"wofchdx", CPS_B_21_DEF, mapper_sfzch }, //works
{"wofchdx1", CPS_B_21_DEF, mapper_TK263B }, //works
{"wofchdx2", CPS_B_21_DEF, mapper_TK263B }, //works
{"wofchspp", CPS_B_21_DEF, mapper_TK263B }, //works
- {"wofjcn", CPS_B_21_QS1, mapper_TK263B }, // problem with chinese language roms
+ {"wofctj", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofdy", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofdyg", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofes", CPS_B_21_DEF, mapper_TK263B }, //works
+ {"woffh", CPS_B_21_QS1, mapper_TK263B }, //works
{"woffr", CPS_B_21_DEF, mapper_sfzch }, //works
+ {"wofgyc", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofgyq", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofhgz", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofhzj", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofjcn", CPS_B_21_QS1, mapper_TK263B }, // problem with chinese language roms
+ {"wofjd", CPS_B_21_DEF, mapper_TK263B }, //works
+ {"wofjehp", CPS_B_21_QS1, mapper_TK263B }, //works
{"wofjh", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofjh2", CPS_B_21_QS1, mapper_TK263B }, //works
{"wofjhb", CPS_B_21_QS1, mapper_TK263B }, //works
{"wofjhc", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofjhdwb", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofjhp2", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofjjq", CPS_B_21_QS1, mapper_TK263B }, //works
{"wofjm", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofjmsp", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofjpsrw", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofjqz", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofjrabh", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofjrlb", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofjrpbs", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofjv10s", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofjzcr1", CPS_B_21_QS1, mapper_TK263B }, //works
{"wofjzero", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofmr", CPS_B_21_QS1, mapper_TK263B }, //works
{"wofr1h", CPS_B_21_DEF, mapper_TK263B }, //works
+ {"wofsbl", CPS_B_21_QS1, mapper_TK263B }, //works
{"wofsf2", CPS_B_21_QS1, mapper_TK263B, 0x36 }, //works
+ {"wofsjj", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofsz", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofud", CPS_B_21_DEF, mapper_TK263B }, //works
+ {"wofyjs", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofyxg", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofzhs", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofzhy", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofzy2", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofzy3", CPS_B_21_QS1, mapper_TK263B }, //works
+ {"wofzyq", CPS_B_21_QS1, mapper_TK263B }, //works
// HBMAME end
{nullptr} /* End of table */
diff --git a/docs/release/src/osd/winui/bitmask.cpp b/docs/release/src/osd/winui/bitmask.cpp
index 8175e4a11d0..c8b542dce5d 100644
--- a/docs/release/src/osd/winui/bitmask.cpp
+++ b/docs/release/src/osd/winui/bitmask.cpp
@@ -3,7 +3,6 @@
/* bitmask.c - Bitmask support routines - MSH 11/19/1998 */
// standard windows headers
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
// standard C headers
diff --git a/docs/release/src/osd/winui/columnedit.cpp b/docs/release/src/osd/winui/columnedit.cpp
index 020ef7240ab..21cac963e76 100644
--- a/docs/release/src/osd/winui/columnedit.cpp
+++ b/docs/release/src/osd/winui/columnedit.cpp
@@ -10,7 +10,6 @@
***************************************************************************/
// standard windows headers
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <windowsx.h>
#include <shellapi.h>
diff --git a/docs/release/src/osd/winui/datafile.cpp b/docs/release/src/osd/winui/datafile.cpp
deleted file mode 100644
index 546ac5a5d30..00000000000
--- a/docs/release/src/osd/winui/datafile.cpp
+++ /dev/null
@@ -1,931 +0,0 @@
-// For licensing and usage information, read docs/winui_license.txt
-//****************************************************************************
-// MASTER
-/****************************************************************************
- * datafile.c
- * History database engine
- *
- * Token parsing by Neil Bradley
- * Modifications and higher-level functions by John Butler
- ****************************************************************************/
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-
-// MAME/MAMEUI headers
-#include "emu.h"
-#include "datafile.h"
-#include "mui_opts.h"
-#include "mui_util.h"
-#include "sound/samples.h"
-#include "drivenum.h" // MESSUI only
-
-#define MAX_TOKEN_LENGTH 256
-#define DATAFILE_TAG '$'
-
-/****************************************************************************
- * datafile constants
- ****************************************************************************/
-static const char *DATAFILE_TAG_KEY = "$info";
-static const char *DATAFILE_TAG_BIO = "$bio";
-static const char *DATAFILE_TAG_MAME = "$mame";
-static const char *DATAFILE_TAG_DRIV = "$drv";
-static const char *DATAFILE_TAG_CMD = "$cmd";
-static const char *DATAFILE_TAG_SCORE = "$story";
-static const char *DATAFILE_TAG_END = "$end";
-
-/****************************************************************************
- * private data for parsing functions
- ****************************************************************************/
-static FILE *fp = nullptr; /* Our file pointer */
-static UINT64 dwFilePos = 0; /* file position */
-static char filename[MAX_PATH]; /* datafile name */
-
-struct tDatafileIndex
-{
- long offset;
- const game_driver *driver;
-};
-
-static struct tDatafileIndex *gameinit_idx = nullptr;
-static struct tDatafileIndex *hist_idx = nullptr;
-static struct tDatafileIndex *mame_idx = nullptr;
-static struct tDatafileIndex *driv_idx = nullptr;
-static struct tDatafileIndex *sysinfo_idx = nullptr;
-static struct tDatafileIndex *mess_idx = nullptr;
-static struct tDatafileIndex *messdriv_idx = nullptr;
-static struct tDatafileIndex *cmd_idx = nullptr;
-static struct tDatafileIndex *score_idx = nullptr;
-
-/****************************************************************************
-* Create an array with sorted sourcedrivers for the function
-* index_datafile_drivinfo to speed up the datafile access
-****************************************************************************/
-
-typedef struct
-{
- const char *srcdriver;
- int index;
-} srcdriver_data_type;
-
-static srcdriver_data_type *sorted_srcdrivers = nullptr;
-
-static int SrcDriverDataCompareFunc(const void *arg1, const void *arg2)
-{
- return strcmp(((srcdriver_data_type *)arg1)->srcdriver, ((srcdriver_data_type *)arg2)->srcdriver);
-}
-
-static int GetSrcDriverIndex(const char *srcdriver)
-{
- srcdriver_data_type *srcdriver_index_info;
- srcdriver_data_type key;
- key.srcdriver = srcdriver;
- int num_games = driver_list::total();
-
- if (sorted_srcdrivers == NULL)
- {
- /* initialize array of game names/indices */
- sorted_srcdrivers = (srcdriver_data_type *)malloc(sizeof(srcdriver_data_type) * num_games);
- for (int i = 0; i < num_games; i++)
- {
- sorted_srcdrivers[i].srcdriver = driver_list::driver(i).source_file+32;
- sorted_srcdrivers[i].index = i;
- }
- qsort(sorted_srcdrivers,num_games,sizeof(srcdriver_data_type),SrcDriverDataCompareFunc);
- }
-
- srcdriver_index_info = (srcdriver_data_type *)bsearch(&key, sorted_srcdrivers, num_games, sizeof(srcdriver_data_type), SrcDriverDataCompareFunc);
-
- if (srcdriver_index_info)
- return srcdriver_index_info->index;
- else
- return -1;
-}
-
-/****************************************************************************
- * ParseClose - Closes the existing opened file (if any)
- ****************************************************************************/
-static void ParseClose(void)
-{
- /* If the file is open, time for fclose. */
- if (fp)
- fclose(fp);
-}
-
-/****************************************************************************
- * ParseOpen - Open up file for reading
- ****************************************************************************/
-static BOOL ParseOpen(const char *pszFilename)
-{
- /* MAME core file parsing functions fail in recognizing UNICODE chars in UTF-8 without BOM,
- so it's better and faster use standard C fileio functions */
- fp = fopen(pszFilename, "r");
-
- if (fp == NULL)
- return FALSE;
-
- /* Otherwise, prepare! */
- dwFilePos = 0;
- /* identify text file type first */
- fgetc(fp);
- fseek(fp, dwFilePos, SEEK_SET);
- return TRUE;
-}
-
-/****************************************************************************
- * ParseSeek - Move the file position indicator
- ****************************************************************************/
-static UINT8 ParseSeek(UINT64 offset, int whence)
-{
- int result = fseek(fp, offset, whence);
-
- if (result == 0)
- dwFilePos = ftell(fp);
-
- return (UINT8)result;
-}
-
-/**************************************************************************
- **************************************************************************
- *
- * Datafile functions
- *
- **************************************************************************
- **************************************************************************/
-
- /**************************************************************************
- * index_datafile
- * Create an index for the records in the currently open datafile.
- *
- * Returns 0 on error, or the number of index entries created.
- **************************************************************************/
-static int index_datafile(struct tDatafileIndex **_index, int source)
-{
- struct tDatafileIndex *idx;
- int count = 0;
- char readbuf[512];
- char name[40];
- int num_games = driver_list::total();
-
- /* rewind file */
- if (ParseSeek (0L, SEEK_SET))
- return 0;
-
- /* allocate index */
- idx = *_index = global_alloc_array(tDatafileIndex, (num_games + 1) * sizeof (struct tDatafileIndex));
-
- if (!idx)
- return 0;
-
- while (fgets(readbuf, 512, fp))
- {
- /* DATAFILE_TAG_KEY identifies the driver */
- if (!core_strnicmp(DATAFILE_TAG_KEY, readbuf, strlen(DATAFILE_TAG_KEY)))
- {
- int game_index = 0;
- char *curpoint = &readbuf[strlen(DATAFILE_TAG_KEY) + 1];
- char *pch = NULL;
- char *ends = &readbuf[strlen(readbuf) - 1];
-
- while (curpoint < ends)
- {
- // search for comma
- pch = strpbrk(curpoint, ",");
-
- // found it
- if (pch)
- {
- // copy data and validate driver
- int len = pch - curpoint;
- strncpy(name, curpoint, len);
- name[len] = '\0';
-
- if (!source)
- game_index = GetGameNameIndex(name);
- else
- game_index = GetSrcDriverIndex(name);
-
- if (game_index >= 0)
- {
- idx->driver = &driver_list::driver(game_index);
- idx->offset = ftell(fp);
- idx++;
- count++;
- }
-
- // update current point
- curpoint = pch + 1;
- }
- // if comma not found, copy data while until reach the end of string
- else if (!pch && curpoint < ends)
- {
- int len = ends - curpoint;
- strncpy(name, curpoint, len);
- name[len] = '\0';
-
- if (!source)
- game_index = GetGameNameIndex(name);
- else
- game_index = GetSrcDriverIndex(name);
-
- if (game_index >= 0)
- {
- idx->driver = &driver_list::driver(game_index);
- idx->offset = ftell(fp);
- idx++;
- count++;
- }
-
- // update current point
- curpoint = ends;
- }
- }
- }
- }
-
- /* mark end of index */
- idx->offset = 0L;
- idx->driver = 0;
- return count;
-}
-
-/**************************************************************************
- * load_datafile_text
- *
- * Loads text field for a driver into the buffer specified. Specify the
- * driver, a pointer to the buffer, the buffer size, the index created by
- * index_datafile(), and the desired text field (e.g., DATAFILE_TAG_BIO).
- *
- * Returns 0 if successful.
- **************************************************************************/
-static int load_datafile_text(const game_driver *drv, char *buffer, int bufsize, struct tDatafileIndex *idx, const char *tag, int source_file, int mameinfo)
-{
- char readbuf[16384];
-
- *buffer = '\0';
-
- if (!source_file)
- {
- /* find driver in datafile index */
- while (idx->driver)
- {
- if (idx->driver == drv)
- break;
-
- idx++;
- }
- }
- else
- {
- /* find source file in datafile index */
- while (idx->driver)
- {
- if (idx->driver->source_file == drv->source_file)
- break;
-
- idx++;
- }
- }
-
- if (idx->driver == 0)
- return 1; /* driver not found in index */
-
- /* seek to correct point in datafile */
- if (ParseSeek (idx->offset, SEEK_SET))
- return 1;
-
- /* read text until buffer is full or end of entry is encountered */
- while (fgets(readbuf, 16384, fp))
- {
- if (!core_strnicmp(DATAFILE_TAG_END, readbuf, strlen(DATAFILE_TAG_END)))
- break;
-
- if (!core_strnicmp(tag, readbuf, strlen(tag)))
- continue;
-
- if (strlen(buffer) + strlen(readbuf) > bufsize)
- break;
-
- if (mameinfo)
- {
- char *temp = strtok(readbuf, "\r\n\r\n");
- if (temp != nullptr)
- strcat(buffer, temp);
- else
- strcat(buffer, readbuf);
- }
- else
- strcat(buffer, readbuf);
- }
-
- return 0;
-}
-
-/**************************************************************************
- * load_driver_history
- * Load history text for the specified driver into the specified buffer.
- * Combines $bio field of HISTORY.DAT with $mame field of MAMEINFO.DAT.
- *
- * Returns 0 if successful.
- *
- * NOTE: For efficiency the indices are never freed (intentional leak).
- **************************************************************************/
-int load_driver_history(const game_driver *drv, char *buffer, int bufsize, int filenum)
-{
- int history = 0;
-
- *buffer = 0;
-
- if (filenum)
- snprintf(filename, ARRAY_LENGTH(filename), "%s\\sysinfo.dat", GetDatsDir());
- else
- snprintf(filename, ARRAY_LENGTH(filename), "%s\\history.dat", GetDatsDir());
-
- /* try to open history datafile */
- if (filenum)
- {
- if (ParseOpen(filename))
- {
- /* create index if necessary */
- if (sysinfo_idx)
- history = 1;
- else
- history = (index_datafile (&sysinfo_idx, 0) != 0);
-
- /* load history text (append)*/
- if (sysinfo_idx)
- {
- strcat(buffer, "\n**** SYSINFO: ****\n\n");
- int len = strlen(buffer);
- int err = 0;
- const game_driver *gdrv;
- gdrv = drv;
-
- do
- {
- err = load_datafile_text(gdrv, buffer + len, bufsize - len, sysinfo_idx, DATAFILE_TAG_BIO, 0, 0);
- int g = driver_list::clone(*gdrv);
-
- if (g!=-1)
- gdrv = &driver_list::driver(g);
- else
- gdrv = NULL;
- } while (err && gdrv);
-
- if (err)
- history = 0;
- }
-
- ParseClose();
- }
- }
- else
- {
- if (ParseOpen(filename))
- {
- /* create index if necessary */
- if (hist_idx)
- history = 1;
- else
- history = (index_datafile (&hist_idx, 0) != 0);
-
- /* load history text (append)*/
- if (hist_idx)
- {
- strcat(buffer, "\n**** HISTORY: ****\n\n");
- int len = strlen(buffer);
- int err = 0;
- const game_driver *gdrv;
- gdrv = drv;
-
- do
- {
- err = load_datafile_text(gdrv, buffer + len, bufsize - len, hist_idx, DATAFILE_TAG_BIO, 0, 0);
- int g = driver_list::clone(*gdrv);
-
- if (g!=-1)
- gdrv = &driver_list::driver(g);
- else
- gdrv = NULL;
- } while (err && gdrv);
-
- if (err)
- history = 0;
- }
-
- ParseClose();
- }
- }
-
- strcat(buffer, "\n");
- return (history == 0);
-}
-
-int load_driver_mameinfo(const game_driver *drv, char *buffer, int bufsize, int filenum)
-{
- machine_config config(*drv, MameUIGlobal());
- const game_driver *parent = NULL;
- char name[512];
- int mameinfo = 0;
- int is_bios = 0;
-
- *buffer = 0;
-
- switch (filenum)
- {
- case 0:
- snprintf(filename, ARRAY_LENGTH(filename), "%s\\mameinfo.dat", GetDatsDir());
- strcat(buffer, "\n**** MAMEINFO: ****\n\n");
- break;
- case 1:
- snprintf(filename, ARRAY_LENGTH(filename), "%s\\messinfo.dat", GetDatsDir());
- strcat(buffer, "\n**** MESSINFO: ****\n\n");
- break;
- case 2:
- snprintf(filename, ARRAY_LENGTH(filename), "%s\\gameinit.dat", GetDatsDir());
- strcat(buffer, "\n**** GAMEINIT: ****\n\n");
- break;
- default:
- break;
- }
-
- if (filenum < 2)
- {
- /* List the game info 'flags' */
- if (drv->flags & MACHINE_NOT_WORKING)
- strcat(buffer, "THIS GAME DOESN'T WORK PROPERLY\n");
-
- if (drv->flags & MACHINE_UNEMULATED_PROTECTION)
- strcat(buffer, "The game has protection which isn't fully emulated.\n");
-
- if (drv->flags & MACHINE_IMPERFECT_GRAPHICS)
- strcat(buffer, "The video emulation isn't 100% accurate.\n");
-
- if (drv->flags & MACHINE_WRONG_COLORS)
- strcat(buffer, "The colors are completely wrong.\n");
-
- if (drv->flags & MACHINE_IMPERFECT_COLORS)
- strcat(buffer, "The colors aren't 100% accurate.\n");
-
- if (drv->flags & MACHINE_NO_SOUND)
- strcat(buffer, "The game lacks sound.\n");
-
- if (drv->flags & MACHINE_IMPERFECT_SOUND)
- strcat(buffer, "The sound emulation isn't 100% accurate.\n");
-
- if (drv->flags & MACHINE_SUPPORTS_SAVE)
- strcat(buffer, "Save state support.\n");
-
- if (drv->flags & MACHINE_MECHANICAL)
- strcat(buffer, "The game contains mechanical parts.\n");
-
- strcat(buffer, "\n");
-
- if (drv->flags & MACHINE_IS_BIOS_ROOT)
- is_bios = 1;
- }
-
- /* try to open mameinfo datafile */
- if (ParseOpen(filename))
- {
- if (filenum == 2)
- {
- /* create index if necessary */
- if (gameinit_idx)
- mameinfo = 1;
- else
- mameinfo = (index_datafile (&gameinit_idx, 0) != 0);
-
- /* load informational text (append) */
- if (gameinit_idx)
- {
- int len = strlen(buffer);
- int err = 0;
- const game_driver *gdrv;
- gdrv = drv;
-
- do
- {
- err = load_datafile_text(gdrv, buffer + len, bufsize - len, gameinit_idx, DATAFILE_TAG_MAME, 0, 1);
- int g = driver_list::clone(*gdrv);
-
- if (g!=-1)
- gdrv = &driver_list::driver(g);
- else
- gdrv = NULL;
- } while (err && gdrv);
-
- if (err)
- mameinfo = 0;
- }
- }
- else
- if (filenum == 1)
- {
- /* create index if necessary */
- if (mess_idx)
- mameinfo = 1;
- else
- mameinfo = (index_datafile (&mess_idx, 0) != 0);
-
- /* load informational text (append) */
- if (mess_idx)
- {
- int len = strlen(buffer);
- int err = 0;
- const game_driver *gdrv;
- gdrv = drv;
-
- do
- {
- err = load_datafile_text(gdrv, buffer + len, bufsize - len, mess_idx, DATAFILE_TAG_MAME, 0, 1);
- int g = driver_list::clone(*gdrv);
-
- if (g!=-1)
- gdrv = &driver_list::driver(g);
- else
- gdrv = NULL;
- } while (err && gdrv);
-
- if (err)
- mameinfo = 0;
- }
- }
- else
- if (filenum == 0)
- {
- /* create index if necessary */
- if (mame_idx)
- mameinfo = 1;
- else
- mameinfo = (index_datafile (&mame_idx, 0) != 0);
-
- /* load informational text (append) */
- if (mame_idx)
- {
- int len = strlen(buffer);
- int err = 0;
- const game_driver *gdrv;
- gdrv = drv;
-
- do
- {
- err = load_datafile_text(gdrv, buffer + len, bufsize - len, mame_idx, DATAFILE_TAG_MAME, 0, 1);
- int g = driver_list::clone(*gdrv);
-
- if (g!=-1)
- gdrv = &driver_list::driver(g);
- else
- gdrv = NULL;
- } while (err && gdrv);
-
- if (err)
- mameinfo = 0;
- }
- }
-
- ParseClose();
- }
-
- if (filenum > 1)
- return (mameinfo == 0);
-
- /* GAME INFORMATIONS */
- snprintf(name, ARRAY_LENGTH(name), "\nGAME: %s\n", drv->name);
- strcat(buffer, name);
- snprintf(name, ARRAY_LENGTH(name), "%s", drv->description);
- strcat(buffer, name);
- snprintf(name, ARRAY_LENGTH(name), " (%s %s)\n\nCPU:\n", drv->manufacturer, drv->year);
- strcat(buffer, name);
- /* iterate over CPUs */
- for (device_execute_interface &cpu : execute_interface_iterator(config.root_device()))
- {
- if (cpu.device().clock() >= 1000000)
- snprintf(name, ARRAY_LENGTH(name), "%s %d.%06d MHz\n", cpu.device().name(), cpu.device().clock() / 1000000, cpu.device().clock() % 1000000);
- else
- snprintf(name, ARRAY_LENGTH(name), "%s %d.%03d kHz\n", cpu.device().name(), cpu.device().clock() / 1000, cpu.device().clock() % 1000);
-
- strcat(buffer, name);
- }
-
- strcat(buffer, "\nSOUND:\n");
- int has_sound = 0;
- /* iterate over sound chips */
-
- for (device_sound_interface &sound : sound_interface_iterator(config.root_device()))
- {
- char tmpname[1024];
-
- snprintf(tmpname, ARRAY_LENGTH(tmpname), "%s", sound.device().name());
- int clock = sound.device().clock();
- has_sound = 1;
-
- strcat(buffer, tmpname);
-
- if (clock)
- {
- if (clock >= 1000000)
- snprintf(name, ARRAY_LENGTH(name), " %d.%06d MHz", clock / 1000000, clock % 1000000);
- else
- snprintf(name, ARRAY_LENGTH(name), " %d.%03d kHz", clock / 1000, clock % 1000);
-
- strcat(buffer, name);
- }
-
- strcat(buffer, "\n");
- }
-
- if (has_sound)
- {
- speaker_device_iterator iter(config.root_device());
- int channels = iter.count();
-
- if(channels == 1)
- snprintf(name, ARRAY_LENGTH(name), "%d Channel\n",channels);
- else
- snprintf(name, ARRAY_LENGTH(name), "%dx Channels\n",channels);
-
- strcat(buffer, name);
- }
-
- strcat(buffer, "\nVIDEO:\n");
- screen_device_iterator screeniter(config.root_device());
- const screen_device *screen1 = screeniter.first();
-
- if (screen1 == nullptr)
- strcat(buffer, "Screenless\n");
- else if (screen1->screen_type() == SCREEN_TYPE_VECTOR)
- strcat(buffer,"Vector\n");
- else
- {
- for (screen_device &screen : screen_device_iterator(config.root_device()))
- {
- if (drv->flags & ORIENTATION_SWAP_XY)
- snprintf(name, ARRAY_LENGTH(name), "%d x %d (V)", screen.visible_area().height(), screen.visible_area().width());
- else
- snprintf(name, ARRAY_LENGTH(name), "%d x %d (H)", screen.visible_area().width(), screen.visible_area().height());
-
- strcat(buffer, name);
- snprintf(name, ARRAY_LENGTH(name), " %f Hz", ATTOSECONDS_TO_HZ(screen.refresh_attoseconds()));
- strcat(buffer, name);
- strcat(buffer, "\n");
- }
- }
-
- strcat(buffer, "\nROM REGION:\n");
- int g = driver_list::clone(*drv);
-
- if (g != -1)
- parent = &driver_list::driver(g);
-
- for (device_t &device : device_iterator(config.root_device()))
- {
- for (const rom_entry *region = rom_first_region(device); region; region = rom_next_region(region))
- {
- for (const rom_entry *rom = rom_first_file(region); rom; rom = rom_next_file(rom))
- {
- util::hash_collection hashes(ROM_GETHASHDATA(rom));
-
- if (g != -1)
- {
- machine_config pconfig(*parent, MameUIGlobal());
- device_iterator deviter(pconfig.root_device());
-
- for (device_t &device : device_iterator(pconfig.root_device()))
- for (const rom_entry *pregion = rom_first_region(device); pregion; pregion = rom_next_region(pregion))
- for (const rom_entry *prom = rom_first_file(pregion); prom; prom = rom_next_file(prom))
- {
- util::hash_collection phashes(ROM_GETHASHDATA(prom));
-
- if (hashes == phashes)
- break;
- }
- }
-
- snprintf(name, ARRAY_LENGTH(name), "%-16s \t", ROM_GETNAME(rom));
- strcat(buffer, name);
- snprintf(name, ARRAY_LENGTH(name), "%09d \t", rom_file_size(rom));
- strcat(buffer, name);
- snprintf(name, ARRAY_LENGTH(name), "%-10s", ROMREGION_GETTAG(region));
- strcat(buffer, name);
- strcat(buffer, "\n");
- }
- }
- }
-
- for (samples_device &device : samples_device_iterator(config.root_device()))
- {
- samples_iterator sampiter(device);
-
- if (sampiter.altbasename() )
- {
- snprintf(name, ARRAY_LENGTH(name), "\nSAMPLES (%s):\n", sampiter.altbasename());
- strcat(buffer, name);
- }
-
- std::unordered_set<std::string> already_printed;
-
- for (const char *samplename = sampiter.first(); samplename; samplename = sampiter.next())
- {
- // filter out duplicates
- if (!already_printed.insert(samplename).second)
- continue;
-
- // output the sample name
- snprintf(name, ARRAY_LENGTH(name), "%s.wav\n", samplename);
- strcat(buffer, name);
- }
- }
-
- if (!is_bios)
- {
- int g = driver_list::clone(*drv);
-
- if (g != -1)
- drv = &driver_list::driver(g);
-
- strcat(buffer, "\nORIGINAL:\n");
- strcat(buffer, drv->description);
- strcat(buffer, "\n\nCLONES:\n");
-
- for (int i = 0; i < driver_list::total(); i++)
- {
- if (!strcmp (drv->name, driver_list::driver(i).parent))
- {
- strcat(buffer, driver_list::driver(i).description);
- strcat(buffer, "\n");
- }
- }
- }
-
- strcat(buffer, "\n");
- return (mameinfo == 0);
-}
-
-int load_driver_driverinfo(const game_driver *drv, char *buffer, int bufsize, int filenum)
-{
- int drivinfo = 0;
- char source_file[40];
- char tmp[100];
- std::string temp = core_filename_extract_base(drv->source_file);
- strcpy(source_file, temp.c_str());
-
- *buffer = 0;
-
- if (filenum)
- snprintf(filename, ARRAY_LENGTH(filename), "%s\\messinfo.dat", GetDatsDir());
- else
- snprintf(filename, ARRAY_LENGTH(filename), "%s\\mameinfo.dat", GetDatsDir());
-
- /* Print source code file */
- snprintf(tmp, ARRAY_LENGTH(tmp), "\n\nSOURCE: %s\n\n", source_file);
- strcat(buffer, tmp);
-
- /* Try to open mameinfo datafile - driver section*/
- if (ParseOpen(filename))
- {
- if (filenum)
- {
- /* create index if necessary */
- if (messdriv_idx)
- drivinfo = 1;
- else
- drivinfo = (index_datafile (&messdriv_idx, 1) != 0);
-
- /* load informational text (append) */
- if (messdriv_idx)
- {
- int len = strlen(buffer);
- int err = load_datafile_text(drv, buffer + len, bufsize - len, messdriv_idx, DATAFILE_TAG_DRIV, 1, 1);
-
- if (err)
- drivinfo = 0;
- }
- }
- else
- {
- /* create index if necessary */
- if (driv_idx)
- drivinfo = 1;
- else
- drivinfo = (index_datafile (&driv_idx, 1) != 0);
-
- /* load informational text (append) */
- if (driv_idx)
- {
- int len = strlen(buffer);
- int err = load_datafile_text(drv, buffer + len, bufsize - len, driv_idx, DATAFILE_TAG_DRIV, 1, 1);
-
- if (err)
- drivinfo = 0;
- }
- }
- ParseClose();
- }
-
- strcat(buffer, "\nGAMES SUPPORTED:\n");
-
- for (int i = 0; i < driver_list::total(); i++)
- {
- if (!strcmp(source_file, GetDriverFilename(i)) && !(DriverIsBios(i)))
- {
- strcat(buffer, driver_list::driver(i).description);
- strcat(buffer,"\n");
- }
- }
-
- strcat(buffer, "\n\n");
- return (drivinfo == 0);
-}
-
-int load_driver_command(const game_driver *drv, char *buffer, int bufsize)
-{
- int command = 0;
-
- *buffer = 0;
- snprintf(filename, ARRAY_LENGTH(filename), "%s\\command.dat", GetDatsDir());
- strcat(buffer, "\n**** COMMAND: ****\n\n");
-
- /* try to open command datafile */
- if (ParseOpen(filename))
- {
- /* create index if necessary */
- if (cmd_idx)
- command = 1;
- else
- command = (index_datafile (&cmd_idx, 0) != 0);
-
- /* load informational text (append) */
- if (cmd_idx)
- {
- int len = strlen(buffer);
- int err = 0;
- const game_driver *gdrv;
- gdrv = drv;
-
- do
- {
- err = load_datafile_text(gdrv, buffer + len, bufsize - len, cmd_idx, DATAFILE_TAG_CMD, 0, 0);
- int g = driver_list::clone(*gdrv);
-
- if (g!=-1)
- gdrv = &driver_list::driver(g);
- else
- gdrv = NULL;
- } while (err && gdrv);
-
- if (err)
- command = 0;
- }
-
- ParseClose();
- }
-
- strcat(buffer, "\n\n");
- return (command == 0);
-}
-
-int load_driver_scoreinfo(const game_driver *drv, char *buffer, int bufsize)
-{
- int scoreinfo = 0;
-
- *buffer = 0;
- snprintf(filename, ARRAY_LENGTH(filename), "%s\\story.dat", GetDatsDir());
-
- /* try to open story datafile */
- if (ParseOpen(filename))
- {
- /* create index if necessary */
- if (score_idx)
- scoreinfo = 1;
- else
- scoreinfo = (index_datafile (&score_idx, 0) != 0);
-
- /* load informational text (append) */
- if (score_idx)
- {
- int len = strlen(buffer);
- int err = 0;
- const game_driver *gdrv;
- gdrv = drv;
-
- do
- {
- err = load_datafile_text(gdrv, buffer + len, bufsize - len, score_idx, DATAFILE_TAG_SCORE, 0, 0);
- int g = driver_list::clone(*gdrv);
-
- if (g!=-1)
- gdrv = &driver_list::driver(g);
- else
- gdrv = NULL;
- } while (err && gdrv);
-
- if (err)
- scoreinfo = 0;
- }
-
- ParseClose();
- }
-
- return (scoreinfo == 0);
-}
diff --git a/docs/release/src/osd/winui/datafile.h b/docs/release/src/osd/winui/datafile.h
deleted file mode 100644
index a6ef9952e25..00000000000
--- a/docs/release/src/osd/winui/datafile.h
+++ /dev/null
@@ -1,15 +0,0 @@
-// For licensing and usage information, read docs/winui_license.txt
-//****************************************************************************
-
-#pragma once
-
-#ifndef DATAFILE_H
-#define DATAFILE_H
-
-int load_driver_history(const game_driver *drv, char *buffer, int bufsize, int filenum);
-int load_driver_mameinfo(const game_driver *drv, char *buffer, int bufsize, int filenum);
-int load_driver_driverinfo(const game_driver *drv, char *buffer, int bufsize, int filenum);
-int load_driver_command(const game_driver *drv, char *buffer, int bufsize);
-int load_driver_scoreinfo(const game_driver *drv, char *buffer, int bufsize);
-
-#endif
diff --git a/docs/release/src/osd/winui/datamap.cpp b/docs/release/src/osd/winui/datamap.cpp
index 58873d356e8..fa4d6e05b4d 100644
--- a/docs/release/src/osd/winui/datamap.cpp
+++ b/docs/release/src/osd/winui/datamap.cpp
@@ -8,7 +8,6 @@
//============================================================
// standard windows headers
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <windowsx.h>
#include <commctrl.h>
diff --git a/docs/release/src/osd/winui/dialogs.cpp b/docs/release/src/osd/winui/dialogs.cpp
index 5212e76300f..d39fd6c7656 100644
--- a/docs/release/src/osd/winui/dialogs.cpp
+++ b/docs/release/src/osd/winui/dialogs.cpp
@@ -10,7 +10,6 @@
***************************************************************************/
-#define WIN32_LEAN_AND_MEAN
#ifdef _MSC_VER
#ifndef NONAMELESSUNION
diff --git a/docs/release/src/osd/winui/dijoystick.cpp b/docs/release/src/osd/winui/dijoystick.cpp
index 34251a9595a..1136c7f0179 100644
--- a/docs/release/src/osd/winui/dijoystick.cpp
+++ b/docs/release/src/osd/winui/dijoystick.cpp
@@ -8,7 +8,6 @@
***************************************************************************/
// standard windows headers
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
// standard C headers
diff --git a/docs/release/src/osd/winui/directdraw.cpp b/docs/release/src/osd/winui/directdraw.cpp
index 0d2c1a298d0..c85f97f8a76 100644
--- a/docs/release/src/osd/winui/directdraw.cpp
+++ b/docs/release/src/osd/winui/directdraw.cpp
@@ -9,7 +9,6 @@
***************************************************************************/
// standard windows headers
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
// MAME/MAMEUI headers
diff --git a/docs/release/src/osd/winui/directinput.cpp b/docs/release/src/osd/winui/directinput.cpp
index fca5ff8cac7..5e5c554a95c 100644
--- a/docs/release/src/osd/winui/directinput.cpp
+++ b/docs/release/src/osd/winui/directinput.cpp
@@ -10,7 +10,6 @@
***************************************************************************/
// standard windows headers
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
// MAME/MAMEUI headers
diff --git a/docs/release/src/osd/winui/directories.cpp b/docs/release/src/osd/winui/directories.cpp
index f1e0e0a0167..25928d136be 100644
--- a/docs/release/src/osd/winui/directories.cpp
+++ b/docs/release/src/osd/winui/directories.cpp
@@ -9,7 +9,6 @@
***************************************************************************/
// standard windows headers
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <windowsx.h>
diff --git a/docs/release/src/osd/winui/dirwatch.cpp b/docs/release/src/osd/winui/dirwatch.cpp
index b4a3537b005..62d0ac7d7e9 100644
--- a/docs/release/src/osd/winui/dirwatch.cpp
+++ b/docs/release/src/osd/winui/dirwatch.cpp
@@ -2,7 +2,6 @@
//****************************************************************************
// standard windows headers
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
// standard C headers
diff --git a/docs/release/src/osd/winui/dxdecode.cpp b/docs/release/src/osd/winui/dxdecode.cpp
index 3009084f0c7..7fd82828fe8 100644
--- a/docs/release/src/osd/winui/dxdecode.cpp
+++ b/docs/release/src/osd/winui/dxdecode.cpp
@@ -2,7 +2,6 @@
//****************************************************************************
// standard windows headers
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <ddraw.h>
diff --git a/docs/release/src/osd/winui/game_opts.h b/docs/release/src/osd/winui/game_opts.h
index d53638ef5e0..5f5f98d737b 100644
--- a/docs/release/src/osd/winui/game_opts.h
+++ b/docs/release/src/osd/winui/game_opts.h
@@ -4,72 +4,6 @@
#ifndef __GAME_OPTS_H__
#define __GAME_OPTS_H__
-#include "emu.h"
-#include "drivenum.h"
-#include "win_options.h"
-
-class string_iterator
-{
-public:
- // simple construction/destruction
- string_iterator() { copy(""); }
- string_iterator(const char *str) { copy(str); }
-
- // copy helpers
- void copy(const char *str)
- {
- /* reset the structure */
- m_str.clear();
- m_base = (str != NULL) ? str : "";
- m_cur = m_base;
- }
-
- // character searching helpers
- int next(int separator, bool duplicate = false)
- {
- const char *semi;
-
- /* if none left, return FALSE to indicate we are done */
- if (m_index != 0 && *m_cur == 0)
- return false;
-
- /* ignore duplicates of the separator */
- while (duplicate && m_index == 0 && *m_cur == separator)
- m_cur++;
-
- if (duplicate && *m_cur == 0)
- return false;
-
- /* copy up to the next separator */
- semi = strchr(m_cur, separator);
-
- if (semi == NULL)
- semi = m_cur + strlen(m_cur);
-
- m_str.assign(m_cur, semi - m_cur);
- m_cur = (*semi == 0) ? semi : semi + 1;
-
- /* ignore duplicates of the separator */
- while (duplicate && *m_cur && *m_cur == separator)
- m_cur++;
-
- /* bump the index and return true */
- m_index++;
-
- return true;
- }
-
- // C string conversion operators and helpers
- operator const char *() const { return m_str.c_str(); }
- const char *c_str() const { return m_str.c_str(); }
-
-private:
- std::string m_str;
- const char * m_base;
- const char * m_cur;
- int m_index;
-};
-
class game_options
{
public:
@@ -105,7 +39,7 @@ public:
options_entry entry[2] = { { 0 }, { 0 } };
// 1:Rom, 2:Sample, 3:Cache, 4:Play Count, 5:Play Time
- entry[0].defvalue = "-1,-1,-1";
+ entry[0].defvalue = "-1;-1;-1";
entry[0].flags = OPTION_STRING;
entry[0].description = NULL;
@@ -134,14 +68,11 @@ public:
void output_ini(std::string &buffer, const char *header = NULL)
{
- std::string inibuffer;
- //inibuffer.expand(768*1024);
-
- m_info.output_ini(inibuffer);
+ std::string inibuffer = m_info.output_ini();
if (header && !inibuffer.empty())
{
- buffer.append(string_format("\n#\n# %s\n#\n", header));
+ buffer.append(string_format("#\n# %s\n#\n", header));
buffer.append(inibuffer);
}
}
@@ -161,14 +92,15 @@ public:
void load_settings(const char *str, int index)
{
- string_iterator value_str(str);
+ path_iterator path(str);
+ std::string curpath;
int value_int;
for (int i = 0; i < 5; i++)
{
- if ( value_str.next(',') )
+ if ( path.next(curpath) )
{
- if (value_str && (sscanf(value_str.c_str(), "%d", &value_int) == 1))
+ if (!curpath.empty() && (sscanf(curpath.c_str(), "%d", &value_int) == 1))
{
switch (i)
{
@@ -192,7 +124,7 @@ public:
for (int i = 0; i < m_total; i++)
{
- value_str = string_format("%d,%d,%d,%d,%d", m_list[i].rom, m_list[i].sample, m_list[i].cache, m_list[i].play_count, m_list[i].play_time);
+ value_str = string_format("%d;%d;%d;%d;%d", m_list[i].rom, m_list[i].sample, m_list[i].cache, m_list[i].play_count, m_list[i].play_time);
m_info.set_value(driver_list::driver(i).name, value_str.c_str(), OPTION_PRIORITY_CMDLINE, error_string);
}
}
@@ -215,7 +147,7 @@ public:
}
private:
- win_options m_info;
+ core_options m_info;
int m_total;
struct driver_options
diff --git a/docs/release/src/osd/winui/help.cpp b/docs/release/src/osd/winui/help.cpp
index a6def8f630c..971c369bd86 100644
--- a/docs/release/src/osd/winui/help.cpp
+++ b/docs/release/src/osd/winui/help.cpp
@@ -10,7 +10,6 @@
***************************************************************************/
// standard windows headers
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
// MAME/MAMEUI headers
diff --git a/docs/release/src/osd/winui/history.cpp b/docs/release/src/osd/winui/history.cpp
index 1fcd5d388a1..b625ed6760d 100644
--- a/docs/release/src/osd/winui/history.cpp
+++ b/docs/release/src/osd/winui/history.cpp
@@ -1,25 +1,941 @@
// For licensing and usage information, read docs/winui_license.txt
+// MASTER
//****************************************************************************
/***************************************************************************
- history.c
+ history.cpp
- history functions.
+ * history functions.
+ * History database engine
+ * Collect all information on the selected driver, and return it as
+ * a string. Called by winui.cpp
+ *
+ * Token parsing by Neil Bradley
+ * Modifications and higher-level functions by John Butler
+
+ * Further work by Mamesick and Robbbert
***************************************************************************/
// standard windows headers
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
-#include <stdio.h>
// MAME/MAMEUI headers
#include "emu.h"
#include "drivenum.h"
#include "mui_util.h"
-#include "datafile.h"
-#include "history.h"
+#include "mui_opts.h"
+#include "sound/samples.h"
+
+#define MAX_TOKEN_LENGTH 256
+#define DATAFILE_TAG '$'
+
+/****************************************************************************
+ * datafile constants
+ ****************************************************************************/
+static const char *DATAFILE_TAG_KEY = "$info";
+static const char *DATAFILE_TAG_BIO = "$bio";
+static const char *DATAFILE_TAG_MAME = "$mame";
+static const char *DATAFILE_TAG_DRIV = "$drv";
+static const char *DATAFILE_TAG_CMD = "$cmd";
+static const char *DATAFILE_TAG_SCORE = "$story";
+static const char *DATAFILE_TAG_END = "$end";
+
+/****************************************************************************
+ * private data for parsing functions
+ ****************************************************************************/
+static FILE *fp = nullptr; /* Our file pointer */
+static UINT64 dwFilePos = 0; /* file position */
+static char filename[MAX_PATH]; /* datafile name */
+
+struct tDatafileIndex
+{
+ long offset;
+ const game_driver *driver;
+};
+
+static struct tDatafileIndex *gameinit_idx = nullptr;
+static struct tDatafileIndex *hist_idx = nullptr;
+static struct tDatafileIndex *mame_idx = nullptr;
+static struct tDatafileIndex *driv_idx = nullptr;
+static struct tDatafileIndex *sysinfo_idx = nullptr;
+static struct tDatafileIndex *mess_idx = nullptr;
+static struct tDatafileIndex *messdriv_idx = nullptr;
+static struct tDatafileIndex *cmd_idx = nullptr;
+static struct tDatafileIndex *score_idx = nullptr;
+
+/****************************************************************************
+* Create an array with sorted sourcedrivers for the function
+* index_datafile_drivinfo to speed up the datafile access
+****************************************************************************/
+
+typedef struct
+{
+ const char *srcdriver;
+ int index;
+} srcdriver_data_type;
+
+static srcdriver_data_type *sorted_srcdrivers = nullptr;
+
+static int SrcDriverDataCompareFunc(const void *arg1, const void *arg2)
+{
+ return strcmp(((srcdriver_data_type *)arg1)->srcdriver, ((srcdriver_data_type *)arg2)->srcdriver);
+}
+
+static int GetSrcDriverIndex(const char *srcdriver)
+{
+ srcdriver_data_type *srcdriver_index_info;
+ srcdriver_data_type key;
+ key.srcdriver = srcdriver;
+ int num_games = driver_list::total();
+
+ if (sorted_srcdrivers == NULL)
+ {
+ /* initialize array of game names/indices */
+ sorted_srcdrivers = (srcdriver_data_type *)malloc(sizeof(srcdriver_data_type) * num_games);
+ for (int i = 0; i < num_games; i++)
+ {
+ sorted_srcdrivers[i].srcdriver = driver_list::driver(i).source_file+32;
+ sorted_srcdrivers[i].index = i;
+ }
+ qsort(sorted_srcdrivers,num_games,sizeof(srcdriver_data_type),SrcDriverDataCompareFunc);
+ }
+
+ srcdriver_index_info = (srcdriver_data_type *)bsearch(&key, sorted_srcdrivers, num_games, sizeof(srcdriver_data_type), SrcDriverDataCompareFunc);
+
+ if (srcdriver_index_info)
+ return srcdriver_index_info->index;
+ else
+ return -1;
+}
+
+/****************************************************************************
+ * ParseClose - Closes the existing opened file (if any)
+ ****************************************************************************/
+static void ParseClose(void)
+{
+ /* If the file is open, time for fclose. */
+ if (fp)
+ fclose(fp);
+}
+
+/****************************************************************************
+ * ParseOpen - Open up file for reading
+ ****************************************************************************/
+static BOOL ParseOpen(const char *pszFilename)
+{
+ /* MAME core file parsing functions fail in recognizing UNICODE chars in UTF-8 without BOM,
+ so it's better and faster use standard C fileio functions */
+ fp = fopen(pszFilename, "r");
+
+ if (fp == NULL)
+ return FALSE;
+
+ /* Otherwise, prepare! */
+ dwFilePos = 0;
+ /* identify text file type first */
+ fgetc(fp);
+ fseek(fp, dwFilePos, SEEK_SET);
+ return TRUE;
+}
+
+/****************************************************************************
+ * ParseSeek - Move the file position indicator
+ ****************************************************************************/
+static UINT8 ParseSeek(UINT64 offset, int whence)
+{
+ int result = fseek(fp, offset, whence);
+
+ if (result == 0)
+ dwFilePos = ftell(fp);
+
+ return (UINT8)result;
+}
+
+/**************************************************************************
+ **************************************************************************
+ *
+ * Datafile functions
+ *
+ **************************************************************************
+ **************************************************************************/
+
+ /**************************************************************************
+ * index_datafile
+ * Create an index for the records in the currently open datafile.
+ *
+ * Returns 0 on error, or the number of index entries created.
+ **************************************************************************/
+static int index_datafile(struct tDatafileIndex **_index, int source)
+{
+ struct tDatafileIndex *idx;
+ int count = 0;
+ char readbuf[512];
+ char name[40];
+ int num_games = driver_list::total();
+
+ /* rewind file */
+ if (ParseSeek (0L, SEEK_SET))
+ return 0;
+
+ /* allocate index */
+ idx = *_index = global_alloc_array(tDatafileIndex, (num_games + 1) * sizeof (struct tDatafileIndex));
+
+ if (!idx)
+ return 0;
+
+ while (fgets(readbuf, 512, fp))
+ {
+ /* DATAFILE_TAG_KEY identifies the driver */
+ if (!core_strnicmp(DATAFILE_TAG_KEY, readbuf, strlen(DATAFILE_TAG_KEY)))
+ {
+ int game_index = 0;
+ char *curpoint = &readbuf[strlen(DATAFILE_TAG_KEY) + 1];
+ char *pch = NULL;
+ char *ends = &readbuf[strlen(readbuf) - 1];
+
+ while (curpoint < ends)
+ {
+ // search for comma
+ pch = strpbrk(curpoint, ",");
+
+ // found it
+ if (pch)
+ {
+ // copy data and validate driver
+ int len = pch - curpoint;
+ strncpy(name, curpoint, len);
+ name[len] = '\0';
+
+ if (!source)
+ game_index = GetGameNameIndex(name);
+ else
+ game_index = GetSrcDriverIndex(name);
+
+ if (game_index >= 0)
+ {
+ idx->driver = &driver_list::driver(game_index);
+ idx->offset = ftell(fp);
+ idx++;
+ count++;
+ }
+
+ // update current point
+ curpoint = pch + 1;
+ }
+ // if comma not found, copy data while until reach the end of string
+ else if (!pch && curpoint < ends)
+ {
+ int len = ends - curpoint;
+ strncpy(name, curpoint, len);
+ name[len] = '\0';
+
+ if (!source)
+ game_index = GetGameNameIndex(name);
+ else
+ game_index = GetSrcDriverIndex(name);
+
+ if (game_index >= 0)
+ {
+ idx->driver = &driver_list::driver(game_index);
+ idx->offset = ftell(fp);
+ idx++;
+ count++;
+ }
+
+ // update current point
+ curpoint = ends;
+ }
+ }
+ }
+ }
+
+ /* mark end of index */
+ idx->offset = 0L;
+ idx->driver = 0;
+ return count;
+}
+
+/**************************************************************************
+ * load_datafile_text
+ *
+ * Loads text field for a driver into the buffer specified. Specify the
+ * driver, a pointer to the buffer, the buffer size, the index created by
+ * index_datafile(), and the desired text field (e.g., DATAFILE_TAG_BIO).
+ *
+ * Returns 0 if successful.
+ **************************************************************************/
+static int load_datafile_text(const game_driver *drv, char *buffer, int bufsize, struct tDatafileIndex *idx, const char *tag, int source_file, int mameinfo)
+{
+ char readbuf[16384];
+
+ *buffer = '\0';
+
+ if (!source_file)
+ {
+ /* find driver in datafile index */
+ while (idx->driver)
+ {
+ if (idx->driver == drv)
+ break;
+
+ idx++;
+ }
+ }
+ else
+ {
+ /* find source file in datafile index */
+ while (idx->driver)
+ {
+ if (idx->driver->source_file == drv->source_file)
+ break;
+
+ idx++;
+ }
+ }
+
+ if (idx->driver == 0)
+ return 1; /* driver not found in index */
+
+ /* seek to correct point in datafile */
+ if (ParseSeek (idx->offset, SEEK_SET))
+ return 1;
+
+ /* read text until buffer is full or end of entry is encountered */
+ while (fgets(readbuf, 16384, fp))
+ {
+ if (!core_strnicmp(DATAFILE_TAG_END, readbuf, strlen(DATAFILE_TAG_END)))
+ break;
+
+ if (!core_strnicmp(tag, readbuf, strlen(tag)))
+ continue;
+
+ if (strlen(buffer) + strlen(readbuf) > bufsize)
+ break;
+
+ if (mameinfo)
+ {
+ char *temp = strtok(readbuf, "\r\n\r\n");
+ if (temp != nullptr)
+ strcat(buffer, temp);
+ else
+ strcat(buffer, readbuf);
+ }
+ else
+ strcat(buffer, readbuf);
+ }
+
+ return 0;
+}
+
+/**************************************************************************
+ * load_driver_history
+ * Load history text for the specified driver into the specified buffer.
+ * Combines $bio field of HISTORY.DAT with $mame field of MAMEINFO.DAT.
+ *
+ * Returns 0 if successful.
+ *
+ * NOTE: For efficiency the indices are never freed (intentional leak).
+ **************************************************************************/
+static int load_driver_history(const game_driver *drv, char *buffer, int bufsize, int filenum)
+{
+ int history = 0;
+
+ *buffer = 0;
+
+ if (filenum)
+ snprintf(filename, ARRAY_LENGTH(filename), "%s\\sysinfo.dat", GetDatsDir());
+ else
+ snprintf(filename, ARRAY_LENGTH(filename), "%s\\history.dat", GetDatsDir());
+
+ /* try to open history datafile */
+ if (filenum)
+ {
+ if (ParseOpen(filename))
+ {
+ /* create index if necessary */
+ if (sysinfo_idx)
+ history = 1;
+ else
+ history = (index_datafile (&sysinfo_idx, 0) != 0);
+
+ /* load history text (append)*/
+ if (sysinfo_idx)
+ {
+ strcat(buffer, "\n**** SYSINFO: ****\n\n");
+ int len = strlen(buffer);
+ int err = 0;
+ const game_driver *gdrv;
+ gdrv = drv;
+
+ do
+ {
+ err = load_datafile_text(gdrv, buffer + len, bufsize - len, sysinfo_idx, DATAFILE_TAG_BIO, 0, 0);
+ int g = driver_list::clone(*gdrv);
+
+ if (g!=-1)
+ gdrv = &driver_list::driver(g);
+ else
+ gdrv = NULL;
+ } while (err && gdrv);
+
+ if (err)
+ history = 0;
+ }
+
+ ParseClose();
+ }
+ }
+ else
+ {
+ if (ParseOpen(filename))
+ {
+ /* create index if necessary */
+ if (hist_idx)
+ history = 1;
+ else
+ history = (index_datafile (&hist_idx, 0) != 0);
+
+ /* load history text (append)*/
+ if (hist_idx)
+ {
+ strcat(buffer, "\n**** HISTORY: ****\n\n");
+ int len = strlen(buffer);
+ int err = 0;
+ const game_driver *gdrv;
+ gdrv = drv;
+
+ do
+ {
+ err = load_datafile_text(gdrv, buffer + len, bufsize - len, hist_idx, DATAFILE_TAG_BIO, 0, 0);
+ int g = driver_list::clone(*gdrv);
+
+ if (g!=-1)
+ gdrv = &driver_list::driver(g);
+ else
+ gdrv = NULL;
+ } while (err && gdrv);
+
+ if (err)
+ history = 0;
+ }
+
+ ParseClose();
+ }
+ }
+
+ strcat(buffer, "\n");
+ return (history == 0);
+}
+
+static int load_driver_mameinfo(const game_driver *drv, char *buffer, int bufsize, int filenum)
+{
+ machine_config config(*drv, MameUIGlobal());
+ const game_driver *parent = NULL;
+ char name[512];
+ int mameinfo = 0;
+ int is_bios = 0;
+
+ *buffer = 0;
+
+ switch (filenum)
+ {
+ case 0:
+ snprintf(filename, ARRAY_LENGTH(filename), "%s\\mameinfo.dat", GetDatsDir());
+ strcat(buffer, "\n**** MAMEINFO: ****\n\n");
+ break;
+ case 1:
+ snprintf(filename, ARRAY_LENGTH(filename), "%s\\messinfo.dat", GetDatsDir());
+ strcat(buffer, "\n**** MESSINFO: ****\n\n");
+ break;
+ case 2:
+ snprintf(filename, ARRAY_LENGTH(filename), "%s\\gameinit.dat", GetDatsDir());
+ strcat(buffer, "\n**** GAMEINIT: ****\n\n");
+ break;
+ default:
+ break;
+ }
+
+ if (filenum < 2)
+ {
+ /* List the game info 'flags' */
+ if (drv->flags & MACHINE_NOT_WORKING)
+ strcat(buffer, "THIS GAME DOESN'T WORK PROPERLY\n");
+
+ if (drv->flags & MACHINE_UNEMULATED_PROTECTION)
+ strcat(buffer, "The game has protection which isn't fully emulated.\n");
+
+ if (drv->flags & MACHINE_IMPERFECT_GRAPHICS)
+ strcat(buffer, "The video emulation isn't 100% accurate.\n");
+
+ if (drv->flags & MACHINE_WRONG_COLORS)
+ strcat(buffer, "The colors are completely wrong.\n");
+ if (drv->flags & MACHINE_IMPERFECT_COLORS)
+ strcat(buffer, "The colors aren't 100% accurate.\n");
+
+ if (drv->flags & MACHINE_NO_SOUND)
+ strcat(buffer, "The game lacks sound.\n");
+
+ if (drv->flags & MACHINE_IMPERFECT_SOUND)
+ strcat(buffer, "The sound emulation isn't 100% accurate.\n");
+
+ if (drv->flags & MACHINE_SUPPORTS_SAVE)
+ strcat(buffer, "Save state support.\n");
+
+ if (drv->flags & MACHINE_MECHANICAL)
+ strcat(buffer, "The game contains mechanical parts.\n");
+
+ strcat(buffer, "\n");
+
+ if (drv->flags & MACHINE_IS_BIOS_ROOT)
+ is_bios = 1;
+ }
+
+ /* try to open mameinfo datafile */
+ if (ParseOpen(filename))
+ {
+ if (filenum == 2)
+ {
+ /* create index if necessary */
+ if (gameinit_idx)
+ mameinfo = 1;
+ else
+ mameinfo = (index_datafile (&gameinit_idx, 0) != 0);
+
+ /* load informational text (append) */
+ if (gameinit_idx)
+ {
+ int len = strlen(buffer);
+ int err = 0;
+ const game_driver *gdrv;
+ gdrv = drv;
+
+ do
+ {
+ err = load_datafile_text(gdrv, buffer + len, bufsize - len, gameinit_idx, DATAFILE_TAG_MAME, 0, 1);
+ int g = driver_list::clone(*gdrv);
+
+ if (g!=-1)
+ gdrv = &driver_list::driver(g);
+ else
+ gdrv = NULL;
+ } while (err && gdrv);
+
+ if (err)
+ mameinfo = 0;
+ }
+ }
+ else
+ if (filenum == 1)
+ {
+ /* create index if necessary */
+ if (mess_idx)
+ mameinfo = 1;
+ else
+ mameinfo = (index_datafile (&mess_idx, 0) != 0);
+
+ /* load informational text (append) */
+ if (mess_idx)
+ {
+ int len = strlen(buffer);
+ int err = 0;
+ const game_driver *gdrv;
+ gdrv = drv;
+
+ do
+ {
+ err = load_datafile_text(gdrv, buffer + len, bufsize - len, mess_idx, DATAFILE_TAG_MAME, 0, 1);
+ int g = driver_list::clone(*gdrv);
+
+ if (g!=-1)
+ gdrv = &driver_list::driver(g);
+ else
+ gdrv = NULL;
+ } while (err && gdrv);
+
+ if (err)
+ mameinfo = 0;
+ }
+ }
+ else
+ if (filenum == 0)
+ {
+ /* create index if necessary */
+ if (mame_idx)
+ mameinfo = 1;
+ else
+ mameinfo = (index_datafile (&mame_idx, 0) != 0);
+
+ /* load informational text (append) */
+ if (mame_idx)
+ {
+ int len = strlen(buffer);
+ int err = 0;
+ const game_driver *gdrv;
+ gdrv = drv;
+
+ do
+ {
+ err = load_datafile_text(gdrv, buffer + len, bufsize - len, mame_idx, DATAFILE_TAG_MAME, 0, 1);
+ int g = driver_list::clone(*gdrv);
+
+ if (g!=-1)
+ gdrv = &driver_list::driver(g);
+ else
+ gdrv = NULL;
+ } while (err && gdrv);
+
+ if (err)
+ mameinfo = 0;
+ }
+ }
+
+ ParseClose();
+ }
+
+ if (filenum > 1)
+ return (mameinfo == 0);
+
+ /* GAME INFORMATIONS */
+ snprintf(name, ARRAY_LENGTH(name), "\nGAME: %s\n", drv->name);
+ strcat(buffer, name);
+ snprintf(name, ARRAY_LENGTH(name), "%s", drv->description);
+ strcat(buffer, name);
+ snprintf(name, ARRAY_LENGTH(name), " (%s %s)\n\nCPU:\n", drv->manufacturer, drv->year);
+ strcat(buffer, name);
+ /* iterate over CPUs */
+ for (device_execute_interface &cpu : execute_interface_iterator(config.root_device()))
+ {
+ if (cpu.device().clock() >= 1000000)
+ snprintf(name, ARRAY_LENGTH(name), "%s %d.%06d MHz\n", cpu.device().name(), cpu.device().clock() / 1000000, cpu.device().clock() % 1000000);
+ else
+ snprintf(name, ARRAY_LENGTH(name), "%s %d.%03d kHz\n", cpu.device().name(), cpu.device().clock() / 1000, cpu.device().clock() % 1000);
+
+ strcat(buffer, name);
+ }
+
+ strcat(buffer, "\nSOUND:\n");
+ int has_sound = 0;
+ /* iterate over sound chips */
+
+ for (device_sound_interface &sound : sound_interface_iterator(config.root_device()))
+ {
+ char tmpname[1024];
+
+ snprintf(tmpname, ARRAY_LENGTH(tmpname), "%s", sound.device().name());
+ int clock = sound.device().clock();
+ has_sound = 1;
+
+ strcat(buffer, tmpname);
+
+ if (clock)
+ {
+ if (clock >= 1000000)
+ snprintf(name, ARRAY_LENGTH(name), " %d.%06d MHz", clock / 1000000, clock % 1000000);
+ else
+ snprintf(name, ARRAY_LENGTH(name), " %d.%03d kHz", clock / 1000, clock % 1000);
+
+ strcat(buffer, name);
+ }
+
+ strcat(buffer, "\n");
+ }
+
+ if (has_sound)
+ {
+ speaker_device_iterator iter(config.root_device());
+ int channels = iter.count();
+
+ if(channels == 1)
+ snprintf(name, ARRAY_LENGTH(name), "%d Channel\n",channels);
+ else
+ snprintf(name, ARRAY_LENGTH(name), "%dx Channels\n",channels);
+
+ strcat(buffer, name);
+ }
+
+ strcat(buffer, "\nVIDEO:\n");
+ screen_device_iterator screeniter(config.root_device());
+ const screen_device *screen1 = screeniter.first();
+
+ if (screen1 == nullptr)
+ strcat(buffer, "Screenless\n");
+ else if (screen1->screen_type() == SCREEN_TYPE_VECTOR)
+ strcat(buffer,"Vector\n");
+ else
+ {
+ for (screen_device &screen : screen_device_iterator(config.root_device()))
+ {
+ if (drv->flags & ORIENTATION_SWAP_XY)
+ snprintf(name, ARRAY_LENGTH(name), "%d x %d (V)", screen.visible_area().height(), screen.visible_area().width());
+ else
+ snprintf(name, ARRAY_LENGTH(name), "%d x %d (H)", screen.visible_area().width(), screen.visible_area().height());
+
+ strcat(buffer, name);
+ snprintf(name, ARRAY_LENGTH(name), " %f Hz", ATTOSECONDS_TO_HZ(screen.refresh_attoseconds()));
+ strcat(buffer, name);
+ strcat(buffer, "\n");
+ }
+ }
+
+ strcat(buffer, "\nROM REGION:\n");
+ int g = driver_list::clone(*drv);
+
+ if (g != -1)
+ parent = &driver_list::driver(g);
+
+ for (device_t &device : device_iterator(config.root_device()))
+ {
+ for (const rom_entry *region = rom_first_region(device); region; region = rom_next_region(region))
+ {
+ for (const rom_entry *rom = rom_first_file(region); rom; rom = rom_next_file(rom))
+ {
+ util::hash_collection hashes(ROM_GETHASHDATA(rom));
+
+ if (g != -1)
+ {
+ machine_config pconfig(*parent, MameUIGlobal());
+ device_iterator deviter(pconfig.root_device());
+
+ for (device_t &device : device_iterator(pconfig.root_device()))
+ for (const rom_entry *pregion = rom_first_region(device); pregion; pregion = rom_next_region(pregion))
+ for (const rom_entry *prom = rom_first_file(pregion); prom; prom = rom_next_file(prom))
+ {
+ util::hash_collection phashes(ROM_GETHASHDATA(prom));
+
+ if (hashes == phashes)
+ break;
+ }
+ }
+
+ snprintf(name, ARRAY_LENGTH(name), "%-16s \t", ROM_GETNAME(rom));
+ strcat(buffer, name);
+ snprintf(name, ARRAY_LENGTH(name), "%09d \t", rom_file_size(rom));
+ strcat(buffer, name);
+ snprintf(name, ARRAY_LENGTH(name), "%-10s", ROMREGION_GETTAG(region));
+ strcat(buffer, name);
+ strcat(buffer, "\n");
+ }
+ }
+ }
+
+ for (samples_device &device : samples_device_iterator(config.root_device()))
+ {
+ samples_iterator sampiter(device);
+
+ if (sampiter.altbasename() )
+ {
+ snprintf(name, ARRAY_LENGTH(name), "\nSAMPLES (%s):\n", sampiter.altbasename());
+ strcat(buffer, name);
+ }
+
+ std::unordered_set<std::string> already_printed;
+
+ for (const char *samplename = sampiter.first(); samplename; samplename = sampiter.next())
+ {
+ // filter out duplicates
+ if (!already_printed.insert(samplename).second)
+ continue;
+
+ // output the sample name
+ snprintf(name, ARRAY_LENGTH(name), "%s.wav\n", samplename);
+ strcat(buffer, name);
+ }
+ }
+
+ if (!is_bios)
+ {
+ int g = driver_list::clone(*drv);
+
+ if (g != -1)
+ drv = &driver_list::driver(g);
+
+ strcat(buffer, "\nORIGINAL:\n");
+ strcat(buffer, drv->description);
+ strcat(buffer, "\n\nCLONES:\n");
+
+ for (int i = 0; i < driver_list::total(); i++)
+ {
+ if (!strcmp (drv->name, driver_list::driver(i).parent))
+ {
+ strcat(buffer, driver_list::driver(i).description);
+ strcat(buffer, "\n");
+ }
+ }
+ }
+
+ strcat(buffer, "\n");
+ return (mameinfo == 0);
+}
+
+static int load_driver_driverinfo(const game_driver *drv, char *buffer, int bufsize, int filenum)
+{
+ int drivinfo = 0;
+ char source_file[40];
+ char tmp[100];
+ std::string temp = core_filename_extract_base(drv->source_file);
+ strcpy(source_file, temp.c_str());
+
+ *buffer = 0;
+
+ if (filenum)
+ snprintf(filename, ARRAY_LENGTH(filename), "%s\\messinfo.dat", GetDatsDir());
+ else
+ snprintf(filename, ARRAY_LENGTH(filename), "%s\\mameinfo.dat", GetDatsDir());
+
+ /* Print source code file */
+ snprintf(tmp, ARRAY_LENGTH(tmp), "\n\nSOURCE: %s\n\n", source_file);
+ strcat(buffer, tmp);
+
+ /* Try to open mameinfo datafile - driver section*/
+ if (ParseOpen(filename))
+ {
+ if (filenum)
+ {
+ /* create index if necessary */
+ if (messdriv_idx)
+ drivinfo = 1;
+ else
+ drivinfo = (index_datafile (&messdriv_idx, 1) != 0);
+
+ /* load informational text (append) */
+ if (messdriv_idx)
+ {
+ int len = strlen(buffer);
+ int err = load_datafile_text(drv, buffer + len, bufsize - len, messdriv_idx, DATAFILE_TAG_DRIV, 1, 1);
+
+ if (err)
+ drivinfo = 0;
+ }
+ }
+ else
+ {
+ /* create index if necessary */
+ if (driv_idx)
+ drivinfo = 1;
+ else
+ drivinfo = (index_datafile (&driv_idx, 1) != 0);
+
+ /* load informational text (append) */
+ if (driv_idx)
+ {
+ int len = strlen(buffer);
+ int err = load_datafile_text(drv, buffer + len, bufsize - len, driv_idx, DATAFILE_TAG_DRIV, 1, 1);
+
+ if (err)
+ drivinfo = 0;
+ }
+ }
+ ParseClose();
+ }
+
+ strcat(buffer, "\nGAMES SUPPORTED:\n");
+
+ for (int i = 0; i < driver_list::total(); i++)
+ {
+ if (!strcmp(source_file, GetDriverFilename(i)) && !(DriverIsBios(i)))
+ {
+ strcat(buffer, driver_list::driver(i).description);
+ strcat(buffer,"\n");
+ }
+ }
+
+ strcat(buffer, "\n\n");
+ return (drivinfo == 0);
+}
+
+static int load_driver_command(const game_driver *drv, char *buffer, int bufsize)
+{
+ int command = 0;
+
+ *buffer = 0;
+ snprintf(filename, ARRAY_LENGTH(filename), "%s\\command.dat", GetDatsDir());
+ strcat(buffer, "\n**** COMMAND: ****\n\n");
+
+ /* try to open command datafile */
+ if (ParseOpen(filename))
+ {
+ /* create index if necessary */
+ if (cmd_idx)
+ command = 1;
+ else
+ command = (index_datafile (&cmd_idx, 0) != 0);
+
+ /* load informational text (append) */
+ if (cmd_idx)
+ {
+ int len = strlen(buffer);
+ int err = 0;
+ const game_driver *gdrv;
+ gdrv = drv;
+
+ do
+ {
+ err = load_datafile_text(gdrv, buffer + len, bufsize - len, cmd_idx, DATAFILE_TAG_CMD, 0, 0);
+ int g = driver_list::clone(*gdrv);
+
+ if (g!=-1)
+ gdrv = &driver_list::driver(g);
+ else
+ gdrv = NULL;
+ } while (err && gdrv);
+
+ if (err)
+ command = 0;
+ }
+
+ ParseClose();
+ }
+
+ strcat(buffer, "\n\n");
+ return (command == 0);
+}
+
+static int load_driver_scoreinfo(const game_driver *drv, char *buffer, int bufsize)
+{
+ int scoreinfo = 0;
+
+ *buffer = 0;
+ snprintf(filename, ARRAY_LENGTH(filename), "%s\\story.dat", GetDatsDir());
+
+ /* try to open story datafile */
+ if (ParseOpen(filename))
+ {
+ /* create index if necessary */
+ if (score_idx)
+ scoreinfo = 1;
+ else
+ scoreinfo = (index_datafile (&score_idx, 0) != 0);
+
+ /* load informational text (append) */
+ if (score_idx)
+ {
+ int len = strlen(buffer);
+ int err = 0;
+ const game_driver *gdrv;
+ gdrv = drv;
+
+ do
+ {
+ err = load_datafile_text(gdrv, buffer + len, bufsize - len, score_idx, DATAFILE_TAG_SCORE, 0, 0);
+ int g = driver_list::clone(*gdrv);
+
+ if (g!=-1)
+ gdrv = &driver_list::driver(g);
+ else
+ gdrv = NULL;
+ } while (err && gdrv);
+
+ if (err)
+ scoreinfo = 0;
+ }
+
+ ParseClose();
+ }
+
+ return (scoreinfo == 0);
+}
/**************************************************************
* functions
**************************************************************/
diff --git a/docs/release/src/osd/winui/history.h b/docs/release/src/osd/winui/history.h
index 65fbf6ec505..1bf846d94fd 100644
--- a/docs/release/src/osd/winui/history.h
+++ b/docs/release/src/osd/winui/history.h
@@ -1,7 +1,8 @@
// For licensing and usage information, read docs/winui_license.txt
+// MASTER
//****************************************************************************
-#pragma once
+#pragma once
#ifndef HISTORY_H
#define HISTORY_H
diff --git a/docs/release/src/osd/winui/layout.cpp b/docs/release/src/osd/winui/layout.cpp
index 56ff54ea15e..a4ced439c48 100644
--- a/docs/release/src/osd/winui/layout.cpp
+++ b/docs/release/src/osd/winui/layout.cpp
@@ -10,7 +10,6 @@
***************************************************************************/
// standard windows headers
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <commctrl.h>
@@ -126,19 +125,22 @@ extern const FOLDERDATA g_folderData[] =
#ifdef MESS
extern const FILTER_ITEM g_filterList[] =
{
- { F_COMPUTER, IDC_FILTER_COMPUTER, DriverIsComputer, TRUE },
- { F_CONSOLE, IDC_FILTER_CONSOLE, DriverIsConsole, TRUE },
- { F_MODIFIED, IDC_FILTER_MODIFIED, DriverIsModified, TRUE },
- { F_CLONES, IDC_FILTER_CLONES, DriverIsClone, TRUE },
- { F_NONWORKING, IDC_FILTER_NONWORKING, DriverIsBroken, TRUE },
- { F_UNAVAILABLE, IDC_FILTER_UNAVAILABLE, FilterAvailable, FALSE },
- { F_RASTER, IDC_FILTER_RASTER, DriverIsVector, FALSE },
{ F_VECTOR, IDC_FILTER_VECTOR, DriverIsVector, TRUE },
+ { F_RASTER, IDC_FILTER_RASTER, DriverIsVector, FALSE },
+ { F_CLONES, IDC_FILTER_CLONES, DriverIsClone, TRUE },
{ F_ORIGINALS, IDC_FILTER_ORIGINALS, DriverIsClone, FALSE },
+ { F_NONWORKING, IDC_FILTER_NONWORKING, DriverIsBroken, TRUE },
{ F_WORKING, IDC_FILTER_WORKING, DriverIsBroken, FALSE },
- { F_AVAILABLE, IDC_FILTER_AVAILABLE, FilterAvailable, TRUE },
+ { F_HORIZONTAL, IDC_FILTER_HORIZONTAL, DriverIsVertical, FALSE },
+ { F_VERTICAL, IDC_FILTER_VERTICAL, DriverIsVertical, TRUE },
+ { F_COMPUTER, IDC_FILTER_COMPUTER, DriverIsComputer, TRUE },
+ { F_CONSOLE, IDC_FILTER_CONSOLE, DriverIsConsole, TRUE },
+ { F_UNAVAILABLE, IDC_FILTER_UNAVAILABLE, FilterAvailable, FALSE },
+ { F_MECHANICAL, IDC_FILTER_MECHANICAL, DriverIsMechanical, TRUE },
{ F_ARCADE, IDC_FILTER_ARCADE, DriverIsArcade, TRUE },
{ F_MESS, IDC_FILTER_MESS, DriverIsArcade, FALSE },
+// { F_MODIFIED, IDC_FILTER_MODIFIED, DriverIsModified, TRUE },
+// { F_AVAILABLE, IDC_FILTER_AVAILABLE, FilterAvailable, TRUE },
{ 0 }
};
#else
@@ -162,23 +164,6 @@ extern const FILTER_ITEM g_filterList[] =
#endif
#ifdef MESS
-extern const SPLITTERINFO g_splitterInfo[] =
-{
- { 0.2, IDC_SPLITTER, IDC_TREE, IDC_LIST, AdjustSplitter1Rect },
- { 0.4, IDC_SPLITTER2, IDC_LIST, IDC_SWLIST, AdjustSplitter1Rect },
- { 0.6, IDC_SPLITTER3, IDC_SWTAB, IDC_SSFRAME, AdjustSplitter2Rect },
- { -1 }
-};
-#else
-extern const SPLITTERINFO g_splitterInfo[] =
-{
- { 0.25, IDC_SPLITTER, IDC_TREE, IDC_LIST, AdjustSplitter1Rect },
- { 0.5, IDC_SPLITTER2, IDC_LIST, IDC_SSFRAME, AdjustSplitter2Rect },
- { -1 }
-};
-#endif
-
-#ifdef MESS
extern const MAMEHELPINFO g_helpInfo[] =
{
//{ ID_HELP_CONTENTS, TRUE, TEXT(MAMEUIHELP"::/windows/main.htm") },
diff --git a/docs/release/src/osd/winui/mui_audit.cpp b/docs/release/src/osd/winui/mui_audit.cpp
index 676c6446a16..97ca2210ae3 100644
--- a/docs/release/src/osd/winui/mui_audit.cpp
+++ b/docs/release/src/osd/winui/mui_audit.cpp
@@ -11,7 +11,6 @@
***************************************************************************/
// standard windows headers
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <windowsx.h>
#include <commctrl.h>
diff --git a/docs/release/src/osd/winui/mui_opts.cpp b/docs/release/src/osd/winui/mui_opts.cpp
index 60ecbccc34a..e4513406284 100644
--- a/docs/release/src/osd/winui/mui_opts.cpp
+++ b/docs/release/src/osd/winui/mui_opts.cpp
@@ -11,7 +11,6 @@
***************************************************************************/
// standard windows headers
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <windowsx.h>
#include <winreg.h>
diff --git a/docs/release/src/osd/winui/mui_util.cpp b/docs/release/src/osd/winui/mui_util.cpp
index b069157d3af..f9587c64f9a 100644
--- a/docs/release/src/osd/winui/mui_util.cpp
+++ b/docs/release/src/osd/winui/mui_util.cpp
@@ -9,7 +9,6 @@
***************************************************************************/
// standard windows headers
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <shellapi.h>
diff --git a/docs/release/src/osd/winui/newui.cpp b/docs/release/src/osd/winui/newui.cpp
index 06802a71aa1..5ee6d76e5dd 100644
--- a/docs/release/src/osd/winui/newui.cpp
+++ b/docs/release/src/osd/winui/newui.cpp
@@ -19,7 +19,6 @@
// standard windows headers
-#define WIN32_LEAN_AND_MEAN // leave out not-needed libraries
#include "newui.h"
#include <shellapi.h>
diff --git a/docs/release/src/osd/winui/picker.cpp b/docs/release/src/osd/winui/picker.cpp
index a18e1d901f3..894687b9a2f 100644
--- a/docs/release/src/osd/winui/picker.cpp
+++ b/docs/release/src/osd/winui/picker.cpp
@@ -2,7 +2,6 @@
//****************************************************************************
// standard windows headers
-#define WIN32_LEAN_AND_MEAN
#define _WIN32_IE 0x0501
#include <windows.h>
#include <windowsx.h>
diff --git a/docs/release/src/osd/winui/properties.cpp b/docs/release/src/osd/winui/properties.cpp
index 7fa903c9e9a..31941d3066f 100644
--- a/docs/release/src/osd/winui/properties.cpp
+++ b/docs/release/src/osd/winui/properties.cpp
@@ -95,7 +95,6 @@ b) Exit the dialog.
***************************************************************************/
// standard windows headers
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <windowsx.h>
@@ -251,6 +250,8 @@ static struct ComboBoxSound
{ TEXT("None"), "none" },
{ TEXT("Auto"), "auto" },
{ TEXT("DirectSound"), "dsound" },
+ { TEXT("PortAudio"), "portaudio" },
+// { TEXT("XAudio2"), "xaudio2" }, // invalid option
};
#define NUMSOUND (sizeof(g_ComboBoxSound) / sizeof(g_ComboBoxSound[0]))
diff --git a/docs/release/src/osd/winui/screenshot.cpp b/docs/release/src/osd/winui/screenshot.cpp
index 0c2a37147b4..c85f712007b 100644
--- a/docs/release/src/osd/winui/screenshot.cpp
+++ b/docs/release/src/osd/winui/screenshot.cpp
@@ -19,7 +19,6 @@
***************************************************************************/
// standard windows headers
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <windowsx.h>
diff --git a/docs/release/src/osd/winui/splitters.cpp b/docs/release/src/osd/winui/splitters.cpp
index 02b81285a56..ce934a14731 100644
--- a/docs/release/src/osd/winui/splitters.cpp
+++ b/docs/release/src/osd/winui/splitters.cpp
@@ -1,11 +1,12 @@
// For licensing and usage information, read docs/winui_license.txt
+// MASTER
//****************************************************************************
/***************************************************************************
splitters.c
- Splitter GUI code. - Tree, spliiter, list, splitter, pict
+ Splitter GUI code. - Tree, splitter, list, splitter, pict
Created 12/03/98 (C) by Mike Haaland (mhaaland@hypertech.com)
@@ -13,37 +14,29 @@
// standard windows headers
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <windowsx.h>
-#include <commctrl.h>
-#include <stdlib.h>
-#include <assert.h>
// MAME/MAMEUI headers
#include "splitters.h"
#include "mui_opts.h"
-#include "resource.h"
-#include "winui.h"
/* Local Variables */
static BOOL bTracking = 0;
static int numSplitters = 0;
static int currentSplitter = 0;
static HZSPLITTER *splitter;
-static LPHZSPLITTER lpCurSpltr = nullptr;
-static HCURSOR hSplitterCursor = nullptr;
+static LPHZSPLITTER lpCurSpltr = 0;
+static HCURSOR hSplitterCursor = 0;
int *nSplitterOffset;
BOOL InitSplitters(void)
{
- int nSplitterCount;
-
/* load the cursor for the splitter */
hSplitterCursor = LoadCursor(GetModuleHandle(0), MAKEINTRESOURCE(IDC_CURSOR_HSPLIT));
- nSplitterCount = GetSplitterCount();
+ int nSplitterCount = GetSplitterCount();
splitter = (HZSPLITTER*)malloc(sizeof(HZSPLITTER) * nSplitterCount);
if (!splitter)
@@ -80,15 +73,15 @@ void SplittersExit(void)
/* Called with hWnd = Parent Window */
static void CalcSplitter(HWND hWnd, LPHZSPLITTER lpSplitter)
{
- POINT p = {0,0};
- RECT leftRect, rightRect;
- int dragWidth;
+ POINT p = {0,0};
+ RECT leftRect, rightRect;
+ int dragWidth;
ClientToScreen(hWnd, &p);
- GetWindowRect(lpSplitter->m_hWnd, &lpSplitter->m_dragRect);
- GetWindowRect(lpSplitter->m_hWndLeft, &leftRect);
- GetWindowRect(lpSplitter->m_hWndRight, &rightRect);
+ GetWindowRect(lpSplitter->m_hWnd, &lpSplitter->m_dragRect);
+ GetWindowRect(lpSplitter->m_hWndLeft, &leftRect);
+ GetWindowRect(lpSplitter->m_hWndRight, &rightRect);
OffsetRect(&lpSplitter->m_dragRect, -p.x, -p.y);
OffsetRect(&leftRect, -p.x, -p.y);
@@ -96,10 +89,10 @@ static void CalcSplitter(HWND hWnd, LPHZSPLITTER lpSplitter)
dragWidth = lpSplitter->m_dragRect.right - lpSplitter->m_dragRect.left;
- lpSplitter->m_limitRect.left = leftRect.left + 20;
- lpSplitter->m_limitRect.right = rightRect.right - 20;
- lpSplitter->m_limitRect.top = lpSplitter->m_dragRect.top;
- lpSplitter->m_limitRect.bottom = lpSplitter->m_dragRect.bottom;
+ lpSplitter->m_limitRect.left = leftRect.left + 20;
+ lpSplitter->m_limitRect.right = rightRect.right - 20;
+ lpSplitter->m_limitRect.top = lpSplitter->m_dragRect.top;
+ lpSplitter->m_limitRect.bottom = lpSplitter->m_dragRect.bottom;
if (lpSplitter->m_func)
lpSplitter->m_func(hWnd, &lpSplitter->m_limitRect);
@@ -132,7 +125,7 @@ void AdjustSplitter1Rect(HWND hWnd, LPRECT lpRect)
void RecalcSplitters(void)
{
- int i;
+ int i;
for (i = 0; i < numSplitters; i++)
{
@@ -150,13 +143,12 @@ void RecalcSplitters(void)
void OnSizeSplitter(HWND hWnd)
{
- static int firstTime = TRUE;
- int changed = FALSE;
+ static bool firstTime = true;
+ bool changed = false;
RECT rWindowRect;
POINT p = {0,0};
int i;
int nSplitterCount;
- BOOL bMustChange;
nSplitterCount = GetSplitterCount();
@@ -164,8 +156,8 @@ void OnSizeSplitter(HWND hWnd)
{
for (i = 0; i < nSplitterCount; i++)
nSplitterOffset[i] = GetSplitterPos(i);
- changed = TRUE;
- firstTime = FALSE;
+ changed = true;
+ firstTime = false;
}
GetWindowRect(hWnd, &rWindowRect);
@@ -177,20 +169,25 @@ void OnSizeSplitter(HWND hWnd)
ClientToScreen(splitter[i].m_hWnd, &p);
/* We must change if our window is not in the window rect */
- bMustChange = !PtInRect(&rWindowRect, p);
+ bool bMustChange = !PtInRect(&rWindowRect, p);
/* We should also change if we are ahead the next splitter */
if ((i < nSplitterCount-1) && (nSplitterOffset[i] >= nSplitterOffset[i+1]))
- bMustChange = TRUE;
+ bMustChange = true;
/* ...or if we are behind the previous splitter */
if ((i > 0) && (nSplitterOffset[i] <= nSplitterOffset[i-1]))
- bMustChange = TRUE;
-
+ bMustChange = true;
+#ifdef MESS
+ if ((i==1)&&(!GetShowSoftware()))
+ bMustChange = false;
+ if ((i==2)&&(!GetShowScreenShot()))
+ bMustChange = false;
+#endif
if (bMustChange)
{
nSplitterOffset[i] = (rWindowRect.right - rWindowRect.left) * g_splitterInfo[i].dPosition;
- changed = TRUE;
+ changed = true;
}
}
@@ -220,9 +217,9 @@ void AddSplitter(HWND hWnd, HWND hWndLeft, HWND hWndRight, void (*func)(HWND hWn
static void OnInvertTracker(HWND hWnd, const RECT *rect)
{
- HDC hDC = GetDC(hWnd);
- HBRUSH hBrush = CreateSolidBrush(RGB(0xFF, 0xFF, 0xFF));
- HBRUSH hOldBrush = 0;
+ HDC hDC = GetDC(hWnd);
+ HBRUSH hBrush = CreateSolidBrush(RGB(0xFF, 0xFF, 0xFF));
+ HBRUSH hOldBrush = 0;
if (hBrush != 0)
hOldBrush = (HBRUSH)SelectObject(hDC, hBrush);
@@ -299,11 +296,11 @@ static UINT SplitterHitTest(HWND hWnd, POINTS p)
void OnMouseMove(HWND hWnd, UINT nFlags, POINTS p)
{
- if (bTracking) // move the tracking image
+ if (bTracking) // move the tracking image
{
- int nWidth;
- RECT rect;
- POINT pt;
+ int nWidth;
+ RECT rect;
+ POINT pt;
pt.x = (int)p.x;
pt.y = (int)p.y;
diff --git a/docs/release/src/osd/winui/splitters.h b/docs/release/src/osd/winui/splitters.h
index 6595f704186..bbf700b0f32 100644
--- a/docs/release/src/osd/winui/splitters.h
+++ b/docs/release/src/osd/winui/splitters.h
@@ -1,4 +1,5 @@
// For licensing and usage information, read docs/winui_license.txt
+// MASTER
//****************************************************************************
/* Written by Mike Haaland <mhaaland@hypertech.com> */
@@ -11,6 +12,11 @@
#define MAX(a, b) ((a) > (b) ? (a) : (b))
#endif
+#include "resource.h"
+#include "winui.h"
+#define SPLITTER_WIDTH 4
+#define MIN_VIEW_WIDTH 10
+
enum eSplitterHits
{
SPLITTER_HITNOTHING = 0,
@@ -52,7 +58,24 @@ typedef struct
void (*pfnAdjust)(HWND hWnd,LPRECT lpRect);
} SPLITTERINFO;
-extern const SPLITTERINFO g_splitterInfo[];
+#ifdef MESS
+const SPLITTERINFO g_splitterInfo[] =
+{
+ { 0.2, IDC_SPLITTER, IDC_TREE, IDC_LIST, AdjustSplitter1Rect },
+ { 0.4, IDC_SPLITTER2, IDC_LIST, IDC_SWLIST, AdjustSplitter1Rect },
+ { 0.6, IDC_SPLITTER3, IDC_SWTAB, IDC_SSFRAME, AdjustSplitter2Rect },
+ { -1 }
+};
+#else
+const SPLITTERINFO g_splitterInfo[] =
+{
+ { 0.25, IDC_SPLITTER, IDC_TREE, IDC_LIST, AdjustSplitter1Rect },
+ { 0.5, IDC_SPLITTER2, IDC_LIST, IDC_SSFRAME, AdjustSplitter2Rect },
+ { -1 }
+};
+#endif
+
+//extern const SPLITTERINFO g_splitterInfo[];
#endif /* SPLITTER_H */
diff --git a/docs/release/src/osd/winui/tabview.cpp b/docs/release/src/osd/winui/tabview.cpp
index 84adbe78fcb..d5971275819 100644
--- a/docs/release/src/osd/winui/tabview.cpp
+++ b/docs/release/src/osd/winui/tabview.cpp
@@ -2,7 +2,6 @@
//****************************************************************************
// standard windows headers
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <windowsx.h>
#include <shellapi.h>
diff --git a/docs/release/src/osd/winui/treeview.cpp b/docs/release/src/osd/winui/treeview.cpp
index a369a6c254a..afc98c2a372 100644
--- a/docs/release/src/osd/winui/treeview.cpp
+++ b/docs/release/src/osd/winui/treeview.cpp
@@ -10,7 +10,6 @@
***************************************************************************/
// standard windows headers
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <windowsx.h>
#include <shellapi.h>
diff --git a/docs/release/src/osd/winui/win_options.cpp b/docs/release/src/osd/winui/win_options.cpp
deleted file mode 100644
index 8886b331672..00000000000
--- a/docs/release/src/osd/winui/win_options.cpp
+++ /dev/null
@@ -1,809 +0,0 @@
-// For licensing and usage information, read docs/winui_license.txt
-// MASTER
-//****************************************************************************
-/***************************************************************************
-
- win_options.cpp
-
- Core options code
-
-***************************************************************************/
-
-#include <stdarg.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include "win_options.h"
-
-
-//**************************************************************************
-// REPLACE MACRO: option --> win_options
-//**************************************************************************
-
-#define options win_options
-
-
-//**************************************************************************
-// GLOBAL VARIABLES
-//**************************************************************************
-
-const char *const options::s_option_unadorned[MAX_UNADORNED_OPTIONS] =
-{
- "<UNADORNED0>",
- "<UNADORNED1>",
- "<UNADORNED2>",
- "<UNADORNED3>",
- "<UNADORNED4>",
- "<UNADORNED5>",
- "<UNADORNED6>",
- "<UNADORNED7>",
- "<UNADORNED8>",
- "<UNADORNED9>",
- "<UNADORNED10>",
- "<UNADORNED11>",
- "<UNADORNED12>",
- "<UNADORNED13>",
- "<UNADORNED14>",
- "<UNADORNED15>"
-};
-
-
-
-//**************************************************************************
-// CORE OPTIONS ENTRY
-//**************************************************************************
-
-//-------------------------------------------------
-// entry - constructor
-//-------------------------------------------------
-
-options::entry::entry(const char *name, const char *description, uint32_t flags, const char *defvalue)
- : m_next(NULL),
- m_flags(flags),
- m_seqid(0),
- m_error_reported(false),
- m_priority(OPTION_PRIORITY_DEFAULT),
- m_description(description)
-{
- // copy in the name(s) as appropriate
- if (name != nullptr)
- {
- // first extract any range
- std::string namestr(name);
- int lparen = namestr.find('(');
- int dash = namestr.find(lparen + 1, '-');
- int rparen = namestr.find(dash + 1, ')');
- if (lparen != -1 && dash != -1 && rparen != -1)
- {
- m_minimum.assign(namestr.substr(lparen + 1, dash - (lparen + 1)));
- strtrimspace(m_minimum);
- m_maximum.assign(namestr.substr(dash + 1, rparen - (dash + 1)));
- strtrimspace(m_maximum);
- namestr.erase(lparen, rparen + 1 - lparen);
- }
-
- // then chop up any semicolon-separated names
- int semi;
- int nameindex = 0;
- while ((semi = namestr.find(';')) != -1 && nameindex < ARRAY_LENGTH(m_name))
- {
- m_name[nameindex++].assign(namestr.substr(0, semi));
- namestr.erase(0, semi + 1);
- }
-
- // finally add the last item
- if (nameindex < ARRAY_LENGTH(m_name))
- m_name[nameindex++] = namestr;
- }
-
- // set the default value
- if (defvalue != nullptr)
- m_defdata = defvalue;
- m_data = m_defdata;
-}
-
-
-//-------------------------------------------------
-// set_value - update our data value
-//-------------------------------------------------
-
-void options::entry::set_value(const char *newdata, int priority)
-{
- // ignore if we don't have priority
- if (priority < m_priority)
- return;
-
- // set the data and priority, then bump the sequence
- m_data = newdata;
- m_priority = priority;
- m_seqid++;
-}
-
-
-//-------------------------------------------------
-// set_default_value - set the default value of
-// an option, and reset the current value to it
-//-------------------------------------------------
-
-void options::entry::set_default_value(const char *defvalue)
-{
- m_data = defvalue;
- m_defdata = defvalue;
- m_priority = OPTION_PRIORITY_DEFAULT;
-}
-
-
-//-------------------------------------------------
-// set_description - set the description of
-// an option
-//-------------------------------------------------
-
-void options::entry::set_description(const char *description)
-{
- m_description = description;
-}
-
-
-void options::entry::set_flag(uint32_t mask, uint32_t flag)
-{
- m_flags = ( m_flags & mask ) | flag;
-}
-
-
-//-------------------------------------------------
-// revert - revert back to our default if we are
-// at or below the given priority
-//-------------------------------------------------
-
-void options::entry::revert(int priority)
-{
- // if our priority is low enough, revert to the default
- if (m_priority <= priority)
- {
- m_data = m_defdata;
- m_priority = OPTION_PRIORITY_DEFAULT;
- }
-}
-
-
-
-//**************************************************************************
-// CORE OPTIONS
-//**************************************************************************
-
-//-------------------------------------------------
-// options - constructor
-//-------------------------------------------------
-
-options::options()
-{
-}
-
-options::options(const options_entry *entrylist)
-{
- add_entries(entrylist);
-}
-
-options::options(const options_entry *entrylist1, const options_entry *entrylist2)
-{
- add_entries(entrylist1);
- add_entries(entrylist2);
-}
-
-options::options(const options_entry *entrylist1, const options_entry *entrylist2, const options_entry *entrylist3)
-{
- add_entries(entrylist1);
- add_entries(entrylist2);
- add_entries(entrylist3);
-}
-
-options::options(const options &src)
-{
- copyfrom(src);
-}
-
-
-//-------------------------------------------------
-// ~options - destructor
-//-------------------------------------------------
-
-options::~options()
-{
-}
-
-
-//-------------------------------------------------
-// operator= - assignment operator
-//-------------------------------------------------
-
-options &options::operator=(const options &rhs)
-{
- // ignore self-assignment
- if (this != &rhs)
- copyfrom(rhs);
- return *this;
-}
-
-
-//-------------------------------------------------
-// operator== - compare two sets of options
-//-------------------------------------------------
-
-bool options::operator==(const options &rhs)
-{
- // iterate over options in the first list
- for (entry *curentry = m_entrylist.first(); curentry != nullptr; curentry = curentry->next())
- if (!curentry->is_header())
- {
- // if the values differ, return false
- if (strcmp(curentry->value(), rhs.value(curentry->name())) != 0)
- return false;
- }
-
- return true;
-}
-
-
-//-------------------------------------------------
-// operator!= - compare two sets of options
-//-------------------------------------------------
-
-bool options::operator!=(const options &rhs)
-{
- return !operator==(rhs);
-}
-
-
-//-------------------------------------------------
-// add_entry - add an entry to the current
-// options set
-//-------------------------------------------------
-
-void options::add_entry(const char *name, const char *description, uint32_t flags, const char *defvalue, bool override_existing)
-{
- // allocate a new entry
- entry *newentry = global_alloc(entry(name, description, flags, defvalue));
- if (newentry->name() != nullptr)
- {
- // see if we match an existing entry
- auto checkentry = m_entrymap.find(newentry->name());
- if (checkentry != m_entrymap.end())
- {
- entry *existing = checkentry->second;
- // if we're overriding existing entries, then remove the old one
- if (override_existing)
- m_entrylist.remove(*existing);
-
- // otherwise, just override the default and current values and throw out the new entry
- else
- {
- existing->set_default_value(newentry->value());
- global_free(newentry);
- return;
- }
- }
- }
-
- // add us to the list and maps
- append_entry(*newentry);
-}
-
-
-//-------------------------------------------------
-// add_entries - add entries to the current
-// options sets
-//-------------------------------------------------
-
-void options::add_entries(const options_entry *entrylist, bool override_existing)
-{
- // loop over entries until we hit a NULL name
- for (; entrylist->name != nullptr || (entrylist->flags & OPTION_HEADER) != 0; entrylist++)
- add_entry(*entrylist, override_existing);
-}
-
-
-//-------------------------------------------------
-// set_default_value - change the default value
-// of an option
-//-------------------------------------------------
-
-void options::set_default_value(const char *name, const char *defvalue)
-{
- // find the entry and bail if we can't
- auto curentry = m_entrymap.find(name);
- if (curentry == m_entrymap.end())
- return;
-
- // update the data and default data
- curentry->second->set_default_value(defvalue);
-}
-
-
-//-------------------------------------------------
-// set_description - change the description
-// of an option
-//-------------------------------------------------
-
-void options::set_description(const char *name, const char *description)
-{
- // find the entry and bail if we can't
- auto curentry = m_entrymap.find(name);
- if (curentry == m_entrymap.end())
- return;
-
- // update the data and default data
- curentry->second->set_description(description);
-}
-
-
-//-------------------------------------------------
-// parse_command_line - parse a series of
-// command line arguments
-//-------------------------------------------------
-
-bool options::parse_command_line(int argc, char **argv, int priority, std::string &error_string)
-{
- // reset the errors and the command
- error_string.clear();
- m_command.clear();
-
- // iterate through arguments
- int unadorned_index = 0;
- bool retval = true;
- for (int arg = 1; arg < argc; arg++)
- {
- // determine the entry name to search for
- const char *curarg = argv[arg];
- bool is_unadorned = (curarg[0] != '-');
- const char *optionname = is_unadorned ? options::unadorned(unadorned_index++) : &curarg[1];
-
- // find our entry; if not found, indicate invalid option
- auto curentry = m_entrymap.find(optionname);
- if (curentry == m_entrymap.end())
- {
- error_string.append(string_format("Error: unknown option: %s\n", curarg));
- retval = false;
- if (!is_unadorned) arg++;
- continue;
- }
-
- // process commands first
- if (curentry->second->type() == OPTION_COMMAND)
- {
- // can only have one command
- if (!m_command.empty())
- {
- error_string.append(string_format("Error: multiple commands specified -%s and %s\n", m_command.c_str(), curarg));
- return false;
- }
- m_command = curentry->second->name();
- continue;
- }
-
- // get the data for this argument, special casing booleans
- const char *newdata;
- if (curentry->second->type() == OPTION_BOOLEAN)
- newdata = (strncmp(&curarg[1], "no", 2) == 0) ? "0" : "1";
- else if (is_unadorned)
- newdata = curarg;
- else if (arg + 1 < argc)
- newdata = argv[++arg];
- else
- {
- error_string.append(string_format("Error: option %s expected a parameter\n", curarg));
- return false;
- }
-
- // set the new data
- validate_and_set_data(*curentry->second, newdata, priority, error_string);
- }
- return retval;
-}
-
-
-//-------------------------------------------------
-// parse_ini_file - parse a series of entries in
-// an INI file
-//-------------------------------------------------
-
-bool options::parse_ini_file(util::core_file &inifile, int priority, int ignore_priority, std::string &error_string)
-{
- // loop over lines in the file
- char buffer[4096];
- while (inifile.gets(buffer, ARRAY_LENGTH(buffer)) != nullptr)
- {
- // find the extent of the name
- char *optionname;
- for (optionname = buffer; *optionname != 0; optionname++)
- if (!isspace((uint8_t)*optionname))
- break;
-
- // skip comments
- if (*optionname == 0 || *optionname == '#')
- continue;
-
- // scan forward to find the first space
- char *temp;
- for (temp = optionname; *temp != 0; temp++)
- if (isspace((uint8_t)*temp))
- break;
-
- // if we hit the end early, print a warning and continue
- if (*temp == 0)
- {
- error_string.append(string_format("Warning: invalid line in INI: %s", buffer));
- continue;
- }
-
- // NULL-terminate
- *temp++ = 0;
- char *optiondata = temp;
-
- // scan the data, stopping when we hit a comment
- bool inquotes = false;
- for (temp = optiondata; *temp != 0; temp++)
- {
- if (*temp == '"')
- inquotes = !inquotes;
- if (*temp == '#' && !inquotes)
- break;
- }
- *temp = 0;
-
- // find our entry
- auto curentry = m_entrymap.find(optionname);
- if (curentry == m_entrymap.end())
- {
- if (priority >= ignore_priority)
- error_string.append(string_format("Warning: unknown option in INI: %s\n", optionname));
- continue;
- }
-
- // set the new data
- validate_and_set_data(*curentry->second, optiondata, priority, error_string);
- }
- return true;
-}
-
-
-//-------------------------------------------------
-// revert - revert options at or below a certain
-// priority back to their defaults
-//-------------------------------------------------
-
-void options::revert(int priority)
-{
- // iterate over options and revert to defaults if below the given priority
- for (entry *curentry = m_entrylist.first(); curentry != nullptr; curentry = curentry->next())
- curentry->revert(priority);
-}
-
-
-//-------------------------------------------------
-// output_ini - output the options in INI format,
-// only outputting entries that different from
-// the optional diff
-//-------------------------------------------------
-
-const char *options::output_ini(std::string &buffer, const options *diff)
-{
- // INI files are complete, so always start with a blank buffer
- buffer.clear();
-
- int num_valid_headers = 0;
- int unadorned_index = 0;
- const char *last_header = NULL;
-
- // loop over all items
- for (entry *curentry = m_entrylist.first(); curentry != nullptr; curentry = curentry->next())
- {
- const char *name = curentry->name();
- const char *value = curentry->value();
- bool is_unadorned = false;
-
- // check if it's unadorned
- if (name && strlen(name) && !strcmp(name, options::unadorned(unadorned_index)))
- {
- unadorned_index++;
- is_unadorned = true;
- }
-
- // header: record description
- if (curentry->is_header())
- last_header = curentry->description();
-
- // otherwise, output entries for all non-command items
- else if (!curentry->is_command())
- {
- if ( !curentry->is_internal() )
- {
- // look up counterpart in diff, if diff is specified
- if (diff == nullptr || strcmp(value, diff->value(name)) != 0)
- {
- // output header, if we have one
- if (last_header)
- {
- if (num_valid_headers++)
- buffer += '\n';
- buffer.append(string_format("#\n# %s\n#\n", last_header));
- last_header = nullptr;
- }
-
- // and finally output the data, skip if unadorned
- if (!is_unadorned)
- {
- if (strchr(value, ' '))
- buffer.append(string_format("%-25s \"%s\"\n", name, value));
- else
- buffer.append(string_format("%-25s %s\n", name, value));
- }
- }
- }
- }
- }
- return buffer.c_str();
-}
-
-
-//-------------------------------------------------
-// output_help - output option help to a string
-//-------------------------------------------------
-
-const char *options::output_help(std::string &buffer)
-{
- // start empty
- buffer.clear();
-
- // loop over all items
- for (entry *curentry = m_entrylist.first(); curentry; curentry = curentry->next())
- {
- // header: just print
- if (curentry->is_header())
- buffer.append(string_format("\n#\n# %s\n#\n", curentry->description()));
-
- // otherwise, output entries for all non-deprecated items
- else if (curentry->description())
- buffer.append(string_format("-%-20s%s\n", curentry->name(), curentry->description()));
- }
- return buffer.c_str();
-}
-
-
-//-------------------------------------------------
-// value - return the raw option value
-//-------------------------------------------------
-
-const char *options::value(const char *name) const
-{
- auto curentry = m_entrymap.find(name);
- return (curentry != m_entrymap.end()) ? curentry->second->value() : "";
-}
-
-
-//-------------------------------------------------
-// description - return description of option
-//-------------------------------------------------
-
-const char *options::description(const char *name) const
-{
- auto curentry = m_entrymap.find(name);
- return (curentry != m_entrymap.end()) ? curentry->second->description() : "";
-}
-
-
-//-------------------------------------------------
-// priority - return the priority of option
-//-------------------------------------------------
-
-int options::priority(const char *name) const
-{
- auto curentry = m_entrymap.find(name);
- return (curentry != m_entrymap.end()) ? curentry->second->priority() : 0;
-}
-
-
-//-------------------------------------------------
-// seqid - return the seqid for a given option
-//-------------------------------------------------
-
-uint32_t options::seqid(const char *name) const
-{
- auto curentry = m_entrymap.find(name);
- return (curentry != m_entrymap.end()) ? curentry->second->seqid() : 0;
-}
-
-//-------------------------------------------------
-// exists - return if option exists in list
-//-------------------------------------------------
-
-bool options::exists(const char *name) const
-{
- return (m_entrymap.find(name) != m_entrymap.end());
-}
-
-//-------------------------------------------------
-// set_value - set the raw option value
-//-------------------------------------------------
-
-bool options::set_value(const char *name, const char *value, int priority, std::string &error_string)
-{
- // find the entry first
- auto curentry = m_entrymap.find(name);
- if (curentry == m_entrymap.end())
- {
- error_string.append(string_format("Attempted to set unknown option %s\n", name));
- return false;
- }
-
- // validate and set the item normally
- return validate_and_set_data(*curentry->second, value, priority, error_string);
-}
-
-bool options::set_value(const char *name, int value, int priority, std::string &error_string)
-{
- return set_value(name, string_format("%d", value).c_str(), priority, error_string);
-}
-
-bool options::set_value(const char *name, float value, int priority, std::string &error_string)
-{
- return set_value(name, string_format("%f", value).c_str(), priority, error_string);
-}
-
-
-void options::set_flag(const char *name, uint32_t mask, uint32_t flag)
-{
- // find the entry first
- auto curentry = m_entrymap.find(name);
- if ( curentry == m_entrymap.end())
- {
- return;
- }
- curentry->second->set_flag(mask, flag);
-}
-
-
-//-------------------------------------------------
-// reset - reset the options state, removing
-// everything
-//-------------------------------------------------
-
-void options::reset()
-{
- m_entrylist.reset();
- m_entrymap.clear();
-}
-
-
-//-------------------------------------------------
-// append_entry - append an entry to our list
-// and index it in the map
-//-------------------------------------------------
-
-void options::append_entry(options::entry &newentry)
-{
- m_entrylist.append(newentry);
-
- // if we have names, add them to the map
- for (int name = 0; name < ARRAY_LENGTH(newentry.m_name); name++)
- if (newentry.name(name) != nullptr)
- {
- m_entrymap.insert(std::make_pair(newentry.name(name), &newentry));
-
- // for boolean options add a "no" variant as well
- if (newentry.type() == OPTION_BOOLEAN)
- m_entrymap.insert(std::make_pair(std::string("no").append(newentry.name(name)), &newentry));
- }
-}
-
-
-//-------------------------------------------------
-// remove_entry - remove an entry from our list
-// and map
-//-------------------------------------------------
-
-void options::remove_entry(options::entry &delentry)
-{
- // remove all names from the map
- for (int name = 0; name < ARRAY_LENGTH(delentry.m_name); name++)
- if (!delentry.m_name[name].empty())
- {
- auto entry = m_entrymap.find(delentry.m_name[name]);
- if (entry!= m_entrymap.end()) m_entrymap.erase(entry);
- }
-
- // remove the entry from the list
- m_entrylist.remove(delentry);
-}
-
-
-//-------------------------------------------------
-// copyfrom - copy options from another set
-//-------------------------------------------------
-
-void options::copyfrom(const options &src)
-{
- // reset ourselves first
- reset();
-
- // iterate through the src options and make our own
- for (entry *curentry = src.m_entrylist.first(); curentry != nullptr; curentry = curentry->next())
- append_entry(*global_alloc(entry(curentry->name(), curentry->description(), curentry->flags(), curentry->default_value())));
-}
-
-
-//-------------------------------------------------
-// validate_and_set_data - make sure the data is
-// of the appropriate type and within range,
-// then set it
-//-------------------------------------------------
-
-bool options::validate_and_set_data(options::entry &curentry, const char *newdata, int priority, std::string &error_string)
-{
- // trim any whitespace
- std::string data(newdata);
- strtrimspace(data);
-
- // trim quotes
- if (data.find('"') == 0 && data.find_last_of('"') == data.length() - 1)
- {
- data.erase(0, 1);
- data.erase(data.length() - 1, 1);
- }
-
- // validate the type of data and optionally the range
- float fval;
- int ival;
- switch (curentry.type())
- {
- // booleans must be 0 or 1
- case OPTION_BOOLEAN:
- if (sscanf(data.c_str(), "%d", &ival) != 1 || ival < 0 || ival > 1)
- {
- error_string.append(string_format("Illegal boolean value for %s: \"%s\"; reverting to %s\n", curentry.name(), data.c_str(), curentry.value()));
- return false;
- }
- break;
-
- // integers must be integral
- case OPTION_INTEGER:
- if (sscanf(data.c_str(), "%d", &ival) != 1)
- {
- error_string.append(string_format("Illegal integer value for %s: \"%s\"; reverting to %s\n", curentry.name(), data.c_str(), curentry.value()));
- return false;
- }
- if (curentry.has_range() && (ival < atoi(curentry.minimum()) || ival > atoi(curentry.maximum())))
- {
- error_string.append(string_format("Out-of-range integer value for %s: \"%s\" (must be between %s and %s); reverting to %s\n", curentry.name(), data.c_str(), curentry.minimum(), curentry.maximum(), curentry.value()));
- return false;
- }
- break;
-
- // floating-point values must be numeric
- case OPTION_FLOAT:
- if (sscanf(data.c_str(), "%f", &fval) != 1)
- {
- error_string.append(string_format("Illegal float value for %s: \"%s\"; reverting to %s\n", curentry.name(), data.c_str(), curentry.value()));
- return false;
- }
- if (curentry.has_range() && (fval < atof(curentry.minimum()) || fval > atof(curentry.maximum())))
- {
- error_string.append(string_format("Out-of-range float value for %s: \"%s\" (must be between %s and %s); reverting to %s\n", curentry.name(), data.c_str(), curentry.minimum(), curentry.maximum(), curentry.value()));
- return false;
- }
- break;
-
- // strings can be anything
- case OPTION_STRING:
- break;
-
- // anything else is invalid
- case OPTION_INVALID:
- case OPTION_HEADER:
- default:
- error_string.append(string_format("Attempted to set invalid option %s\n", curentry.name()));
- return false;
- }
-
- // set the data
- curentry.set_value(data.c_str(), priority);
- return true;
-}
diff --git a/docs/release/src/osd/winui/win_options.h b/docs/release/src/osd/winui/win_options.h
deleted file mode 100644
index c23ee18d2fd..00000000000
--- a/docs/release/src/osd/winui/win_options.h
+++ /dev/null
@@ -1,154 +0,0 @@
-// For licensing and usage information, read docs/winui_license.txt
-//****************************************************************************
-// MASTER
-/***************************************************************************
-
- win_options.h
-
- Core options code code
-
-****************************************************************************
-
-
-
-***************************************************************************/
-
-#pragma once
-
-#ifndef __WIN_OPTIONS_H__
-#define __WIN_OPTIONS_H__
-
-#include "options.h"
-
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-// structure holding information about a collection of options
-class win_options
-{
- static const int MAX_UNADORNED_OPTIONS = 16;
-
-public:
- // information about a single entry in the options
- class entry
- {
- friend class win_options;
- friend class simple_list<entry>;
-
- // construction/destruction
- entry(const char *name, const char *description, uint32_t flags = 0, const char *defvalue = NULL);
-
- public:
- // getters
- entry *next() const { return m_next; }
- const char *name(int index = 0) const { return (index < ARRAY_LENGTH(m_name) && !m_name[index].empty()) ? m_name[index].c_str() : NULL; }
- const char *description() const { return m_description; }
- const char *value() const { return m_data.c_str(); }
- const char *default_value() const { return m_defdata.c_str(); }
- const char *minimum() const { return m_minimum.c_str(); }
- const char *maximum() const { return m_maximum.c_str(); }
- uint32_t seqid() const { return m_seqid; }
- int type() const { return (m_flags & OPTION_TYPE_MASK); }
- uint32_t flags() const { return m_flags; }
- bool is_header() const { return type() == OPTION_HEADER; }
- bool is_command() const { return type() == OPTION_COMMAND; }
- bool is_internal() const { return m_flags & OPTION_FLAG_INTERNAL; }
- bool has_range() const { return (!m_minimum.empty() && !m_maximum.empty()); }
- int priority() const { return m_priority; }
-
- // setters
- void set_value(const char *newvalue, int priority);
- void set_default_value(const char *defvalue);
- void set_description(const char *description);
- void set_flag(uint32_t mask, uint32_t flag);
- void revert(int priority);
-
- private:
- // internal state
- entry * m_next; // link to the next data
- uint32_t m_flags; // flags from the entry
- uint32_t m_seqid; // sequence ID; bumped on each change
- bool m_error_reported; // have we reported an error on this option yet?
- int m_priority; // priority of the data set
- const char * m_description; // description for this item
- std::string m_name[4]; // up to 4 names for the item
- std::string m_data; // data for this item
- std::string m_defdata; // default data for this item
- std::string m_minimum; // minimum value
- std::string m_maximum; // maximum value
- };
-
- // construction/destruction
- win_options();
- win_options(const options_entry *entrylist);
- win_options(const options_entry *entrylist1, const options_entry *entrylist2);
- win_options(const options_entry *entrylist1, const options_entry *entrylist2, const options_entry *entrylist3);
- win_options(const win_options &src);
- virtual ~win_options();
-
- // operators
- win_options &operator=(const win_options &rhs);
- bool operator==(const win_options &rhs);
- bool operator!=(const win_options &rhs);
-
- // getters
- entry *first() const { return m_entrylist.first(); }
- const char *command() const { return m_command.c_str(); }
-
- // configuration
- void add_entry(const char *name, const char *description, uint32_t flags = 0, const char *defvalue = NULL, bool override_existing = false);
- void add_entry(const options_entry &data, bool override_existing = false) { add_entry(data.name, data.description, data.flags, data.defvalue, override_existing); }
- void add_entries(const options_entry *entrylist, bool override_existing = false);
- void set_default_value(const char *name, const char *defvalue);
- void set_description(const char *name, const char *description);
- void remove_entry(entry &delentry);
-
- // parsing/input
- bool parse_command_line(int argc, char **argv, int priority, std::string &error_string);
- bool parse_ini_file(util::core_file &inifile, int priority, int ignore_priority, std::string &error_string);
-
- // reverting
- void revert(int priority = OPTION_PRIORITY_MAXIMUM);
-
- // output
- const char *output_ini(std::string &buffer, const win_options *diff = NULL);
- const char *output_help(std::string &buffer);
-
- // reading
- const char *value(const char *option) const;
- const char *description(const char *option) const;
- int priority(const char *option) const;
- bool bool_value(const char *name) const { return (atoi(value(name)) != 0); }
- int int_value(const char *name) const { return atoi(value(name)); }
- float float_value(const char *name) const { return atof(value(name)); }
- uint32_t seqid(const char *name) const;
- bool exists(const char *name) const;
-
- // setting
- void set_command(const char *command);
- bool set_value(const char *name, const char *value, int priority, std::string &error_string);
- bool set_value(const char *name, int value, int priority, std::string &error_string);
- bool set_value(const char *name, float value, int priority, std::string &error_string);
- void set_flag(const char *name, uint32_t mask, uint32_t flags);
-
- // misc
- static const char *unadorned(int x = 0) { return s_option_unadorned[(std::min)(x, MAX_UNADORNED_OPTIONS)]; }
- int options_count() const { return m_entrylist.count(); }
-
-private:
- // internal helpers
- void reset();
- void append_entry(entry &newentry);
- void copyfrom(const win_options &src);
- bool validate_and_set_data(entry &curentry, const char *newdata, int priority, std::string &error_string);
-
- // internal state
- simple_list<entry> m_entrylist; // head of list of entries
- std::unordered_map<std::string, entry *> m_entrymap; // map for fast lookup
- std::string m_command; // command found
- static const char *const s_option_unadorned[]; // array of unadorned option "names"
-};
-
-#endif
diff --git a/docs/release/src/osd/winui/winui.cpp b/docs/release/src/osd/winui/winui.cpp
index 9f37b54151f..1ed311b46e6 100644
--- a/docs/release/src/osd/winui/winui.cpp
+++ b/docs/release/src/osd/winui/winui.cpp
@@ -16,7 +16,6 @@
***************************************************************************/
// standard windows headers
-#define WIN32_LEAN_AND_MEAN
#define _WIN32_IE 0x0501
#include <windows.h>
#include <windowsx.h>
@@ -940,7 +939,9 @@ static DWORD RunMAME(int nGameIndex, const play_options *playopts)
osd.register_options();
mame_machine_manager *manager = mame_machine_manager::instance(global_opts, osd);
load_translation(global_opts);
+ manager->start_http_server();
manager->start_luaengine();
+ manager->start_context();
manager->execute();
osd_output::pop(&winerror);
global_free(manager);
diff --git a/docs/release/src/osd/winui/winui.h b/docs/release/src/osd/winui/winui.h
index a771ef56091..5579d9c3943 100644
--- a/docs/release/src/osd/winui/winui.h
+++ b/docs/release/src/osd/winui/winui.h
@@ -4,7 +4,6 @@
#ifndef WINUI_H
#define WINUI_H
-#define WIN32_LEAN_AND_MEAN
#include <commctrl.h>
#include <commdlg.h>
#include "emu.h"
diff --git a/docs/release/src/version.cpp b/docs/release/src/version.cpp
index d4e6dbe90c4..fed8039bb85 100644
--- a/docs/release/src/version.cpp
+++ b/docs/release/src/version.cpp
@@ -8,7 +8,7 @@
***************************************************************************/
-#define BARE_BUILD_VERSION "0.180"
+#define BARE_BUILD_VERSION "0.182"
extern const char bare_build_version[];
extern const char build_version[];