summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/build/build.mak17
-rw-r--r--src/build/makelist.c203
-rw-r--r--src/emu/audit.c693
-rw-r--r--src/emu/audit.h221
-rw-r--r--src/emu/clifront.c1936
-rw-r--r--src/emu/clifront.h84
-rw-r--r--src/emu/config.c6
-rw-r--r--src/emu/cpu/mips/dismips.c6
-rw-r--r--src/emu/debug/textbuf.c4
-rw-r--r--src/emu/devcpu.c1
-rw-r--r--src/emu/devintrf.c24
-rw-r--r--src/emu/devintrf.h6
-rw-r--r--src/emu/devlegcy.c1
-rw-r--r--src/emu/devlegcy.h2
-rw-r--r--src/emu/diimage.c7
-rw-r--r--src/emu/driver.c482
-rw-r--r--src/emu/driver.h156
-rw-r--r--src/emu/drivers/empty.c12
-rw-r--r--src/emu/emu.mak1
-rw-r--r--src/emu/emualloc.c51
-rw-r--r--src/emu/emualloc.h30
-rw-r--r--src/emu/emuopts.c15
-rw-r--r--src/emu/emutempl.h31
-rw-r--r--src/emu/hash.c4
-rw-r--r--src/emu/hash.h2
-rw-r--r--src/emu/info.c1862
-rw-r--r--src/emu/info.h77
-rw-r--r--src/emu/layout/pinball.lay (renamed from src/mame/layout/pinball.lay)0
-rw-r--r--src/emu/machine.c13
-rw-r--r--src/emu/mame.c2
-rw-r--r--src/emu/render.c8
-rw-r--r--src/emu/rendlay.c4
-rw-r--r--src/emu/romload.c19
-rw-r--r--src/emu/sound/bsmt2000.c3
-rw-r--r--src/emu/sound/wavwrite.c6
-rw-r--r--src/emu/ui.c28
-rw-r--r--src/emu/uimenu.c102
-rw-r--r--src/emu/validity.c74
-rw-r--r--src/lib/util/astring.h1
-rw-r--r--src/lib/util/corestr.c2
-rw-r--r--src/mame/machine/gaelco3d.c6
-rw-r--r--src/mame/machine/md_cart.c4
-rw-r--r--src/mame/mame.lst12225
-rw-r--r--src/mame/mame.mak5
-rw-r--r--src/mame/mamedriv.c12225
-rw-r--r--src/mame/tiny.c70
-rw-r--r--src/mame/tiny.lst68
-rw-r--r--src/mame/tiny.mak1
-rw-r--r--src/osd/osdcore.h22
-rw-r--r--src/osd/osdmini/minimain.c10
-rw-r--r--src/osd/osdmini/minimisc.c12
-rw-r--r--src/osd/sdl/draw13.c2
-rw-r--r--src/osd/sdl/sdldir.c8
-rw-r--r--src/osd/sdl/sdlfile.c8
-rw-r--r--src/osd/sdl/sdlmain.c3
-rw-r--r--src/osd/sdl/sdlos_macosx.c20
-rw-r--r--src/osd/sdl/sdlos_os2.c18
-rw-r--r--src/osd/sdl/sdlos_unix.c20
-rw-r--r--src/osd/sdl/sdlos_win32.c71
-rw-r--r--src/osd/sdl/sdlwork.c2
-rw-r--r--src/osd/sdl/strconv.c4
-rw-r--r--src/osd/windows/strconv.c8
-rw-r--r--src/osd/windows/winalloc.c618
-rw-r--r--src/osd/windows/winmain.c3
-rw-r--r--src/osd/windows/winmisc.c70
65 files changed, 15830 insertions, 15869 deletions
diff --git a/src/build/build.mak b/src/build/build.mak
index 721346a3f6c..21116a9a4df 100644
--- a/src/build/build.mak
+++ b/src/build/build.mak
@@ -20,17 +20,20 @@ OBJDIRS += \
FILE2STR_TARGET = $(BUILDOUT)/file2str$(BUILD_EXE)
MAKEDEP_TARGET = $(BUILDOUT)/makedep$(BUILD_EXE)
+MAKELIST_TARGET = $(BUILDOUT)/makelist$(BUILD_EXE)
PNG2BDC_TARGET = $(BUILDOUT)/png2bdc$(BUILD_EXE)
VERINFO_TARGET = $(BUILDOUT)/verinfo$(BUILD_EXE)
ifeq ($(TARGETOS),win32)
FILE2STR = $(subst /,\,$(FILE2STR_TARGET))
MAKEDEP = $(subst /,\,$(MAKEDEP_TARGET))
+MAKELIST = $(subst /,\,$(MAKELIST_TARGET))
PNG2BDC = $(subst /,\,$(PNG2BDC_TARGET))
VERINFO = $(subst /,\,$(VERINFO_TARGET))
else
FILE2STR = $(FILE2STR_TARGET)
MAKEDEP = $(MAKEDEP_TARGET)
+MAKELIST = $(MAKELIST_TARGET)
PNG2BDC = $(PNG2BDC_TARGET)
VERINFO = $(VERINFO_TARGET)
endif
@@ -39,6 +42,7 @@ ifneq ($(CROSS_BUILD),1)
BUILD += \
$(FILE2STR_TARGET) \
$(MAKEDEP_TARGET) \
+ $(MAKELIST_TARGET) \
$(PNG2BDC_TARGET) \
$(VERINFO_TARGET) \
@@ -71,6 +75,19 @@ $(MAKEDEP_TARGET): $(MAKEDEPOBJS) $(LIBUTIL) $(LIBOCORE) $(ZLIB)
#-------------------------------------------------
+# makelist
+#-------------------------------------------------
+
+MAKELISTOBJS = \
+ $(BUILDOBJ)/makelist.o \
+
+$(MAKELIST_TARGET): $(MAKELISTOBJS) $(LIBUTIL) $(LIBOCORE) $(ZLIB)
+ @echo Linking $@...
+ $(LD) $(LDFLAGS) $^ $(LIBS) -o $@
+
+
+
+#-------------------------------------------------
# png2bdc
#-------------------------------------------------
diff --git a/src/build/makelist.c b/src/build/makelist.c
new file mode 100644
index 00000000000..c28a14a61e8
--- /dev/null
+++ b/src/build/makelist.c
@@ -0,0 +1,203 @@
+/***************************************************************************
+
+ makelist.c
+
+ Create and sort the driver list.
+
+****************************************************************************
+
+ Copyright Aaron Giles
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name 'MAME' nor the names of its contributors may be
+ used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY AARON GILES ''AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL AARON GILES BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+ IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+
+***************************************************************************/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <ctype.h>
+#include "corefile.h"
+
+
+#define MAX_DRIVERS 65536
+
+static const char *drivlist[MAX_DRIVERS];
+
+
+//-------------------------------------------------
+// driver_sort_callback - compare two items in
+// a string array
+//-------------------------------------------------
+
+int sort_callback(const void *elem1, const void *elem2)
+{
+ const char **item1 = (const char **)elem1;
+ const char **item2 = (const char **)elem2;
+ return strcmp(*item1, *item2);
+}
+
+
+//-------------------------------------------------
+// main - primary entry point
+//-------------------------------------------------
+
+int main(int argc, char *argv[])
+{
+ // needs at least 1 argument
+ if (argc < 2)
+ {
+ fprintf(stderr,
+ "Usage:\n"
+ " makelist <source.lst>\n"
+ );
+ return 0;
+ }
+
+ // extract arguments
+ const char *srcfile = argv[1];
+
+ // read source file
+ void *buffer;
+ UINT32 length;
+ file_error filerr = core_fload(srcfile, &buffer, &length);
+ if (filerr != FILERR_NONE)
+ {
+ fprintf(stderr, "Unable to read source file '%s'\n", srcfile);
+ return 1;
+ }
+
+ // rip through it to find all drivers
+ int drivcount = 0;
+ char *srcptr = (char *)buffer;
+ char *endptr = srcptr + length;
+ int linenum = 1;
+ bool in_comment = false;
+ while (srcptr < endptr)
+ {
+ char c = *srcptr++;
+
+ // count newlines
+ if (c == 13 || c == 10)
+ {
+ if (c == 13 && *srcptr == 10)
+ srcptr++;
+ linenum++;
+ continue;
+ }
+
+ // skip any spaces
+ if (isspace(c))
+ continue;
+
+ // look for end of C comment
+ if (in_comment && c == '*' && *srcptr == '/')
+ {
+ srcptr++;
+ in_comment = false;
+ continue;
+ }
+
+ // skip anything else inside a C comment
+ if (in_comment)
+ continue;
+
+ // look for start of C comment
+ if (c == '/' && *srcptr == '*')
+ {
+ srcptr++;
+ in_comment = true;
+ continue;
+ }
+
+ // if we hit a C++ comment, scan to the end of line
+ if (c == '/' && *srcptr == '/')
+ {
+ while (srcptr < endptr && *srcptr != 13 && *srcptr != 10)
+ srcptr++;
+ continue;
+ }
+
+ // extract the driver name
+ char drivname[32];
+ drivname[0] = 0;
+ srcptr--;
+ for (int pos = 0; srcptr < endptr && pos < ARRAY_LENGTH(drivname) - 1 && !isspace(*srcptr); pos++)
+ {
+ drivname[pos] = *srcptr++;
+ drivname[pos+1] = 0;
+ }
+
+ // verify the name as valid
+ for (char *drivch = drivname; *drivch != 0; drivch++)
+ {
+ if ((*drivch >= 'a' && *drivch <= 'z') || (*drivch >= '0' && *drivch <= '9') || *drivch == '_')
+ continue;
+ fprintf(stderr, "%s:%d - Invalid character '%c' in driver \"%s\"\n", srcfile, linenum, *drivch, drivname);
+ return 1;
+ }
+
+ // add it to the list
+ char *name = (char *)malloc(strlen(drivname) + 1);
+ strcpy(name, drivname);
+ drivlist[drivcount++] = name;
+ }
+
+ // add a reference to the ___empty driver
+ drivlist[drivcount++] = "___empty";
+
+ // output a count
+ if (drivcount == 0)
+ {
+ fprintf(stderr, "No drivers found\n");
+ return 1;
+ }
+ fprintf(stderr, "%d drivers found\n", drivcount);
+
+ // sort the list
+ qsort(drivlist, drivcount, sizeof(*drivlist), sort_callback);
+
+ // start with a header
+ printf("#include \"emu.h\"\n\n");
+
+ // output the list of externs first
+ for (int index = 0; index < drivcount; index++)
+ printf("GAME_EXTERN(%s);\n", drivlist[index]);
+ printf("\n");
+
+ // then output the array
+ printf("const game_driver * const driver_list::s_drivers_sorted[%d] =\n", drivcount);
+ printf("{\n");
+ for (int index = 0; index < drivcount; index++)
+ printf("\t&GAME_NAME(%s)%s\n", drivlist[index], (index == drivcount - 1) ? "" : ",");
+ printf("};\n");
+ printf("\n");
+
+ // also output a global count
+ printf("int driver_list::s_driver_count = %d;\n", drivcount);
+
+ return 0;
+}
diff --git a/src/emu/audit.c b/src/emu/audit.c
index 76b9ab5dbee..1393a335737 100644
--- a/src/emu/audit.c
+++ b/src/emu/audit.c
@@ -4,8 +4,36 @@
ROM set auditing functions.
- Copyright Nicola Salmoria and the MAME Team.
- Visit http://mamedev.org for licensing and usage restrictions.
+****************************************************************************
+
+ Copyright Aaron Giles
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name 'MAME' nor the names of its contributors may be
+ used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY AARON GILES ''AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL AARON GILES BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+ IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
***************************************************************************/
@@ -17,510 +45,419 @@
#include "sound/samples.h"
+//**************************************************************************
+// CORE FUNCTIONS
+//**************************************************************************
-/***************************************************************************
- FUNCTION PROTOTYPES
-***************************************************************************/
-
-static void audit_one_rom(emu_options &options, const rom_entry *rom, const char *regiontag, const game_driver *gamedrv, const char *validation, audit_record *record);
-static void audit_one_disk(emu_options &options, const rom_entry *rom, const game_driver *gamedrv, const char *validation, audit_record *record);
-static int rom_used_by_parent(emu_options &options, const game_driver *gamedrv, const hash_collection &romhashes, const game_driver **parent);
-
-
-
-/***************************************************************************
- INLINE FUNCTIONS
-***************************************************************************/
+//-------------------------------------------------
+// media_auditor - constructor
+//-------------------------------------------------
-/*-------------------------------------------------
- set_status - shortcut for setting status and
- substatus values
--------------------------------------------------*/
-
-INLINE void set_status(audit_record *record, UINT8 status, UINT8 substatus)
+media_auditor::media_auditor(const driver_enumerator &enumerator)
+ : m_enumerator(enumerator),
+ m_validation(AUDIT_VALIDATE_FULL),
+ m_searchpath(NULL)
{
- record->status = status;
- record->substatus = substatus;
}
+//-------------------------------------------------
+// audit_media - audit the media described by the
+// currently-enumerated driver
+//-------------------------------------------------
-/***************************************************************************
- CORE FUNCTIONS
-***************************************************************************/
-
-/*-------------------------------------------------
- audit_images - validate the ROM and disk
- images for a game
--------------------------------------------------*/
-
-int audit_images(emu_options &options, const game_driver *gamedrv, const char *validation, audit_record **audit)
+media_auditor::summary media_auditor::audit_media(const char *validation)
{
- machine_config config(*gamedrv, options);
- const rom_entry *region, *rom;
- const rom_source *source;
- audit_record *record;
- int anyfound = FALSE;
- int anyrequired = FALSE;
- int allshared = TRUE;
- int records;
-
- /* determine the number of records we will generate */
- records = 0;
- bool source_is_gamedrv = true;
- for (source = rom_first_source(config); source != NULL; source = rom_next_source(*source))
- {
- for (region = rom_first_region(*source); region != NULL; region = rom_next_region(region))
- for (rom = rom_first_file(region); rom != NULL; rom = rom_next_file(rom))
- if (ROMREGION_ISROMDATA(region) || ROMREGION_ISDISKDATA(region))
- {
- if (source_is_gamedrv && !ROM_ISOPTIONAL(rom))
- {
- hash_collection hashes(ROM_GETHASHDATA(rom));
- if (!hashes.flag(hash_collection::FLAG_NO_DUMP))
- {
- anyrequired = TRUE;
- if (allshared && !rom_used_by_parent(options, gamedrv, hashes, NULL))
- allshared = FALSE;
- }
- }
- records++;
- }
+ // start fresh
+ m_record_list.reset();
- source_is_gamedrv = false;
- }
+ // store validation for later
+ m_validation = validation;
- if (records > 0)
+ // iterate over ROM sources and regions
+ bool anyfound = false;
+ bool anyrequired = false;
+ for (const rom_source *source = rom_first_source(m_enumerator.config()); source != NULL; source = rom_next_source(*source))
{
- /* allocate memory for the records */
- *audit = global_alloc_array_clear(audit_record, records);
- record = *audit;
-
- /* iterate over ROM sources and regions */
- bool source_is_gamedrv = true;
- for (source = rom_first_source(config); source != NULL; source = rom_next_source(*source))
- {
- for (region = rom_first_region(*source); region != NULL; region = rom_next_region(region))
+ // determine the search path for this source and iterate through the regions
+ m_searchpath = source->searchpath();
+
+ // also determine if this is the driver's specific ROMs or not
+ bool source_is_gamedrv = (dynamic_cast<const driver_device_config_base *>(source) != NULL);
+
+ // now iterate over regions and ROMs within
+ for (const rom_entry *region = rom_first_region(*source); region != NULL; region = rom_next_region(region))
+ for (const rom_entry *rom = rom_first_file(region); rom; rom = rom_next_file(rom))
{
- const char *regiontag = ROMREGION_ISLOADBYNAME(region) ? ROM_GETNAME(region) : NULL;
- for (rom = rom_first_file(region); rom; rom = rom_next_file(rom))
- {
- /* audit a file */
- if (ROMREGION_ISROMDATA(region))
- {
- audit_one_rom(options, rom, regiontag, gamedrv, validation, record);
- }
-
- /* audit a disk */
- else if (ROMREGION_ISDISKDATA(region))
- {
- audit_one_disk(options, rom, gamedrv, validation, record);
- }
-
- else
- {
- continue;
- }
-
- if (source_is_gamedrv && record->status != AUDIT_STATUS_NOT_FOUND && (allshared || !rom_used_by_parent(options, gamedrv, record->exphashes, NULL)))
- anyfound = TRUE;
-
- record++;
- }
+ hash_collection hashes(ROM_GETHASHDATA(rom));
+
+ // if a dump exists, then at least one entry is required
+ if (!hashes.flag(hash_collection::FLAG_NO_DUMP))
+ anyrequired = true;
+
+ // audit a file
+ audit_record *record = NULL;
+ if (ROMREGION_ISROMDATA(region))
+ record = audit_one_rom(rom);
+
+ // audit a disk
+ else if (ROMREGION_ISDISKDATA(region))
+ record = audit_one_disk(rom);
+
+ // skip if no record
+ if (record == NULL)
+ continue;
+
+ // if we got a record back,
+ if (record->status() != audit_record::STATUS_NOT_FOUND && source_is_gamedrv && also_used_by_parent(hashes) == -1)
+ anyfound = true;
}
- source_is_gamedrv = false;
- }
}
- /* if we found nothing, we don't have the set at all */
+ // if we found nothing, we don't have the set at all
if (!anyfound && anyrequired)
- {
- global_free(*audit);
- *audit = NULL;
- records = 0;
- }
-
- return records;
+ m_record_list.reset();
+
+ // return a summary
+ return summarize();
}
-/*-------------------------------------------------
- audit_samples - validate the samples for a
- game
--------------------------------------------------*/
+//-------------------------------------------------
+// audit_samples - validate the samples for the
+// currently-enumerated driver
+//-------------------------------------------------
-int audit_samples(emu_options &options, const game_driver *gamedrv, audit_record **audit)
+media_auditor::summary media_auditor::audit_samples()
{
- machine_config config(*gamedrv, options);
- audit_record *record;
- int records = 0;
- int sampnum;
-
- /* count the number of sample records attached to this driver */
- const device_config_sound_interface *sound = NULL;
- for (bool gotone = config.m_devicelist.first(sound); gotone; gotone = sound->next(sound))
- if (sound->devconfig().type() == SAMPLES)
- {
- const samples_interface *intf = (const samples_interface *)sound->devconfig().static_config();
-
- if (intf->samplenames != NULL)
- {
- /* iterate over samples in this entry */
- for (sampnum = 0; intf->samplenames[sampnum] != NULL; sampnum++)
- if (intf->samplenames[sampnum][0] != '*')
- records++;
- }
- }
-
- /* if no records, just quit now */
- if (records == 0)
- goto skip;
-
- /* allocate memory for the records */
- *audit = global_alloc_array_clear(audit_record, records);
- record = *audit;
+ // start fresh
+ m_record_list.reset();
- /* now iterate over sample entries */
- for (bool gotone = config.m_devicelist.first(sound); gotone; gotone = sound->next(sound))
- if (sound->devconfig().type() == SAMPLES)
+ // iterate over sample entries
+ for (const device_config *devconfig = m_enumerator.config().first_device(); devconfig != NULL; devconfig = devconfig->next())
+ if (devconfig->type() == SAMPLES)
{
- const samples_interface *intf = (const samples_interface *)sound->devconfig().static_config();
- const char *sharedname = NULL;
-
+ const samples_interface *intf = reinterpret_cast<const samples_interface *>(devconfig->static_config());
if (intf->samplenames != NULL)
{
- /* iterate over samples in this entry */
- for (sampnum = 0; intf->samplenames[sampnum] != NULL; sampnum++)
+ // by default we just search using the driver name
+ astring searchpath(m_enumerator.driver().name);
+
+ // iterate over samples in this entry
+ for (int sampnum = 0; intf->samplenames[sampnum] != NULL; sampnum++)
+ {
+ // starred entries indicate an additional searchpath
if (intf->samplenames[sampnum][0] == '*')
- sharedname = &intf->samplenames[sampnum][1];
- else
{
- /* attempt to access the file from the game driver name */
- emu_file file(options.sample_path(), OPEN_FLAG_READ | OPEN_FLAG_NO_PRELOAD);
- file_error filerr = file.open(gamedrv->name, PATH_SEPARATOR, intf->samplenames[sampnum]);
-
- /* attempt to access the file from the shared driver name */
- if (filerr != FILERR_NONE && sharedname != NULL)
- filerr = file.open(sharedname, PATH_SEPARATOR, intf->samplenames[sampnum]);
-
- /* fill in the record */
- record->type = AUDIT_FILE_SAMPLE;
- record->name = intf->samplenames[sampnum];
+ searchpath.cat(";").cat(&intf->samplenames[sampnum][1]);
+ continue;
+ }
+
+ // create a new record
+ audit_record &record = m_record_list.append(*global_alloc(audit_record(intf->samplenames[sampnum], audit_record::MEDIA_SAMPLE)));
+
+ // look for the files
+ emu_file file(m_enumerator.options().sample_path(), OPEN_FLAG_READ | OPEN_FLAG_NO_PRELOAD);
+ path_iterator path(searchpath);
+ astring curpath;
+ while (path.next(curpath, intf->samplenames[sampnum]))
+ {
+ // attempt to access the file
+ file_error filerr = file.open(curpath);
if (filerr == FILERR_NONE)
- set_status(record++, AUDIT_STATUS_GOOD, SUBSTATUS_GOOD);
+ record.set_status(audit_record::STATUS_GOOD, audit_record::SUBSTATUS_GOOD);
else
- set_status(record++, AUDIT_STATUS_NOT_FOUND, SUBSTATUS_NOT_FOUND);
+ record.set_status(audit_record::STATUS_NOT_FOUND, audit_record::SUBSTATUS_NOT_FOUND);
}
+ }
}
}
-
-skip:
- return records;
+
+ // return a summary
+ return summarize();
}
-/*-------------------------------------------------
- audit_summary - output a summary given a
- list of audit records
--------------------------------------------------*/
+//-------------------------------------------------
+// summary - generate a summary, with an optional
+// string format
+//-------------------------------------------------
-int audit_summary(const game_driver *gamedrv, int count, const audit_record *records, int output)
+media_auditor::summary media_auditor::summarize(astring *string)
{
- int overall_status = CORRECT;
- int recnum;
-
- /* no count AND no records means not found */
- if (count == 0 && records == NULL)
+ // no count AND no records means not found
+ if (m_record_list.count() == 0)
return NOTFOUND;
- /* loop over records */
- for (recnum = 0; recnum < count; recnum++)
+ // loop over records
+ summary overall_status = CORRECT;
+ for (audit_record *record = m_record_list.first(); record != NULL; record = record->next())
{
- const audit_record *record = &records[recnum];
- int best_new_status = INCORRECT;
+ summary best_new_status = INCORRECT;
- /* skip anything that's fine */
- if (record->substatus == SUBSTATUS_GOOD)
+ // skip anything that's fine
+ if (record->substatus() == audit_record::SUBSTATUS_GOOD)
continue;
- /* output the game name, file name, and length (if applicable) */
- if (output)
+ // output the game name, file name, and length (if applicable)
+ if (string != NULL)
{
- mame_printf_info("%-8s: %s", gamedrv->name, record->name);
- if (record->explength > 0)
- mame_printf_info(" (%d bytes)", record->explength);
- mame_printf_info(" - ");
+ string->catprintf("%-12s: %s", m_enumerator.driver().name, record->name());
+ if (record->expected_length() > 0)
+ string->catprintf(" (%d bytes)", record->expected_length());
+ string->catprintf(" - ");
}
- /* use the substatus for finer details */
- switch (record->substatus)
+ // use the substatus for finer details
+ switch (record->substatus())
{
- case SUBSTATUS_GOOD_NEEDS_REDUMP:
- if (output) mame_printf_info("NEEDS REDUMP\n");
+ case audit_record::SUBSTATUS_GOOD_NEEDS_REDUMP:
+ if (string != NULL) string->catprintf("NEEDS REDUMP\n");
best_new_status = BEST_AVAILABLE;
break;
- case SUBSTATUS_FOUND_NODUMP:
- if (output) mame_printf_info("NO GOOD DUMP KNOWN\n");
+ case audit_record::SUBSTATUS_FOUND_NODUMP:
+ if (string != NULL) string->catprintf("NO GOOD DUMP KNOWN\n");
best_new_status = BEST_AVAILABLE;
break;
- case SUBSTATUS_FOUND_BAD_CHECKSUM:
- if (output)
+ case audit_record::SUBSTATUS_FOUND_BAD_CHECKSUM:
+ if (string != NULL)
{
astring tempstr;
- mame_printf_info("INCORRECT CHECKSUM:\n");
- mame_printf_info("EXPECTED: %s\n", record->exphashes.macro_string(tempstr));
- mame_printf_info(" FOUND: %s\n", record->hashes.macro_string(tempstr));
+ string->catprintf("INCORRECT CHECKSUM:\n");
+ string->catprintf("EXPECTED: %s\n", record->expected_hashes().macro_string(tempstr));
+ string->catprintf(" FOUND: %s\n", record->actual_hashes().macro_string(tempstr));
}
break;
- case SUBSTATUS_FOUND_WRONG_LENGTH:
- if (output) mame_printf_info("INCORRECT LENGTH: %d bytes\n", record->length);
+ case audit_record::SUBSTATUS_FOUND_WRONG_LENGTH:
+ if (string != NULL) string->catprintf("INCORRECT LENGTH: %d bytes\n", record->actual_length());
break;
- case SUBSTATUS_NOT_FOUND:
- if (output) mame_printf_info("NOT FOUND\n");
+ case audit_record::SUBSTATUS_NOT_FOUND:
+ if (string != NULL) string->catprintf("NOT FOUND\n");
break;
- case SUBSTATUS_NOT_FOUND_NODUMP:
- if (output) mame_printf_info("NOT FOUND - NO GOOD DUMP KNOWN\n");
+ case audit_record::SUBSTATUS_NOT_FOUND_NODUMP:
+ if (string != NULL) string->catprintf("NOT FOUND - NO GOOD DUMP KNOWN\n");
best_new_status = BEST_AVAILABLE;
break;
- case SUBSTATUS_NOT_FOUND_OPTIONAL:
- if (output) mame_printf_info("NOT FOUND BUT OPTIONAL\n");
+ case audit_record::SUBSTATUS_NOT_FOUND_OPTIONAL:
+ if (string != NULL) string->catprintf("NOT FOUND BUT OPTIONAL\n");
best_new_status = BEST_AVAILABLE;
break;
- case SUBSTATUS_NOT_FOUND_PARENT:
- if (output) mame_printf_info("NOT FOUND (shared with parent)\n");
+ case audit_record::SUBSTATUS_NOT_FOUND_PARENT:
+ if (string != NULL) string->catprintf("NOT FOUND (shared with parent)\n");
break;
- case SUBSTATUS_NOT_FOUND_BIOS:
- if (output) mame_printf_info("NOT FOUND (BIOS)\n");
+ case audit_record::SUBSTATUS_NOT_FOUND_BIOS:
+ if (string != NULL) string->catprintf("NOT FOUND (BIOS)\n");
break;
+
+ default:
+ assert(false);
}
- /* downgrade the overall status if necessary */
+ // downgrade the overall status if necessary
overall_status = MAX(overall_status, best_new_status);
}
-
return overall_status;
}
+//-------------------------------------------------
+// audit_one_rom - validate a single ROM entry
+//-------------------------------------------------
-/***************************************************************************
- UTILITIES
-***************************************************************************/
-
-/*-------------------------------------------------
- audit_one_rom - validate a single ROM entry
--------------------------------------------------*/
-
-static void audit_one_rom(emu_options &options, const rom_entry *rom, const char *regiontag, const game_driver *gamedrv, const char *validation, audit_record *record)
+audit_record *media_auditor::audit_one_rom(const rom_entry *rom)
{
- const game_driver *drv;
- UINT32 crc = 0;
+ // allocate and append a new record
+ audit_record &record = m_record_list.append(*global_alloc(audit_record(*rom, audit_record::MEDIA_ROM)));
- /* fill in the record basics */
- record->type = AUDIT_FILE_ROM;
- record->name = ROM_GETNAME(rom);
- record->exphashes.from_internal_string(ROM_GETHASHDATA(rom));
- record->length = 0;
- record->explength = rom_file_size(rom);
-
- /* see if we have a CRC and extract it if so */
- bool has_crc = record->exphashes.crc(crc);
+ // see if we have a CRC and extract it if so
+ UINT32 crc = 0;
+ bool has_crc = record.expected_hashes().crc(crc);
- /* find the file and checksum it, getting the file length along the way */
- for (drv = gamedrv; drv != NULL; drv = driver_get_clone(drv))
+ // find the file and checksum it, getting the file length along the way
+ emu_file file(m_enumerator.options().media_path(), OPEN_FLAG_READ | OPEN_FLAG_NO_PRELOAD);
+ path_iterator path(m_searchpath);
+ astring curpath;
+ while (path.next(curpath, record.name()))
{
- emu_file file(options.media_path(), OPEN_FLAG_READ | OPEN_FLAG_NO_PRELOAD);
-
- /* open the file if we can */
+ // open the file if we can
file_error filerr;
if (has_crc)
- filerr = file.open(drv->name, PATH_SEPARATOR, ROM_GETNAME(rom), crc);
+ filerr = file.open(curpath, crc);
else
- filerr = file.open(drv->name, PATH_SEPARATOR, ROM_GETNAME(rom));
+ filerr = file.open(curpath);
+
+ // if it worked, get the actual length and hashes, then stop
if (filerr == FILERR_NONE)
{
- record->hashes = file.hashes(validation);
- record->length = (UINT32)file.size();
+ record.set_actual(file.hashes(m_validation), file.size());
break;
}
}
+
+ // compute the final status
+ compute_status(record, rom, record.actual_length() != 0);
+ return &record;
+}
- /* if not found, check the region as a backup */
- if (record->length == 0 && regiontag != NULL)
- {
- emu_file file(options.media_path(), OPEN_FLAG_READ | OPEN_FLAG_NO_PRELOAD);
-
- /* open the file if we can */
- file_error filerr;
- if (has_crc)
- filerr = file.open(regiontag, PATH_SEPARATOR, ROM_GETNAME(rom), crc);
- else
- filerr = file.open(regiontag, PATH_SEPARATOR, ROM_GETNAME(rom));
- if (filerr == FILERR_NONE)
- {
- record->hashes = file.hashes(validation);
- record->length = (UINT32)file.size();
- }
- }
-
- /* if we failed to find the file, set the appropriate status */
- if (record->length == 0)
- {
- const game_driver *parent;
-
- /* no good dump */
- if (record->exphashes.flag(hash_collection::FLAG_NO_DUMP))
- set_status(record, AUDIT_STATUS_NOT_FOUND, SUBSTATUS_NOT_FOUND_NODUMP);
-
- /* optional ROM */
- else if (ROM_ISOPTIONAL(rom))
- set_status(record, AUDIT_STATUS_NOT_FOUND, SUBSTATUS_NOT_FOUND_OPTIONAL);
- /* not found and used by parent */
- else if (rom_used_by_parent(options, gamedrv, record->exphashes, &parent))
- set_status(record, AUDIT_STATUS_NOT_FOUND, (parent->flags & GAME_IS_BIOS_ROOT) ? SUBSTATUS_NOT_FOUND_BIOS : SUBSTATUS_NOT_FOUND_PARENT);
+//-------------------------------------------------
+// audit_one_disk - validate a single disk entry
+//-------------------------------------------------
- /* just plain old not found */
- else
- set_status(record, AUDIT_STATUS_NOT_FOUND, SUBSTATUS_NOT_FOUND);
- }
+audit_record *media_auditor::audit_one_disk(const rom_entry *rom)
+{
+ // allocate and append a new record
+ audit_record &record = m_record_list.append(*global_alloc(audit_record(*rom, audit_record::MEDIA_DISK)));
- /* if we did find the file, do additional verification */
- else
+ // open the disk
+ emu_file *source_file;
+ chd_file *source;
+ chd_error err = open_disk_image(m_enumerator.options(), &m_enumerator.driver(), rom, &source_file, &source, NULL);
+
+ // if we succeeded, get the hashes
+ if (err == CHDERR_NONE)
{
- /* length mismatch */
- if (record->explength != record->length)
- set_status(record, AUDIT_STATUS_FOUND_INVALID, SUBSTATUS_FOUND_WRONG_LENGTH);
-
- /* found but needs a dump */
- else if (record->exphashes.flag(hash_collection::FLAG_NO_DUMP))
- set_status(record, AUDIT_STATUS_GOOD, SUBSTATUS_FOUND_NODUMP);
-
- /* incorrect hash */
- else if (record->exphashes != record->hashes)
- set_status(record, AUDIT_STATUS_FOUND_INVALID, SUBSTATUS_FOUND_BAD_CHECKSUM);
+ static const UINT8 nullhash[20] = { 0 };
+ chd_header header = *chd_get_header(source);
+ hash_collection hashes;
- /* correct hash but needs a redump */
- else if (record->exphashes.flag(hash_collection::FLAG_BAD_DUMP))
- set_status(record, AUDIT_STATUS_GOOD, SUBSTATUS_GOOD_NEEDS_REDUMP);
+ // if there's an MD5 or SHA1 hash, add them to the output hash
+ if (memcmp(nullhash, header.md5, sizeof(header.md5)) != 0)
+ hashes.add_from_buffer(hash_collection::HASH_MD5, header.md5, sizeof(header.md5));
+ if (memcmp(nullhash, header.sha1, sizeof(header.sha1)) != 0)
+ hashes.add_from_buffer(hash_collection::HASH_SHA1, header.sha1, sizeof(header.sha1));
+
+ // update the actual values
+ record.set_actual(hashes);
- /* just plain old good */
- else
- set_status(record, AUDIT_STATUS_GOOD, SUBSTATUS_GOOD);
+ // close the file and release the source
+ chd_close(source);
+ global_free(source_file);
}
+
+ // compute the final status
+ compute_status(record, rom, record.actual_length() != 0);
+ return &record;
}
-/*-------------------------------------------------
- audit_one_disk - validate a single disk entry
--------------------------------------------------*/
+//-------------------------------------------------
+// compute_status - compute a detailed status
+// based on the information we have
+//-------------------------------------------------
-static void audit_one_disk(emu_options &options, const rom_entry *rom, const game_driver *gamedrv, const char *validation, audit_record *record)
+void media_auditor::compute_status(audit_record &record, const rom_entry *rom, bool found)
{
- emu_file *source_file;
- chd_file *source;
- chd_error err;
-
- /* fill in the record basics */
- record->type = AUDIT_FILE_DISK;
- record->name = ROM_GETNAME(rom);
- record->exphashes.from_internal_string(ROM_GETHASHDATA(rom));
-
- /* open the disk */
- err = open_disk_image(options, gamedrv, rom, &source_file, &source, NULL);
-
- /* if we failed, report the error */
- if (err != CHDERR_NONE)
+ // if not found, provide more details
+ if (!found)
{
- /* out of memory */
- if (err == CHDERR_OUT_OF_MEMORY)
- set_status(record, AUDIT_STATUS_ERROR, SUBSTATUS_ERROR);
+ int parent;
+
+ // no good dump
+ if (record.expected_hashes().flag(hash_collection::FLAG_NO_DUMP))
+ record.set_status(audit_record::STATUS_NOT_FOUND, audit_record::SUBSTATUS_NOT_FOUND_NODUMP);
- /* not found but it's not good anyway */
- else if (record->exphashes.flag(hash_collection::FLAG_NO_DUMP))
- set_status(record, AUDIT_STATUS_NOT_FOUND, SUBSTATUS_NOT_FOUND_NODUMP);
+ // optional ROM
+ else if (ROM_ISOPTIONAL(rom))
+ record.set_status(audit_record::STATUS_NOT_FOUND, audit_record::SUBSTATUS_NOT_FOUND_OPTIONAL);
- /* not found but optional */
- else if (DISK_ISOPTIONAL(rom))
- set_status(record, AUDIT_STATUS_NOT_FOUND, SUBSTATUS_NOT_FOUND_OPTIONAL);
+ // not found and used by parent
+ else if ((parent = also_used_by_parent(record.expected_hashes())) != -1)
+ {
+ if (m_enumerator.driver(parent).flags & GAME_IS_BIOS_ROOT)
+ record.set_status(audit_record::STATUS_NOT_FOUND, audit_record::SUBSTATUS_NOT_FOUND_BIOS);
+ else
+ record.set_status(audit_record::STATUS_NOT_FOUND, audit_record::SUBSTATUS_NOT_FOUND_PARENT);
+ }
- /* not found at all */
+ // just plain old not found
else
- set_status(record, AUDIT_STATUS_NOT_FOUND, SUBSTATUS_NOT_FOUND);
+ record.set_status(audit_record::STATUS_NOT_FOUND, audit_record::SUBSTATUS_NOT_FOUND);
}
-
- /* if we succeeded, validate it */
+
+ // if found, provide more details
else
{
- static const UINT8 nullhash[20] = { 0 };
- chd_header header = *chd_get_header(source);
-
- /* if there's an MD5 or SHA1 hash, add them to the output hash */
- if (memcmp(nullhash, header.md5, sizeof(header.md5)) != 0)
- record->hashes.add_from_buffer(hash_collection::HASH_MD5, header.md5, sizeof(header.md5));
- if (memcmp(nullhash, header.sha1, sizeof(header.sha1)) != 0)
- record->hashes.add_from_buffer(hash_collection::HASH_SHA1, header.sha1, sizeof(header.sha1));
+ // length mismatch
+ if (record.expected_length() != record.actual_length())
+ record.set_status(audit_record::STATUS_FOUND_INVALID, audit_record::SUBSTATUS_FOUND_WRONG_LENGTH);
- /* found but needs a dump */
- if (record->exphashes.flag(hash_collection::FLAG_NO_DUMP))
- set_status(record, AUDIT_STATUS_GOOD, SUBSTATUS_FOUND_NODUMP);
+ // found but needs a dump
+ else if (record.expected_hashes().flag(hash_collection::FLAG_NO_DUMP))
+ record.set_status(audit_record::STATUS_GOOD, audit_record::SUBSTATUS_FOUND_NODUMP);
- /* incorrect hash */
- else if (record->exphashes != record->hashes)
- set_status(record, AUDIT_STATUS_FOUND_INVALID, SUBSTATUS_FOUND_BAD_CHECKSUM);
+ // incorrect hash
+ else if (record.expected_hashes() != record.actual_hashes())
+ record.set_status(audit_record::STATUS_FOUND_INVALID, audit_record::SUBSTATUS_FOUND_BAD_CHECKSUM);
- /* correct hash but needs a redump */
- else if (record->exphashes.flag(hash_collection::FLAG_BAD_DUMP))
- set_status(record, AUDIT_STATUS_GOOD, SUBSTATUS_GOOD_NEEDS_REDUMP);
+ // correct hash but needs a redump
+ else if (record.expected_hashes().flag(hash_collection::FLAG_BAD_DUMP))
+ record.set_status(audit_record::STATUS_GOOD, audit_record::SUBSTATUS_GOOD_NEEDS_REDUMP);
- /* just plain good */
+ // just plain old good
else
- set_status(record, AUDIT_STATUS_GOOD, SUBSTATUS_GOOD);
-
- chd_close(source);
- global_free(source_file);
+ record.set_status(audit_record::STATUS_GOOD, audit_record::SUBSTATUS_GOOD);
}
}
-/*-------------------------------------------------
- rom_used_by_parent - determine if a given
- ROM is also used by the parent
--------------------------------------------------*/
+//-------------------------------------------------
+// also_used_by_parent - return the index in the
+// enumerator of the parent who also owns a media
+// entry with the same hashes
+//-------------------------------------------------
-static int rom_used_by_parent(emu_options &options, const game_driver *gamedrv, const hash_collection &romhashes, const game_driver **parent)
+int media_auditor::also_used_by_parent(const hash_collection &romhashes)
{
- const game_driver *drv;
+ // iterate up the parent chain
+ for (int drvindex = m_enumerator.find(m_enumerator.driver().parent); drvindex != -1; drvindex = m_enumerator.find(m_enumerator.driver(drvindex).parent))
- /* iterate up the parent chain */
- for (drv = driver_get_clone(gamedrv); drv != NULL; drv = driver_get_clone(drv))
- {
- machine_config config(*drv, options);
- const rom_entry *region;
- const rom_entry *rom;
-
- /* see if the parent has the same ROM or not */
- for (const rom_source *source = rom_first_source(config); source != NULL; source = rom_next_source(*source))
- for (region = rom_first_region(*source); region; region = rom_next_region(region))
- for (rom = rom_first_file(region); rom; rom = rom_next_file(rom))
+ // see if the parent has the same ROM or not
+ for (const rom_source *source = rom_first_source(m_enumerator.config(drvindex)); source != NULL; source = rom_next_source(*source))
+ for (const rom_entry *region = rom_first_region(*source); region; region = rom_next_region(region))
+ for (const rom_entry *rom = rom_first_file(region); rom; rom = rom_next_file(rom))
{
hash_collection hashes(ROM_GETHASHDATA(rom));
if (!hashes.flag(hash_collection::FLAG_NO_DUMP) && hashes == romhashes)
- {
- if (parent != NULL)
- *parent = drv;
- return TRUE;
- }
+ return drvindex;
}
- }
- return FALSE;
+ // nope, return -1
+ return -1;
+}
+
+
+//-------------------------------------------------
+// audit_record - constructor
+//-------------------------------------------------
+
+audit_record::audit_record(const rom_entry &media, media_type type)
+ : m_next(NULL),
+ m_type(type),
+ m_status(STATUS_ERROR),
+ m_substatus(SUBSTATUS_ERROR),
+ m_name(ROM_GETNAME(&media)),
+ m_explength(rom_file_size(&media)),
+ m_length(0)
+{
+ m_exphashes.from_internal_string(ROM_GETHASHDATA(&media));
+}
+
+audit_record::audit_record(const char *name, media_type type)
+ : m_next(NULL),
+ m_type(type),
+ m_status(STATUS_ERROR),
+ m_substatus(SUBSTATUS_ERROR),
+ m_name(name),
+ m_explength(0),
+ m_length(0)
+{
}
diff --git a/src/emu/audit.h b/src/emu/audit.h
index 3b6eaffd4a2..00964e91417 100644
--- a/src/emu/audit.h
+++ b/src/emu/audit.h
@@ -4,8 +4,36 @@
ROM, disk, and sample auditing functions.
- Copyright Nicola Salmoria and the MAME Team.
- Visit http://mamedev.org for licensing and usage restrictions.
+****************************************************************************
+
+ Copyright Aaron Giles
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name 'MAME' nor the names of its contributors may be
+ used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY AARON GILES ''AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL AARON GILES BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+ IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
***************************************************************************/
@@ -18,84 +46,145 @@
-/***************************************************************************
- CONSTANTS
-***************************************************************************/
+//**************************************************************************
+// CONSTANTS
+//**************************************************************************
-/* hashes to use for validation */
+// hashes to use for validation
#define AUDIT_VALIDATE_FAST "R" /* CRC only */
#define AUDIT_VALIDATE_FULL "RS" /* CRC + SHA1 */
-/* return values from audit_verify_roms and audit_verify_samples */
-enum
-{
- CORRECT = 0,
- BEST_AVAILABLE,
- INCORRECT,
- NOTFOUND
-};
-/* image types for audit_record.type */
-enum
-{
- AUDIT_FILE_ROM = 0,
- AUDIT_FILE_DISK,
- AUDIT_FILE_SAMPLE
-};
-/* status values for audit_record.status */
-enum
-{
- AUDIT_STATUS_GOOD = 0,
- AUDIT_STATUS_FOUND_INVALID,
- AUDIT_STATUS_NOT_FOUND,
- AUDIT_STATUS_ERROR
-};
+//**************************************************************************
+// TYPE DEFINITIONS
+//**************************************************************************
-/* substatus values for audit_record.substatus */
-enum
-{
- SUBSTATUS_GOOD = 0,
- SUBSTATUS_GOOD_NEEDS_REDUMP,
- SUBSTATUS_FOUND_NODUMP,
- SUBSTATUS_FOUND_BAD_CHECKSUM,
- SUBSTATUS_FOUND_WRONG_LENGTH,
- SUBSTATUS_NOT_FOUND,
- SUBSTATUS_NOT_FOUND_NODUMP,
- SUBSTATUS_NOT_FOUND_OPTIONAL,
- SUBSTATUS_NOT_FOUND_PARENT,
- SUBSTATUS_NOT_FOUND_BIOS,
- SUBSTATUS_ERROR = 100
-};
+// ======================> audit_record
-
-/***************************************************************************
- TYPE DEFINITIONS
-***************************************************************************/
-
-typedef struct _audit_record audit_record;
-struct _audit_record
+// holds the result of auditing a single item
+class audit_record
{
- UINT8 type; /* type of item that was audited */
- UINT8 status; /* status of audit on this item */
- UINT8 substatus; /* finer-detail status */
- const char * name; /* name of item */
- UINT32 explength; /* expected length of item */
- UINT32 length; /* actual length of item */
- hash_collection exphashes; /* expected hash data */
- hash_collection hashes; /* actual hash information */
+ friend class simple_list<audit_record>;
+
+public:
+ // media types
+ enum media_type
+ {
+ MEDIA_ROM = 0,
+ MEDIA_DISK,
+ MEDIA_SAMPLE
+ };
+
+ // status values
+ enum audit_status
+ {
+ STATUS_GOOD = 0,
+ STATUS_FOUND_INVALID,
+ STATUS_NOT_FOUND,
+ STATUS_ERROR
+ };
+
+ // substatus values
+ enum audit_substatus
+ {
+ SUBSTATUS_GOOD = 0,
+ SUBSTATUS_GOOD_NEEDS_REDUMP,
+ SUBSTATUS_FOUND_NODUMP,
+ SUBSTATUS_FOUND_BAD_CHECKSUM,
+ SUBSTATUS_FOUND_WRONG_LENGTH,
+ SUBSTATUS_NOT_FOUND,
+ SUBSTATUS_NOT_FOUND_NODUMP,
+ SUBSTATUS_NOT_FOUND_OPTIONAL,
+ SUBSTATUS_NOT_FOUND_PARENT,
+ SUBSTATUS_NOT_FOUND_BIOS,
+ SUBSTATUS_ERROR = 100
+ };
+
+ // construction/destruction
+ audit_record(const rom_entry &media, media_type type);
+ audit_record(const char *name, media_type type);
+
+ // getters
+ audit_record *next() const { return m_next; }
+ media_type type() const { return m_type; }
+ audit_status status() const { return m_status; }
+ audit_substatus substatus() const { return m_substatus; }
+ const char *name() const { return m_name; }
+ UINT64 expected_length() const { return m_explength; }
+ UINT64 actual_length() const { return m_length; }
+ const hash_collection &expected_hashes() const { return m_exphashes; }
+ const hash_collection &actual_hashes() const { return m_hashes; }
+
+ // setters
+ void set_status(audit_status status, audit_substatus substatus)
+ {
+ m_status = status;
+ m_substatus = substatus;
+ }
+
+ void set_actual(const hash_collection &hashes, UINT64 length = 0)
+ {
+ m_hashes = hashes;
+ m_length = length;
+ }
+
+private:
+ // internal state
+ audit_record * m_next;
+ media_type m_type; /* type of item that was audited */
+ audit_status m_status; /* status of audit on this item */
+ audit_substatus m_substatus; /* finer-detail status */
+ const char * m_name; /* name of item */
+ UINT64 m_explength; /* expected length of item */
+ UINT64 m_length; /* actual length of item */
+ hash_collection m_exphashes; /* expected hash data */
+ hash_collection m_hashes; /* actual hash information */
};
+// ======================> media_auditor
-/***************************************************************************
- FUNCTION PROTOTYPES
-***************************************************************************/
-
-int audit_images(emu_options &options, const game_driver *gamedrv, const char *validation, audit_record **audit);
-int audit_samples(emu_options &options, const game_driver *gamedrv, audit_record **audit);
-int audit_summary(const game_driver *gamedrv, int count, const audit_record *records, int output);
+// class which manages auditing of items
+class media_auditor
+{
+public:
+ // summary values
+ enum summary
+ {
+ CORRECT = 0,
+ NONE_NEEDED,
+ BEST_AVAILABLE,
+ INCORRECT,
+ NOTFOUND
+ };
+
+ // construction/destruction
+ media_auditor(const driver_enumerator &enumerator);
+
+ // getters
+ audit_record *first() const { return m_record_list.first(); }
+ int count() const { return m_record_list.count(); }
+
+ // audit operations
+ summary audit_media(const char *validation = AUDIT_VALIDATE_FULL);
+ summary audit_samples();
+ summary summarize(astring *output = NULL);
+
+private:
+ // internal helpers
+ audit_record *audit_one_rom(const rom_entry *rom);
+ audit_record *audit_one_disk(const rom_entry *rom);
+ void compute_status(audit_record &record, const rom_entry *rom, bool found);
+ int also_used_by_parent(const hash_collection &romhashes);
+
+ // internal state
+ simple_list<audit_record> m_record_list;
+ const driver_enumerator & m_enumerator;
+ const char * m_validation;
+ const char * m_searchpath;
+};
#endif /* __AUDIT_H__ */
diff --git a/src/emu/clifront.c b/src/emu/clifront.c
index 81435650c34..6035aa0e77f 100644
--- a/src/emu/clifront.c
+++ b/src/emu/clifront.c
@@ -56,42 +56,6 @@
#endif
-/***************************************************************************
- TYPE DEFINITIONS
-***************************************************************************/
-
-struct romident_status
-{
- int total; /* total files processed */
- int matches; /* number of matches found */
- int nonroms; /* number of non-ROM files found */
-};
-
-
-
-/***************************************************************************
- FUNCTION PROTOTYPES
-***************************************************************************/
-
-static void execute_commands(cli_options &options, const char *exename);
-static void display_help(void);
-
-/* informational functions */
-static void info_verifyroms(emu_options &options, const char *gamename);
-static void info_verifysamples(emu_options &options, const char *gamename);
-static void info_romident(emu_options &options, const char *gamename);
-static void info_listmedia(emu_options &options, const char *gamename);
-static void info_listsoftware(emu_options &options, const char *gamename);
-
-/* utilities */
-static void romident(emu_options &options, const char *filename, romident_status *status);
-static void identify_file(emu_options &options, const char *name, romident_status *status);
-static void identify_data(emu_options &options, const char *name, const UINT8 *data, int length, romident_status *status);
-static void match_roms(emu_options &options, const hash_collection &hashes, int length, int *found);
-static void display_suggestions(const char *gamename);
-
-
-
//**************************************************************************
// COMMAND-LINE OPTIONS
//**************************************************************************
@@ -146,45 +110,55 @@ cli_options::cli_options()
-/***************************************************************************
- CORE IMPLEMENTATION
-***************************************************************************/
+//**************************************************************************
+// CLI FRONTEND
+//**************************************************************************
+
+//-------------------------------------------------
+// cli_frontend - constructor
+//-------------------------------------------------
+
+cli_frontend::cli_frontend(cli_options &options, osd_interface &osd)
+ : m_options(options),
+ m_osd(osd),
+ m_result(MAMERR_NONE)
+{
+ // begin tracking memory
+ track_memory(true);
+}
+
+
+//-------------------------------------------------
+// ~cli_frontend - destructor
+//-------------------------------------------------
-static void display_suggestions(const char *gamename)
+cli_frontend::~cli_frontend()
{
- const game_driver *matches[10];
- int drvnum;
-
- /* get the top 10 approximate matches */
- driver_list_get_approx_matches(drivers, gamename, ARRAY_LENGTH(matches), matches);
-
- /* print them out */
- fprintf(stderr, "\n\"%s\" approximately matches the following\n"
- "supported " GAMESNOUN " (best match first):\n\n", gamename);
- for (drvnum = 0; drvnum < ARRAY_LENGTH(matches); drvnum++)
- if (matches[drvnum] != NULL)
- fprintf(stderr, "%-18s%s\n", matches[drvnum]->name, matches[drvnum]->description);
+ // report any unfreed memory on clean exits
+ track_memory(false);
+ if (m_result == MAMERR_NONE)
+ dump_unfreed_mem();
}
//-------------------------------------------------
-// cli_execute - execute a game via the standard
+// execute - execute a game via the standard
// command line interface
//-------------------------------------------------
-int cli_execute(cli_options &options, osd_interface &osd, int argc, char **argv)
+int cli_frontend::execute(int argc, char **argv)
{
// wrap the core execution in a try/catch to field all fatal errors
- int result = MAMERR_NONE;
+ m_result = MAMERR_NONE;
try
{
// parse the command line, adding any system-specific options
astring option_errors;
- if (!options.parse_command_line(argc, argv, option_errors))
+ if (!m_options.parse_command_line(argc, argv, option_errors))
{
// if we failed, check for no command and a system name first; in that case error on the name
- if (strlen(options.command()) == 0 && options.system() == NULL && strlen(options.system_name()) > 0)
- throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "Unknown system '%s'", options.system_name());
+ if (strlen(m_options.command()) == 0 && m_options.system() == NULL && strlen(m_options.system_name()) > 0)
+ throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "Unknown system '%s'", m_options.system_name());
// otherwise, error on the options
throw emu_fatalerror(MAMERR_INVALID_CONFIG, "%s", option_errors.trimspace().cstr());
@@ -197,19 +171,19 @@ int cli_execute(cli_options &options, osd_interface &osd, int argc, char **argv)
core_filename_extract_base(&exename, argv[0], TRUE);
// if we have a command, execute that
- if (strlen(options.command()) != 0)
- execute_commands(options, exename);
+ if (strlen(m_options.command()) != 0)
+ execute_commands(exename);
// otherwise, check for a valid system
else
{
// if we can't find it, give an appropriate error
- const game_driver *system = options.system();
- if (system == NULL && strlen(options.system_name()) > 0)
- throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "Unknown system '%s'", options.system_name());
+ const game_driver *system = m_options.system();
+ if (system == NULL && strlen(m_options.system_name()) > 0)
+ throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "Unknown system '%s'", m_options.system_name());
// otherwise just run the game
- result = mame_execute(options, osd);
+ m_result = mame_execute(m_options, m_osd);
}
}
@@ -218,577 +192,605 @@ int cli_execute(cli_options &options, osd_interface &osd, int argc, char **argv)
{
astring string(fatal.string());
fprintf(stderr, "%s\n", string.trimspace().cstr());
- result = (fatal.exitcode() != 0) ? fatal.exitcode() : MAMERR_FATALERROR;
+ m_result = (fatal.exitcode() != 0) ? fatal.exitcode() : MAMERR_FATALERROR;
// if a game was specified, wasn't a wildcard, and our error indicates this was the
// reason for failure, offer some suggestions
- if (result == MAMERR_NO_SUCH_GAME && strlen(options.system_name()) > 0 && strchr(options.system_name(), '*') == NULL && options.system() == NULL)
- display_suggestions(options.system_name());
+ if (m_result == MAMERR_NO_SUCH_GAME && strlen(m_options.system_name()) > 0 && strchr(m_options.system_name(), '*') == NULL && m_options.system() == NULL)
+ {
+ // get the top 10 approximate matches
+ driver_enumerator drivlist(m_options);
+ int matches[10];
+ drivlist.find_approximate_matches(m_options.system_name(), ARRAY_LENGTH(matches), matches);
+
+ // print them out
+ fprintf(stderr, "\n\"%s\" approximately matches the following\n"
+ "supported " GAMESNOUN " (best match first):\n\n", m_options.system_name());
+ for (int matchnum = 0; matchnum < ARRAY_LENGTH(matches); matchnum++)
+ if (matches[matchnum] != -1)
+ fprintf(stderr, "%-18s%s\n", drivlist.driver(matches[matchnum]).name, drivlist.driver(matches[matchnum]).description);
+ }
}
catch (emu_exception &)
{
fprintf(stderr, "Caught unhandled emulator exception\n");
- result = MAMERR_FATALERROR;
+ m_result = MAMERR_FATALERROR;
}
catch (std::bad_alloc &)
{
fprintf(stderr, "Out of memory!\n");
- result = MAMERR_FATALERROR;
+ m_result = MAMERR_FATALERROR;
}
// handle any other exceptions
catch (...)
{
fprintf(stderr, "Caught unhandled exception\n");
- result = MAMERR_FATALERROR;
+ m_result = MAMERR_FATALERROR;
}
- // report any unfreed memory on clean exits
- if (result == MAMERR_NONE)
- dump_unfreed_mem();
- return result;
+ return m_result;
}
//-------------------------------------------------
-// execute_commands - execute various frontend
-// commands
+// listxml - output the XML data for one or more
+// games
//-------------------------------------------------
-static void execute_commands(cli_options &options, const char *exename)
+void cli_frontend::listxml(const char *gamename)
{
- // help?
- if (strcmp(options.command(), CLICOMMAND_HELP) == 0)
- {
- display_help();
- return;
- }
-
- // showusage?
- if (strcmp(options.command(), CLICOMMAND_SHOWUSAGE) == 0)
- {
- astring helpstring;
-#ifndef MESS
- mame_printf_info("Usage: %s [%s] [options]\n\nOptions:\n%s", exename, GAMENOUN, options.output_help(helpstring));
-#else
- mame_printf_info("Usage: %s [%s] [media] [software] [options]\n\nOptions:\n%s", exename, GAMENOUN, options.output_help(helpstring));
-#endif
- return;
- }
-
- // validate?
- if (strcmp(options.command(), CLICOMMAND_VALIDATE) == 0)
- {
- validate_drivers(options);
- return;
- }
-
- // other commands need the INIs parsed
- astring option_errors;
- options.parse_standard_inis(option_errors);
- if (option_errors)
- printf("%s\n", option_errors.cstr());
-
- // createconfig?
- if (strcmp(options.command(), CLICOMMAND_CREATECONFIG) == 0)
- {
- // attempt to open the output file
- emu_file file(OPEN_FLAG_WRITE | OPEN_FLAG_CREATE | OPEN_FLAG_CREATE_PATHS);
- if (file.open(CONFIGNAME ".ini") != FILERR_NONE)
- throw emu_fatalerror("Unable to create file " CONFIGNAME ".ini\n");
-
- // generate the updated INI
- astring initext;
- file.puts(options.output_ini(initext));
- return;
- }
-
- // showconfig?
- if (strcmp(options.command(), CLICOMMAND_SHOWCONFIG) == 0)
- {
- // print the INI text
- astring initext;
- printf("%s\n", options.output_ini(initext));
- return;
- }
-
- // all other commands call out to one of these helpers
- static const struct
- {
- const char *option;
- void (*function)(emu_options &options, const char *gamename);
- } info_commands[] =
- {
- { CLICOMMAND_LISTXML, cli_info_listxml },
- { CLICOMMAND_LISTFULL, cli_info_listfull },
- { CLICOMMAND_LISTSOURCE, cli_info_listsource },
- { CLICOMMAND_LISTCLONES, cli_info_listclones },
- { CLICOMMAND_LISTBROTHERS, cli_info_listbrothers },
- { CLICOMMAND_LISTCRC, cli_info_listcrc },
- { CLICOMMAND_LISTDEVICES, cli_info_listdevices },
- { CLICOMMAND_LISTROMS, cli_info_listroms },
- { CLICOMMAND_LISTSAMPLES, cli_info_listsamples },
- { CLICOMMAND_VERIFYROMS, info_verifyroms },
- { CLICOMMAND_VERIFYSAMPLES, info_verifysamples },
- { CLICOMMAND_LISTMEDIA, info_listmedia },
- { CLICOMMAND_LISTSOFTWARE, info_listsoftware },
- { CLICOMMAND_ROMIDENT, info_romident }
- };
-
- // find the command
- for (int cmdindex = 0; cmdindex < ARRAY_LENGTH(info_commands); cmdindex++)
- if (strcmp(options.command(), info_commands[cmdindex].option) == 0)
- {
- // parse any relevant INI files before proceeding
- const char *sysname = options.system_name();
- (*info_commands[cmdindex].function)(options, (sysname[0] == 0) ? "*" : sysname);
- return;
- }
+ // determine which drivers to output; return an error if none found
+ driver_enumerator drivlist(m_options, gamename);
+ if (drivlist.count() == 0)
+ throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "No matching games found for '%s'", gamename);
- // if we get here, we don't know what has been requested
- throw emu_fatalerror(MAMERR_INVALID_CONFIG, "Unknown command '%s' specified", options.command());
+ // create the XML and print it to stdout
+ info_xml_creator creator(drivlist);
+ creator.output(stdout);
}
-/*-------------------------------------------------
- display_help - display help to standard
- output
--------------------------------------------------*/
-
-static void display_help(void)
+//-------------------------------------------------
+// listfull - output the name and description of
+// one or more games
+//-------------------------------------------------
+
+void cli_frontend::listfull(const char *gamename)
{
-#ifndef MESS
- mame_printf_info("M.A.M.E. v%s - Multiple Arcade Machine Emulator\n"
- "Copyright Nicola Salmoria and the MAME Team\n\n", build_version);
- mame_printf_info("%s\n", mame_disclaimer);
- mame_printf_info("Usage: MAME gamename [options]\n\n"
- " MAME -showusage for a brief list of options\n"
- " MAME -showconfig for a list of configuration options\n"
- " MAME -createconfig to create a " CONFIGNAME ".ini\n\n"
- "For usage instructions, please consult the file windows.txt\n");
-#else
- mess_display_help();
-#endif
-}
-
-
-
-/***************************************************************************
- INFORMATIONAL FUNCTIONS
-***************************************************************************/
+ // determine which drivers to output; return an error if none found
+ driver_enumerator drivlist(m_options, gamename);
+ if (drivlist.count() == 0)
+ throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "No matching games found for '%s'", gamename);
-/*-------------------------------------------------
- cli_info_listxml - output the XML data for one
- or more games
--------------------------------------------------*/
+ // print the header
+ mame_printf_info("Name: Description:\n");
-void cli_info_listxml(emu_options &options, const char *gamename)
-{
- print_mame_xml(stdout, drivers, gamename, options);
+ // iterate through drivers and output the info
+ while (drivlist.next())
+ if ((drivlist.driver().flags & GAME_NO_STANDALONE) == 0)
+ mame_printf_info("%-18s\"%s\"\n", drivlist.driver().name, drivlist.driver().description);
}
-/*-------------------------------------------------
- cli_info_listfull - output the name and
- description of one or more games
--------------------------------------------------*/
+//-------------------------------------------------
+// listsource - output the name and source
+// filename of one or more games
+//-------------------------------------------------
-void cli_info_listfull(emu_options &options, const char *gamename)
+void cli_frontend::listsource(const char *gamename)
{
- int count = 0;
-
- /* iterate over drivers */
- for (int drvindex = 0; drivers[drvindex] != NULL; drvindex++)
- if ((drivers[drvindex]->flags & GAME_NO_STANDALONE) == 0 && mame_strwildcmp(gamename, drivers[drvindex]->name) == 0)
- {
- /* print the header on the first one */
- if (count == 0)
- mame_printf_info("Name: Description:\n");
-
- /* output the remaining information */
- mame_printf_info("%-18s\"%s\"\n", drivers[drvindex]->name, drivers[drvindex]->description);
- count++;
- }
-
- /* return an error if none found */
- if (count == 0)
+ // determine which drivers to output; return an error if none found
+ driver_enumerator drivlist(m_options, gamename);
+ if (drivlist.count() == 0)
throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "No matching games found for '%s'", gamename);
+
+ // iterate through drivers and output the info
+ astring filename;
+ while (drivlist.next())
+ mame_printf_info("%-16s %s\n", drivlist.driver().name, core_filename_extract_base(&filename, drivlist.driver().source_file, FALSE)->cstr());
}
-/*-------------------------------------------------
- cli_info_listsource - output the name and source
- filename of one or more games
--------------------------------------------------*/
+//-------------------------------------------------
+// listclones - output the name and parent of all
+// clones matching the given pattern
+//-------------------------------------------------
-void cli_info_listsource(emu_options &options, const char *gamename)
+void cli_frontend::listclones(const char *gamename)
{
- int count = 0;
- astring filename;
+ // start with a filtered list of drivers
+ driver_enumerator drivlist(m_options, gamename);
+ int original_count = drivlist.count();
+
+ // iterate through the remaining ones to see if their parent matches
+ while (drivlist.next_excluded())
+ {
+ // if we have a non-bios clone and it matches, keep it
+ int clone_of = drivlist.clone();
+ if (clone_of != -1 && (drivlist.driver(clone_of).flags & GAME_IS_BIOS_ROOT) == 0)
+ if (drivlist.matches(gamename, drivlist.driver(clone_of).name))
+ drivlist.include();
+ }
+
+ // return an error if none found
+ if (drivlist.count() == 0)
+ {
+ // see if we match but just weren't a clone
+ if (original_count == 0)
+ throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "No matching games found for '%s'", gamename);
+ else
+ mame_printf_info("Found %d matches for '%s' but none were clones\n", drivlist.count(), gamename);
+ return;
+ }
- /* iterate over drivers */
- for (int drvindex = 0; drivers[drvindex] != NULL; drvindex++)
- if (mame_strwildcmp(gamename, drivers[drvindex]->name) == 0)
- {
- /* output the remaining information */
- mame_printf_info("%-16s %s\n", drivers[drvindex]->name, core_filename_extract_base(&filename, drivers[drvindex]->source_file, FALSE)->cstr());
- count++;
- }
+ // print the header
+ mame_printf_info("Name: Clone of:\n");
- /* return an error if none found */
- if (count == 0)
- throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "No matching games found for '%s'", gamename);
+ // iterate through drivers and output the info
+ drivlist.reset();
+ while (drivlist.next())
+ {
+ int clone_of = drivlist.clone();
+ if (clone_of != -1)
+ mame_printf_info("%-16s %-8s\n", drivlist.driver().name, drivlist.driver(clone_of).name);
+ }
}
-/*-------------------------------------------------
- cli_info_listclones - output the name and source
- filename of one or more games
--------------------------------------------------*/
+//-------------------------------------------------
+// listbrothers - for each matching game, output
+// the list of other games that share the same
+// source file
+//-------------------------------------------------
-void cli_info_listclones(emu_options &options, const char *gamename)
+void cli_frontend::listbrothers(const char *gamename)
{
- int count = 0, drvcnt = 0;
-
- for (int drvindex = 0; drivers[drvindex] != NULL; drvindex++)
- if (mame_strwildcmp(gamename, drivers[drvindex]->name) == 0)
- drvcnt++;
-
- if (drvcnt == 0)
+ // start with a filtered list of drivers; return an error if none found
+ driver_enumerator initial_drivlist(m_options, gamename);
+ if (initial_drivlist.count() == 0)
throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "No matching games found for '%s'", gamename);
- /* iterate over drivers */
- for (int drvindex = 0; drivers[drvindex] != NULL; drvindex++)
- {
- const game_driver *clone_of = driver_get_clone(drivers[drvindex]);
+ // for the final list, start with an empty driver list
+ driver_enumerator drivlist(m_options);
+ drivlist.exclude_all();
- /* if we are a clone, and either our name matches the gamename, or the clone's name matches, display us */
- if (clone_of != NULL && (clone_of->flags & GAME_IS_BIOS_ROOT) == 0)
- if (mame_strwildcmp(gamename, drivers[drvindex]->name) == 0 || mame_strwildcmp(gamename, clone_of->name) == 0)
- {
- /* print the header on the first one */
- if (count == 0)
- mame_printf_info("Name: Clone of:\n");
+ // scan through the initially-selected drivers
+ while (initial_drivlist.next())
+ {
+ // if we are already marked in the final list, we don't need to do anything
+ if (drivlist.included(initial_drivlist.current()))
+ continue;
+
+ // otherwise, walk excluded items in the final list and mark any that match
+ drivlist.reset();
+ while (drivlist.next_excluded())
+ if (strcmp(drivlist.driver().source_file, initial_drivlist.driver().source_file) == 0)
+ drivlist.include();
+ }
+
+ // print the header
+ mame_printf_info("Source file: Name: Parent:\n");
- /* output the remaining information */
- mame_printf_info("%-16s %-8s\n", drivers[drvindex]->name, clone_of->name);
- count++;
- }
+ // output the entries found
+ drivlist.reset();
+ astring filename;
+ while (drivlist.next())
+ {
+ int clone_of = drivlist.clone();
+ mame_printf_info("%-16s %-16s %-16s\n", core_filename_extract_base(&filename, drivlist.driver().source_file, FALSE)->cstr(), drivlist.driver().name, (clone_of == -1 ? "" : drivlist.driver(clone_of).name));
}
}
-/*-------------------------------------------------
- cli_info_listbrothers - output the name and
- source filename of one or more games
--------------------------------------------------*/
+//-------------------------------------------------
+// listcrc - output the CRC and name of all ROMs
+// referenced by the emulator
+//-------------------------------------------------
-void cli_info_listbrothers(emu_options &options, const char *gamename)
+void cli_frontend::listcrc(const char *gamename)
{
- UINT8 *didit = global_alloc_array_clear(UINT8, driver_list_get_count(drivers));
- int count = 0;
- astring filename;
+ // determine which drivers to output; return an error if none found
+ driver_enumerator drivlist(m_options, gamename);
+ if (drivlist.count() == 0)
+ throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "No matching games found for '%s'", gamename);
- /* iterate over drivers */
- for (int drvindex = 0; drivers[drvindex] != NULL; drvindex++)
- if (!didit[drvindex] && mame_strwildcmp(gamename, drivers[drvindex]->name) == 0)
- {
- didit[drvindex] = TRUE;
- if (count > 0)
- mame_printf_info("\n");
- mame_printf_info("%s ... other drivers in %s:\n", drivers[drvindex]->name, core_filename_extract_base(&filename, drivers[drvindex]->source_file, FALSE)->cstr());
-
- /* now iterate again over drivers, finding those with the same source file */
- for (int matchindex = 0; drivers[matchindex]; matchindex++)
- if (matchindex != drvindex && strcmp(drivers[drvindex]->source_file, drivers[matchindex]->source_file) == 0)
+ // iterate through matches, and then through ROMs
+ while (drivlist.next())
+ for (const rom_source *source = rom_first_source(drivlist.config()); source != NULL; source = rom_next_source(*source))
+ for (const rom_entry *region = rom_first_region(*source); region; region = rom_next_region(region))
+ for (const rom_entry *rom = rom_first_file(region); rom; rom = rom_next_file(rom))
{
- const char *matchstring = (mame_strwildcmp(gamename, drivers[matchindex]->name) == 0) ? "-> " : " ";
- const game_driver *clone_of = driver_get_clone(drivers[matchindex]);
-
- if (clone_of != NULL && (clone_of->flags & GAME_IS_BIOS_ROOT) == 0)
- mame_printf_info("%s%-16s [%s]\n", matchstring, drivers[matchindex]->name, clone_of->name);
- else
- mame_printf_info("%s%s\n", matchstring, drivers[matchindex]->name);
- didit[matchindex] = TRUE;
+ // if we have a CRC, display it
+ UINT32 crc;
+ if (hash_collection(ROM_GETHASHDATA(rom)).crc(crc))
+ mame_printf_info("%08x %-16s %s\n", crc, ROM_GETNAME(rom), drivlist.driver().description);
}
-
- count++;
- }
-
- /* return an error if none found */
- global_free(didit);
- if (count == 0)
- throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "No matching games found for '%s'", gamename);
}
-/*-------------------------------------------------
- cli_info_listcrc - output the CRC and name of
- all ROMs referenced by MAME
--------------------------------------------------*/
+//-------------------------------------------------
+// listroms - output the list of ROMs referenced
+// by a given game or set of games
+//-------------------------------------------------
-void cli_info_listcrc(emu_options &options, const char *gamename)
+void cli_frontend::listroms(const char *gamename)
{
- int count = 0;
+ // determine which drivers to output; return an error if none found
+ driver_enumerator drivlist(m_options, gamename);
+ if (drivlist.count() == 0)
+ throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "No matching games found for '%s'", gamename);
- /* iterate over drivers */
- for (int drvindex = 0; drivers[drvindex] != NULL; drvindex++)
- if (mame_strwildcmp(gamename, drivers[drvindex]->name) == 0)
- {
- machine_config config(*drivers[drvindex], options);
- const rom_entry *region, *rom;
- const rom_source *source;
-
- /* iterate over sources, regions, and then ROMs within the region */
- for (source = rom_first_source(config); source != NULL; source = rom_next_source(*source))
- for (region = rom_first_region(*source); region; region = rom_next_region(region))
- for (rom = rom_first_file(region); rom; rom = rom_next_file(rom))
+ // iterate through matches
+ astring tempstr;
+ bool first = true;
+ while (drivlist.next())
+ {
+ // print a header
+ if (!first)
+ mame_printf_info("\n");
+ first = false;
+ mame_printf_info("ROMs required for driver \"%s\".\n"
+ "Name Size Checksum\n", drivlist.driver().name);
+
+ // iterate through roms
+ for (const rom_source *source = rom_first_source(drivlist.config()); source != NULL; source = rom_next_source(*source))
+ for (const rom_entry *region = rom_first_region(*source); region; region = rom_next_region(region))
+ for (const rom_entry *rom = rom_first_file(region); rom; rom = rom_next_file(rom))
+ {
+ // accumulate the total length of all chunks
+ int length = -1;
+ if (ROMREGION_ISROMDATA(region))
+ length = rom_file_size(rom);
+
+ // start with the name
+ const char *name = ROM_GETNAME(rom);
+ mame_printf_info("%-20s ", name);
+
+ // output the length next
+ if (length >= 0)
+ mame_printf_info("%7d", length);
+ else
+ mame_printf_info(" ");
+
+ // output the hash data
+ hash_collection hashes(ROM_GETHASHDATA(rom));
+ if (!hashes.flag(hash_collection::FLAG_NO_DUMP))
{
- /* if we have a CRC, display it */
- UINT32 crc;
- if (hash_collection(ROM_GETHASHDATA(rom)).crc(crc))
- mame_printf_info("%08x %-12s %s\n", crc, ROM_GETNAME(rom), drivers[drvindex]->description);
+ if (hashes.flag(hash_collection::FLAG_BAD_DUMP))
+ mame_printf_info(" BAD");
+ mame_printf_info(" %s", hashes.macro_string(tempstr));
}
+ else
+ mame_printf_info(" NO GOOD DUMP KNOWN");
- count++;
- }
-
- /* return an error if none found */
- if (count == 0)
- throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "No matching games found for '%s'", gamename);
+ // end with a CR
+ mame_printf_info("\n");
+ }
+ }
}
-/*-------------------------------------------------
- cli_info_listroms - output the list of ROMs
- referenced by a given game or set of games
--------------------------------------------------*/
+//-------------------------------------------------
+// listsamples - output the list of samples
+// referenced by a given game or set of games
+//-------------------------------------------------
-void cli_info_listroms(emu_options &options, const char *gamename)
+void cli_frontend::listsamples(const char *gamename)
{
- int count = 0;
- astring tempstr;
+ // determine which drivers to output; return an error if none found
+ driver_enumerator drivlist(m_options, gamename);
+ if (drivlist.count() == 0)
+ throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "No matching games found for '%s'", gamename);
- /* iterate over drivers */
- for (int drvindex = 0; drivers[drvindex] != NULL; drvindex++)
- if (mame_strwildcmp(gamename, drivers[drvindex]->name) == 0)
- {
- machine_config config(*drivers[drvindex], options);
-
- /* print the header */
- if (count > 0)
- mame_printf_info("\n");
- mame_printf_info("This is the list of the ROMs required for driver \"%s\".\n"
- "Name Size Checksum\n", drivers[drvindex]->name);
-
- /* iterate over sources, regions and then ROMs within the region */
- for (const rom_source *source = rom_first_source(config); source != NULL; source = rom_next_source(*source))
- for (const rom_entry *region = rom_first_region(*source); region != NULL; region = rom_next_region(region))
- for (const rom_entry *rom = rom_first_file(region); rom != NULL; rom = rom_next_file(rom))
- {
- /* accumulate the total length of all chunks */
- int length = -1;
- if (ROMREGION_ISROMDATA(region))
- length = rom_file_size(rom);
-
- /* start with the name */
- const char *name = ROM_GETNAME(rom);
- mame_printf_info("%-20s ", name);
-
- /* output the length next */
- if (length >= 0)
- mame_printf_info("%7d", length);
- else
- mame_printf_info(" ");
-
- /* output the hash data */
- hash_collection hashes(ROM_GETHASHDATA(rom));
- if (!hashes.flag(hash_collection::FLAG_NO_DUMP))
- {
- if (hashes.flag(hash_collection::FLAG_BAD_DUMP))
- mame_printf_info(" BAD");
- mame_printf_info(" %s", hashes.macro_string(tempstr));
- }
- else
- mame_printf_info(" NO GOOD DUMP KNOWN");
+ // iterate over drivers, looking for SAMPLES devices
+ bool first = true;
+ while (drivlist.next())
+ {
+ // see if we have samples
+ const device_config *devconfig;
+ for (devconfig = drivlist.config().first_device(); devconfig != NULL; devconfig = devconfig->next())
+ if (devconfig->type() == SAMPLES)
+ break;
+ if (devconfig == NULL)
+ continue;
+
+ // print a header
+ if (!first)
+ mame_printf_info("\n");
+ first = false;
+ mame_printf_info("Samples required for driver \"%s\".\n", drivlist.driver().name);
+
+ // iterate over samples devices
+ for ( ; devconfig != NULL; devconfig = devconfig->next())
+ if (devconfig->type() == SAMPLES)
+ {
+ // if the list is legit, walk it and print the sample info
+ const char *const *samplenames = reinterpret_cast<const samples_interface *>(devconfig->static_config())->samplenames;
+ if (samplenames != NULL)
+ for (int sampnum = 0; samplenames[sampnum] != NULL; sampnum++)
+ if (samplenames[sampnum][0] != '*')
+ mame_printf_info("%s\n", samplenames[sampnum]);
+ }
+ }
+}
- /* end with a CR */
- mame_printf_info("\n");
- }
- count++;
- }
+//-------------------------------------------------
+// listdevices - output the list of devices
+// referenced by a given game or set of games
+//-------------------------------------------------
- if (count == 0)
+void cli_frontend::listdevices(const char *gamename)
+{
+ // determine which drivers to output; return an error if none found
+ driver_enumerator drivlist(m_options, gamename);
+ if (drivlist.count() == 0)
throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "No matching games found for '%s'", gamename);
+
+ // iterate over drivers, looking for SAMPLES devices
+ bool first = true;
+ while (drivlist.next())
+ {
+ // print a header
+ if (!first)
+ printf("\n");
+ first = false;
+ printf("Driver %s (%s):\n", drivlist.driver().name, drivlist.driver().description);
+
+ // iterate through devices
+ for (const device_config *devconfig = drivlist.config().first_device(); devconfig != NULL; devconfig = devconfig->next())
+ {
+ printf(" %s ('%s')", devconfig->name(), devconfig->tag());
+
+ UINT32 clock = devconfig->clock();
+ if (clock >= 1000000000)
+ printf(" @ %d.%02d GHz\n", clock / 1000000000, (clock / 10000000) % 100);
+ else if (clock >= 1000000)
+ printf(" @ %d.%02d MHz\n", clock / 1000000, (clock / 10000) % 100);
+ else if (clock >= 1000)
+ printf(" @ %d.%02d kHz\n", clock / 1000, (clock / 10) % 100);
+ else if (clock > 0)
+ printf(" @ %d Hz\n", clock);
+ else
+ printf("\n");
+ }
+ }
}
-/*-------------------------------------------------
- cli_info_listsamples - output the list of samples
- referenced by a given game or set of games
--------------------------------------------------*/
+//-------------------------------------------------
+// listmedia - output the list of image devices
+// referenced by a given game or set of games
+//-------------------------------------------------
-void cli_info_listsamples(emu_options &options, const char *gamename)
+void cli_frontend::listmedia(const char *gamename)
{
- int count = 0;
+ // determine which drivers to output; return an error if none found
+ driver_enumerator drivlist(m_options, gamename);
+ if (drivlist.count() == 0)
+ throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "No matching games found for '%s'", gamename);
- /* iterate over drivers */
- for (int drvindex = 0; drivers[drvindex] != NULL; drvindex++)
- if (mame_strwildcmp(gamename, drivers[drvindex]->name) == 0)
- {
- machine_config config(*drivers[drvindex], options);
- const device_config_sound_interface *sound = NULL;
+ // print header
+ printf(" SYSTEM MEDIA NAME (brief) IMAGE FILE EXTENSIONS SUPPORTED \n");
+ printf("---------- -------------------- ------------------------------------\n");
- /* find samples interfaces */
- for (bool gotone = config.m_devicelist.first(sound); gotone; gotone = sound->next(sound))
- if (sound->devconfig().type() == SAMPLES)
- {
- const char *const *samplenames = ((const samples_interface *)sound->devconfig().static_config())->samplenames;
- int sampnum;
+ // iterate over drivers
+ while (drivlist.next())
+ {
+ // iterate
+ const device_config_image_interface *imagedev = NULL;
+ bool first = true;
+ for (bool gotone = drivlist.config().m_devicelist.first(imagedev); gotone; gotone = imagedev->next(imagedev))
+ {
+ // extract the shortname with parentheses
+ astring paren_shortname;
+ paren_shortname.format("(%s)", imagedev->brief_instance_name());
- /* if the list is legit, walk it and print the sample info */
- if (samplenames != NULL)
- for (sampnum = 0; samplenames[sampnum] != NULL; sampnum++)
- mame_printf_info("%s\n", samplenames[sampnum]);
- }
+ // output the line, up to the list of extensions
+ printf("%-13s%-12s%-8s ", first ? drivlist.driver().name : "", imagedev->instance_name(), paren_shortname.cstr());
- count++;
+ // get the extensions and print them
+ astring extensions(imagedev->file_extensions());
+ for (int start = 0, end = extensions.chr(0, ','); ; start = end + 1, end = extensions.chr(start, ','))
+ {
+ astring curext(extensions, start, (end == -1) ? -1 : end - 1);
+ printf(".%-5s", curext.cstr());
+ if (end == -1)
+ break;
+ }
+
+ // end the line
+ printf("\n");
+ first = false;
}
-
- if (count == 0)
- throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "No matching games found for '%s'", gamename);
+
+ // if we didn't get any at all, just print a none line
+ if (first)
+ printf("%-13s(none)\n", drivlist.driver().name);
+ }
}
-/*-------------------------------------------------
- cli_info_listdevices - output the list of
- devices referenced by a given game or set of
- games
--------------------------------------------------*/
+//-------------------------------------------------
+// verifyroms - verify the ROM sets of one or
+// more games
+//-------------------------------------------------
-void cli_info_listdevices(emu_options &options, const char *gamename)
+void cli_frontend::verifyroms(const char *gamename)
{
- int count = 0;
-
- /* iterate over drivers */
- for (int drvindex = 0; drivers[drvindex] != NULL; drvindex++)
- if (mame_strwildcmp(gamename, drivers[drvindex]->name) == 0)
- {
- machine_config config(*drivers[drvindex], options);
+ // determine which drivers to output; return an error if none found
+ driver_enumerator drivlist(m_options, gamename);
+ if (drivlist.count() == 0)
+ throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "No matching games found for '%s'", gamename);
- if (count != 0)
- printf("\n");
- printf("Driver %s (%s):\n", drivers[drvindex]->name, drivers[drvindex]->description);
+ int correct = 0;
+ int incorrect = 0;
+ int notfound = 0;
- /* iterate through devices */
- for (const device_config *devconfig = config.m_devicelist.first(); devconfig != NULL; devconfig = devconfig->next())
+ // iterate over drivers
+ media_auditor auditor(drivlist);
+ while (drivlist.next())
+ {
+ // audit the ROMs in this set
+ media_auditor::summary summary = auditor.audit_media(AUDIT_VALIDATE_FAST);
+
+ // output the summary of the audit
+ astring summary_string;
+ auditor.summarize(&summary_string);
+ mame_printf_info("%s", summary_string.cstr());
+
+ // if not found, count that and leave it at that
+ if (summary == media_auditor::NOTFOUND)
+ notfound++;
+
+ // else display information about what we discovered
+ else
+ {
+ // output the name of the driver and its clone
+ mame_printf_info("romset %s ", drivlist.driver().name);
+ int clone_of = drivlist.clone();
+ if (clone_of != -1)
+ mame_printf_info("[%s] ", drivlist.driver(clone_of).name);
+
+ // switch off of the result
+ switch (summary)
{
- printf(" %s ('%s')", devconfig->name(), devconfig->tag());
-
- UINT32 clock = devconfig->clock();
- if (clock >= 1000000000)
- printf(" @ %d.%02d GHz\n", clock / 1000000000, (clock / 10000000) % 100);
- else if (clock >= 1000000)
- printf(" @ %d.%02d MHz\n", clock / 1000000, (clock / 10000) % 100);
- else if (clock >= 1000)
- printf(" @ %d.%02d kHz\n", clock / 1000, (clock / 10) % 100);
- else if (clock > 0)
- printf(" @ %d Hz\n", clock);
- else
- printf("\n");
+ case media_auditor::INCORRECT:
+ mame_printf_info("is bad\n");
+ incorrect++;
+ break;
+
+ case media_auditor::CORRECT:
+ mame_printf_info("is good\n");
+ correct++;
+ break;
+
+ case media_auditor::BEST_AVAILABLE:
+ mame_printf_info("is best available\n");
+ correct++;
+ break;
+
+ default:
+ break;
}
-
- count++;
}
+ }
- if (count == 0)
- throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "No matching games found for '%s'", gamename);
+ // clear out any cached files
+ zip_file_cache_clear();
+
+ // if we didn't get anything at all, display a generic end message
+ if (correct + incorrect == 0)
+ {
+ if (notfound > 0)
+ throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "romset \"%s\" not found!\n", gamename);
+ else
+ throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "romset \"%s\" not supported!\n", gamename);
+ }
+
+ // otherwise, print a summary
+ else
+ {
+ if (incorrect > 0)
+ throw emu_fatalerror(MAMERR_MISSING_FILES, "%d romsets found, %d were OK.\n", correct + incorrect, correct);
+ mame_printf_info("%d romsets found, %d were OK.\n", correct, correct);
+ }
}
-/*-------------------------------------------------
- info_verifyroms - verify the ROM sets of
- one or more games
--------------------------------------------------*/
+//-------------------------------------------------
+// info_verifysamples - verify the sample sets of
+// one or more games
+//-------------------------------------------------
-static void info_verifyroms(emu_options &options, const char *gamename)
+void cli_frontend::verifysamples(const char *gamename)
{
+ // determine which drivers to output; return an error if none found
+ driver_enumerator drivlist(m_options, gamename);
+ if (drivlist.count() == 0)
+ throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "No matching games found for '%s'", gamename);
+
int correct = 0;
int incorrect = 0;
int notfound = 0;
- /* iterate over drivers */
- for (int drvindex = 0; drivers[drvindex] != NULL; drvindex++)
- if (mame_strwildcmp(gamename, drivers[drvindex]->name) == 0)
+ // iterate over drivers
+ media_auditor auditor(drivlist);
+ while (drivlist.next())
+ {
+ // audit the samples in this set
+ media_auditor::summary summary = auditor.audit_samples();
+
+ // output the summary of the audit
+ astring summary_string;
+ auditor.summarize(&summary_string);
+ mame_printf_info("%s", summary_string.cstr());
+
+ // if not found, print a message and set the flag
+ if (summary == media_auditor::NOTFOUND)
{
- audit_record *audit;
- int audit_records;
- int res;
-
- /* audit the ROMs in this set */
- audit_records = audit_images(options, drivers[drvindex], AUDIT_VALIDATE_FAST, &audit);
- res = audit_summary(drivers[drvindex], audit_records, audit, TRUE);
- if (audit_records > 0)
- global_free(audit);
-
- /* if not found, count that and leave it at that */
- if (res == NOTFOUND)
- notfound++;
+ mame_printf_error("sampleset \"%s\" not found!\n", drivlist.driver().name);
+ notfound++;
+ }
- /* else display information about what we discovered */
- else
+ // else display information about what we discovered
+ else
+ {
+ // output the name of the driver and its clone
+ mame_printf_info("sampleset %s ", drivlist.driver().name);
+ int clone_of = drivlist.clone();
+ if (clone_of != -1)
+ mame_printf_info("[%s] ", drivlist.driver(clone_of).name);
+
+ // switch off of the result
+ switch (summary)
{
- const game_driver *clone_of;
-
- /* output the name of the driver and its clone */
- mame_printf_info("romset %s ", drivers[drvindex]->name);
- clone_of = driver_get_clone(drivers[drvindex]);
- if (clone_of != NULL)
- mame_printf_info("[%s] ", clone_of->name);
-
- /* switch off of the result */
- switch (res)
- {
- case INCORRECT:
- mame_printf_info("is bad\n");
- incorrect++;
- break;
-
- case CORRECT:
- mame_printf_info("is good\n");
- correct++;
- break;
-
- case BEST_AVAILABLE:
- mame_printf_info("is best available\n");
- correct++;
- break;
- }
+ case media_auditor::INCORRECT:
+ mame_printf_info("is bad\n");
+ incorrect++;
+ break;
+
+ case media_auditor::CORRECT:
+ mame_printf_info("is good\n");
+ correct++;
+ break;
+
+ case media_auditor::BEST_AVAILABLE:
+ mame_printf_info("is best available\n");
+ correct++;
+ break;
+
+ default:
+ break;
}
}
+ }
- /* clear out any cached files */
+ // clear out any cached files
zip_file_cache_clear();
- /* if we didn't get anything at all, display a generic end message */
+ // if we didn't get anything at all, display a generic end message
if (correct + incorrect == 0)
{
if (notfound > 0)
- throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "romset \"%s\" not found!\n", gamename);
+ throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "sampleset \"%s\" not found!\n", gamename);
else
- throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "romset \"%s\" not supported!\n", gamename);
+ throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "sampleset \"%s\" not supported!\n", gamename);
}
- /* otherwise, print a summary */
+ // otherwise, print a summary
else
{
if (incorrect > 0)
- throw emu_fatalerror(MAMERR_MISSING_FILES, "%d romsets found, %d were OK.\n", correct + incorrect, correct);
- mame_printf_info("%d romsets found, %d were OK.\n", correct, correct);
+ throw emu_fatalerror(MAMERR_MISSING_FILES, "%d samplesets found, %d were OK.\n", correct + incorrect, correct);
+ mame_printf_info("%d samplesets found, %d were OK.\n", correct, correct);
}
}
+
+
+#if 0
/*-------------------------------------------------
info_listsoftware - output the list of
software supported by a given game or set of
@@ -798,37 +800,31 @@ static void info_verifyroms(emu_options &options, const char *gamename)
identifying duplicate lists.
-------------------------------------------------*/
-static void info_listsoftware(emu_options &options, const char *gamename)
+static void info_listsoftware(const char *gamename)
{
FILE *out = stdout;
- int nr_lists = 0;
- char ** lists = NULL;
- int list_idx = 0;
- /* First determine the maximum number of lists we might encounter */
- for ( int drvindex = 0; drivers[drvindex] != NULL; drvindex++ )
- {
- if ( mame_strwildcmp( gamename, drivers[drvindex]->name ) == 0 )
- {
- /* allocate the machine config */
- machine_config config(*drivers[drvindex], options);
+ // determine which drivers to output; return an error if none found
+ driver_enumerator drivlist(m_options, gamename);
+ if (drivlist.count() == 0)
+ throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "No matching games found for '%s'", gamename);
- for (const device_config *dev = config.m_devicelist.first(SOFTWARE_LIST); dev != NULL; dev = dev->typenext())
- {
- software_list_config *swlist = (software_list_config *)downcast<const legacy_device_config_base *>(dev)->inline_config();
+ // first determine the maximum number of lists we might encounter
+ int list_count = 0;
+ while (drivlist.next())
+ for (const device_config *dev = drivlist.config().m_devicelist.first(SOFTWARE_LIST); dev != NULL; dev = dev->typenext())
+ {
+ software_list_config *swlist = (software_list_config *)downcast<const legacy_device_config_base *>(dev)->inline_config();
- for ( int i = 0; i < DEVINFO_STR_SWLIST_MAX - DEVINFO_STR_SWLIST_0; i++ )
- {
- if ( swlist->list_name[i] && *swlist->list_name[i] && (swlist->list_type == SOFTWARE_LIST_ORIGINAL_SYSTEM))
- nr_lists++;
- }
- }
+ for (int listnum = 0; listnum < DEVINFO_STR_SWLIST_MAX - DEVINFO_STR_SWLIST_0; listnum++)
+ if (swlist->list_name[listnum] && *swlist->list_name[listnum] && swlist->list_type == SOFTWARE_LIST_ORIGINAL_SYSTEM)
+ list_count++;
}
- }
- lists = global_alloc_array( char *, nr_lists );
+ // allocate a list
+ astring *lists = global_alloc_array(astring, list_count);
- if (nr_lists)
+ if (list_count)
{
fprintf( out,
"<?xml version=\"1.0\"?>\n"
@@ -902,664 +898,602 @@ static void info_listsoftware(emu_options &options, const char *gamename)
);
}
- for ( int drvindex = 0; drivers[drvindex] != NULL; drvindex++ )
- {
- if ( mame_strwildcmp( gamename, drivers[drvindex]->name ) == 0 )
+ drivlist.reset();
+ list_count = 0;
+ while (drivlist.next())
+ for (const device_config *dev = drivlist.config().m_devicelist.first(SOFTWARE_LIST); dev != NULL; dev = dev->typenext())
{
- /* allocate the machine config */
- machine_config config(*drivers[drvindex], options);
+ software_list_config *swlist = (software_list_config *)downcast<const legacy_device_config_base *>(dev)->inline_config();
- for (const device_config *dev = config.m_devicelist.first(SOFTWARE_LIST); dev != NULL; dev = dev->typenext())
+ for (int listnum = 0; listnum < DEVINFO_STR_SWLIST_MAX - DEVINFO_STR_SWLIST_0; listnum++)
{
- software_list_config *swlist = (software_list_config *)downcast<const legacy_device_config_base *>(dev)->inline_config();
-
- for ( int i = 0; i < DEVINFO_STR_SWLIST_MAX - DEVINFO_STR_SWLIST_0; i++ )
+ if (swlist->list_name[listnum] && *swlist->list_name[listnum] && swlist->list_type == SOFTWARE_LIST_ORIGINAL_SYSTEM)
{
- if ( swlist->list_name[i] && *swlist->list_name[i] && (swlist->list_type == SOFTWARE_LIST_ORIGINAL_SYSTEM))
+ software_list *list = software_list_open(m_options, swlist->list_name[listnum], FALSE, NULL);
+
+ if ( list )
{
- software_list *list = software_list_open( options, swlist->list_name[i], FALSE, NULL );
+ /* Verify if we have encountered this list before */
+ bool seen_before = false;
+ for (int seen_index = 0; seen_index < list_count && !seen_before; seen_index++)
+ if (lists[seen_index] == swlist->list_name[listnum])
+ seen_before = true;
- if ( list )
+ if (!seen_before)
{
- /* Verify if we have encountered this list before */
- bool seen_before = false;
- for ( int l = 0; l < list_idx && !seen_before; l++ )
- {
- if ( ! strcmp( swlist->list_name[i], lists[l] ) )
- {
- seen_before = true;
- }
- }
+ lists[list_count++] = swlist->list_name[i];
+ software_list_parse( list, NULL, NULL );
+
+ fprintf(out, "\t<softwarelist name=\"%s\" description=\"%s\">\n", swlist->list_name[i], xml_normalize_string(software_list_get_description(list)) );
- if ( ! seen_before )
+ for ( software_info *swinfo = software_list_find( list, "*", NULL ); swinfo != NULL; swinfo = software_list_find( list, "*", swinfo ) )
{
- lists[list_idx] = core_strdup( swlist->list_name[i] );
- list_idx++;
- software_list_parse( list, NULL, NULL );
+ fprintf( out, "\t\t<software name=\"%s\"", swinfo->shortname );
+ if ( swinfo->parentname != NULL )
+ fprintf( out, " cloneof=\"%s\"", swinfo->parentname );
+ if ( swinfo->supported == SOFTWARE_SUPPORTED_PARTIAL )
+ fprintf( out, " supported=\"partial\"" );
+ if ( swinfo->supported == SOFTWARE_SUPPORTED_NO )
+ fprintf( out, " supported=\"no\"" );
+ fprintf( out, ">\n" );
+ fprintf( out, "\t\t\t<description>%s</description>\n", xml_normalize_string(swinfo->longname) );
+ fprintf( out, "\t\t\t<year>%s</year>\n", xml_normalize_string( swinfo->year ) );
+ fprintf( out, "\t\t\t<publisher>%s</publisher>\n", xml_normalize_string( swinfo->publisher ) );
+
+ for ( software_part *part = software_find_part( swinfo, NULL, NULL ); part != NULL; part = software_part_next( part ) )
+ {
+ fprintf( out, "\t\t\t<part name=\"%s\"", part->name );
+ if ( part->interface_ )
+ fprintf( out, " interface=\"%s\"", part->interface_ );
- fprintf(out, "\t<softwarelist name=\"%s\" description=\"%s\">\n", swlist->list_name[i], xml_normalize_string(software_list_get_description(list)) );
+ fprintf( out, ">\n");
- for ( software_info *swinfo = software_list_find( list, "*", NULL ); swinfo != NULL; swinfo = software_list_find( list, "*", swinfo ) )
- {
- fprintf( out, "\t\t<software name=\"%s\"", swinfo->shortname );
- if ( swinfo->parentname != NULL )
- fprintf( out, " cloneof=\"%s\"", swinfo->parentname );
- if ( swinfo->supported == SOFTWARE_SUPPORTED_PARTIAL )
- fprintf( out, " supported=\"partial\"" );
- if ( swinfo->supported == SOFTWARE_SUPPORTED_NO )
- fprintf( out, " supported=\"no\"" );
- fprintf( out, ">\n" );
- fprintf( out, "\t\t\t<description>%s</description>\n", xml_normalize_string(swinfo->longname) );
- fprintf( out, "\t\t\t<year>%s</year>\n", xml_normalize_string( swinfo->year ) );
- fprintf( out, "\t\t\t<publisher>%s</publisher>\n", xml_normalize_string( swinfo->publisher ) );
-
- for ( software_part *part = software_find_part( swinfo, NULL, NULL ); part != NULL; part = software_part_next( part ) )
+ if ( part->featurelist )
{
- fprintf( out, "\t\t\t<part name=\"%s\"", part->name );
- if ( part->interface_ )
- fprintf( out, " interface=\"%s\"", part->interface_ );
+ feature_list *list = part->featurelist;
- fprintf( out, ">\n");
-
- if ( part->featurelist )
+ while( list )
{
- feature_list *list = part->featurelist;
-
- while( list )
- {
- fprintf( out, "\t\t\t\t<feature name=\"%s\" value=\"%s\" />\n", list->name, list->value );
- list = list->next;
- }
+ fprintf( out, "\t\t\t\t<feature name=\"%s\" value=\"%s\" />\n", list->name, list->value );
+ list = list->next;
}
+ }
- /* TODO: display rom region information */
- for ( const rom_entry *region = part->romdata; region; region = rom_next_region( region ) )
- {
- int is_disk = ROMREGION_ISDISKDATA(region);
+ /* TODO: display rom region information */
+ for ( const rom_entry *region = part->romdata; region; region = rom_next_region( region ) )
+ {
+ int is_disk = ROMREGION_ISDISKDATA(region);
- if (!is_disk)
- fprintf( out, "\t\t\t\t<dataarea name=\"%s\" size=\"%d\">\n", ROMREGION_GETTAG(region), ROMREGION_GETLENGTH(region) );
- else
- fprintf( out, "\t\t\t\t<diskarea name=\"%s\">\n", ROMREGION_GETTAG(region) );
+ if (!is_disk)
+ fprintf( out, "\t\t\t\t<dataarea name=\"%s\" size=\"%d\">\n", ROMREGION_GETTAG(region), ROMREGION_GETLENGTH(region) );
+ else
+ fprintf( out, "\t\t\t\t<diskarea name=\"%s\">\n", ROMREGION_GETTAG(region) );
- for ( const rom_entry *rom = rom_first_file( region ); rom && !ROMENTRY_ISREGIONEND(rom); rom++ )
+ for ( const rom_entry *rom = rom_first_file( region ); rom && !ROMENTRY_ISREGIONEND(rom); rom++ )
+ {
+ if ( ROMENTRY_ISFILE(rom) )
{
- if ( ROMENTRY_ISFILE(rom) )
+ if (!is_disk)
+ fprintf( out, "\t\t\t\t\t<rom name=\"%s\" size=\"%d\"", xml_normalize_string(ROM_GETNAME(rom)), rom_file_size(rom) );
+ else
+ fprintf( out, "\t\t\t\t\t<disk name=\"%s\"", xml_normalize_string(ROM_GETNAME(rom)) );
+
+ /* dump checksum information only if there is a known dump */
+ hash_collection hashes(ROM_GETHASHDATA(rom));
+ if (!hashes.flag(hash_collection::FLAG_NO_DUMP))
{
- if (!is_disk)
- fprintf( out, "\t\t\t\t\t<rom name=\"%s\" size=\"%d\"", xml_normalize_string(ROM_GETNAME(rom)), rom_file_size(rom) );
- else
- fprintf( out, "\t\t\t\t\t<disk name=\"%s\"", xml_normalize_string(ROM_GETNAME(rom)) );
-
- /* dump checksum information only if there is a known dump */
- hash_collection hashes(ROM_GETHASHDATA(rom));
- if (!hashes.flag(hash_collection::FLAG_NO_DUMP))
- {
- astring tempstr;
- for (hash_base *hash = hashes.first(); hash != NULL; hash = hash->next())
- fprintf(out, " %s=\"%s\"", hash->name(), hash->string(tempstr));
- }
-
- if (!is_disk)
- fprintf( out, " offset=\"0x%x\"", ROM_GETOFFSET(rom) );
-
- if ( hashes.flag(hash_collection::FLAG_BAD_DUMP) )
- fprintf( out, " status=\"baddump\"" );
- if ( hashes.flag(hash_collection::FLAG_NO_DUMP) )
- fprintf( out, " status=\"nodump\"" );
-
- if (is_disk)
- fprintf( out, " writeable=\"%s\"", (ROM_GETFLAGS(rom) & DISK_READONLYMASK) ? "no" : "yes");
-
- if ((ROM_GETFLAGS(rom) & ROM_SKIPMASK) == ROM_SKIP(1))
- fprintf( out, " loadflag=\"load16_byte\"" );
-
- if ((ROM_GETFLAGS(rom) & ROM_SKIPMASK) == ROM_SKIP(3))
- fprintf( out, " loadflag=\"load32_byte\"" );
-
- if (((ROM_GETFLAGS(rom) & ROM_SKIPMASK) == ROM_SKIP(2)) && ((ROM_GETFLAGS(rom) & ROM_GROUPMASK) == ROM_GROUPWORD))
- {
- if (!(ROM_GETFLAGS(rom) & ROM_REVERSEMASK))
- fprintf( out, " loadflag=\"load32_word\"" );
- else
- fprintf( out, " loadflag=\"load32_word_swap\"" );
- }
-
- if (((ROM_GETFLAGS(rom) & ROM_SKIPMASK) == ROM_SKIP(6)) && ((ROM_GETFLAGS(rom) & ROM_GROUPMASK) == ROM_GROUPWORD))
- {
- if (!(ROM_GETFLAGS(rom) & ROM_REVERSEMASK))
- fprintf( out, " loadflag=\"load64_word\"" );
- else
- fprintf( out, " loadflag=\"load64_word_swap\"" );
- }
-
- if (((ROM_GETFLAGS(rom) & ROM_SKIPMASK) == ROM_NOSKIP) && ((ROM_GETFLAGS(rom) & ROM_GROUPMASK) == ROM_GROUPWORD))
- {
- if (!(ROM_GETFLAGS(rom) & ROM_REVERSEMASK))
- fprintf( out, " loadflag=\"load32_dword\"" );
- else
- fprintf( out, " loadflag=\"load16_word_swap\"" );
- }
-
- fprintf( out, "/>\n" );
+ astring tempstr;
+ for (hash_base *hash = hashes.first(); hash != NULL; hash = hash->next())
+ fprintf(out, " %s=\"%s\"", hash->name(), hash->string(tempstr));
}
- else if ( ROMENTRY_ISRELOAD(rom) )
+
+ if (!is_disk)
+ fprintf( out, " offset=\"0x%x\"", ROM_GETOFFSET(rom) );
+
+ if ( hashes.flag(hash_collection::FLAG_BAD_DUMP) )
+ fprintf( out, " status=\"baddump\"" );
+ if ( hashes.flag(hash_collection::FLAG_NO_DUMP) )
+ fprintf( out, " status=\"nodump\"" );
+
+ if (is_disk)
+ fprintf( out, " writeable=\"%s\"", (ROM_GETFLAGS(rom) & DISK_READONLYMASK) ? "no" : "yes");
+
+ if ((ROM_GETFLAGS(rom) & ROM_SKIPMASK) == ROM_SKIP(1))
+ fprintf( out, " loadflag=\"load16_byte\"" );
+
+ if ((ROM_GETFLAGS(rom) & ROM_SKIPMASK) == ROM_SKIP(3))
+ fprintf( out, " loadflag=\"load32_byte\"" );
+
+ if (((ROM_GETFLAGS(rom) & ROM_SKIPMASK) == ROM_SKIP(2)) && ((ROM_GETFLAGS(rom) & ROM_GROUPMASK) == ROM_GROUPWORD))
{
- fprintf( out, "\t\t\t\t\t<rom size=\"%d\" offset=\"0x%x\" loadflag=\"reload\" />\n", ROM_GETLENGTH(rom), ROM_GETOFFSET(rom) );
+ if (!(ROM_GETFLAGS(rom) & ROM_REVERSEMASK))
+ fprintf( out, " loadflag=\"load32_word\"" );
+ else
+ fprintf( out, " loadflag=\"load32_word_swap\"" );
}
- else if ( ROMENTRY_ISCONTINUE(rom) )
+
+ if (((ROM_GETFLAGS(rom) & ROM_SKIPMASK) == ROM_SKIP(6)) && ((ROM_GETFLAGS(rom) & ROM_GROUPMASK) == ROM_GROUPWORD))
{
- fprintf( out, "\t\t\t\t\t<rom size=\"%d\" offset=\"0x%x\" loadflag=\"continue\" />\n", ROM_GETLENGTH(rom), ROM_GETOFFSET(rom) );
+ if (!(ROM_GETFLAGS(rom) & ROM_REVERSEMASK))
+ fprintf( out, " loadflag=\"load64_word\"" );
+ else
+ fprintf( out, " loadflag=\"load64_word_swap\"" );
}
- else if ( ROMENTRY_ISFILL(rom) )
+
+ if (((ROM_GETFLAGS(rom) & ROM_SKIPMASK) == ROM_NOSKIP) && ((ROM_GETFLAGS(rom) & ROM_GROUPMASK) == ROM_GROUPWORD))
{
- fprintf( out, "\t\t\t\t\t<rom size=\"%d\" offset=\"0x%x\" loadflag=\"fill\" />\n", ROM_GETLENGTH(rom), ROM_GETOFFSET(rom) );
+ if (!(ROM_GETFLAGS(rom) & ROM_REVERSEMASK))
+ fprintf( out, " loadflag=\"load32_dword\"" );
+ else
+ fprintf( out, " loadflag=\"load16_word_swap\"" );
}
- }
- if (!is_disk)
- fprintf( out, "\t\t\t\t</dataarea>\n" );
- else
- fprintf( out, "\t\t\t\t</diskarea>\n" );
+ fprintf( out, "/>\n" );
+ }
+ else if ( ROMENTRY_ISRELOAD(rom) )
+ {
+ fprintf( out, "\t\t\t\t\t<rom size=\"%d\" offset=\"0x%x\" loadflag=\"reload\" />\n", ROM_GETLENGTH(rom), ROM_GETOFFSET(rom) );
+ }
+ else if ( ROMENTRY_ISCONTINUE(rom) )
+ {
+ fprintf( out, "\t\t\t\t\t<rom size=\"%d\" offset=\"0x%x\" loadflag=\"continue\" />\n", ROM_GETLENGTH(rom), ROM_GETOFFSET(rom) );
+ }
+ else if ( ROMENTRY_ISFILL(rom) )
+ {
+ fprintf( out, "\t\t\t\t\t<rom size=\"%d\" offset=\"0x%x\" loadflag=\"fill\" />\n", ROM_GETLENGTH(rom), ROM_GETOFFSET(rom) );
+ }
}
- fprintf( out, "\t\t\t</part>\n" );
+ if (!is_disk)
+ fprintf( out, "\t\t\t\t</dataarea>\n" );
+ else
+ fprintf( out, "\t\t\t\t</diskarea>\n" );
}
- fprintf( out, "\t\t</software>\n" );
+ fprintf( out, "\t\t\t</part>\n" );
}
- fprintf(out, "\t</softwarelist>\n" );
+ fprintf( out, "\t\t</software>\n" );
}
- software_list_close( list );
+ fprintf(out, "\t</softwarelist>\n" );
}
+
+ software_list_close( list );
}
}
}
}
- }
- if (nr_lists)
+ if (list_count > 0)
fprintf( out, "</softwarelists>\n" );
else
fprintf( out, "No software lists found for this system\n" );
global_free( lists );
}
+#endif
-/*-------------------------------------------------
- softlist_match_roms - scan for a matching
- software ROM by hash
--------------------------------------------------*/
-void softlist_match_roms(machine_config &config, const hash_collection &hashes, int length, int *found)
-{
- for (const device_config *dev = config.m_devicelist.first(SOFTWARE_LIST); dev != NULL; dev = dev->typenext())
- {
- software_list_config *swlist = (software_list_config *)downcast<const legacy_device_config_base *>(dev)->inline_config();
-
- for ( int i = 0; i < DEVINFO_STR_SWLIST_MAX - DEVINFO_STR_SWLIST_0; i++ )
- {
- if ( swlist->list_name[i] )
- {
- software_list *list = software_list_open( config.options(), swlist->list_name[i], FALSE, NULL );
-
- for ( software_info *swinfo = software_list_find( list, "*", NULL ); swinfo != NULL; swinfo = software_list_find( list, "*", swinfo ) )
- {
- for ( software_part *part = software_find_part( swinfo, NULL, NULL ); part != NULL; part = software_part_next( part ) )
- {
- for ( const rom_entry *region = part->romdata; region != NULL; region = rom_next_region(region) )
- {
- for ( const rom_entry *rom = rom_first_file(region); rom != NULL; rom = rom_next_file(rom) )
- {
- hash_collection romhashes(ROM_GETHASHDATA(rom));
- if ( hashes == romhashes )
- {
- bool baddump = romhashes.flag(hash_collection::FLAG_BAD_DUMP);
-
- /* output information about the match */
- if (*found != 0)
- mame_printf_info(" ");
- mame_printf_info("= %s%-20s %s:%s %s\n", baddump ? "(BAD) " : "", ROM_GETNAME(rom), swlist->list_name[i], swinfo->shortname, swinfo->longname);
- (*found)++;
- }
- }
- }
- }
- }
-
- software_list_close( list );
- }
- }
- }
-}
-
-/*-------------------------------------------------
- info_listmedia - output the list of image
- devices referenced by a given game or set of
- games
--------------------------------------------------*/
+//-------------------------------------------------
+// romident - identify ROMs by looking for
+// matches in our internal database
+//-------------------------------------------------
-static void info_listmedia(emu_options &options, const char *gamename)
+void cli_frontend::romident(const char *filename)
{
- int count = 0, devcount;
- const device_config_image_interface *dev = NULL;
- const char *src;
- const char *driver_name;
- const char *name;
- const char *shortname;
- char paren_shortname[16];
+ media_identifier ident(m_options);
- printf(" SYSTEM MEDIA NAME (brief) IMAGE FILE EXTENSIONS SUPPORTED \n");
- printf("---------- -------------------- ------------------------------------\n");
-
- /* iterate over drivers */
- for (int drvindex = 0; drivers[drvindex] != NULL; drvindex++)
- if (mame_strwildcmp(gamename, drivers[drvindex]->name) == 0)
- {
- /* allocate the machine config */
- machine_config config(*drivers[drvindex], options);
+ // identify the file, then output results
+ mame_printf_info("Identifying %s....\n", filename);
+ ident.identify(filename);
+ mame_printf_info("%s\n", ident.result());
- driver_name = drivers[drvindex]->name;
-
- devcount = 0;
-
- for (bool gotone = config.m_devicelist.first(dev); gotone; gotone = dev->next(dev))
- {
- src = downcast<const legacy_image_device_config_base *>(dev)->file_extensions();
- name = downcast<const legacy_image_device_config_base *>(dev)->instance_name();
- shortname = downcast<const legacy_image_device_config_base *>(dev)->brief_instance_name();
-
- sprintf(paren_shortname, "(%s)", shortname);
-
- printf("%-13s%-12s%-8s ", driver_name, name, paren_shortname);
- driver_name = " ";
-
- astring extensions(src);
- char *ext = strtok((char*)extensions.cstr(),",");
- while (ext != NULL)
- {
- printf(".%-5s",ext);
- ext = strtok (NULL, ",");
- devcount++;
- }
- printf("\n");
- }
- if (!devcount)
- printf("%-13s(none)\n",driver_name);
-
- count++;
- }
-
- if (!count)
- printf("There are no Computers or Consoles named %s\n", gamename);
-
- if (count == 0)
- throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "No matching games found for '%s'", gamename);
+ // return the appropriate error code
+ if (ident.matches() == ident.total())
+ return;
+ else if (ident.matches() == ident.total() - ident.nonroms())
+ throw emu_fatalerror(MAMERR_IDENT_NONROMS, "");
+ else if (ident.matches() > 0)
+ throw emu_fatalerror(MAMERR_IDENT_PARTIAL, "");
+ else
+ throw emu_fatalerror(MAMERR_IDENT_NONE, "");
}
-/*-------------------------------------------------
- info_verifysamples - verify the sample sets of
- one or more games
--------------------------------------------------*/
+//-------------------------------------------------
+// execute_commands - execute various frontend
+// commands
+//-------------------------------------------------
-static void info_verifysamples(emu_options &options, const char *gamename)
+void cli_frontend::execute_commands(const char *exename)
{
- int correct = 0;
- int incorrect = 0;
- int notfound = FALSE;
+ // help?
+ if (strcmp(m_options.command(), CLICOMMAND_HELP) == 0)
+ {
+ display_help();
+ return;
+ }
- /* now iterate over drivers */
- for (int drvindex = 0; drivers[drvindex] != NULL; drvindex++)
- if (mame_strwildcmp(gamename, drivers[drvindex]->name) == 0)
- {
- audit_record *audit;
- int audit_records;
- int res;
-
- /* audit the samples in this set */
- audit_records = audit_samples(options, drivers[drvindex], &audit);
- res = audit_summary(drivers[drvindex], audit_records, audit, TRUE);
- if (audit_records > 0)
- global_free(audit);
- else
- continue;
+ // showusage?
+ if (strcmp(m_options.command(), CLICOMMAND_SHOWUSAGE) == 0)
+ {
+ astring helpstring;
+#ifndef MESS
+ mame_printf_info("Usage: %s [%s] [options]\n\nOptions:\n%s", exename, GAMENOUN, m_options.output_help(helpstring));
+#else
+ mame_printf_info("Usage: %s [%s] [media] [software] [options]\n\nOptions:\n%s", exename, GAMENOUN, m_options.output_help(helpstring));
+#endif
+ return;
+ }
- /* if not found, print a message and set the flag */
- if (res == NOTFOUND)
- {
- mame_printf_error("sampleset \"%s\" not found!\n", drivers[drvindex]->name);
- notfound = TRUE;
- }
+ // validate?
+ if (strcmp(m_options.command(), CLICOMMAND_VALIDATE) == 0)
+ {
+ validate_drivers(m_options);
+ return;
+ }
- /* else display information about what we discovered */
- else
- {
- mame_printf_info("sampleset %s ", drivers[drvindex]->name);
+ // other commands need the INIs parsed
+ astring option_errors;
+ m_options.parse_standard_inis(option_errors);
+ if (option_errors)
+ printf("%s\n", option_errors.cstr());
- /* switch off of the result */
- switch (res)
- {
- case INCORRECT:
- mame_printf_info("is bad\n");
- incorrect++;
- break;
-
- case CORRECT:
- mame_printf_info("is good\n");
- correct++;
- break;
-
- case BEST_AVAILABLE:
- mame_printf_info("is best available\n");
- correct++;
- break;
- }
- }
- }
+ // createconfig?
+ if (strcmp(m_options.command(), CLICOMMAND_CREATECONFIG) == 0)
+ {
+ // attempt to open the output file
+ emu_file file(OPEN_FLAG_WRITE | OPEN_FLAG_CREATE | OPEN_FLAG_CREATE_PATHS);
+ if (file.open(CONFIGNAME ".ini") != FILERR_NONE)
+ throw emu_fatalerror("Unable to create file " CONFIGNAME ".ini\n");
- /* clear out any cached files */
- zip_file_cache_clear();
+ // generate the updated INI
+ astring initext;
+ file.puts(m_options.output_ini(initext));
+ return;
+ }
- /* if we didn't get anything at all because of an unsupported set, display message */
- if (correct + incorrect == 0)
+ // showconfig?
+ if (strcmp(m_options.command(), CLICOMMAND_SHOWCONFIG) == 0)
{
- if (!notfound)
- throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "No matching games found for '%s'", gamename);
- else
- throw emu_fatalerror(MAMERR_NO_SUCH_GAME, "No sample sets found for '%s'", gamename);
+ // print the INI text
+ astring initext;
+ printf("%s\n", m_options.output_ini(initext));
+ return;
}
- /* otherwise, print a summary */
- else
+ // all other commands call out to one of these helpers
+ static const struct
{
- if (incorrect > 0)
- throw emu_fatalerror(MAMERR_MISSING_FILES, "%d sample sets found, %d were OK.\n", correct + incorrect, correct);
- mame_printf_info("%d sample sets found, %d were OK.\n", correct, correct);
- }
+ const char *option;
+ void (cli_frontend::*function)(const char *gamename);
+ } info_commands[] =
+ {
+ { CLICOMMAND_LISTXML, &cli_frontend::listxml },
+ { CLICOMMAND_LISTFULL, &cli_frontend::listfull },
+ { CLICOMMAND_LISTSOURCE, &cli_frontend::listsource },
+ { CLICOMMAND_LISTCLONES, &cli_frontend::listclones },
+ { CLICOMMAND_LISTBROTHERS, &cli_frontend::listbrothers },
+ { CLICOMMAND_LISTCRC, &cli_frontend::listcrc },
+ { CLICOMMAND_LISTDEVICES, &cli_frontend::listdevices },
+ { CLICOMMAND_LISTROMS, &cli_frontend::listroms },
+ { CLICOMMAND_LISTSAMPLES, &cli_frontend::listsamples },
+ { CLICOMMAND_VERIFYROMS, &cli_frontend::verifyroms },
+ { CLICOMMAND_VERIFYSAMPLES, &cli_frontend::verifysamples },
+ { CLICOMMAND_LISTMEDIA, &cli_frontend::listmedia },
+// { CLICOMMAND_LISTSOFTWARE, &cli_frontend::listsoftware },
+ { CLICOMMAND_ROMIDENT, &cli_frontend::romident }
+ };
+
+ // find the command
+ for (int cmdindex = 0; cmdindex < ARRAY_LENGTH(info_commands); cmdindex++)
+ if (strcmp(m_options.command(), info_commands[cmdindex].option) == 0)
+ {
+ // parse any relevant INI files before proceeding
+ const char *sysname = m_options.system_name();
+ (this->*info_commands[cmdindex].function)((sysname[0] == 0) ? "*" : sysname);
+ return;
+ }
+
+ // if we get here, we don't know what has been requested
+ throw emu_fatalerror(MAMERR_INVALID_CONFIG, "Unknown command '%s' specified", m_options.command());
}
-/*-------------------------------------------------
- info_romident - identify ROMs by looking for
- matches in our internal database
--------------------------------------------------*/
+//-------------------------------------------------
+// display_help - display help to standard
+// output
+//-------------------------------------------------
-static void info_romident(emu_options &options, const char *gamename)
+void cli_frontend::display_help()
{
- romident_status status;
+#ifndef MESS
+ mame_printf_info("M.A.M.E. v%s - Multiple Arcade Machine Emulator\n"
+ "Copyright Nicola Salmoria and the MAME Team\n\n", build_version);
+ mame_printf_info("%s\n", mame_disclaimer);
+ mame_printf_info("Usage: MAME gamename [options]\n\n"
+ " MAME -showusage for a brief list of options\n"
+ " MAME -showconfig for a list of configuration options\n"
+ " MAME -createconfig to create a " CONFIGNAME ".ini\n\n"
+ "For usage instructions, please consult the file windows.txt\n");
+#else
+ mess_display_help();
+#endif
+}
- /* do the identification */
- romident(options, gamename, &status);
- /* clear out any cached files */
- zip_file_cache_clear();
+//-------------------------------------------------
+// display_suggestions - display 10 possible
+// matches for a given invalid gamename
+//-------------------------------------------------
- /* return the appropriate error code */
- if (status.matches == status.total)
- return;
- else if (status.matches == status.total - status.nonroms)
- throw emu_fatalerror(MAMERR_IDENT_NONROMS, "");
- else if (status.matches > 0)
- throw emu_fatalerror(MAMERR_IDENT_PARTIAL, "");
- else
- throw emu_fatalerror(MAMERR_IDENT_NONE, "");
+void cli_frontend::display_suggestions(const char *gamename)
+{
}
+//**************************************************************************
+// MEDIA IDENTIFIER
+//**************************************************************************
-/***************************************************************************
- UTILITIES
-***************************************************************************/
-
-/*-------------------------------------------------
- romident - identify files
--------------------------------------------------*/
+//-------------------------------------------------
+// media_identifier - constructor
+//-------------------------------------------------
-static void romident(emu_options &options, const char *filename, romident_status *status)
+media_identifier::media_identifier(cli_options &options)
+ : m_drivlist(options),
+ m_total(0),
+ m_matches(0),
+ m_nonroms(0)
{
- osd_directory *directory;
+}
- /* reset the status */
- memset(status, 0, sizeof(*status));
- /* first try to open as a directory */
- directory = osd_opendir(filename);
+//-------------------------------------------------
+// identify - identify a directory, ZIP file,
+// or raw file
+//-------------------------------------------------
+
+void media_identifier::identify(const char *filename)
+{
+ // first try to open as a directory
+ osd_directory *directory = osd_opendir(filename);
if (directory != NULL)
{
- const osd_directory_entry *entry;
-
- /* iterate over all files in the directory */
- while ((entry = osd_readdir(directory)) != NULL)
+ // iterate over all files in the directory
+ for (const osd_directory_entry *entry = osd_readdir(directory); entry != NULL; entry = osd_readdir(directory))
if (entry->type == ENTTYPE_FILE)
{
astring curfile(filename, PATH_SEPARATOR, entry->name);
- identify_file(options, curfile, status);
+ identify_file(curfile);
}
+
+ // close the directory and be done
osd_closedir(directory);
}
- /* if that failed, and the filename ends with .zip, identify as a ZIP file */
+ // if that failed, and the filename ends with .zip, identify as a ZIP file
else if (core_filename_ends_with(filename, ".zip"))
{
- /* first attempt to examine it as a valid ZIP file */
+ // first attempt to examine it as a valid ZIP file
zip_file *zip = NULL;
zip_error ziperr = zip_file_open(filename, &zip);
if (ziperr == ZIPERR_NONE && zip != NULL)
{
- const zip_file_header *entry;
-
- /* loop over entries in the ZIP, skipping empty files and directories */
- for (entry = zip_file_first_file(zip); entry; entry = zip_file_next_file(zip))
+ // loop over entries in the ZIP, skipping empty files and directories
+ for (const zip_file_header *entry = zip_file_first_file(zip); entry != NULL; entry = zip_file_next_file(zip))
if (entry->uncompressed_length != 0)
{
UINT8 *data = global_alloc_array(UINT8, entry->uncompressed_length);
if (data != NULL)
{
- /* decompress data into RAM and identify it */
+ // decompress data into RAM and identify it
ziperr = zip_file_decompress(zip, data, entry->uncompressed_length);
if (ziperr == ZIPERR_NONE)
- identify_data(options, entry->filename, data, entry->uncompressed_length, status);
+ identify_data(entry->filename, data, entry->uncompressed_length);
global_free(data);
}
}
- /* close up */
+ // close up
zip_file_close(zip);
}
+
+ // clear out any cached files
+ zip_file_cache_clear();
}
- /* otherwise, identify as a raw file */
+ // otherwise, identify as a raw file
else
- identify_file(options, filename, status);
+ identify_file(filename);
}
-/*-------------------------------------------------
- identify_file - identify a file; if it is a
- ZIP file, scan it and identify all enclosed
- files
--------------------------------------------------*/
+//-------------------------------------------------
+// identify_file - identify a file
+//-------------------------------------------------
-static void identify_file(emu_options &options, const char *name, romident_status *status)
+void media_identifier::identify_file(const char *name)
{
- file_error filerr;
- osd_file *file;
- UINT64 length;
-
+ // CHD files need to be parsed and their hashes extracted from the header
if (core_filename_ends_with(name, ".chd"))
{
- chd_file *chd;
- chd_error err;
+ // output the name
astring basename;
- int found = 0;
-
- core_filename_extract_base(&basename, name, FALSE);
- mame_printf_info("%-20s", basename.cstr());
+ m_result.catprintf("%-20s", core_filename_extract_base(&basename, name, FALSE)->cstr());
+ m_total++;
- status->total++;
-
- err = chd_open(name, CHD_OPEN_READ, NULL, &chd);
+ // attempt to open as a CHD; fail if not
+ chd_file *chd;
+ chd_error err = chd_open(name, CHD_OPEN_READ, NULL, &chd);
if (err != CHDERR_NONE)
{
- mame_printf_info("NOT A CHD\n");
- status->nonroms++;
+ m_result.catprintf("NOT A CHD\n");
+ m_nonroms++;
+ return;
}
- else
- {
- chd_header header;
-
- header = *chd_get_header(chd);
- if (header.flags & CHDFLAGS_IS_WRITEABLE)
- {
- mame_printf_info("is a writeable CHD\n");
- }
- else
- {
- static const UINT8 nullhash[20] = { 0 };
- hash_collection hashes;
-
- /* if there's an MD5 or SHA1 hash, add them to the output hash */
- if (memcmp(nullhash, header.md5, sizeof(header.md5)) != 0)
- hashes.add_from_buffer(hash_collection::HASH_MD5, header.md5, sizeof(header.md5));
- if (memcmp(nullhash, header.sha1, sizeof(header.sha1)) != 0)
- hashes.add_from_buffer(hash_collection::HASH_SHA1, header.sha1, sizeof(header.sha1));
- length = header.logicalbytes;
+ // fetch the header and close the file
+ chd_header header = *chd_get_header(chd);
+ chd_close(chd);
- match_roms(options, hashes, length, &found);
-
- if (found == 0)
- {
- mame_printf_info("NO MATCH\n");
- }
-
- /* if we did find it, count it as a match */
- else
- status->matches++;
- }
-
- chd_close(chd);
+ // error on writable CHDs
+ if (header.flags & CHDFLAGS_IS_WRITEABLE)
+ {
+ m_result.catprintf("is a writeable CHD\n");
+ return;
}
+
+ // otherwise, get the hash collection for this CHD
+ static const UINT8 nullhash[20] = { 0 };
+ hash_collection hashes;
+
+ if (memcmp(nullhash, header.md5, sizeof(header.md5)) != 0)
+ hashes.add_from_buffer(hash_collection::HASH_MD5, header.md5, sizeof(header.md5));
+ if (memcmp(nullhash, header.sha1, sizeof(header.sha1)) != 0)
+ hashes.add_from_buffer(hash_collection::HASH_SHA1, header.sha1, sizeof(header.sha1));
+
+ // determine whether this file exists
+ int found = find_by_hash(hashes, header.logicalbytes);
+ if (found == 0)
+ m_result.catprintf("NO MATCH\n");
+ else
+ m_matches++;
}
+
+ // all other files have their hashes computed directly
else
{
- /* open for read and process if it opens and has a valid length */
- filerr = osd_open(name, OPEN_FLAG_READ, &file, &length);
- if (filerr == FILERR_NONE && length > 0 && (UINT32)length == length)
- {
- UINT8 *data = global_alloc_array(UINT8, length);
- if (data != NULL)
- {
- UINT32 bytes;
-
- /* read file data into RAM and identify it */
- filerr = osd_read(file, data, 0, length, &bytes);
- if (filerr == FILERR_NONE)
- identify_data(options, name, data, bytes, status);
- global_free(data);
- }
- osd_close(file);
- }
+ // load the file and process if it opens and has a valid length
+ UINT32 length;
+ void *data;
+ file_error filerr = core_fload(name, &data, &length);
+ if (filerr == FILERR_NONE && length > 0)
+ identify_data(name, reinterpret_cast<UINT8 *>(data), length);
}
}
-/*-------------------------------------------------
- identify_data - identify a buffer full of
- data; if it comes from a .JED file, parse the
- fusemap into raw data first
--------------------------------------------------*/
+//-------------------------------------------------
+// identify_data - identify a buffer full of
+// data; if it comes from a .JED file, parse the
+// fusemap into raw data first
+//-------------------------------------------------
-static void identify_data(emu_options &options, const char *name, const UINT8 *data, int length, romident_status *status)
+void media_identifier::identify_data(const char *name, const UINT8 *data, int length)
{
+ // if this is a '.jed' file, process it into raw bits first
UINT8 *tempjed = NULL;
- astring basename;
- int found = 0;
jed_data jed;
-
- /* if this is a '.jed' file, process it into raw bits first */
if (core_filename_ends_with(name, ".jed") && jed_parse(data, length, &jed) == JEDERR_NONE)
{
- /* now determine the new data length and allocate temporary memory for it */
+ // now determine the new data length and allocate temporary memory for it
length = jedbin_output(&jed, NULL, 0);
tempjed = global_alloc_array(UINT8, length);
- if (tempjed == NULL)
- return;
-
- /* create a binary output of the JED data and use that instead */
jedbin_output(&jed, tempjed, length);
data = tempjed;
}
- /* compute the hash of the data */
+ // compute the hash of the data
hash_collection hashes;
hashes.compute(data, length, hash_collection::HASH_TYPES_CRC_SHA1);
- /* output the name */
- status->total++;
- core_filename_extract_base(&basename, name, FALSE);
- mame_printf_info("%-20s", basename.cstr());
+ // output the name
+ m_total++;
+ astring basename;
+ m_result.catprintf("%-20s", core_filename_extract_base(&basename, name, FALSE)->cstr());
- /* see if we can find a match in the ROMs */
- match_roms(options, hashes, length, &found);
+ // see if we can find a match in the ROMs
+ int found = find_by_hash(hashes, length);
- /* if we didn't find it, try to guess what it might be */
+ // if we didn't find it, try to guess what it might be
if (found == 0)
{
- /* if not a power of 2, assume it is a non-ROM file */
+ // if not a power of 2, assume it is a non-ROM file
if ((length & (length - 1)) != 0)
{
- mame_printf_info("NOT A ROM\n");
- status->nonroms++;
+ m_result.catprintf("NOT A ROM\n");
+ m_nonroms++;
}
- /* otherwise, it's just not a match */
+ // otherwise, it's just not a match
else
- mame_printf_info("NO MATCH\n");
+ m_result.catprintf("NO MATCH\n");
}
- /* if we did find it, count it as a match */
+ // if we did find it, count it as a match
else
- status->matches++;
+ m_matches++;
- /* free any temporary JED data */
+ // free any temporary JED data
global_free(tempjed);
}
-/*-------------------------------------------------
- match_roms - scan for a matching ROM by hash
--------------------------------------------------*/
+//-------------------------------------------------
+// find_by_hash - scan for a file in the list
+// of drivers by hash
+//-------------------------------------------------
-static void match_roms(emu_options &options, const hash_collection &hashes, int length, int *found)
+int media_identifier::find_by_hash(const hash_collection &hashes, int length)
{
- /* iterate over drivers */
- for (int drvindex = 0; drivers[drvindex] != NULL; drvindex++)
- {
- machine_config config(*drivers[drvindex], options);
+ int found = 0;
- /* iterate over sources, regions and files within the region */
- for (const rom_source *source = rom_first_source(config); source != NULL; source = rom_next_source(*source))
- for (const rom_entry *region = rom_first_region(*source); region; region = rom_next_region(region))
- for (const rom_entry *rom = rom_first_file(region); rom; rom = rom_next_file(rom))
+ // iterate over drivers
+ m_drivlist.reset();
+ while (m_drivlist.next())
+ {
+ // iterate over sources, regions and files within the region */
+ for (const rom_source *source = rom_first_source(m_drivlist.config()); source != NULL; source = rom_next_source(*source))
+ for (const rom_entry *region = rom_first_region(*source); region != NULL; region = rom_next_region(region))
+ for (const rom_entry *rom = rom_first_file(region); rom != NULL; rom = rom_next_file(rom))
{
hash_collection romhashes(ROM_GETHASHDATA(rom));
if (!romhashes.flag(hash_collection::FLAG_NO_DUMP) && hashes == romhashes)
{
bool baddump = romhashes.flag(hash_collection::FLAG_BAD_DUMP);
- /* output information about the match */
- if (*found != 0)
+ // output information about the match
+ if (!found)
mame_printf_info(" ");
- mame_printf_info("= %s%-20s %-10s %s\n", baddump ? "(BAD) " : "", ROM_GETNAME(rom), drivers[drvindex]->name, drivers[drvindex]->description);
- (*found)++;
+ mame_printf_info("= %s%-20s %-10s %s\n", baddump ? "(BAD) " : "", ROM_GETNAME(rom), m_drivlist.driver().name, m_drivlist.driver().description);
+ found++;
}
}
- // also check any softlists
- softlist_match_roms( config, hashes, length, found );
+ // next iterate over softlists
+ for (const device_config *dev = m_drivlist.config().m_devicelist.first(SOFTWARE_LIST); dev != NULL; dev = dev->typenext())
+ {
+ software_list_config *swlist = (software_list_config *)downcast<const legacy_device_config_base *>(dev)->inline_config();
+
+ for (int listnum = 0; listnum < DEVINFO_STR_SWLIST_MAX - DEVINFO_STR_SWLIST_0; listnum++)
+ if (swlist->list_name[listnum] != NULL)
+ {
+ software_list *list = software_list_open(m_drivlist.options(), swlist->list_name[listnum], FALSE, NULL);
+
+ for (software_info *swinfo = software_list_find(list, "*", NULL); swinfo != NULL; swinfo = software_list_find(list, "*", swinfo))
+ for (software_part *part = software_find_part(swinfo, NULL, NULL); part != NULL; part = software_part_next(part))
+ for (const rom_entry *region = part->romdata; region != NULL; region = rom_next_region(region))
+ for (const rom_entry *rom = rom_first_file(region); rom != NULL; rom = rom_next_file(rom))
+ {
+ hash_collection romhashes(ROM_GETHASHDATA(rom));
+ if (hashes == romhashes)
+ {
+ bool baddump = romhashes.flag(hash_collection::FLAG_BAD_DUMP);
+
+ // output information about the match
+ if (!found)
+ mame_printf_info(" ");
+ mame_printf_info("= %s%-20s %s:%s %s\n", baddump ? "(BAD) " : "", ROM_GETNAME(rom), swlist->list_name[listnum], swinfo->shortname, swinfo->longname);
+ found++;
+ }
+ }
+
+ software_list_close(list);
+ }
+ }
}
+
+ return found;
}
diff --git a/src/emu/clifront.h b/src/emu/clifront.h
index d240fdf160f..2870309c7a4 100644
--- a/src/emu/clifront.h
+++ b/src/emu/clifront.h
@@ -80,6 +80,7 @@
// TYPE DEFINITIONS
//**************************************************************************
+// cli_options wraps the general emu options with CLI-specific additions
class cli_options : public emu_options
{
public:
@@ -91,22 +92,75 @@ private:
};
+// cli_frontend handles command-line processing and emulator execution
+class cli_frontend
+{
+public:
+ // construction/destruction
+ cli_frontend(cli_options &options, osd_interface &osd);
+ ~cli_frontend();
+
+ // execute based on the incoming argc/argv
+ int execute(int argc, char **argv);
+
+ // direct access to the command operations
+ void listxml(const char *gamename = "*");
+ void listfull(const char *gamename = "*");
+ void listsource(const char *gamename = "*");
+ void listclones(const char *gamename = "*");
+ void listbrothers(const char *gamename = "*");
+ void listcrc(const char *gamename = "*");
+ void listroms(const char *gamename = "*");
+ void listsamples(const char *gamename = "*");
+ void listdevices(const char *gamename = "*");
+ void listmedia(const char *gamename = "*");
+ void verifyroms(const char *gamename = "*");
+ void verifysamples(const char *gamename = "*");
+ void romident(const char *filename);
+
+private:
+ // internal helpers
+ void execute_commands(const char *exename);
+ void display_help();
+ void display_suggestions(const char *gamename);
+
+ // internal state
+ cli_options & m_options;
+ osd_interface & m_osd;
+ int m_result;
+};
+
+
+// media_identifier class identifies media by hash via a search in
+// the driver database
+class media_identifier
+{
+public:
+ // construction/destruction
+ media_identifier(cli_options &options);
+
+ // getters
+ const char *result() const { return m_result; }
+ int total() const { return m_total; }
+ int matches() const { return m_matches; }
+ int nonroms() const { return m_nonroms; }
+
+ // operations
+ void reset() { m_total = m_matches = m_nonroms = 0; m_result.reset(); }
+ void identify(const char *name);
+ void identify_file(const char *name);
+ void identify_data(const char *name, const UINT8 *data, int length);
+ int find_by_hash(const hash_collection &hashes, int length);
+
+private:
+ // internal state
+ driver_enumerator m_drivlist;
+ astring m_result;
+ int m_total;
+ int m_matches;
+ int m_nonroms;
+};
-/***************************************************************************
- FUNCTION PROTOTYPES
-***************************************************************************/
-int cli_execute(cli_options &options, osd_interface &osd, int argc, char **argv);
-
-/* informational functions */
-void cli_info_listxml(emu_options &options, const char *gamename);
-void cli_info_listfull(emu_options &options, const char *gamename);
-void cli_info_listsource(emu_options &options, const char *gamename);
-void cli_info_listclones(emu_options &options, const char *gamename);
-void cli_info_listbrothers(emu_options &options, const char *gamename);
-void cli_info_listcrc(emu_options &options, const char *gamename);
-void cli_info_listroms(emu_options &options, const char *gamename);
-void cli_info_listsamples(emu_options &options, const char *gamename);
-void cli_info_listdevices(emu_options &options, const char *gamename);
#endif /* __CLIFRONT_H__ */
diff --git a/src/emu/config.c b/src/emu/config.c
index 3f1b7e18d93..070f3cd4cc7 100644
--- a/src/emu/config.c
+++ b/src/emu/config.c
@@ -235,13 +235,13 @@ static int config_load_xml(running_machine &machine, emu_file &file, int which_t
case CONFIG_TYPE_CONTROLLER:
{
- const game_driver *clone_of;
+ int clone_of;
/* match on: default, game name, source file name, parent name, grandparent name */
if (strcmp(name, "default") != 0 &&
strcmp(name, machine.system().name) != 0 &&
strcmp(name, srcfile) != 0 &&
- ((clone_of = driver_get_clone(&machine.system())) == NULL || strcmp(name, clone_of->name) != 0) &&
- (clone_of == NULL || ((clone_of = driver_get_clone(clone_of)) == NULL) || strcmp(name, clone_of->name) != 0))
+ ((clone_of = driver_list::clone(machine.system())) == -1 || strcmp(name, driver_list::driver(clone_of).name) != 0) &&
+ (clone_of == -1 || ((clone_of = driver_list::clone(clone_of)) == -1) || strcmp(name, driver_list::driver(clone_of).name) != 0))
continue;
break;
}
diff --git a/src/emu/cpu/mips/dismips.c b/src/emu/cpu/mips/dismips.c
index c549cc1b6a5..339ff26ff3b 100644
--- a/src/emu/cpu/mips/dismips.c
+++ b/src/emu/cpu/mips/dismips.c
@@ -336,6 +336,12 @@ void *malloc_file_line(size_t size, const char *file, int line)
return osd_malloc(size);
}
+void *malloc_array_file_line(size_t size, const char *file, int line)
+{
+ // allocate the memory and fail if we can't
+ return osd_malloc_array(size);
+}
+
void free_file_line( void *memory, const char *file, int line )
{
osd_free( memory );
diff --git a/src/emu/debug/textbuf.c b/src/emu/debug/textbuf.c
index 828887f6b66..08b8fb2214e 100644
--- a/src/emu/debug/textbuf.c
+++ b/src/emu/debug/textbuf.c
@@ -93,7 +93,7 @@ text_buffer *text_buffer_alloc(UINT32 bytes, UINT32 lines)
return NULL;
/* allocate memory for the buffer itself */
- text->buffer = (char *)osd_malloc(bytes);
+ text->buffer = (char *)osd_malloc_array(bytes);
if (!text->buffer)
{
osd_free(text);
@@ -101,7 +101,7 @@ text_buffer *text_buffer_alloc(UINT32 bytes, UINT32 lines)
}
/* allocate memory for the lines array */
- text->lineoffs = (INT32 *)osd_malloc(lines * sizeof(text->lineoffs[0]));
+ text->lineoffs = (INT32 *)osd_malloc_array(lines * sizeof(text->lineoffs[0]));
if (!text->lineoffs)
{
osd_free(text->buffer);
diff --git a/src/emu/devcpu.c b/src/emu/devcpu.c
index 4793308c966..cddecf11f7a 100644
--- a/src/emu/devcpu.c
+++ b/src/emu/devcpu.c
@@ -88,6 +88,7 @@ legacy_cpu_device_config::legacy_cpu_device_config(const machine_config &mconfig
// set the real name
m_name = get_legacy_config_string(DEVINFO_STR_NAME);
m_shortname = get_legacy_config_string(DEVINFO_STR_SHORTNAME);
+ m_searchpath = m_shortname;
}
diff --git a/src/emu/devintrf.c b/src/emu/devintrf.c
index fa221c86d46..6e424c3f9f8 100644
--- a/src/emu/devintrf.c
+++ b/src/emu/devintrf.c
@@ -307,6 +307,30 @@ device_config::device_config(const machine_config &mconfig, device_type type, co
}
+device_config::device_config(const machine_config &mconfig, device_type type, const char *name, const char *shortname, const char *tag, const device_config *owner, UINT32 clock, UINT32 param)
+ : m_next(NULL),
+ m_owner(const_cast<device_config *>(owner)),
+ m_interface_list(NULL),
+ m_type(type),
+ m_clock(clock),
+ m_machine_config(mconfig),
+ m_static_config(NULL),
+ m_input_defaults(NULL),
+ m_name(name),
+ m_shortname(shortname),
+ m_searchpath(shortname),
+ m_tag(tag),
+ m_config_complete(false)
+{
+ // derive the clock from our owner if requested
+ if ((m_clock & 0xff000000) == 0xff000000)
+ {
+ assert(m_owner != NULL);
+ m_clock = m_owner->m_clock * ((m_clock >> 12) & 0xfff) / ((m_clock >> 0) & 0xfff);
+ }
+}
+
+
//-------------------------------------------------
// ~device_config - destructor
//-------------------------------------------------
diff --git a/src/emu/devintrf.h b/src/emu/devintrf.h
index f0996ea47fe..3e05c742089 100644
--- a/src/emu/devintrf.h
+++ b/src/emu/devintrf.h
@@ -262,6 +262,7 @@ class device_config
protected:
// construction/destruction
device_config(const machine_config &mconfig, device_type type, const char *name, const char *tag, const device_config *owner, UINT32 clock, UINT32 param = 0);
+ device_config(const machine_config &mconfig, device_type type, const char *name, const char *shortname, const char *tag, const device_config *owner, UINT32 clock, UINT32 param = 0);
virtual ~device_config();
public:
@@ -289,6 +290,7 @@ public:
UINT32 clock() const { return m_clock; }
const char *name() const { return m_name; }
const char *shortname() const { return m_shortname; }
+ const char *searchpath() const { return m_searchpath; }
const char *tag() const { return m_tag; }
const void *static_config() const { return m_static_config; }
const machine_config &mconfig() const { return m_machine_config; }
@@ -336,7 +338,9 @@ protected:
const input_device_default *m_input_defaults; // devices input ports default overrides
astring m_name; // name of the device
- astring m_shortname; // short name of the device, used for potential romload
+ astring m_shortname; // short name of the device
+ astring m_searchpath; // search path, used for media loading
+
private:
astring m_tag; // tag for this instance
bool m_config_complete; // have we completed our configuration?
diff --git a/src/emu/devlegcy.c b/src/emu/devlegcy.c
index 638153683e6..0b72a5aeb72 100644
--- a/src/emu/devlegcy.c
+++ b/src/emu/devlegcy.c
@@ -62,6 +62,7 @@ legacy_device_config_base::legacy_device_config_base(const machine_config &mconf
// set the proper name
m_name = get_legacy_config_string(DEVINFO_STR_NAME);
m_shortname = get_legacy_config_string(DEVINFO_STR_SHORTNAME);
+ m_searchpath = m_shortname;
}
diff --git a/src/emu/devlegcy.h b/src/emu/devlegcy.h
index f956614bf0c..fc7e2ddd0fb 100644
--- a/src/emu/devlegcy.h
+++ b/src/emu/devlegcy.h
@@ -126,7 +126,7 @@ enum
DEVINFO_STR_FIRST = 0x30000,
DEVINFO_STR_NAME = DEVINFO_STR_FIRST, // R/O: name of the device
- DEVINFO_STR_SHORTNAME, // R/O: short name of device, used in case of romload
+ DEVINFO_STR_SHORTNAME, // R/O: search path of device, used for media loading
DEVINFO_STR_FAMILY, // R/O: family of the device
DEVINFO_STR_VERSION, // R/O: version of the device
DEVINFO_STR_SOURCE_FILE, // R/O: file containing the device implementation
diff --git a/src/emu/diimage.c b/src/emu/diimage.c
index d6200729608..d3c31bb503f 100644
--- a/src/emu/diimage.c
+++ b/src/emu/diimage.c
@@ -383,7 +383,6 @@ bool device_image_interface::try_change_working_directory(const char *subdir)
void device_image_interface::setup_working_directory()
{
- const game_driver *gamedrv;
char *dst = NULL;
osd_get_full_path(&dst,".");
@@ -394,10 +393,10 @@ void device_image_interface::setup_working_directory()
if (try_change_working_directory("software"))
{
/* now down to a directory for this computer */
- gamedrv = &device().machine().system();
- while(gamedrv && !try_change_working_directory(gamedrv->name))
+ int gamedrv = driver_list::find(device().machine().system());
+ while(gamedrv != -1 && !try_change_working_directory(driver_list::driver(gamedrv).name))
{
- gamedrv = driver_get_compatible(gamedrv);
+ gamedrv = driver_list::compatible_with(gamedrv);
}
}
osd_free(dst);
diff --git a/src/emu/driver.c b/src/emu/driver.c
index 582d643168c..d39633d649a 100644
--- a/src/emu/driver.c
+++ b/src/emu/driver.c
@@ -2,10 +2,38 @@
driver.c
- Driver construction helpers.
-
- Copyright Nicola Salmoria and the MAME Team.
- Visit http://mamedev.org for licensing and usage restrictions.
+ Driver enumeration helpers.
+
+****************************************************************************
+
+ Copyright Aaron Giles
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name 'MAME' nor the names of its contributors may be
+ used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY AARON GILES ''AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL AARON GILES BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+ IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
***************************************************************************/
@@ -14,264 +42,332 @@
-/***************************************************************************
- CONSTANTS
-***************************************************************************/
-
-#define DRIVER_LRU_SIZE 10
+//**************************************************************************
+// DRIVER LIST
+//**************************************************************************
+//-------------------------------------------------
+// driver_list - constructor
+//-------------------------------------------------
+driver_list::driver_list()
+{
+}
-/***************************************************************************
- GLOBAL VARIABLES
-***************************************************************************/
-static int driver_lru[DRIVER_LRU_SIZE];
+//-------------------------------------------------
+// find - find a driver by name
+//-------------------------------------------------
+int driver_list::find(const char *name)
+{
+ // if no name, bail
+ if (name == NULL)
+ return -1;
+
+ // create a dummy item for comparison purposes
+ game_driver driver;
+ driver.name = name;
+ game_driver *driverptr = &driver;
+
+ // binary search to find it
+ const game_driver **result = reinterpret_cast<const game_driver **>(bsearch(&driverptr, s_drivers_sorted, s_driver_count, sizeof(*s_drivers_sorted), driver_sort_callback));
+ return (result == NULL) ? -1 : result - s_drivers_sorted;
+}
-/***************************************************************************
- FUNCTION PROTOTYPES
-***************************************************************************/
+//-------------------------------------------------
+// driver_sort_callback - compare two items in
+// an array of game_driver pointers
+//-------------------------------------------------
-static int penalty_compare(const char *source, const char *target);
+int driver_list::driver_sort_callback(const void *elem1, const void *elem2)
+{
+ const game_driver * const *item1 = reinterpret_cast<const game_driver * const *>(elem1);
+ const game_driver * const *item2 = reinterpret_cast<const game_driver * const *>(elem2);
+ return mame_stricmp((*item1)->name, (*item2)->name);
+}
+//-------------------------------------------------
+// penalty_compare - compare two strings for
+// closeness and assign a score.
+//-------------------------------------------------
-/***************************************************************************
- MISC FUNCTIONS
-***************************************************************************/
+int driver_list::penalty_compare(const char *source, const char *target)
+{
+ int gaps = 1;
+ bool last = true;
-/*-------------------------------------------------
- driver_get_name - return a pointer to a
- driver given its name
--------------------------------------------------*/
+ // scan the strings
+ for ( ; *source && *target; target++)
+ {
+ // do a case insensitive match
+ bool match = (tolower((UINT8)*source) == tolower((UINT8)*target));
-const game_driver *driver_get_name(const char *name)
-{
- int lurnum, drvnum;
+ // if we matched, advance the source
+ if (match)
+ source++;
- /* scan the LRU list first */
- for (lurnum = 0; lurnum < DRIVER_LRU_SIZE; lurnum++)
- if (mame_stricmp(drivers[driver_lru[lurnum]]->name, name) == 0)
+ // if the match state changed, count gaps
+ if (match != last)
{
- /* if not first, swap with the head */
- if (lurnum != 0)
- {
- int temp = driver_lru[0];
- driver_lru[0] = driver_lru[lurnum];
- driver_lru[lurnum] = temp;
- }
- return drivers[driver_lru[0]];
+ last = match;
+ if (!match)
+ gaps++;
}
+ }
- /* scan for a match in the drivers -- slow! */
- for (drvnum = 0; drivers[drvnum] != NULL; drvnum++)
- if (mame_stricmp(drivers[drvnum]->name, name) == 0)
- {
- memmove((void *)&driver_lru[1], (void *)&driver_lru[0], sizeof(driver_lru[0]) * (DRIVER_LRU_SIZE - 1));
- driver_lru[0] = drvnum;
- return drivers[drvnum];
- }
+ // penalty if short string does not completely fit in
+ for ( ; *source; source++)
+ gaps++;
+
+ // if we matched perfectly, gaps == 0
+ if (gaps == 1 && *source == 0 && *target == 0)
+ gaps = 0;
- return NULL;
+ return gaps;
}
-/*-------------------------------------------------
- driver_get_clone - return a pointer to the
- clone of a game driver.
--------------------------------------------------*/
-const game_driver *driver_get_clone(const game_driver *driver)
-{
- /* if no clone, easy out */
- if (driver->parent == NULL || (driver->parent[0] == '0' && driver->parent[1] == 0))
- return NULL;
+//**************************************************************************
+// DRIVER ENUMERATOR
+//**************************************************************************
- /* convert the name to a game_driver */
- return driver_get_name(driver->parent);
+//-------------------------------------------------
+// driver_enumerator - constructor
+//-------------------------------------------------
+
+driver_enumerator::driver_enumerator(emu_options &options)
+ : m_current(-1),
+ m_filtered_count(0),
+ m_options(options),
+ m_included(global_alloc_array(UINT8, s_driver_count)),
+ m_config(global_alloc_array_clear(machine_config *, s_driver_count))
+{
+ include_all();
}
-/*-------------------------------------------------
- driver_get_searchpath - return a search path
- for a given driver
--------------------------------------------------*/
+driver_enumerator::driver_enumerator(emu_options &options, const char *string)
+ : m_current(-1),
+ m_filtered_count(0),
+ m_options(options),
+ m_included(global_alloc_array(UINT8, s_driver_count)),
+ m_config(global_alloc_array_clear(machine_config *, s_driver_count))
+{
+ filter(string);
+}
+
-const char *driver_get_searchpath(const game_driver &driver, astring &string)
+driver_enumerator::driver_enumerator(emu_options &options, const game_driver &driver)
+ : m_current(-1),
+ m_filtered_count(0),
+ m_options(options),
+ m_included(global_alloc_array(UINT8, s_driver_count)),
+ m_config(global_alloc_array_clear(machine_config *, s_driver_count))
{
- // create the search path consisting of gamedrv[;parent[;...]]
- string = driver.name;
- for (const game_driver *parent = driver_get_clone(&driver); parent != NULL; parent = driver_get_clone(parent))
- string.cat(";").cat(parent->name);
- return string;
+ filter(driver);
}
-/*-------------------------------------------------
- driver_list_get_approx_matches - find the best
- n matches to a driver name.
--------------------------------------------------*/
+//-------------------------------------------------
+// ~driver_enumerator - destructor
+//-------------------------------------------------
-void driver_list_get_approx_matches(const game_driver * const driverlist[], const char *name, int matches, const game_driver **list)
+driver_enumerator::~driver_enumerator()
{
-#undef rand
+ // free any configs
+ for (int index = 0; index < s_driver_count; index++)
+ global_free(m_config[index]);
- int matchnum, drvnum;
- int *penalty;
+ // free the arrays
+ global_free(m_included);
+ global_free(m_config);
+}
- /* if no name, pick random entries */
- if (name == NULL || name[0] == 0)
- {
- const game_driver **templist;
- int driver_count;
- int shufnum;
- /* allocate a temporary list */
- templist = global_alloc_array(const game_driver *, driver_list_get_count(driverlist));
+//-------------------------------------------------
+// config - return a machine_config for the given
+// driver, allocating on demand if needed
+//-------------------------------------------------
- /* build up a list of valid entries */
- for (drvnum = driver_count = 0; driverlist[drvnum] != NULL; drvnum++)
- if ((driverlist[drvnum]->flags & GAME_NO_STANDALONE) == 0)
- templist[driver_count++] = driverlist[drvnum];
+machine_config &driver_enumerator::config(int index) const
+{
+ assert(index >= 0 && index < s_driver_count);
+ if (m_config[index] == NULL)
+ m_config[index] = global_alloc(machine_config(*s_drivers_sorted[index], m_options));
+ return *m_config[index];
+}
- /* seed the RNG first */
- srand(osd_ticks());
- /* shuffle */
- for (shufnum = 0; shufnum < 4 * driver_count; shufnum++)
- {
- int item1 = rand() % driver_count;
- int item2 = rand() % driver_count;
- const game_driver *temp;
+//-------------------------------------------------
+// filter - filter the driver list against the
+// given string
+//-------------------------------------------------
- temp = templist[item1];
- templist[item1] = templist[item2];
- templist[item2] = temp;
- }
+int driver_enumerator::filter(const char *filterstring)
+{
+ // reset the count
+ exclude_all();
+
+ // match name against each driver in the list
+ for (int index = 0; index < s_driver_count; index++)
+ if (matches(filterstring, s_drivers_sorted[index]->name))
+ include(index);
+
+ return m_filtered_count;
+}
- /* copy out the first few entries */
- for (matchnum = 0; matchnum < matches; matchnum++)
- list[matchnum] = templist[matchnum % driver_count];
- global_free(templist);
- return;
- }
+//-------------------------------------------------
+// filter - filter the driver list against the
+// given driver
+//-------------------------------------------------
- /* allocate some temp memory */
- penalty = global_alloc_array(int, matches);
+int driver_enumerator::filter(const game_driver &driver)
+{
+ // reset the count
+ exclude_all();
+
+ // match name against each driver in the list
+ for (int index = 0; index < s_driver_count; index++)
+ if (s_drivers_sorted[index] == &driver)
+ include(index);
+
+ return m_filtered_count;
+}
- /* initialize everyone's states */
- for (matchnum = 0; matchnum < matches; matchnum++)
- {
- penalty[matchnum] = 9999;
- list[matchnum] = NULL;
- }
- /* scan the entire drivers array */
- for (drvnum = 0; driverlist[drvnum] != NULL; drvnum++)
+//-------------------------------------------------
+// next - get the next driver matching the given
+// filter
+//-------------------------------------------------
+
+bool driver_enumerator::next()
+{
+ // always advance one
+ m_current++;
+
+ // if we have a filter, scan forward to the next match
+ while (m_current < s_driver_count)
{
- int curpenalty, tmp;
+ if (m_included[m_current])
+ break;
+ m_current++;
+ }
- /* skip things that can't run */
- if ((driverlist[drvnum]->flags & GAME_NO_STANDALONE) != 0)
- continue;
+ // return true if we end up in range
+ return (m_current >= 0 && m_current < s_driver_count);
+}
- /* pick the best match between driver name and description */
- curpenalty = penalty_compare(name, driverlist[drvnum]->description);
- tmp = penalty_compare(name, driverlist[drvnum]->name);
- curpenalty = MIN(curpenalty, tmp);
- /* insert into the sorted table of matches */
- for (matchnum = matches - 1; matchnum >= 0; matchnum--)
- {
- /* stop if we're worse than the current entry */
- if (curpenalty >= penalty[matchnum])
- break;
+//-------------------------------------------------
+// next_excluded - get the next driver that is
+// not currently included in the list
+//-------------------------------------------------
- /* as lng as this isn't the last entry, bump this one down */
- if (matchnum < matches - 1)
- {
- penalty[matchnum + 1] = penalty[matchnum];
- list[matchnum + 1] = list[matchnum];
- }
- list[matchnum] = driverlist[drvnum];
- penalty[matchnum] = curpenalty;
- }
+bool driver_enumerator::next_excluded()
+{
+ // always advance one
+ m_current++;
+
+ // if we have a filter, scan forward to the next match
+ while (m_current < s_driver_count)
+ {
+ if (!m_included[m_current])
+ break;
+ m_current++;
}
- /* free our temp memory */
- global_free(penalty);
+ // return true if we end up in range
+ return (m_current >= 0 && m_current < s_driver_count);
}
-/*-------------------------------------------------
- penalty_compare - compare two strings for
- closeness and assign a score.
--------------------------------------------------*/
+//-------------------------------------------------
+// driver_sort_callback - compare two items in
+// an array of game_driver pointers
+//-------------------------------------------------
-static int penalty_compare(const char *source, const char *target)
+void driver_enumerator::find_approximate_matches(const char *string, int count, int *results)
{
- int gaps = 1;
- int last = TRUE;
+#undef rand
- /* scan the strings */
- for ( ; *source && *target; target++)
+ // if no name, pick random entries
+ if (string == NULL || string[0] == 0)
{
- /* do a case insensitive match */
- int match = (tolower((UINT8)*source) == tolower((UINT8)*target));
+ // seed the RNG first
+ srand(osd_ticks());
- /* if we matched, advance the source */
- if (match)
- source++;
+ // allocate a temporary list
+ int *templist = global_alloc_array(int, m_filtered_count);
+ int arrayindex = 0;
+ for (int index = 0; index < s_driver_count; index++)
+ if (m_included[index])
+ templist[arrayindex++] = index;
+ assert(arrayindex == m_filtered_count);
- /* if the match state changed, count gaps */
- if (match != last)
+ // shuffle
+ for (int shufnum = 0; shufnum < 4 * s_driver_count; shufnum++)
{
- last = match;
- if (!match)
- gaps++;
+ int item1 = rand() % m_filtered_count;
+ int item2 = rand() % m_filtered_count;
+ int temp = templist[item1];
+ templist[item1] = templist[item2];
+ templist[item2] = temp;
}
- }
-
- /* penalty if short string does not completely fit in */
- for ( ; *source; source++)
- gaps++;
- /* if we matched perfectly, gaps == 0 */
- if (gaps == 1 && *source == 0 && *target == 0)
- gaps = 0;
+ // copy out the first few entries
+ for (int matchnum = 0; matchnum < count; matchnum++)
+ results[matchnum] = templist[matchnum % m_filtered_count];
- return gaps;
-}
+ global_free(templist);
+ return;
+ }
+ // allocate memory to track the penalty value
+ int *penalty = global_alloc_array(int, count);
-/*-------------------------------------------------
- driver_list_get_count - returns the amount of
- drivers
--------------------------------------------------*/
+ // initialize everyone's states
+ for (int matchnum = 0; matchnum < count; matchnum++)
+ {
+ penalty[matchnum] = 9999;
+ results[matchnum] = -1;
+ }
-int driver_list_get_count(const game_driver * const driverlist[])
-{
- int count;
+ // scan the entire drivers array
+ for (int index = 0; index < s_driver_count; index++)
+ if (m_included[index])
+ {
+ // skip things that can't run
+ if ((s_drivers_sorted[index]->flags & GAME_NO_STANDALONE) != 0)
+ continue;
- for (count = 0; driverlist[count] != NULL; count++) ;
- return count;
-}
+ // pick the best match between driver name and description
+ int curpenalty = penalty_compare(string, s_drivers_sorted[index]->description);
+ int tmp = penalty_compare(string, s_drivers_sorted[index]->name);
+ curpenalty = MIN(curpenalty, tmp);
-/*-------------------------------------------------
- driver_get_compatible - return a pointer to the
- compatible driver.
--------------------------------------------------*/
+ // insert into the sorted table of matches
+ for (int matchnum = count - 1; matchnum >= 0; matchnum--)
+ {
+ // stop if we're worse than the current entry
+ if (curpenalty >= penalty[matchnum])
+ break;
+
+ // as long as this isn't the last entry, bump this one down
+ if (matchnum < count - 1)
+ {
+ penalty[matchnum + 1] = penalty[matchnum];
+ results[matchnum + 1] = results[matchnum];
+ }
+ results[matchnum] = index;
+ penalty[matchnum] = curpenalty;
+ }
+ }
-const game_driver *driver_get_compatible(const game_driver *drv)
-{
- if (driver_get_clone(drv))
- drv = driver_get_clone(drv);
- else if (drv->compatible_with)
- drv = driver_get_name(drv->compatible_with);
- else
- drv = NULL;
- return drv;
+ // free our temp memory
+ global_free(penalty);
}
diff --git a/src/emu/driver.h b/src/emu/driver.h
index 47e64ef6564..c920c0ca5e6 100644
--- a/src/emu/driver.h
+++ b/src/emu/driver.h
@@ -2,10 +2,38 @@
driver.h
- Definitions relating to game drivers.
-
- Copyright Nicola Salmoria and the MAME Team.
- Visit http://mamedev.org for licensing and usage restrictions.
+ Driver enumeration helpers.
+
+****************************************************************************
+
+ Copyright Aaron Giles
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name 'MAME' nor the names of its contributors may be
+ used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY AARON GILES ''AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL AARON GILES BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+ IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
***************************************************************************/
@@ -81,6 +109,108 @@ struct game_driver
};
+// driver_list is a purely static class that wraps the global driver list
+class driver_list
+{
+ DISABLE_COPYING(driver_list);
+
+protected:
+ // construction/destruction
+ driver_list();
+
+public:
+ // getters
+ static int total() { return s_driver_count; }
+
+ // any item by index
+ static const game_driver &driver(int index) { assert(index >= 0 && index < s_driver_count); return *s_drivers_sorted[index]; }
+ static int clone(int index) { return find(driver(index).parent); }
+ static int non_bios_clone(int index) { int result = find(driver(index).parent); return (result != -1 && (driver(result).flags & GAME_IS_BIOS_ROOT) == 0) ? result : -1; }
+ static int compatible_with(int index) { int result = clone(index); return (result != -1) ? result : find(driver(index).compatible_with); }
+
+ // any item by driver
+ static int clone(const game_driver &driver) { int index = find(driver); assert(index != -1); return clone(index); }
+ static int non_bios_clone(const game_driver &driver) { int index = find(driver); assert(index != -1); return non_bios_clone(index); }
+ static int compatible_with(const game_driver &driver) { int index = find(driver); assert(index != -1); return compatible_with(index); }
+
+ // general helpers
+ static int find(const char *name);
+ static int find(const game_driver &driver) { return find(driver.name); }
+
+ // static helpers
+ static bool matches(const char *wildstring, const char *string) { return (wildstring == NULL || mame_strwildcmp(wildstring, string) == 0); }
+
+protected:
+ // internal helpers
+ static int driver_sort_callback(const void *elem1, const void *elem2);
+ static int penalty_compare(const char *source, const char *target);
+
+ // internal state
+ static int s_driver_count;
+ static const game_driver * const s_drivers_sorted[];
+};
+
+
+// driver_enumerator enables efficient iteration through the driver list
+class driver_enumerator : public driver_list
+{
+ DISABLE_COPYING(driver_enumerator);
+
+public:
+ // construction/destruction
+ driver_enumerator(emu_options &options);
+ driver_enumerator(emu_options &options, const char *filter);
+ driver_enumerator(emu_options &options, const game_driver &filter);
+ ~driver_enumerator();
+
+ // getters
+ int count() const { return m_filtered_count; }
+ int current() const { return m_current; }
+ emu_options &options() const { return m_options; }
+
+ // current item
+ const game_driver &driver() const { return driver_list::driver(m_current); }
+ machine_config &config() const { return config(m_current); }
+ int clone() { return driver_list::clone(m_current); }
+ int non_bios_clone() { return driver_list::non_bios_clone(m_current); }
+ int compatible_with() { return driver_list::compatible_with(m_current); }
+ void include() { include(m_current); }
+ void exclude() { exclude(m_current); }
+
+ // any item by index
+ bool included(int index) const { assert(index >= 0 && index < s_driver_count); return m_included[index]; }
+ bool excluded(int index) const { assert(index >= 0 && index < s_driver_count); return !m_included[index]; }
+ machine_config &config(int index) const;
+ void include(int index) { assert(index >= 0 && index < s_driver_count); if (!m_included[index]) { m_included[index] = true; m_filtered_count++; } }
+ void exclude(int index) { assert(index >= 0 && index < s_driver_count); if (m_included[index]) { m_included[index] = false; m_filtered_count--; } }
+ using driver_list::driver;
+ using driver_list::clone;
+ using driver_list::non_bios_clone;
+ using driver_list::compatible_with;
+
+ // filtering/iterating
+ int filter(const char *string = NULL);
+ int filter(const game_driver &driver);
+ void include_all() { memset(m_included, 1, sizeof(m_included[0]) * s_driver_count); m_filtered_count = s_driver_count; }
+ void exclude_all() { memset(m_included, 0, sizeof(m_included[0]) * s_driver_count); m_filtered_count = 0; }
+ void reset() { m_current = -1; }
+ bool next();
+ bool next_excluded();
+
+ // general helpers
+ void set_current(int index) { assert(index >= -1 && index <= s_driver_count); m_current = index; }
+ void find_approximate_matches(const char *string, int count, int *results);
+
+private:
+ // internal state
+ int m_current;
+ int m_filtered_count;
+ emu_options & m_options;
+ UINT8 * m_included;
+ machine_config ** m_config;
+};
+
+
/***************************************************************************
MACROS FOR BUILDING GAME DRIVERS
@@ -176,24 +306,8 @@ extern const game_driver GAME_NAME(NAME) = \
GLOBAL VARIABLES
***************************************************************************/
-extern const game_driver * const drivers[];
-
-GAME_EXTERN(empty);
-
-
-
-/***************************************************************************
- FUNCTION PROTOTYPES
-***************************************************************************/
-
-const game_driver *driver_get_name(const char *name);
-const game_driver *driver_get_clone(const game_driver *driver);
-const game_driver *driver_get_compatible(const game_driver *drv);
-
-const char *driver_get_searchpath(const game_driver &driver, astring &string);
+GAME_EXTERN(___empty);
-void driver_list_get_approx_matches(const game_driver * const driverlist[], const char *name, int matches, const game_driver **list);
-int driver_list_get_count(const game_driver * const driverlist[]);
#endif
diff --git a/src/emu/drivers/empty.c b/src/emu/drivers/empty.c
index bea3c2231ab..d4ce7079f31 100644
--- a/src/emu/drivers/empty.c
+++ b/src/emu/drivers/empty.c
@@ -20,7 +20,7 @@
*
*************************************/
-static MACHINE_START( empty )
+static MACHINE_START( ___empty )
{
/* force the UI to show the game select screen */
ui_menu_force_game_select(machine, &machine.render().ui_container());
@@ -34,9 +34,9 @@ static MACHINE_START( empty )
*
*************************************/
-static MACHINE_CONFIG_START( empty, driver_device )
+static MACHINE_CONFIG_START( ___empty, driver_device )
- MCFG_MACHINE_START(empty)
+ MCFG_MACHINE_START(___empty)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -54,8 +54,8 @@ MACHINE_CONFIG_END
*
*************************************/
-ROM_START( empty )
- ROM_REGION( 0x10, "user1", 0 )
+ROM_START( ___empty )
+ ROM_REGION( 0x10, "user1", ROMREGION_ERASEFF )
ROM_END
@@ -66,4 +66,4 @@ ROM_END
*
*************************************/
-GAME( 2007, empty, 0, empty, 0, 0, ROT0, "MAME", "No Driver Loaded", 0 )
+GAME( 2007, ___empty, 0, ___empty, 0, 0, ROT0, "MAME", "No Driver Loaded", GAME_NO_SOUND )
diff --git a/src/emu/emu.mak b/src/emu/emu.mak
index d336f113876..73663d48c86 100644
--- a/src/emu/emu.mak
+++ b/src/emu/emu.mak
@@ -338,5 +338,6 @@ $(EMUOBJ)/rendlay.o: $(EMULAYOUT)/dualhovu.lh \
$(EMULAYOUT)/voffff20.lh \
$(EMULAYOUT)/lcd.lh \
$(EMULAYOUT)/lcd_rot.lh \
+ $(EMULAYOUT)/pinball.lh \
$(EMUOBJ)/video.o: $(EMULAYOUT)/snap.lh
diff --git a/src/emu/emualloc.c b/src/emu/emualloc.c
index 75b972e0eeb..a3164e8e913 100644
--- a/src/emu/emualloc.c
+++ b/src/emu/emualloc.c
@@ -92,6 +92,7 @@ public:
static UINT64 s_curid; // current ID
static osd_lock * s_lock; // lock for managing the list
static bool s_lock_alloc; // set to true temporarily during lock allocation
+ static bool s_tracking; // set to true when tracking is live
static memory_entry *s_hash[k_hash_prime];// hash table based on pointer
static memory_entry *s_freehead; // pointer to the head of the free list
@@ -118,9 +119,10 @@ resource_pool global_resource_pool;
const zeromem_t zeromem = { };
// globals for memory_entry
-UINT64 memory_entry::s_curid = 0;
+UINT64 memory_entry::s_curid = 1;
osd_lock *memory_entry::s_lock = NULL;
bool memory_entry::s_lock_alloc = false;
+bool memory_entry::s_tracking = false;
memory_entry *memory_entry::s_hash[memory_entry::k_hash_prime] = { NULL };
memory_entry *memory_entry::s_freehead = NULL;
@@ -155,6 +157,31 @@ void *malloc_file_line(size_t size, const char *file, int line)
//-------------------------------------------------
+// malloc_array_file_line - allocate memory with
+// file and line number information, and a hint
+// that this object is an array
+//-------------------------------------------------
+
+void *malloc_array_file_line(size_t size, const char *file, int line)
+{
+ // allocate the memory and fail if we can't
+ void *result = osd_malloc_array(size);
+ if (result == NULL)
+ return NULL;
+
+ // add a new entry
+ memory_entry::allocate(size, result, file, line);
+
+#ifdef MAME_DEBUG
+ // randomize the memory
+ rand_memory(result, size);
+#endif
+
+ return result;
+}
+
+
+//-------------------------------------------------
// free_file_line - free memory with file
// and line number information
//-------------------------------------------------
@@ -189,7 +216,19 @@ void free_file_line(void *memory, const char *file, int line)
// memory
//-------------------------------------------------
-void dump_unfreed_mem(void)
+void track_memory(bool track)
+{
+ memory_entry::s_tracking = track;
+}
+
+
+//-------------------------------------------------
+// dump_unfreed_mem - called from the exit path
+// of any code that wants to check for unfreed
+// memory
+//-------------------------------------------------
+
+void dump_unfreed_mem()
{
#ifdef MAME_DEBUG
memory_entry::report_unfreed();
@@ -446,7 +485,7 @@ memory_entry *memory_entry::allocate(size_t size, void *base, const char *file,
if (s_freehead == NULL)
{
// create a new chunk, and fail if we can't
- memory_entry *entry = reinterpret_cast<memory_entry *>(osd_malloc(memory_block_alloc_chunk * sizeof(memory_entry)));
+ memory_entry *entry = reinterpret_cast<memory_entry *>(osd_malloc_array(memory_block_alloc_chunk * sizeof(memory_entry)));
if (entry == NULL)
{
release_lock();
@@ -468,8 +507,8 @@ memory_entry *memory_entry::allocate(size_t size, void *base, const char *file,
// populate it
entry->m_size = size;
entry->m_base = base;
- entry->m_file = file;
- entry->m_line = line;
+ entry->m_file = s_tracking ? file : NULL;
+ entry->m_line = s_tracking ? line : 0;
entry->m_id = s_curid++;
if (LOG_ALLOCS)
fprintf(stderr, "#%06d, alloc %d bytes (%s:%d)\n", (UINT32)entry->m_id, static_cast<UINT32>(entry->m_size), entry->m_file, (int)entry->m_line);
@@ -561,5 +600,5 @@ void memory_entry::report_unfreed()
release_lock();
if (total > 0)
- fprintf(stderr, "a total of %d bytes were not free()'d\n", total);
+ fprintf(stderr, "a total of %d bytes were not freed\n", total);
}
diff --git a/src/emu/emualloc.h b/src/emu/emualloc.h
index 0a26fcad3ec..e4da24c52a5 100644
--- a/src/emu/emualloc.h
+++ b/src/emu/emualloc.h
@@ -47,9 +47,25 @@
//**************************************************************************
+// DEBUGGING
+//**************************************************************************
+
+// set to 1 to track memory allocated by emualloc.h itself as well
+#define TRACK_SELF_MEMORY (0)
+
+
+
+//**************************************************************************
// MACROS
//**************************************************************************
+// self-allocation helpers
+#if TRACK_SELF_MEMORY
+#define EMUALLOC_SELF_NEW new(__FILE__, __LINE__)
+#else
+#define EMUALLOC_SELF_NEW new
+#endif
+
// pool allocation helpers
#define pool_alloc(_pool, _type) (_pool).add_object(new(__FILE__, __LINE__) _type)
#define pool_alloc_clear(_pool, _type) (_pool).add_object(new(__FILE__, __LINE__, zeromem) _type)
@@ -72,11 +88,13 @@
// allocate memory with file and line number information
void *malloc_file_line(size_t size, const char *file, int line);
+void *malloc_array_file_line(size_t size, const char *file, int line);
// free memory with file and line number information
void free_file_line(void *memory, const char *file, int line);
// called from the exit path of any code that wants to check for unfreed memory
+void track_memory(bool track);
void dump_unfreed_mem();
@@ -100,7 +118,7 @@ ATTR_FORCE_INLINE inline void *operator new(std::size_t size) throw (std::bad_al
ATTR_FORCE_INLINE inline void *operator new[](std::size_t size) throw (std::bad_alloc)
{
- void *result = malloc_file_line(size, NULL, 0);
+ void *result = malloc_array_file_line(size, NULL, 0);
if (result == NULL)
throw std::bad_alloc();
return result;
@@ -130,7 +148,7 @@ ATTR_FORCE_INLINE inline void *operator new(std::size_t size, const char *file,
ATTR_FORCE_INLINE inline void *operator new[](std::size_t size, const char *file, int line) throw (std::bad_alloc)
{
- void *result = malloc_file_line(size, file, line);
+ void *result = malloc_array_file_line(size, file, line);
if (result == NULL)
throw std::bad_alloc();
return result;
@@ -161,7 +179,7 @@ ATTR_FORCE_INLINE inline void *operator new(std::size_t size, const char *file,
ATTR_FORCE_INLINE inline void *operator new[](std::size_t size, const char *file, int line, const zeromem_t &) throw (std::bad_alloc)
{
- void *result = malloc_file_line(size, file, line);
+ void *result = malloc_array_file_line(size, file, line);
if (result == NULL)
throw std::bad_alloc();
memset(result, 0, size);
@@ -270,8 +288,8 @@ public:
bool contains(void *ptrstart, void *ptrend);
void clear();
- template<class T> T *add_object(T* object) { add(*new(__FILE__, __LINE__) resource_pool_object<T>(object)); return object; }
- template<class T> T *add_array(T* array, int count) { add(*new(__FILE__, __LINE__) resource_pool_array<T>(array, count)); return array; }
+ template<class T> T *add_object(T* object) { add(*EMUALLOC_SELF_NEW resource_pool_object<T>(object)); return object; }
+ template<class T> T *add_array(T* array, int count) { add(*EMUALLOC_SELF_NEW resource_pool_array<T>(array, count)); return array; }
private:
static const int k_hash_prime = 193;
@@ -306,7 +324,7 @@ extern const zeromem_t zeromem;
#undef realloc
#undef free
-#define malloc(x) malloc_file_line(x, __FILE__, __LINE__)
+#define malloc(x) malloc_array_file_line(x, __FILE__, __LINE__)
#define calloc(x,y) __error_use_auto_alloc_clear_or_global_alloc_clear_instead__
#define realloc(x,y) __error_realloc_is_dangerous__
#define free(x) free_file_line(x, __FILE__, __LINE__)
diff --git a/src/emu/emuopts.c b/src/emu/emuopts.c
index 69cca4f8b87..7753b8e83ac 100644
--- a/src/emu/emuopts.c
+++ b/src/emu/emuopts.c
@@ -349,12 +349,12 @@ void emu_options::parse_standard_inis(astring &error_string)
}
// then parse the grandparent, parent, and system-specific INIs
- const game_driver *parent = driver_get_clone(cursystem);
- const game_driver *gparent = (parent != NULL) ? driver_get_clone(parent) : NULL;
- if (gparent != NULL)
- parse_one_ini(gparent->name, OPTION_PRIORITY_GPARENT_INI, &error_string);
- if (parent != NULL)
- parse_one_ini(parent->name, OPTION_PRIORITY_PARENT_INI, &error_string);
+ int parent = driver_list::clone(*cursystem);
+ int gparent = (parent != -1) ? driver_list::clone(parent) : -1;
+ if (gparent != -1)
+ parse_one_ini(driver_list::driver(gparent).name, OPTION_PRIORITY_GPARENT_INI, &error_string);
+ if (parent != -1)
+ parse_one_ini(driver_list::driver(parent).name, OPTION_PRIORITY_PARENT_INI, &error_string);
parse_one_ini(cursystem->name, OPTION_PRIORITY_DRIVER_INI, &error_string);
}
@@ -367,7 +367,8 @@ void emu_options::parse_standard_inis(astring &error_string)
const game_driver *emu_options::system() const
{
astring tempstr;
- return driver_get_name(*core_filename_extract_base(&tempstr, system_name(), TRUE));
+ int index = driver_list::find(*core_filename_extract_base(&tempstr, system_name(), TRUE));
+ return (index != -1) ? &driver_list::driver(index) : NULL;
}
diff --git a/src/emu/emutempl.h b/src/emu/emutempl.h
index 74fe8501f6c..c4fd064c155 100644
--- a/src/emu/emutempl.h
+++ b/src/emu/emutempl.h
@@ -245,6 +245,37 @@ private:
};
+// ======================> simple_list_wrapper
+
+// a simple_list_wrapper wraps an existing object with a next pointer so it
+// can live in a simple_list without requiring the object to have a next
+// pointer
+template<class T>
+class simple_list_wrapper
+{
+public:
+ // construction/destruction
+ simple_list_wrapper(T *object)
+ : m_next(NULL),
+ m_object(object) { }
+
+ // operators
+ operator T *() { return m_object; }
+ operator T *() const { return m_object; }
+ T *operator *() { return m_object; }
+ T *operator *() const { return m_object; }
+
+ // getters
+ simple_list_wrapper *next() const { return m_next; }
+ T *object() const { return m_object; }
+
+private:
+ // internal state
+ simple_list_wrapper * m_next;
+ T * m_object;
+};
+
+
// ======================> fixed_allocator
// a fixed_allocator is a simple class that maintains a free pool of objects
diff --git a/src/emu/hash.c b/src/emu/hash.c
index 5d55f26d642..12f94dd1f5f 100644
--- a/src/emu/hash.c
+++ b/src/emu/hash.c
@@ -593,7 +593,7 @@ bool hash_collection::remove(char type)
// crc - return the CRC hash if present
//-------------------------------------------------
-bool hash_collection::crc(UINT32 &result)
+bool hash_collection::crc(UINT32 &result) const
{
// attempt to find the CRC hash; if we fail, return false
hash_base *crchash = hash(HASH_CRC);
@@ -601,7 +601,7 @@ bool hash_collection::crc(UINT32 &result)
return false;
// downcast to a hash_crc and convert to a UINT32
- result = *downcast<hash_crc *>(crchash);
+ result = *downcast<const hash_crc *>(crchash);
return true;
}
diff --git a/src/emu/hash.h b/src/emu/hash.h
index a89c7cee4b2..3f5995edb51 100644
--- a/src/emu/hash.h
+++ b/src/emu/hash.h
@@ -161,7 +161,7 @@ public:
bool remove(char type);
// CRC-specific helpers
- bool crc(UINT32 &result);
+ bool crc(UINT32 &result) const;
hash_base *add_crc(UINT32 crc);
// string conversion
diff --git a/src/emu/info.c b/src/emu/info.c
index d0e39604249..7ee5c261500 100644
--- a/src/emu/info.c
+++ b/src/emu/info.c
@@ -4,8 +4,36 @@
Dumps the MAME internal data as an XML file.
- Copyright Nicola Salmoria and the MAME Team.
- Visit http://mamedev.org for licensing and usage restrictions.
+****************************************************************************
+
+ Copyright Aaron Giles
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name 'MAME' nor the names of its contributors may be
+ used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY AARON GILES ''AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL AARON GILES BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+ IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
***************************************************************************/
@@ -19,7 +47,8 @@
#include <ctype.h>
-/* MESS/MAME configuration */
+
+// MAME vs MESS configuration
#ifdef MESS
#define XML_ROOT "mess"
#define XML_TOP "machine"
@@ -30,522 +59,375 @@
-/***************************************************************************
- TYPE DEFINITIONS
-***************************************************************************/
-
-class parent_info
+//**************************************************************************
+// GLOBAL VARIABLES
+//**************************************************************************
+
+// DTD string describing the data
+const char info_xml_creator::s_dtd_string[] =
+"<!DOCTYPE " XML_ROOT " [\n"
+"<!ELEMENT " XML_ROOT " (" XML_TOP "+)>\n"
+"\t<!ATTLIST " XML_ROOT " build CDATA #IMPLIED>\n"
+"\t<!ATTLIST " XML_ROOT " debug (yes|no) \"no\">\n"
+"\t<!ATTLIST " XML_ROOT " mameconfig CDATA #REQUIRED>\n"
+"\t<!ELEMENT " XML_TOP " (description, year?, manufacturer, biosset*, rom*, disk*, sample*, chip*, display*, sound?, input?, dipswitch*, configuration*, category*, adjuster*, driver?, device*, softwarelist*, ramoption*)>\n"
+"\t\t<!ATTLIST " XML_TOP " name CDATA #REQUIRED>\n"
+"\t\t<!ATTLIST " XML_TOP " sourcefile CDATA #IMPLIED>\n"
+"\t\t<!ATTLIST " XML_TOP " isbios (yes|no) \"no\">\n"
+"\t\t<!ATTLIST " XML_TOP " ismechanical (yes|no) \"no\">\n"
+"\t\t<!ATTLIST " XML_TOP " runnable (yes|no) \"yes\">\n"
+"\t\t<!ATTLIST " XML_TOP " cloneof CDATA #IMPLIED>\n"
+"\t\t<!ATTLIST " XML_TOP " romof CDATA #IMPLIED>\n"
+"\t\t<!ATTLIST " XML_TOP " sampleof CDATA #IMPLIED>\n"
+"\t\t<!ELEMENT description (#PCDATA)>\n"
+"\t\t<!ELEMENT year (#PCDATA)>\n"
+"\t\t<!ELEMENT manufacturer (#PCDATA)>\n"
+"\t\t<!ELEMENT biosset EMPTY>\n"
+"\t\t\t<!ATTLIST biosset name CDATA #REQUIRED>\n"
+"\t\t\t<!ATTLIST biosset description CDATA #REQUIRED>\n"
+"\t\t\t<!ATTLIST biosset default (yes|no) \"no\">\n"
+"\t\t<!ELEMENT rom EMPTY>\n"
+"\t\t\t<!ATTLIST rom name CDATA #REQUIRED>\n"
+"\t\t\t<!ATTLIST rom bios CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST rom size CDATA #REQUIRED>\n"
+"\t\t\t<!ATTLIST rom crc CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST rom md5 CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST rom sha1 CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST rom merge CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST rom region CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST rom offset CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST rom status (baddump|nodump|good) \"good\">\n"
+"\t\t\t<!ATTLIST rom optional (yes|no) \"no\">\n"
+"\t\t<!ELEMENT disk EMPTY>\n"
+"\t\t\t<!ATTLIST disk name CDATA #REQUIRED>\n"
+"\t\t\t<!ATTLIST disk md5 CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST disk sha1 CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST disk merge CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST disk region CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST disk index CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST disk status (baddump|nodump|good) \"good\">\n"
+"\t\t\t<!ATTLIST disk optional (yes|no) \"no\">\n"
+"\t\t<!ELEMENT sample EMPTY>\n"
+"\t\t\t<!ATTLIST sample name CDATA #REQUIRED>\n"
+"\t\t<!ELEMENT chip EMPTY>\n"
+"\t\t\t<!ATTLIST chip name CDATA #REQUIRED>\n"
+"\t\t\t<!ATTLIST chip tag CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST chip type (cpu|audio) #REQUIRED>\n"
+"\t\t\t<!ATTLIST chip clock CDATA #IMPLIED>\n"
+"\t\t<!ELEMENT display EMPTY>\n"
+"\t\t\t<!ATTLIST display type (raster|vector|lcd|unknown) #REQUIRED>\n"
+"\t\t\t<!ATTLIST display rotate (0|90|180|270) #REQUIRED>\n"
+"\t\t\t<!ATTLIST display flipx (yes|no) \"no\">\n"
+"\t\t\t<!ATTLIST display width CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST display height CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST display refresh CDATA #REQUIRED>\n"
+"\t\t\t<!ATTLIST display pixclock CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST display htotal CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST display hbend CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST display hbstart CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST display vtotal CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST display vbend CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST display vbstart CDATA #IMPLIED>\n"
+"\t\t<!ELEMENT sound EMPTY>\n"
+"\t\t\t<!ATTLIST sound channels CDATA #REQUIRED>\n"
+"\t\t<!ELEMENT input (control*)>\n"
+"\t\t\t<!ATTLIST input service (yes|no) \"no\">\n"
+"\t\t\t<!ATTLIST input tilt (yes|no) \"no\">\n"
+"\t\t\t<!ATTLIST input players CDATA #REQUIRED>\n"
+"\t\t\t<!ATTLIST input buttons CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST input coins CDATA #IMPLIED>\n"
+"\t\t\t<!ELEMENT control EMPTY>\n"
+"\t\t\t\t<!ATTLIST control type CDATA #REQUIRED>\n"
+"\t\t\t\t<!ATTLIST control minimum CDATA #IMPLIED>\n"
+"\t\t\t\t<!ATTLIST control maximum CDATA #IMPLIED>\n"
+"\t\t\t\t<!ATTLIST control sensitivity CDATA #IMPLIED>\n"
+"\t\t\t\t<!ATTLIST control keydelta CDATA #IMPLIED>\n"
+"\t\t\t\t<!ATTLIST control reverse (yes|no) \"no\">\n"
+"\t\t<!ELEMENT dipswitch (dipvalue*)>\n"
+"\t\t\t<!ATTLIST dipswitch name CDATA #REQUIRED>\n"
+"\t\t\t<!ATTLIST dipswitch tag CDATA #REQUIRED>\n"
+"\t\t\t<!ATTLIST dipswitch mask CDATA #REQUIRED>\n"
+"\t\t\t<!ELEMENT dipvalue EMPTY>\n"
+"\t\t\t\t<!ATTLIST dipvalue name CDATA #REQUIRED>\n"
+"\t\t\t\t<!ATTLIST dipvalue value CDATA #REQUIRED>\n"
+"\t\t\t\t<!ATTLIST dipvalue default (yes|no) \"no\">\n"
+"\t\t<!ELEMENT configuration (confsetting*)>\n"
+"\t\t\t<!ATTLIST configuration name CDATA #REQUIRED>\n"
+"\t\t\t<!ATTLIST configuration tag CDATA #REQUIRED>\n"
+"\t\t\t<!ATTLIST configuration mask CDATA #REQUIRED>\n"
+"\t\t\t<!ELEMENT confsetting EMPTY>\n"
+"\t\t\t\t<!ATTLIST confsetting name CDATA #REQUIRED>\n"
+"\t\t\t\t<!ATTLIST confsetting value CDATA #REQUIRED>\n"
+"\t\t\t\t<!ATTLIST confsetting default (yes|no) \"no\">\n"
+"\t\t<!ELEMENT category (item*)>\n"
+"\t\t\t<!ATTLIST category name CDATA #REQUIRED>\n"
+"\t\t\t<!ELEMENT item EMPTY>\n"
+"\t\t\t\t<!ATTLIST item name CDATA #REQUIRED>\n"
+"\t\t\t\t<!ATTLIST item default (yes|no) \"no\">\n"
+"\t\t<!ELEMENT adjuster EMPTY>\n"
+"\t\t\t<!ATTLIST adjuster name CDATA #REQUIRED>\n"
+"\t\t\t<!ATTLIST adjuster default CDATA #REQUIRED>\n"
+"\t\t<!ELEMENT driver EMPTY>\n"
+"\t\t\t<!ATTLIST driver status (good|imperfect|preliminary) #REQUIRED>\n"
+"\t\t\t<!ATTLIST driver emulation (good|imperfect|preliminary) #REQUIRED>\n"
+"\t\t\t<!ATTLIST driver color (good|imperfect|preliminary) #REQUIRED>\n"
+"\t\t\t<!ATTLIST driver sound (good|imperfect|preliminary) #REQUIRED>\n"
+"\t\t\t<!ATTLIST driver graphic (good|imperfect|preliminary) #REQUIRED>\n"
+"\t\t\t<!ATTLIST driver cocktail (good|imperfect|preliminary) #IMPLIED>\n"
+"\t\t\t<!ATTLIST driver protection (good|imperfect|preliminary) #IMPLIED>\n"
+"\t\t\t<!ATTLIST driver savestate (supported|unsupported) #REQUIRED>\n"
+"\t\t\t<!ATTLIST driver palettesize CDATA #REQUIRED>\n"
+"\t\t<!ELEMENT device (instance*, extension*)>\n"
+"\t\t\t<!ATTLIST device type CDATA #REQUIRED>\n"
+"\t\t\t<!ATTLIST device tag CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST device mandatory CDATA #IMPLIED>\n"
+"\t\t\t<!ATTLIST device interface CDATA #IMPLIED>\n"
+"\t\t\t<!ELEMENT instance EMPTY>\n"
+"\t\t\t\t<!ATTLIST instance name CDATA #REQUIRED>\n"
+"\t\t\t\t<!ATTLIST instance briefname CDATA #REQUIRED>\n"
+"\t\t\t<!ELEMENT extension EMPTY>\n"
+"\t\t\t\t<!ATTLIST extension name CDATA #REQUIRED>\n"
+"\t\t<!ELEMENT softwarelist EMPTY>\n"
+"\t\t\t<!ATTLIST softwarelist name CDATA #REQUIRED>\n"
+"\t\t\t<!ATTLIST softwarelist status (original|compatible) #REQUIRED>\n"
+"\t\t<!ELEMENT ramoption (#PCDATA)>\n"
+"\t\t\t<!ATTLIST ramoption default CDATA #IMPLIED>\n"
+"]>";
+
+
+
+//**************************************************************************
+// INFO XML CREATOR
+//**************************************************************************
+
+//-------------------------------------------------
+// info_xml_creator - constructor
+//-------------------------------------------------
+
+info_xml_creator::info_xml_creator(driver_enumerator &drivlist)
+ : m_output(NULL),
+ m_drivlist(drivlist)
{
-public:
- const game_driver *drv;
- machine_config mconfig;
-
- parent_info(const game_driver *drv, emu_options &options) : mconfig(*drv, options)
- {
- this->drv = drv;
- }
-};
-
+}
-/***************************************************************************
- CORE IMPLEMENTATION
-***************************************************************************/
-
-/*-------------------------------------------------
- print_game_switches - print the DIP switch
- settings for a game
--------------------------------------------------*/
+//-------------------------------------------------
+// output_mame_xml - print the XML information
+// for all known games
+//-------------------------------------------------
-static void print_game_switches(FILE *out, const game_driver *game, const ioport_list &portlist)
+void info_xml_creator::output(FILE *out)
{
- const input_port_config *port;
- const input_field_config *field;
-
- /* iterate looking for DIP switches */
- for (port = portlist.first(); port != NULL; port = port->next())
- for (field = port->fieldlist; field != NULL; field = field->next)
- if (field->type == IPT_DIPSWITCH)
- {
- const input_setting_config *setting;
-
- /* output the switch name information */
- fprintf(out, "\t\t<dipswitch name=\"%s\"", xml_normalize_string(input_field_name(field)));
- fprintf(out, " tag=\"%s\"", xml_normalize_string(field->port->tag));
- fprintf(out, " mask=\"%u\"", field->mask);
- fprintf(out, ">\n");
+ m_output = out;
+
+ // output the DTD
+ fprintf(m_output, "<?xml version=\"1.0\"?>\n");
+ fprintf(m_output, "%s\n\n", s_dtd_string);
+
+ // top-level tag
+ fprintf(m_output, "<" XML_ROOT " build=\"%s\" debug=\""
+#ifdef MAME_DEBUG
+ "yes"
+#else
+ "no"
+#endif
+ "\" mameconfig=\"%d\">\n",
+ xml_normalize_string(build_version),
+ CONFIG_VERSION
+ );
- /* loop over settings */
- for (setting = field->settinglist; setting != NULL; setting = setting->next)
- {
- fprintf(out, "\t\t\t<dipvalue name=\"%s\"", xml_normalize_string(setting->name));
- fprintf(out, " value=\"%u\"", setting->value);
- if (setting->value == field->defvalue)
- fprintf(out, " default=\"yes\"");
- fprintf(out, "/>\n");
- }
+ // iterate through the drivers, outputting one at a time
+ while (m_drivlist.next())
+ output_one();
- /* terminate the switch entry */
- fprintf(out, "\t\t</dipswitch>\n");
- }
+ // close the top level tag
+ fprintf(m_output, "</" XML_ROOT ">\n");
}
-/*-------------------------------------------------
- print_game_configs - print the Configuration
- settings for a game
--------------------------------------------------*/
-static void print_game_configs(FILE *out, const game_driver *game, const ioport_list &portlist)
-{
- const input_port_config *port;
- const input_field_config *field;
+//-------------------------------------------------
+// output_one - print the XML information
+// for one particular game driver
+//-------------------------------------------------
- /* iterate looking for configurations */
- for (port = portlist.first(); port != NULL; port = port->next())
- for (field = port->fieldlist; field != NULL; field = field->next)
- if (field->type == IPT_CONFIG)
- {
- const input_setting_config *setting;
+void info_xml_creator::output_one()
+{
+ // no action if not a game
+ const game_driver &driver = m_drivlist.driver();
+ if (driver.flags & GAME_NO_STANDALONE)
+ return;
- /* output the configuration name information */
- fprintf(out, "\t\t<configuration name=\"%s\"", xml_normalize_string(input_field_name(field)));
- fprintf(out, " tag=\"%s\"", xml_normalize_string(field->port->tag));
- fprintf(out, " mask=\"%u\"", field->mask);
- fprintf(out, ">\n");
+ // allocate input ports
+ machine_config &config = m_drivlist.config();
+ ioport_list portlist;
+ input_port_list_init(portlist, driver.ipt, NULL, 0, FALSE, NULL);
+ for (device_config *cfg = config.m_devicelist.first(); cfg != NULL; cfg = cfg->next())
+ if (cfg->input_ports() != NULL)
+ input_port_list_init(portlist, cfg->input_ports(), NULL, 0, FALSE, cfg);
- /* loop over settings */
- for (setting = field->settinglist; setting != NULL; setting = setting->next)
- {
- fprintf(out, "\t\t\t<confsetting name=\"%s\"", xml_normalize_string(setting->name));
- fprintf(out, " value=\"%u\"", setting->value);
- if (setting->value == field->defvalue)
- fprintf(out, " default=\"yes\"");
- fprintf(out, "/>\n");
- }
+ // print the header and the game name
+ fprintf(m_output, "\t<" XML_TOP);
+ fprintf(m_output, " name=\"%s\"", xml_normalize_string(driver.name));
- /* terminate the configuration entry */
- fprintf(out, "\t\t</configuration>\n");
- }
+ // strip away any path information from the source_file and output it
+ const char *start = strrchr(driver.source_file, '/');
+ if (start == NULL)
+ start = strrchr(driver.source_file, '\\');
+ if (start == NULL)
+ start = driver.source_file - 1;
+ fprintf(m_output, " sourcefile=\"%s\"", xml_normalize_string(start + 1));
+
+ // append bios and runnable flags
+ if (driver.flags & GAME_IS_BIOS_ROOT)
+ fprintf(m_output, " isbios=\"yes\"");
+ if (driver.flags & GAME_NO_STANDALONE)
+ fprintf(m_output, " runnable=\"no\"");
+ if (driver.flags & GAME_MECHANICAL)
+ fprintf(m_output, " ismechanical=\"yes\"");
+
+ // display clone information
+ int clone_of = m_drivlist.find(driver.parent);
+ if (clone_of != -1 && !(m_drivlist.driver(clone_of).flags & GAME_IS_BIOS_ROOT))
+ fprintf(m_output, " cloneof=\"%s\"", 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));
+
+ // display sample information and close the game tag
+ output_sampleof();
+ fprintf(m_output, ">\n");
+
+ // output game description
+ if (driver.description != NULL)
+ fprintf(m_output, "\t\t<description>%s</description>\n", xml_normalize_string(driver.description));
+
+ // print the year only if is a number or another allowed character (? or +)
+ if (driver.year != NULL && strspn(driver.year, "0123456789?+") == strlen(driver.year))
+ fprintf(m_output, "\t\t<year>%s</year>\n", xml_normalize_string(driver.year));
+
+ // print the manufacturer information
+ if (driver.manufacturer != NULL)
+ fprintf(m_output, "\t\t<manufacturer>%s</manufacturer>\n", xml_normalize_string(driver.manufacturer));
+
+ // now print various additional information
+ output_bios();
+ output_rom();
+ output_sample();
+ output_chips();
+ output_display();
+ output_sound();
+ output_input(portlist);
+ output_switches(portlist, IPT_DIPSWITCH, "dipswitch", "dipvalue");
+ output_switches(portlist, IPT_CONFIG, "configuration", "confsetting");
+ output_categories(portlist);
+ output_adjusters(portlist);
+ output_driver();
+ output_images();
+ output_software_list();
+ output_ramoptions();
+
+ // close the topmost tag
+ fprintf(m_output, "\t</" XML_TOP ">\n");
}
-/*-------------------------------------------------
- print_game_adjusters - print the Analog
- Adjusters for a game
--------------------------------------------------*/
-
-static void print_game_adjusters(FILE *out, const game_driver *game, const ioport_list &portlist)
-{
- const input_port_config *port;
- const input_field_config *field;
- /* iterate looking for Adjusters */
- for (port = portlist.first(); port != NULL; port = port->next())
- for (field = port->fieldlist; field != NULL; field = field->next)
- if (field->type == IPT_ADJUSTER)
- {
- /* output the adjuster information */
- fprintf(out, "\t\t<adjuster name=\"%s\" default=\"%d\"/>\n", xml_normalize_string(input_field_name(field)), field->defvalue);
- }
-}
+//------------------------------------------------
+// output_sampleof - print the 'sampleof'
+// attribute, if appropriate
+//-------------------------------------------------
-/*-------------------------------------------------
- print_game_input - print a summary of a game's
- input
--------------------------------------------------*/
-
-static void print_game_input(FILE *out, const game_driver *game, const ioport_list &portlist)
+void info_xml_creator::output_sampleof()
{
- /* fix me -- this needs to be cleaned up to match the core style */
-
-enum {cjoy, cdoublejoy, cAD_stick, cdial, ctrackball, cpaddle, clightgun, cpedal, ckeypad, ckeyboard, ENDCONTROLTYPES};
- int nplayer = 0;
- int nbutton = 0;
- int ncoin = 0;
- //int controlsyes = 0;
- int analogcontrol = 0;
- int i;
- const char* service = 0;
- const char* tilt = 0;
- const char* const control_types[] = {"joy", "doublejoy", "stick", "dial", "trackball", "paddle", "lightgun", "pedal", "keypad", "keyboard"};
- static struct _input_info
- {
- const char * type; /* general type of input */
- const char * Xway; /* 2, 4, or 8 way */
- int analog;
- int keyb;
- int min; /* analog minimum value */
- int max; /* analog maximum value */
- int sensitivity; /* default analog sensitivity */
- int keydelta; /* default analog keydelta */
- int reverse; /* default analog reverse setting */
- } control[ENDCONTROLTYPES];
- const input_port_config *port;
- const input_field_config *field;
-
- for (i = 0; i < ENDCONTROLTYPES; i++)
+ // iterate over sample devices
+ for (const device_config *devconfig = m_drivlist.config().m_devicelist.first(SAMPLES); devconfig != NULL; devconfig = devconfig->typenext())
{
- control[i].type = control_types[i];
- control[i].Xway = NULL;
- control[i].analog = 0;
- control[i].keyb = 0;
- control[i].min = 0;
- control[i].max = 0;
- control[i].sensitivity = 0;
- control[i].keydelta = 0;
- control[i].reverse = 0;
- }
-
- for (port = portlist.first(); port != NULL; port = port->next())
- for (field = port->fieldlist; field != NULL; field = field->next)
- {
+ const char *const *samplenames = ((const samples_interface *)devconfig->static_config())->samplenames;
+ if (samplenames != NULL)
- if (nplayer < field->player + 1)
- nplayer = field->player + 1;
-
- switch (field->type)
+ // iterate over sample names
+ for (int sampnum = 0; samplenames[sampnum] != NULL; sampnum++)
{
- case IPT_JOYSTICK_LEFT:
- case IPT_JOYSTICK_RIGHT:
-
- /* if control not defined, start it off as horizontal 2-way */
- if (control[cjoy].Xway == NULL)
- control[cjoy].Xway = "joy2way";
- else if (strcmp(control[cjoy].Xway,"joy2way") == 0)
- ;
- /* if already defined as vertical, make it 4 or 8 way */
- else if (strcmp(control[cjoy].Xway,"vjoy2way") == 0)
- {
- if (field->way == 4)
- control[cjoy].Xway = "joy4way";
- else
- control[cjoy].Xway = "joy8way";
- }
- //controlsyes = 1;
- break;
-
- case IPT_JOYSTICK_UP:
- case IPT_JOYSTICK_DOWN:
+ // only output sampleof if different from the game name
+ const char *cursampname = samplenames[sampnum];
+ if (cursampname[0] == '*' && strcmp(cursampname + 1, m_drivlist.driver().name) != 0)
+ fprintf(m_output, " sampleof=\"%s\"", xml_normalize_string(cursampname + 1));
- /* if control not defined, start it off as vertical 2-way */
- if (control[cjoy].Xway == NULL)
- control[cjoy].Xway = "vjoy2way";
- else if (strcmp(control[cjoy].Xway,"vjoy2way") == 0)
- ;
- /* if already defined as horiz, make it 4 or 8way */
- else if (strcmp(control[cjoy].Xway,"joy2way") == 0)
- {
- if (field->way == 4)
- control[cjoy].Xway = "joy4way";
- else
- control[cjoy].Xway = "joy8way";
- }
- //controlsyes = 1;
- break;
-
- case IPT_JOYSTICKRIGHT_UP:
- case IPT_JOYSTICKRIGHT_DOWN:
- case IPT_JOYSTICKLEFT_UP:
- case IPT_JOYSTICKLEFT_DOWN:
-
- /* if control not defined, start it off as vertical 2way */
- if (control[cdoublejoy].Xway == NULL)
- control[cdoublejoy].Xway = "vdoublejoy2way";
- else if (strcmp(control[cdoublejoy].Xway,"vdoublejoy2way") == 0)
- ;
- /* if already defined as horiz, make it 4 or 8 way */
- else if (strcmp(control[cdoublejoy].Xway,"doublejoy2way") == 0)
- {
- if (field->way == 4)
- control[cdoublejoy].Xway = "doublejoy4way";
- else
- control[cdoublejoy].Xway = "doublejoy8way";
- }
- //controlsyes = 1;
- break;
-
- case IPT_JOYSTICKRIGHT_LEFT:
- case IPT_JOYSTICKRIGHT_RIGHT:
- case IPT_JOYSTICKLEFT_LEFT:
- case IPT_JOYSTICKLEFT_RIGHT:
-
- /* if control not defined, start it off as horiz 2-way */
- if (control[cdoublejoy].Xway == NULL)
- control[cdoublejoy].Xway = "doublejoy2way";
- else if (strcmp(control[cdoublejoy].Xway,"doublejoy2way") == 0)
- ;
- /* if already defined as vertical, make it 4 or 8 way */
- else if (strcmp(control[cdoublejoy].Xway,"vdoublejoy2way") == 0)
- {
- if (field->way == 4)
- control[cdoublejoy].Xway = "doublejoy4way";
- else
- control[cdoublejoy].Xway = "doublejoy8way";
- }
- //controlsyes = 1;
- break;
-
- /* mark as an analog input, and get analog stats after switch */
- case IPT_PADDLE:
- analogcontrol = cpaddle;
- break;
- case IPT_DIAL:
- analogcontrol = cdial;
- break;
- case IPT_TRACKBALL_X:
- case IPT_TRACKBALL_Y:
- analogcontrol = ctrackball;
- break;
- case IPT_AD_STICK_X:
- case IPT_AD_STICK_Y:
- analogcontrol = cAD_stick;
- break;
- case IPT_LIGHTGUN_X:
- case IPT_LIGHTGUN_Y:
- analogcontrol = clightgun;
- break;
- case IPT_PEDAL:
- case IPT_PEDAL2:
- case IPT_PEDAL3:
- analogcontrol = cpedal;
- break;
-
- case IPT_BUTTON1:
- case IPT_BUTTON2:
- case IPT_BUTTON3:
- case IPT_BUTTON4:
- case IPT_BUTTON5:
- case IPT_BUTTON6:
- case IPT_BUTTON7:
- case IPT_BUTTON8:
- case IPT_BUTTON9:
- case IPT_BUTTON10:
- case IPT_BUTTON11:
- case IPT_BUTTON12:
- case IPT_BUTTON13:
- case IPT_BUTTON14:
- case IPT_BUTTON15:
- case IPT_BUTTON16:
- nbutton = MAX(nbutton, field->type - IPT_BUTTON1 + 1);
- break;
-
- case IPT_COIN1:
- case IPT_COIN2:
- case IPT_COIN3:
- case IPT_COIN4:
- case IPT_COIN5:
- case IPT_COIN6:
- case IPT_COIN7:
- case IPT_COIN8:
- ncoin = MAX(ncoin, field->type - IPT_COIN1 + 1);
-
- case IPT_SERVICE :
- service = "yes";
- break;
-
- case IPT_TILT :
- tilt = "yes";
- break;
-
- case IPT_KEYPAD:
- control[ckeypad].keyb = 1;
- break;
-
- case IPT_KEYBOARD:
- control[ckeyboard].keyb = 1;
- break;
- }
-
- /* get the analog stats */
- if (analogcontrol)
- {
- //controlsyes = 1;
- control[analogcontrol].analog = 1;
-
- if (field->min)
- control[analogcontrol].min = field->min;
- if (field->max)
- control[analogcontrol].max = field->max;
- if (field->sensitivity)
- control[analogcontrol].sensitivity = field->sensitivity;
- if (field->delta)
- control[analogcontrol].keydelta = field->delta;
- if (field->flags & ANALOG_FLAG_REVERSE)
- control[analogcontrol].reverse = 1;
-
- analogcontrol = 0;
- }
- }
-
- fprintf(out, "\t\t<input");
- fprintf(out, " players=\"%d\"", nplayer);
- if (nbutton != 0)
- fprintf(out, " buttons=\"%d\"", nbutton);
- if (ncoin != 0)
- fprintf(out, " coins=\"%d\"", ncoin);
- if (service != NULL)
- fprintf(out, " service=\"%s\"", xml_normalize_string(service));
- if (tilt != NULL)
- fprintf(out, " tilt=\"%s\"", xml_normalize_string(tilt));
- fprintf(out, ">\n");
-
- for (i = 0; i < ENDCONTROLTYPES; i++)
- {
- if (control[i].Xway != NULL)
- fprintf(out, "\t\t\t<control type=\"%s\"/>\n", xml_normalize_string(control[i].Xway));
- if (control[i].analog)
- {
- fprintf(out, "\t\t\t<control type=\"%s\"", xml_normalize_string(control_types[i]));
- if (control[i].min || control[i].max)
- {
- fprintf(out, " minimum=\"%d\"", control[i].min);
- fprintf(out, " maximum=\"%d\"", control[i].max);
+ // must stop here, as there can only be one attribute of the same name
+ return;
}
- if (control[i].sensitivity)
- fprintf(out, " sensitivity=\"%d\"", control[i].sensitivity);
- if (control[i].keydelta)
- fprintf(out, " keydelta=\"%d\"", control[i].keydelta);
- if (control[i].reverse)
- fprintf(out, " reverse=\"yes\"");
-
- fprintf(out, "/>\n");
- }
- if (control[i].keyb)
- {
- fprintf(out, "\t\t\t<control type=\"%s\"/>\n", xml_normalize_string(control_types[i]));
- }
}
- fprintf(out, "\t\t</input>\n");
}
-/*-------------------------------------------------
- print_game_bios - print the BIOS set for a
- game
--------------------------------------------------*/
+//-------------------------------------------------
+// output_bios - print the BIOS set for a
+// game
+//-------------------------------------------------
-static void print_game_bios(FILE *out, const game_driver *game)
+void info_xml_creator::output_bios()
{
- const rom_entry *rom;
-
- /* skip if no ROMs */
- if (game->rom == NULL)
+ // skip if no ROMs
+ if (m_drivlist.driver().rom == NULL)
return;
- /* iterate over ROM entries and look for BIOSes */
- for (rom = game->rom; !ROMENTRY_ISEND(rom); rom++)
+ // iterate over ROM entries and look for BIOSes
+ for (const rom_entry *rom = m_drivlist.driver().rom; !ROMENTRY_ISEND(rom); rom++)
if (ROMENTRY_ISSYSTEM_BIOS(rom))
{
- const char *name = ROM_GETNAME(rom);
- const char *description = ROM_GETHASHDATA(rom);
-
- /* output extracted name and descriptions */
- fprintf(out, "\t\t<biosset");
- fprintf(out, " name=\"%s\"", xml_normalize_string(name));
- fprintf(out, " description=\"%s\"", xml_normalize_string(description));
+ // 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)));
if (ROM_GETBIOSFLAGS(rom) == 1)
- fprintf(out, " default=\"yes\"");
- fprintf(out, "/>\n");
+ fprintf(m_output, " default=\"yes\"");
+ fprintf(m_output, "/>\n");
}
}
-/*-------------------------------------------------
- get_merge_name - get the rom name from a
- parent set
--------------------------------------------------*/
-
-static const char *get_merge_name(const hash_collection &romhashes, int parents, const parent_info **pinfoarray)
-{
- int parent;
- const char *merge_name = NULL;
-
- for (parent = 0; parent < parents; ++parent)
- {
- const machine_config *pconfig = &pinfoarray[parent]->mconfig;
- const rom_source *psource;
- const rom_entry *pregion, *prom;
-
- /* scan the clone_of ROM for a matching ROM entry */
- for (psource = rom_first_source(*pconfig); psource != NULL; psource = rom_next_source(*psource))
- for (pregion = rom_first_region(*psource); pregion != NULL; pregion = rom_next_region(pregion))
- for (prom = rom_first_file(pregion); prom != NULL; prom = rom_next_file(prom))
- {
- hash_collection phashes(ROM_GETHASHDATA(prom));
- if (!phashes.flag(hash_collection::FLAG_NO_DUMP) && romhashes == phashes)
- {
- merge_name = ROM_GETNAME(prom);
- break;
- }
- }
- }
-
- return merge_name;
-}
+//-------------------------------------------------
+// output_rom - print the roms section of
+// the XML output
+//-------------------------------------------------
-
-/*-------------------------------------------------
- print_game_rom - print the roms section of
- the XML output
--------------------------------------------------*/
-
-static void print_game_rom(FILE *out, const game_driver *game, const machine_config &config)
+void info_xml_creator::output_rom()
{
- const game_driver *clone_of = driver_get_clone(game);
- int rom_type;
- int parents = 0;
- const parent_info *pinfoarray[4];
-
- for (; clone_of != NULL; clone_of = driver_get_clone(clone_of))
- {
- assert_always(parents < ARRAY_LENGTH(pinfoarray), "too many parents");
- pinfoarray[parents++] = global_alloc(parent_info(clone_of, config.options()));
- }
-
- /* iterate over 3 different ROM "types": BIOS, ROMs, DISKs */
- for (rom_type = 0; rom_type < 3; rom_type++)
+ // iterate over 3 different ROM "types": BIOS, ROMs, DISKs
+ for (int rom_type = 0; rom_type < 3; rom_type++)
{
- const rom_source *source;
- const rom_entry *region;
-
- /* iterate over ROM sources: first the game, then any devices */
- for (source = rom_first_source(config); source != NULL; source = rom_next_source(*source))
- for (region = rom_first_region(*source); region != NULL; region = rom_next_region(region))
+ // iterate over ROM sources: first the game, then any devices
+ for (const rom_source *source = rom_first_source(m_drivlist.config()); source != NULL; source = rom_next_source(*source))
+ for (const rom_entry *region = rom_first_region(*source); region != NULL; region = rom_next_region(region))
{
- int is_disk = ROMREGION_ISDISKDATA(region);
- const rom_entry *rom;
+ bool is_disk = ROMREGION_ISDISKDATA(region);
- /* disk regions only work for disks */
+ // disk regions only work for disks
if ((is_disk && rom_type != 2) || (!is_disk && rom_type == 2))
continue;
- /* iterate through ROM entries */
- for (rom = rom_first_file(region); rom != NULL; rom = rom_next_file(rom))
+ // iterate through ROM entries
+ for (const rom_entry *rom = rom_first_file(region); rom != NULL; rom = rom_next_file(rom))
{
- int is_bios = ROM_GETBIOSFLAGS(rom);
+ bool is_bios = ROM_GETBIOSFLAGS(rom);
const char *name = ROM_GETNAME(rom);
int offset = ROM_GETOFFSET(rom);
const char *merge_name = NULL;
char bios_name[100];
- /* BIOS ROMs only apply to bioses */
+ // BIOS ROMs only apply to bioses
if ((is_bios && rom_type != 0) || (!is_bios && rom_type == 0))
continue;
- /* if we have a valid ROM and we are a clone, see if we can find the parent ROM */
+ // if we have a valid ROM and we are a clone, see if we can find the parent ROM
hash_collection hashes(ROM_GETHASHDATA(rom));
- if (!hashes.flag(hash_collection::FLAG_NO_DUMP) && parents > 0)
- {
- merge_name = get_merge_name(hashes, parents, pinfoarray);
- }
+ if (!hashes.flag(hash_collection::FLAG_NO_DUMP))
+ merge_name = get_merge_name(hashes);
- /* scan for a BIOS name */
+ // scan for a BIOS name
bios_name[0] = 0;
if (!is_disk && is_bios)
{
- const rom_entry *brom;
-
- /* scan backwards through the ROM entries */
- for (brom = rom - 1; brom != game->rom; brom--)
+ // scan backwards through the ROM entries
+ for (const rom_entry *brom = rom - 1; brom != m_drivlist.driver().rom; brom--)
if (ROMENTRY_ISSYSTEM_BIOS(brom))
{
strcpy(bios_name, ROM_GETNAME(brom));
@@ -553,281 +435,521 @@ static void print_game_rom(FILE *out, const game_driver *game, const machine_con
}
}
- /* opening tag */
+ // opening tag
if (!is_disk)
- fprintf(out, "\t\t<rom");
+ fprintf(m_output, "\t\t<rom");
else
- fprintf(out, "\t\t<disk");
+ fprintf(m_output, "\t\t<disk");
- /* add name, merge, bios, and size tags */
+ // add name, merge, bios, and size tags */
if (name != NULL && name[0] != 0)
- fprintf(out, " name=\"%s\"", xml_normalize_string(name));
+ fprintf(m_output, " name=\"%s\"", xml_normalize_string(name));
if (merge_name != NULL)
- fprintf(out, " merge=\"%s\"", xml_normalize_string(merge_name));
+ fprintf(m_output, " merge=\"%s\"", xml_normalize_string(merge_name));
if (bios_name[0] != 0)
- fprintf(out, " bios=\"%s\"", xml_normalize_string(bios_name));
+ fprintf(m_output, " bios=\"%s\"", xml_normalize_string(bios_name));
if (!is_disk)
- fprintf(out, " size=\"%d\"", rom_file_size(rom));
+ fprintf(m_output, " size=\"%d\"", rom_file_size(rom));
- /* dump checksum information only if there is a known dump */
+ // dump checksum information only if there is a known dump
if (!hashes.flag(hash_collection::FLAG_NO_DUMP))
{
- /* iterate over hash function types and print out their values */
+ // iterate over hash function types and print m_output their values
astring tempstr;
for (hash_base *hash = hashes.first(); hash != NULL; hash = hash->next())
- fprintf(out, " %s=\"%s\"", hash->name(), hash->string(tempstr));
+ fprintf(m_output, " %s=\"%s\"", hash->name(), hash->string(tempstr));
}
- /* append a region name */
- fprintf(out, " region=\"%s\"", ROMREGION_GETTAG(region));
+ // append a region name
+ fprintf(m_output, " region=\"%s\"", ROMREGION_GETTAG(region));
- /* add nodump/baddump flags */
+ // add nodump/baddump flags
if (hashes.flag(hash_collection::FLAG_NO_DUMP))
- fprintf(out, " status=\"nodump\"");
+ fprintf(m_output, " status=\"nodump\"");
if (hashes.flag(hash_collection::FLAG_BAD_DUMP))
- fprintf(out, " status=\"baddump\"");
+ fprintf(m_output, " status=\"baddump\"");
- /* for non-disk entries, print offset */
+ // for non-disk entries, print offset
if (!is_disk)
- fprintf(out, " offset=\"%x\"", offset);
- /* for disk entries, add the disk index */
+ fprintf(m_output, " offset=\"%x\"", offset);
+
+ // for disk entries, add the disk index
else
- fprintf(out, " index=\"%x\"", DISK_GETINDEX(rom));
+ fprintf(m_output, " index=\"%x\"", DISK_GETINDEX(rom));
- /* add optional flag */
+ // add optional flag
if ((!is_disk && ROM_ISOPTIONAL(rom)) || (is_disk && DISK_ISOPTIONAL(rom)))
- fprintf(out, " optional=\"yes\"");
+ fprintf(m_output, " optional=\"yes\"");
- fprintf(out, "/>\n");
+ fprintf(m_output, "/>\n");
}
}
}
-
- for (; parents > 0; parents--)
- global_free(pinfoarray[parents - 1]);
-}
-
-
-/*-------------------------------------------------
- print_game_sampleof - print the 'sampleof'
- attribute, if appropriate
--------------------------------------------------*/
-
-static void print_game_sampleof(FILE *out, const game_driver *game, const machine_config &config)
-{
- const device_config_sound_interface *sound = NULL;
-
- for (bool gotone = config.m_devicelist.first(sound); gotone; gotone = sound->next(sound))
- if (sound->devconfig().type() == SAMPLES)
- {
- const char *const *samplenames = ((const samples_interface *)sound->devconfig().static_config())->samplenames;
- if (samplenames != NULL)
- {
- int sampnum;
-
- /* iterate over sample names */
- for (sampnum = 0; samplenames[sampnum] != NULL; sampnum++)
- {
- const char *cursampname = samplenames[sampnum];
-
- /* only output sampleof if different from the game name */
- if (cursampname[0] == '*' && strcmp(cursampname + 1, game->name) != 0)
- fprintf(out, " sampleof=\"%s\"", xml_normalize_string(cursampname + 1));
-
- /* must stop here, as there can only be one attribute of the same name */
- return;
- }
- }
- }
}
-/*-------------------------------------------------
- print_game_sample - print a list of all
- samples referenced by a game_driver
--------------------------------------------------*/
+//-------------------------------------------------
+// output_sample - print a list of all
+// samples referenced by a game_driver
+//-------------------------------------------------
-static void print_game_sample(FILE *out, const game_driver *game, const machine_config &config)
+void info_xml_creator::output_sample()
{
- const device_config_sound_interface *sound = NULL;
+ // iterate over sample devices
+ for (const device_config *devconfig = m_drivlist.config().m_devicelist.first(SAMPLES); devconfig != NULL; devconfig = devconfig->typenext())
+ {
+ const char *const *samplenames = ((const samples_interface *)devconfig->static_config())->samplenames;
+ if (samplenames != NULL)
- /* iterate over sound chips looking for samples */
- for (bool gotone = config.m_devicelist.first(sound); gotone; gotone = sound->next(sound))
- if (sound->devconfig().type() == SAMPLES)
- {
- const char *const *samplenames = ((const samples_interface *)sound->devconfig().static_config())->samplenames;
- if (samplenames != NULL)
+ // iterate over sample names
+ for (int sampnum = 0; samplenames[sampnum] != NULL; sampnum++)
{
- int sampnum;
-
- /* iterate over sample names */
- for (sampnum = 0; samplenames[sampnum] != NULL; sampnum++)
- {
- const char *cursampname = samplenames[sampnum];
- int dupnum;
-
- /* ignore the special '*' samplename */
- if (sampnum == 0 && cursampname[0] == '*')
- continue;
+ // ignore the special '*' samplename
+ const char *cursampname = samplenames[sampnum];
+ if (sampnum == 0 && cursampname[0] == '*')
+ continue;
- /* filter out duplicates */
- for (dupnum = 0; dupnum < sampnum; dupnum++)
- if (strcmp(samplenames[dupnum], cursampname) == 0)
- break;
- if (dupnum < sampnum)
- continue;
+ // filter m_output duplicates
+ int dupnum;
+ for (dupnum = 0; dupnum < sampnum; dupnum++)
+ if (strcmp(samplenames[dupnum], cursampname) == 0)
+ break;
+ if (dupnum < sampnum)
+ continue;
- /* output the sample name */
- fprintf(out, "\t\t<sample name=\"%s\"/>\n", xml_normalize_string(cursampname));
- }
+ // output the sample name
+ fprintf(m_output, "\t\t<sample name=\"%s\"/>\n", xml_normalize_string(cursampname));
}
- }
+ }
}
/*-------------------------------------------------
- print_game_chips - print a list of CPU and
+ output_chips - print a list of CPU and
sound chips used by a game
-------------------------------------------------*/
-static void print_game_chips(FILE *out, const game_driver *game, const machine_config &config)
+void info_xml_creator::output_chips()
{
- /* iterate over CPUs */
+ // iterate over executable devices
const device_config_execute_interface *exec = NULL;
- for (bool gotone = config.m_devicelist.first(exec); gotone; gotone = exec->next(exec))
+ for (bool gotone = m_drivlist.config().m_devicelist.first(exec); gotone; gotone = exec->next(exec))
{
- fprintf(out, "\t\t<chip");
- fprintf(out, " type=\"cpu\"");
- fprintf(out, " tag=\"%s\"", xml_normalize_string(exec->devconfig().tag()));
- fprintf(out, " name=\"%s\"", xml_normalize_string(exec->devconfig().name()));
- fprintf(out, " clock=\"%d\"", exec->devconfig().clock());
- fprintf(out, "/>\n");
+ fprintf(m_output, "\t\t<chip");
+ fprintf(m_output, " type=\"cpu\"");
+ fprintf(m_output, " tag=\"%s\"", xml_normalize_string(exec->devconfig().tag()));
+ fprintf(m_output, " name=\"%s\"", xml_normalize_string(exec->devconfig().name()));
+ fprintf(m_output, " clock=\"%d\"", exec->devconfig().clock());
+ fprintf(m_output, "/>\n");
}
- /* iterate over sound chips */
+ // iterate over sound devices
const device_config_sound_interface *sound = NULL;
- for (bool gotone = config.m_devicelist.first(sound); gotone; gotone = sound->next(sound))
+ for (bool gotone = m_drivlist.config().m_devicelist.first(sound); gotone; gotone = sound->next(sound))
{
- fprintf(out, "\t\t<chip");
- fprintf(out, " type=\"audio\"");
- fprintf(out, " tag=\"%s\"", xml_normalize_string(sound->devconfig().tag()));
- fprintf(out, " name=\"%s\"", xml_normalize_string(sound->devconfig().name()));
+ fprintf(m_output, "\t\t<chip");
+ fprintf(m_output, " type=\"audio\"");
+ fprintf(m_output, " tag=\"%s\"", xml_normalize_string(sound->devconfig().tag()));
+ fprintf(m_output, " name=\"%s\"", xml_normalize_string(sound->devconfig().name()));
if (sound->devconfig().clock() != 0)
- fprintf(out, " clock=\"%d\"", sound->devconfig().clock());
- fprintf(out, "/>\n");
+ fprintf(m_output, " clock=\"%d\"", sound->devconfig().clock());
+ fprintf(m_output, "/>\n");
}
}
-/*-------------------------------------------------
- print_game_display - print a list of all the
- displays
--------------------------------------------------*/
+//-------------------------------------------------
+// output_display - print a list of all the
+// displays
+//-------------------------------------------------
-static void print_game_display(FILE *out, const game_driver *game, const machine_config &config)
+void info_xml_creator::output_display()
{
- const screen_device_config *devconfig;
-
- /* iterate over screens */
- for (devconfig = config.first_screen(); devconfig != NULL; devconfig = devconfig->next_screen())
+ // iterate over screens
+ for (const screen_device_config *devconfig = m_drivlist.config().first_screen(); devconfig != NULL; devconfig = devconfig->next_screen())
{
- fprintf(out, "\t\t<display");
+ fprintf(m_output, "\t\t<display");
switch (devconfig->screen_type())
{
- case SCREEN_TYPE_RASTER: fprintf(out, " type=\"raster\""); break;
- case SCREEN_TYPE_VECTOR: fprintf(out, " type=\"vector\""); break;
- case SCREEN_TYPE_LCD: fprintf(out, " type=\"lcd\""); break;
- default: fprintf(out, " type=\"unknown\""); break;
+ case SCREEN_TYPE_RASTER: fprintf(m_output, " type=\"raster\""); break;
+ case SCREEN_TYPE_VECTOR: fprintf(m_output, " type=\"vector\""); break;
+ case SCREEN_TYPE_LCD: fprintf(m_output, " type=\"lcd\""); break;
+ default: fprintf(m_output, " type=\"unknown\""); break;
}
- /* output the orientation as a string */
- switch (game->flags & ORIENTATION_MASK)
+ // output the orientation as a string
+ switch (m_drivlist.driver().flags & ORIENTATION_MASK)
{
case ORIENTATION_FLIP_X:
- fprintf(out, " rotate=\"0\" flipx=\"yes\"");
+ fprintf(m_output, " rotate=\"0\" flipx=\"yes\"");
break;
case ORIENTATION_FLIP_Y:
- fprintf(out, " rotate=\"180\" flipx=\"yes\"");
+ fprintf(m_output, " rotate=\"180\" flipx=\"yes\"");
break;
case ORIENTATION_FLIP_X|ORIENTATION_FLIP_Y:
- fprintf(out, " rotate=\"180\"");
+ fprintf(m_output, " rotate=\"180\"");
break;
case ORIENTATION_SWAP_XY:
- fprintf(out, " rotate=\"90\" flipx=\"yes\"");
+ fprintf(m_output, " rotate=\"90\" flipx=\"yes\"");
break;
case ORIENTATION_SWAP_XY|ORIENTATION_FLIP_X:
- fprintf(out, " rotate=\"90\"");
+ fprintf(m_output, " rotate=\"90\"");
break;
case ORIENTATION_SWAP_XY|ORIENTATION_FLIP_Y:
- fprintf(out, " rotate=\"270\"");
+ fprintf(m_output, " rotate=\"270\"");
break;
case ORIENTATION_SWAP_XY|ORIENTATION_FLIP_X|ORIENTATION_FLIP_Y:
- fprintf(out, " rotate=\"270\" flipx=\"yes\"");
+ fprintf(m_output, " rotate=\"270\" flipx=\"yes\"");
break;
default:
- fprintf(out, " rotate=\"0\"");
+ fprintf(m_output, " rotate=\"0\"");
break;
}
- /* output width and height only for games that are not vector */
+ // output width and height only for games that are not vector
if (devconfig->screen_type() != SCREEN_TYPE_VECTOR)
{
const rectangle &visarea = devconfig->visible_area();
- int dx = visarea.max_x - visarea.min_x + 1;
- int dy = visarea.max_y - visarea.min_y + 1;
-
- fprintf(out, " width=\"%d\"", dx);
- fprintf(out, " height=\"%d\"", dy);
+ fprintf(m_output, " width=\"%d\"", visarea.max_x - visarea.min_x + 1);
+ fprintf(m_output, " height=\"%d\"", visarea.max_y - visarea.min_y + 1);
}
- /* output refresh rate */
- fprintf(out, " refresh=\"%f\"", ATTOSECONDS_TO_HZ(devconfig->refresh()));
+ // output refresh rate
+ fprintf(m_output, " refresh=\"%f\"", ATTOSECONDS_TO_HZ(devconfig->refresh()));
- /* output raw video parameters only for games that are not vector */
- /* and had raw parameters specified */
+ // output raw video parameters only for games that are not vector
+ // and had raw parameters specified
if (devconfig->screen_type() != SCREEN_TYPE_VECTOR && !devconfig->oldstyle_vblank_supplied())
{
int pixclock = devconfig->width() * devconfig->height() * ATTOSECONDS_TO_HZ(devconfig->refresh());
- fprintf(out, " pixclock=\"%d\"", pixclock);
- fprintf(out, " htotal=\"%d\"", devconfig->width());
- fprintf(out, " hbend=\"%d\"", devconfig->visible_area().min_x);
- fprintf(out, " hbstart=\"%d\"", devconfig->visible_area().max_x+1);
- fprintf(out, " vtotal=\"%d\"", devconfig->height());
- fprintf(out, " vbend=\"%d\"", devconfig->visible_area().min_y);
- fprintf(out, " vbstart=\"%d\"", devconfig->visible_area().max_y+1);
+ fprintf(m_output, " pixclock=\"%d\"", pixclock);
+ fprintf(m_output, " htotal=\"%d\"", devconfig->width());
+ fprintf(m_output, " hbend=\"%d\"", devconfig->visible_area().min_x);
+ fprintf(m_output, " hbstart=\"%d\"", devconfig->visible_area().max_x+1);
+ fprintf(m_output, " vtotal=\"%d\"", devconfig->height());
+ fprintf(m_output, " vbend=\"%d\"", devconfig->visible_area().min_y);
+ fprintf(m_output, " vbstart=\"%d\"", devconfig->visible_area().max_y+1);
}
- fprintf(out, " />\n");
+ fprintf(m_output, " />\n");
}
}
-/*-------------------------------------------------
- print_game_sound - print a list of all the
- displays
--------------------------------------------------*/
+//-------------------------------------------------
+// output_sound - print a list of all the
+// displays
+//------------------------------------------------
-static void print_game_sound(FILE *out, const game_driver *game, const machine_config &config)
+void info_xml_creator::output_sound()
{
- int speakers = config.m_devicelist.count(SPEAKER);
+ int speakers = m_drivlist.config().m_devicelist.count(SPEAKER);
- /* if we have no sound, zero out the speaker count */
+ // if we have no sound, zero m_output the speaker count
const device_config_sound_interface *sound = NULL;
- if (!config.m_devicelist.first(sound))
+ if (!m_drivlist.config().m_devicelist.first(sound))
speakers = 0;
- fprintf(out, "\t\t<sound channels=\"%d\"/>\n", speakers);
+ fprintf(m_output, "\t\t<sound channels=\"%d\"/>\n", speakers);
}
-/*-------------------------------------------------
- print_game_driver - print driver status
--------------------------------------------------*/
+//-------------------------------------------------
+// output_input - print a summary of a game's
+// input
+//-------------------------------------------------
-static void print_game_driver(FILE *out, const game_driver *game, const machine_config &config)
+void info_xml_creator::output_input(const ioport_list &portlist)
{
- fprintf(out, "\t\t<driver");
+ // enumerated list of control types
+ enum
+ {
+ ANALOG_TYPE_JOYSTICK,
+ ANALOG_TYPE_DIAL,
+ ANALOG_TYPE_TRACKBALL,
+ ANALOG_TYPE_PADDLE,
+ ANALOG_TYPE_LIGHTGUN,
+ ANALOG_TYPE_PEDAL,
+ ANALOG_TYPE_COUNT
+ };
+
+ // directions
+ const UINT8 DIR_LEFTRIGHT = 0x01;
+ const UINT8 DIR_UPDOWN = 0x02;
+ const UINT8 DIR_4WAY = 0x04;
+ const UINT8 DIR_DUAL = 0x08;
+
+ // initialize the list of control types
+ struct
+ {
+ const char * type; /* general type of input */
+ bool analog;
+ bool keyb;
+ INT32 min; /* analog minimum value */
+ INT32 max; /* analog maximum value */
+ INT32 sensitivity; /* default analog sensitivity */
+ INT32 keydelta; /* default analog keydelta */
+ bool reverse; /* default analog reverse setting */
+ } control_info[ANALOG_TYPE_COUNT];
+
+ memset(&control_info, 0, sizeof(control_info));
+
+ // tracking info as we iterate
+ int nplayer = 0;
+ int nbutton = 0;
+ int ncoin = 0;
+ UINT8 joytype = 0;
+ bool service = false;
+ bool tilt = false;
+ bool keypad = false;
+ bool keyboard = false;
+
+ // iterate over the ports
+ for (const input_port_config *port = portlist.first(); port != NULL; port = port->next())
+ for (const input_field_config *field = port->fieldlist; field != NULL; field = field->next)
+ {
+ int analogtype = -1;
+
+ // track the highest player number
+ if (nplayer < field->player + 1)
+ nplayer = field->player + 1;
+
+ // switch off of the type
+ switch (field->type)
+ {
+ // map which joystick directions are present
+ case IPT_JOYSTICKRIGHT_LEFT:
+ case IPT_JOYSTICKRIGHT_RIGHT:
+ case IPT_JOYSTICKLEFT_LEFT:
+ case IPT_JOYSTICKLEFT_RIGHT:
+ joytype |= DIR_DUAL;
+ // fall through...
+
+ case IPT_JOYSTICK_LEFT:
+ case IPT_JOYSTICK_RIGHT:
+ joytype |= DIR_LEFTRIGHT | ((field->way == 4) ? DIR_4WAY : 0);
+ break;
+
+ case IPT_JOYSTICKRIGHT_UP:
+ case IPT_JOYSTICKRIGHT_DOWN:
+ case IPT_JOYSTICKLEFT_UP:
+ case IPT_JOYSTICKLEFT_DOWN:
+ joytype |= DIR_DUAL;
+ // fall through...
+
+ case IPT_JOYSTICK_UP:
+ case IPT_JOYSTICK_DOWN:
+ joytype |= DIR_UPDOWN | ((field->way == 4) ? DIR_4WAY : 0);
+ break;
+
+ // mark as an analog input, and get analog stats after switch
+ case IPT_PADDLE:
+ control_info[analogtype = ANALOG_TYPE_PADDLE].type = "paddle";
+ break;
+
+ case IPT_DIAL:
+ control_info[analogtype = ANALOG_TYPE_DIAL].type = "dial";
+ analogtype = ANALOG_TYPE_DIAL;
+ break;
+
+ case IPT_TRACKBALL_X:
+ case IPT_TRACKBALL_Y:
+ control_info[analogtype = ANALOG_TYPE_TRACKBALL].type = "trackball";
+ analogtype = ANALOG_TYPE_TRACKBALL;
+ break;
+
+ case IPT_AD_STICK_X:
+ case IPT_AD_STICK_Y:
+ control_info[analogtype = ANALOG_TYPE_JOYSTICK].type = "stick";
+ break;
+
+ case IPT_LIGHTGUN_X:
+ case IPT_LIGHTGUN_Y:
+ control_info[analogtype = ANALOG_TYPE_LIGHTGUN].type = "lightgun";
+ break;
+
+ case IPT_PEDAL:
+ case IPT_PEDAL2:
+ case IPT_PEDAL3:
+ control_info[analogtype = ANALOG_TYPE_PEDAL].type = "pedal";
+ break;
+
+ // track maximum button index
+ case IPT_BUTTON1:
+ case IPT_BUTTON2:
+ case IPT_BUTTON3:
+ case IPT_BUTTON4:
+ case IPT_BUTTON5:
+ case IPT_BUTTON6:
+ case IPT_BUTTON7:
+ case IPT_BUTTON8:
+ case IPT_BUTTON9:
+ case IPT_BUTTON10:
+ case IPT_BUTTON11:
+ case IPT_BUTTON12:
+ case IPT_BUTTON13:
+ case IPT_BUTTON14:
+ case IPT_BUTTON15:
+ case IPT_BUTTON16:
+ nbutton = MAX(nbutton, field->type - IPT_BUTTON1 + 1);
+ break;
+
+ // track maximum coin index
+ case IPT_COIN1:
+ case IPT_COIN2:
+ case IPT_COIN3:
+ case IPT_COIN4:
+ case IPT_COIN5:
+ case IPT_COIN6:
+ case IPT_COIN7:
+ case IPT_COIN8:
+ ncoin = MAX(ncoin, field->type - IPT_COIN1 + 1);
+ break;
+
+ // track presence of these guys
+ case IPT_KEYPAD:
+ keypad = true;
+ break;
+
+ case IPT_KEYBOARD:
+ keyboard = true;
+ break;
+
+ // additional types
+ case IPT_SERVICE:
+ service = true;
+ break;
+
+ case IPT_TILT:
+ tilt = true;
+ break;
+ }
+
+ // get the analog stats
+ if (analogtype != -1)
+ {
+ if (field->min != 0)
+ control_info[analogtype].min = field->min;
+ if (field->max != 0)
+ control_info[analogtype].max = field->max;
+ if (field->sensitivity != 0)
+ control_info[analogtype].sensitivity = field->sensitivity;
+ if (field->delta != 0)
+ control_info[analogtype].keydelta = field->delta;
+ if ((field->flags & ANALOG_FLAG_REVERSE) != 0)
+ control_info[analogtype].reverse = true;
+ }
+ }
+
+ // output the basic info
+ fprintf(m_output, "\t\t<input");
+ fprintf(m_output, " players=\"%d\"", nplayer);
+ if (nbutton != 0)
+ fprintf(m_output, " buttons=\"%d\"", nbutton);
+ if (ncoin != 0)
+ fprintf(m_output, " coins=\"%d\"", ncoin);
+ if (service)
+ fprintf(m_output, " service=\"yes\"");
+ if (tilt)
+ fprintf(m_output, " tilt=\"yes\"");
+ fprintf(m_output, ">\n");
+
+ // output the joystick types
+ if (joytype != 0)
+ {
+ const char *vertical = ((joytype & DIR_LEFTRIGHT) == 0) ? "v" : "";
+ const char *doubletype = ((joytype & DIR_DUAL) != 0) ? "doublejoy" : "joy";
+ const char *way = ((joytype & DIR_LEFTRIGHT) == 0 || (joytype & DIR_UPDOWN) == 0) ? "2way" : ((joytype & DIR_4WAY) != 0) ? "4way" : "8way";
+ fprintf(m_output, "\t\t\t<control type=\"%s%s%s\"/>\n", vertical, doubletype, way);
+ }
+
+ // output analog types
+ for (int type = 0; type < ANALOG_TYPE_COUNT; type++)
+ if (control_info[type].type != NULL)
+ {
+ fprintf(m_output, "\t\t\t<control type=\"%s\"", xml_normalize_string(control_info[type].type));
+ if (control_info[type].min != 0 || control_info[type].max != 0)
+ {
+ fprintf(m_output, " minimum=\"%d\"", control_info[type].min);
+ fprintf(m_output, " maximum=\"%d\"", control_info[type].max);
+ }
+ if (control_info[type].sensitivity != 0)
+ fprintf(m_output, " sensitivity=\"%d\"", control_info[type].sensitivity);
+ if (control_info[type].keydelta != 0)
+ fprintf(m_output, " keydelta=\"%d\"", control_info[type].keydelta);
+ if (control_info[type].reverse)
+ fprintf(m_output, " reverse=\"yes\"");
+
+ fprintf(m_output, "/>\n");
+ }
+
+ // output keypad and keyboard
+ if (keypad)
+ fprintf(m_output, "\t\t\t<control type=\"keypad\"/>\n");
+ if (keyboard)
+ fprintf(m_output, "\t\t\t<control type=\"keyboard\"/>\n");
+
+ fprintf(m_output, "\t\t</input>\n");
+}
+
+
+//-------------------------------------------------
+// output_switches - print the configurations or
+// DIP switch settings
+//-------------------------------------------------
+
+void info_xml_creator::output_switches(const ioport_list &portlist, int type, const char *outertag, const char *innertag)
+{
+ // iterate looking for DIP switches
+ for (const input_port_config *port = portlist.first(); port != NULL; port = port->next())
+ for (const input_field_config *field = port->fieldlist; field != NULL; field = field->next)
+ if (field->type == type)
+ {
+ // output the switch name information
+ fprintf(m_output, "\t\t<%s name=\"%s\"", outertag, xml_normalize_string(input_field_name(field)));
+ fprintf(m_output, " tag=\"%s\"", xml_normalize_string(field->port->tag));
+ fprintf(m_output, " mask=\"%u\"", field->mask);
+ fprintf(m_output, ">\n");
+
+ // loop over settings
+ for (const input_setting_config *setting = field->settinglist; setting != NULL; setting = setting->next)
+ {
+ fprintf(m_output, "\t\t\t<%s name=\"%s\"", innertag, xml_normalize_string(setting->name));
+ fprintf(m_output, " value=\"%u\"", setting->value);
+ if (setting->value == field->defvalue)
+ fprintf(m_output, " default=\"yes\"");
+ fprintf(m_output, "/>\n");
+ }
+
+ // terminate the switch entry
+ fprintf(m_output, "\t\t</%s>\n", outertag);
+ }
+}
+
+
+//-------------------------------------------------
+// output_adjusters - print the Analog
+// Adjusters for a game
+//-------------------------------------------------
+
+void info_xml_creator::output_adjusters(const ioport_list &portlist)
+{
+ // iterate looking for Adjusters
+ for (const input_port_config *port = portlist.first(); port != NULL; port = port->next())
+ for (const input_field_config *field = port->fieldlist; field != NULL; field = field->next)
+ if (field->type == IPT_ADJUSTER)
+ fprintf(m_output, "\t\t<adjuster name=\"%s\" default=\"%d\"/>\n", xml_normalize_string(input_field_name(field)), field->defvalue);
+}
+
+
+//-------------------------------------------------
+// output_driver - print driver status
+//-------------------------------------------------
+
+void info_xml_creator::output_driver()
+{
+ fprintf(m_output, "\t\t<driver");
/* The status entry is an hint for frontend authors */
/* to select working and not working games without */
@@ -837,444 +959,210 @@ static void print_game_driver(FILE *out, const game_driver *game, const machine_
/* some minor issues, games marked as status=preliminary */
/* don't work or have major emulation problems. */
- if (game->flags & (GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND | GAME_WRONG_COLORS))
- fprintf(out, " status=\"preliminary\"");
- else if (game->flags & (GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS))
- fprintf(out, " status=\"imperfect\"");
+ if (m_drivlist.driver().flags & (GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND | GAME_WRONG_COLORS))
+ fprintf(m_output, " status=\"preliminary\"");
+ else if (m_drivlist.driver().flags & (GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS))
+ fprintf(m_output, " status=\"imperfect\"");
else
- fprintf(out, " status=\"good\"");
+ fprintf(m_output, " status=\"good\"");
- if (game->flags & GAME_NOT_WORKING)
- fprintf(out, " emulation=\"preliminary\"");
+ if (m_drivlist.driver().flags & GAME_NOT_WORKING)
+ fprintf(m_output, " emulation=\"preliminary\"");
else
- fprintf(out, " emulation=\"good\"");
+ fprintf(m_output, " emulation=\"good\"");
- if (game->flags & GAME_WRONG_COLORS)
- fprintf(out, " color=\"preliminary\"");
- else if (game->flags & GAME_IMPERFECT_COLORS)
- fprintf(out, " color=\"imperfect\"");
+ if (m_drivlist.driver().flags & GAME_WRONG_COLORS)
+ fprintf(m_output, " color=\"preliminary\"");
+ else if (m_drivlist.driver().flags & GAME_IMPERFECT_COLORS)
+ fprintf(m_output, " color=\"imperfect\"");
else
- fprintf(out, " color=\"good\"");
+ fprintf(m_output, " color=\"good\"");
- if (game->flags & GAME_NO_SOUND)
- fprintf(out, " sound=\"preliminary\"");
- else if (game->flags & GAME_IMPERFECT_SOUND)
- fprintf(out, " sound=\"imperfect\"");
+ if (m_drivlist.driver().flags & GAME_NO_SOUND)
+ fprintf(m_output, " sound=\"preliminary\"");
+ else if (m_drivlist.driver().flags & GAME_IMPERFECT_SOUND)
+ fprintf(m_output, " sound=\"imperfect\"");
else
- fprintf(out, " sound=\"good\"");
+ fprintf(m_output, " sound=\"good\"");
- if (game->flags & GAME_IMPERFECT_GRAPHICS)
- fprintf(out, " graphic=\"imperfect\"");
+ if (m_drivlist.driver().flags & GAME_IMPERFECT_GRAPHICS)
+ fprintf(m_output, " graphic=\"imperfect\"");
else
- fprintf(out, " graphic=\"good\"");
+ fprintf(m_output, " graphic=\"good\"");
- if (game->flags & GAME_NO_COCKTAIL)
- fprintf(out, " cocktail=\"preliminary\"");
+ if (m_drivlist.driver().flags & GAME_NO_COCKTAIL)
+ fprintf(m_output, " cocktail=\"preliminary\"");
- if (game->flags & GAME_UNEMULATED_PROTECTION)
- fprintf(out, " protection=\"preliminary\"");
+ if (m_drivlist.driver().flags & GAME_UNEMULATED_PROTECTION)
+ fprintf(m_output, " protection=\"preliminary\"");
- if (game->flags & GAME_SUPPORTS_SAVE)
- fprintf(out, " savestate=\"supported\"");
+ if (m_drivlist.driver().flags & GAME_SUPPORTS_SAVE)
+ fprintf(m_output, " savestate=\"supported\"");
else
- fprintf(out, " savestate=\"unsupported\"");
+ fprintf(m_output, " savestate=\"unsupported\"");
- fprintf(out, " palettesize=\"%d\"", config.m_total_colors);
+ fprintf(m_output, " palettesize=\"%d\"", m_drivlist.config().m_total_colors);
- fprintf(out, "/>\n");
+ fprintf(m_output, "/>\n");
}
-/*-------------------------------------------------
- print_game_categories - print the Categories
- settings for a system
--------------------------------------------------*/
-static void print_game_categories(FILE *out, const game_driver *game, const ioport_list &portlist)
-{
- const input_port_config *port;
- const input_field_config *field;
+//-------------------------------------------------
+// output_categories - print the Categories
+// settings for a system
+//-------------------------------------------------
- /* iterate looking for Categories */
- for (port = portlist.first(); port != NULL; port = port->next())
- for (field = port->fieldlist; field != NULL; field = field->next)
+void info_xml_creator::output_categories(const ioport_list &portlist)
+{
+ // iterate looking for Categories
+ for (const input_port_config *port = portlist.first(); port != NULL; port = port->next())
+ for (const input_field_config *field = port->fieldlist; field != NULL; field = field->next)
if (field->type == IPT_CATEGORY)
{
- const input_setting_config *setting;
-
- /* output the category name information */
- fprintf(out, "\t\t<category name=\"%s\">\n", xml_normalize_string(input_field_name(field)));
+ // output the category name information
+ fprintf(m_output, "\t\t<category name=\"%s\">\n", xml_normalize_string(input_field_name(field)));
- /* loop over item settings */
- for (setting = field->settinglist; setting != NULL; setting = setting->next)
+ // loop over item settings
+ for (const input_setting_config *setting = field->settinglist; setting != NULL; setting = setting->next)
{
- fprintf(out, "\t\t\t<item name=\"%s\"", xml_normalize_string(setting->name));
+ fprintf(m_output, "\t\t\t<item name=\"%s\"", xml_normalize_string(setting->name));
if (setting->value == field->defvalue)
- fprintf(out, " default=\"yes\"");
- fprintf(out, "/>\n");
+ fprintf(m_output, " default=\"yes\"");
+ fprintf(m_output, "/>\n");
}
- /* terminate the category entry */
- fprintf(out, "\t\t</category>\n");
+ // terminate the category entry
+ fprintf(m_output, "\t\t</category>\n");
}
}
-/*-------------------------------------------------
- print_game_images - prints out all info on
- image devices
--------------------------------------------------*/
-static void print_game_images(FILE *out, const game_driver *game, const machine_config &config)
+//-------------------------------------------------
+// output_images - prints m_output all info on
+// image devices
+//-------------------------------------------------
+
+void info_xml_creator::output_images()
{
const device_config_image_interface *dev = NULL;
- const char *name;
- const char *shortname;
-
- for (bool gotone = config.m_devicelist.first(dev); gotone; gotone = dev->next(dev))
+ for (bool gotone = m_drivlist.config().m_devicelist.first(dev); gotone; gotone = dev->next(dev))
{
- /* print out device type */
- fprintf(out, "\t\t<device type=\"%s\"", xml_normalize_string(dev->image_type_name()));
+ // print m_output device type
+ fprintf(m_output, "\t\t<device type=\"%s\"", xml_normalize_string(dev->image_type_name()));
- /* does this device have a tag? */
+ // does this device have a tag?
if (dev->devconfig().tag())
- fprintf(out, " tag=\"%s\"", xml_normalize_string(dev->devconfig().tag()));
+ fprintf(m_output, " tag=\"%s\"", xml_normalize_string(dev->devconfig().tag()));
- /* is this device mandatory? */
+ // is this device mandatory?
if (dev->must_be_loaded())
- fprintf(out, " mandatory=\"1\"");
+ fprintf(m_output, " mandatory=\"1\"");
- if (dev->image_interface()[0] )
- fprintf(out, " interface=\"%s\"", xml_normalize_string(dev->image_interface()));
+ if (dev->image_interface()[0])
+ fprintf(m_output, " interface=\"%s\"", xml_normalize_string(dev->image_interface()));
- /* close the XML tag */
- fprintf(out, ">\n");
+ // close the XML tag
+ fprintf(m_output, ">\n");
- name = dev->instance_name();
- shortname = dev->brief_instance_name();
+ const char *name = dev->instance_name();
+ const char *shortname = dev->brief_instance_name();
- fprintf(out, "\t\t\t<instance");
- fprintf(out, " name=\"%s\"", xml_normalize_string(name));
- fprintf(out, " briefname=\"%s\"", xml_normalize_string(shortname));
- fprintf(out, "/>\n");
+ 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, "/>\n");
astring extensions(dev->file_extensions());
- char *ext = strtok((char*)extensions.cstr(),",");
+ char *ext = strtok((char *)extensions.cstr(), ",");
while (ext != NULL)
{
- fprintf(out, "\t\t\t<extension");
- fprintf(out, " name=\"%s\"", xml_normalize_string(ext));
- fprintf(out, "/>\n");
- ext = strtok (NULL, ",");
+ fprintf(m_output, "\t\t\t<extension");
+ fprintf(m_output, " name=\"%s\"", xml_normalize_string(ext));
+ fprintf(m_output, "/>\n");
+ ext = strtok(NULL, ",");
}
- fprintf(out, "\t\t</device>\n");
+ fprintf(m_output, "\t\t</device>\n");
}
}
-/*-------------------------------------------------
- print_game_software_list - print the information
- for all known software lists for this system
--------------------------------------------------*/
-static void print_game_software_list(FILE *out, const game_driver *game, const machine_config &config)
+//-------------------------------------------------
+// output_software_list - print the information
+// for all known software lists for this system
+//-------------------------------------------------
+
+void info_xml_creator::output_software_list()
{
- for (const device_config *dev = config.m_devicelist.first(SOFTWARE_LIST); dev != NULL; dev = dev->typenext())
+ for (const device_config *dev = m_drivlist.config().m_devicelist.first(SOFTWARE_LIST); dev != NULL; dev = dev->typenext())
{
software_list_config *swlist = (software_list_config *)downcast<const legacy_device_config_base *>(dev)->inline_config();
- for ( int i = 0; i < DEVINFO_STR_SWLIST_MAX - DEVINFO_STR_SWLIST_0; i++ )
- {
- if ( swlist->list_name[i] )
+ for (int i = 0; i < DEVINFO_STR_SWLIST_MAX - DEVINFO_STR_SWLIST_0; i++)
+ if (swlist->list_name[i])
{
- fprintf(out, "\t\t<softwarelist name=\"%s\" ", swlist->list_name[i] );
- fprintf(out, "status=\"%s\" />\n", (swlist->list_type == SOFTWARE_LIST_ORIGINAL_SYSTEM) ? "original" : "compatible" );
+ fprintf(m_output, "\t\t<softwarelist name=\"%s\" ", swlist->list_name[i]);
+ fprintf(m_output, "status=\"%s\" />\n", (swlist->list_type == SOFTWARE_LIST_ORIGINAL_SYSTEM) ? "original" : "compatible");
}
- }
}
}
-/* device iteration helpers */
-#define ram_first(config) (config).m_devicelist.first(RAM)
-#define ram_next(previous) ((previous)->typenext())
-/*-------------------------------------------------
- print_game_ramoptions - prints out all RAM
- options for this system
--------------------------------------------------*/
-static void print_game_ramoptions(FILE *out, const game_driver *game, const machine_config &config)
-{
- const device_config *device;
- for (device = ram_first(config); device != NULL; device = ram_next(device))
+//-------------------------------------------------
+// output_ramoptions - prints m_output all RAM
+// options for this system
+//-------------------------------------------------
+
+void info_xml_creator::output_ramoptions()
+{
+ for (const device_config *device = m_drivlist.config().m_devicelist.first(RAM); device != NULL; device = device->typenext())
{
ram_config *ram = (ram_config *)downcast<const legacy_device_config_base *>(device)->inline_config();
- fprintf(out, "\t\t<ramoption default=\"1\">%u</ramoption>\n", ram_parse_string(ram->default_size));
+ fprintf(m_output, "\t\t<ramoption default=\"1\">%u</ramoption>\n", ram_parse_string(ram->default_size));
+
if (ram->extra_options != NULL)
{
- int j;
- int size = strlen(ram->extra_options);
- char * const s = mame_strdup(ram->extra_options);
- char * const e = s + size;
- char *p = s;
- for (j=0;j<size;j++) {
- if (p[j]==',') p[j]=0;
- }
- /* try to parse each option */
- while(p <= e)
+ astring options(ram->extra_options);
+ for (int start, end = options.chr(0, ','); ; start = end + 1, end = options.chr(start, ','))
{
- fprintf(out, "\t\t<ramoption>%u</ramoption>\n", ram_parse_string(p));
- p += strlen(p);
- if (p == e)
+ astring option;
+ option.cpysubstr(options, start, (end == -1) ? -1 : end - start);
+ fprintf(m_output, "\t\t<ramoption>%u</ramoption>\n", ram_parse_string(option));
+ if (end == -1)
break;
- p += 1;
}
-
- osd_free(s);
}
}
}
-/*-------------------------------------------------
- print_game_info - print the XML information
- for one particular game driver
--------------------------------------------------*/
-
-static void print_game_info(FILE *out, const game_driver *game, emu_options &options)
-{
- const game_driver *clone_of;
- machine_config config(*game, options);
- ioport_list portlist;
- const char *start;
-
- /* no action if not a game */
- if (game->flags & GAME_NO_STANDALONE)
- return;
- /* start tracking resources and allocate the machine and input configs */
- input_port_list_init(portlist, game->ipt, NULL, 0, FALSE, NULL);
- for (device_config *cfg = config.m_devicelist.first(); cfg != NULL; cfg = cfg->next())
- {
- if (cfg->input_ports() != NULL)
- input_port_list_init(portlist, cfg->input_ports(), NULL, 0, FALSE, cfg);
- }
-
- /* print the header and the game name */
- fprintf(out, "\t<" XML_TOP);
- fprintf(out, " name=\"%s\"", xml_normalize_string(game->name) );
+//-------------------------------------------------
+// get_merge_name - get the rom name from a
+// parent set
+//-------------------------------------------------
- /* strip away any path information from the source_file and output it */
- start = strrchr(game->source_file, '/');
- if (start == NULL)
- start = strrchr(game->source_file, '\\');
- if (start == NULL)
- start = game->source_file - 1;
- fprintf(out, " sourcefile=\"%s\"", xml_normalize_string(start + 1));
-
- /* append bios and runnable flags */
- if (game->flags & GAME_IS_BIOS_ROOT)
- fprintf(out, " isbios=\"yes\"");
- if (game->flags & GAME_NO_STANDALONE)
- fprintf(out, " runnable=\"no\"");
- if (game->flags & GAME_MECHANICAL)
- fprintf(out, " ismechanical=\"yes\"");
-
- /* display clone information */
- clone_of = driver_get_clone(game);
- if (clone_of != NULL && !(clone_of->flags & GAME_IS_BIOS_ROOT))
- fprintf(out, " cloneof=\"%s\"", xml_normalize_string(clone_of->name));
- if (clone_of != NULL)
- fprintf(out, " romof=\"%s\"", xml_normalize_string(clone_of->name));
-
- /* display sample information and close the game tag */
- print_game_sampleof(out, game, config);
- fprintf(out, ">\n");
-
- /* output game description */
- if (game->description != NULL)
- fprintf(out, "\t\t<description>%s</description>\n", xml_normalize_string(game->description));
-
- /* print the year only if is a number or another allowed character (? or +) */
- if (game->year != NULL && strspn(game->year, "0123456789?+") == strlen(game->year))
- fprintf(out, "\t\t<year>%s</year>\n", xml_normalize_string(game->year));
-
- /* print the manufacturer information */
- if (game->manufacturer != NULL)
- fprintf(out, "\t\t<manufacturer>%s</manufacturer>\n", xml_normalize_string(game->manufacturer));
-
- /* now print various additional information */
- print_game_bios(out, game);
- print_game_rom(out, game, config);
- print_game_sample(out, game, config);
- print_game_chips(out, game, config);
- print_game_display(out, game, config);
- print_game_sound(out, game, config);
- print_game_input(out, game, portlist);
- print_game_switches(out, game, portlist);
- print_game_configs(out, game, portlist);
- print_game_categories(out, game, portlist);
- print_game_adjusters(out, game, portlist);
- print_game_driver(out, game, config);
- print_game_images( out, game, config );
- print_game_software_list( out, game, config );
- print_game_ramoptions( out, game, config );
- /* close the topmost tag */
- fprintf(out, "\t</" XML_TOP ">\n");
-}
-
-
-/*-------------------------------------------------
- print_mame_xml - print the XML information
- for all known games
--------------------------------------------------*/
-
-void print_mame_xml(FILE *out, const game_driver *const games[], const char *gamename, emu_options &options)
+const char *info_xml_creator::get_merge_name(const hash_collection &romhashes)
{
- int drvnum;
-
- fprintf(out,
- "<?xml version=\"1.0\"?>\n"
- "<!DOCTYPE " XML_ROOT " [\n"
- "<!ELEMENT " XML_ROOT " (" XML_TOP "+)>\n"
- "\t<!ATTLIST " XML_ROOT " build CDATA #IMPLIED>\n"
- "\t<!ATTLIST " XML_ROOT " debug (yes|no) \"no\">\n"
- "\t<!ATTLIST " XML_ROOT " mameconfig CDATA #REQUIRED>\n"
- "\t<!ELEMENT " XML_TOP " (description, year?, manufacturer, biosset*, rom*, disk*, sample*, chip*, display*, sound?, input?, dipswitch*, configuration*, category*, adjuster*, driver?, device*, softwarelist*, ramoption*)>\n"
- "\t\t<!ATTLIST " XML_TOP " name CDATA #REQUIRED>\n"
- "\t\t<!ATTLIST " XML_TOP " sourcefile CDATA #IMPLIED>\n"
- "\t\t<!ATTLIST " XML_TOP " isbios (yes|no) \"no\">\n"
- "\t\t<!ATTLIST " XML_TOP " ismechanical (yes|no) \"no\">\n"
- "\t\t<!ATTLIST " XML_TOP " runnable (yes|no) \"yes\">\n"
- "\t\t<!ATTLIST " XML_TOP " cloneof CDATA #IMPLIED>\n"
- "\t\t<!ATTLIST " XML_TOP " romof CDATA #IMPLIED>\n"
- "\t\t<!ATTLIST " XML_TOP " sampleof CDATA #IMPLIED>\n"
- "\t\t<!ELEMENT description (#PCDATA)>\n"
- "\t\t<!ELEMENT year (#PCDATA)>\n"
- "\t\t<!ELEMENT manufacturer (#PCDATA)>\n"
- "\t\t<!ELEMENT biosset EMPTY>\n"
- "\t\t\t<!ATTLIST biosset name CDATA #REQUIRED>\n"
- "\t\t\t<!ATTLIST biosset description CDATA #REQUIRED>\n"
- "\t\t\t<!ATTLIST biosset default (yes|no) \"no\">\n"
- "\t\t<!ELEMENT rom EMPTY>\n"
- "\t\t\t<!ATTLIST rom name CDATA #REQUIRED>\n"
- "\t\t\t<!ATTLIST rom bios CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST rom size CDATA #REQUIRED>\n"
- "\t\t\t<!ATTLIST rom crc CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST rom md5 CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST rom sha1 CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST rom merge CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST rom region CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST rom offset CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST rom status (baddump|nodump|good) \"good\">\n"
- "\t\t\t<!ATTLIST rom optional (yes|no) \"no\">\n"
- "\t\t<!ELEMENT disk EMPTY>\n"
- "\t\t\t<!ATTLIST disk name CDATA #REQUIRED>\n"
- "\t\t\t<!ATTLIST disk md5 CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST disk sha1 CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST disk merge CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST disk region CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST disk index CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST disk status (baddump|nodump|good) \"good\">\n"
- "\t\t\t<!ATTLIST disk optional (yes|no) \"no\">\n"
- "\t\t<!ELEMENT sample EMPTY>\n"
- "\t\t\t<!ATTLIST sample name CDATA #REQUIRED>\n"
- "\t\t<!ELEMENT chip EMPTY>\n"
- "\t\t\t<!ATTLIST chip name CDATA #REQUIRED>\n"
- "\t\t\t<!ATTLIST chip tag CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST chip type (cpu|audio) #REQUIRED>\n"
- "\t\t\t<!ATTLIST chip clock CDATA #IMPLIED>\n"
- "\t\t<!ELEMENT display EMPTY>\n"
- "\t\t\t<!ATTLIST display type (raster|vector|lcd|unknown) #REQUIRED>\n"
- "\t\t\t<!ATTLIST display rotate (0|90|180|270) #REQUIRED>\n"
- "\t\t\t<!ATTLIST display flipx (yes|no) \"no\">\n"
- "\t\t\t<!ATTLIST display width CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST display height CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST display refresh CDATA #REQUIRED>\n"
- "\t\t\t<!ATTLIST display pixclock CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST display htotal CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST display hbend CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST display hbstart CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST display vtotal CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST display vbend CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST display vbstart CDATA #IMPLIED>\n"
- "\t\t<!ELEMENT sound EMPTY>\n"
- "\t\t\t<!ATTLIST sound channels CDATA #REQUIRED>\n"
- "\t\t<!ELEMENT input (control*)>\n"
- "\t\t\t<!ATTLIST input service (yes|no) \"no\">\n"
- "\t\t\t<!ATTLIST input tilt (yes|no) \"no\">\n"
- "\t\t\t<!ATTLIST input players CDATA #REQUIRED>\n"
- "\t\t\t<!ATTLIST input buttons CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST input coins CDATA #IMPLIED>\n"
- "\t\t\t<!ELEMENT control EMPTY>\n"
- "\t\t\t\t<!ATTLIST control type CDATA #REQUIRED>\n"
- "\t\t\t\t<!ATTLIST control minimum CDATA #IMPLIED>\n"
- "\t\t\t\t<!ATTLIST control maximum CDATA #IMPLIED>\n"
- "\t\t\t\t<!ATTLIST control sensitivity CDATA #IMPLIED>\n"
- "\t\t\t\t<!ATTLIST control keydelta CDATA #IMPLIED>\n"
- "\t\t\t\t<!ATTLIST control reverse (yes|no) \"no\">\n"
- "\t\t<!ELEMENT dipswitch (dipvalue*)>\n"
- "\t\t\t<!ATTLIST dipswitch name CDATA #REQUIRED>\n"
- "\t\t\t<!ATTLIST dipswitch tag CDATA #REQUIRED>\n"
- "\t\t\t<!ATTLIST dipswitch mask CDATA #REQUIRED>\n"
- "\t\t\t<!ELEMENT dipvalue EMPTY>\n"
- "\t\t\t\t<!ATTLIST dipvalue name CDATA #REQUIRED>\n"
- "\t\t\t\t<!ATTLIST dipvalue value CDATA #REQUIRED>\n"
- "\t\t\t\t<!ATTLIST dipvalue default (yes|no) \"no\">\n"
- "\t\t<!ELEMENT configuration (confsetting*)>\n"
- "\t\t\t<!ATTLIST configuration name CDATA #REQUIRED>\n"
- "\t\t\t<!ATTLIST configuration tag CDATA #REQUIRED>\n"
- "\t\t\t<!ATTLIST configuration mask CDATA #REQUIRED>\n"
- "\t\t\t<!ELEMENT confsetting EMPTY>\n"
- "\t\t\t\t<!ATTLIST confsetting name CDATA #REQUIRED>\n"
- "\t\t\t\t<!ATTLIST confsetting value CDATA #REQUIRED>\n"
- "\t\t\t\t<!ATTLIST confsetting default (yes|no) \"no\">\n"
- "\t\t<!ELEMENT category (item*)>\n"
- "\t\t\t<!ATTLIST category name CDATA #REQUIRED>\n"
- "\t\t\t<!ELEMENT item EMPTY>\n"
- "\t\t\t\t<!ATTLIST item name CDATA #REQUIRED>\n"
- "\t\t\t\t<!ATTLIST item default (yes|no) \"no\">\n"
- "\t\t<!ELEMENT adjuster EMPTY>\n"
- "\t\t\t<!ATTLIST adjuster name CDATA #REQUIRED>\n"
- "\t\t\t<!ATTLIST adjuster default CDATA #REQUIRED>\n"
- "\t\t<!ELEMENT driver EMPTY>\n"
- "\t\t\t<!ATTLIST driver status (good|imperfect|preliminary) #REQUIRED>\n"
- "\t\t\t<!ATTLIST driver emulation (good|imperfect|preliminary) #REQUIRED>\n"
- "\t\t\t<!ATTLIST driver color (good|imperfect|preliminary) #REQUIRED>\n"
- "\t\t\t<!ATTLIST driver sound (good|imperfect|preliminary) #REQUIRED>\n"
- "\t\t\t<!ATTLIST driver graphic (good|imperfect|preliminary) #REQUIRED>\n"
- "\t\t\t<!ATTLIST driver cocktail (good|imperfect|preliminary) #IMPLIED>\n"
- "\t\t\t<!ATTLIST driver protection (good|imperfect|preliminary) #IMPLIED>\n"
- "\t\t\t<!ATTLIST driver savestate (supported|unsupported) #REQUIRED>\n"
- "\t\t\t<!ATTLIST driver palettesize CDATA #REQUIRED>\n"
- "\t\t<!ELEMENT device (instance*, extension*)>\n"
- "\t\t\t<!ATTLIST device type CDATA #REQUIRED>\n"
- "\t\t\t<!ATTLIST device tag CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST device mandatory CDATA #IMPLIED>\n"
- "\t\t\t<!ATTLIST device interface CDATA #IMPLIED>\n"
- "\t\t\t<!ELEMENT instance EMPTY>\n"
- "\t\t\t\t<!ATTLIST instance name CDATA #REQUIRED>\n"
- "\t\t\t\t<!ATTLIST instance briefname CDATA #REQUIRED>\n"
- "\t\t\t<!ELEMENT extension EMPTY>\n"
- "\t\t\t\t<!ATTLIST extension name CDATA #REQUIRED>\n"
- "\t\t<!ELEMENT softwarelist EMPTY>\n"
- "\t\t\t<!ATTLIST softwarelist name CDATA #REQUIRED>\n"
- "\t\t\t<!ATTLIST softwarelist status (original|compatible) #REQUIRED>\n"
- "\t\t<!ELEMENT ramoption (#PCDATA)>\n"
- "\t\t\t<!ATTLIST ramoption default CDATA #IMPLIED>\n"
- "]>\n\n"
- "<" XML_ROOT " build=\"%s\" debug=\""
-#ifdef MAME_DEBUG
- "yes"
-#else
- "no"
-#endif
- "\" mameconfig=\"%d\">\n",
- xml_normalize_string(build_version),
- CONFIG_VERSION
- );
-
- for (drvnum = 0; games[drvnum] != NULL; drvnum++)
- if (mame_strwildcmp(gamename, games[drvnum]->name) == 0)
- print_game_info(out, games[drvnum], options);
+ const char *merge_name = NULL;
+
+ // walk the parent chain
+ for (int clone_of = m_drivlist.find(m_drivlist.driver().parent); clone_of != -1; clone_of = m_drivlist.find(m_drivlist.driver(clone_of).parent))
+
+ // look in the parent's ROMs
+ for (const rom_source *psource = rom_first_source(m_drivlist.config(clone_of)); psource != NULL; psource = rom_next_source(*psource))
+ for (const rom_entry *pregion = rom_first_region(*psource); pregion != NULL; pregion = rom_next_region(pregion))
+ for (const rom_entry *prom = rom_first_file(pregion); prom != NULL; prom = rom_next_file(prom))
+ {
+ hash_collection phashes(ROM_GETHASHDATA(prom));
+ if (!phashes.flag(hash_collection::FLAG_NO_DUMP) && romhashes == phashes)
+ {
+ // stop when we find a match
+ merge_name = ROM_GETNAME(prom);
+ break;
+ }
+ }
- fprintf(out, "</" XML_ROOT ">\n");
+ return merge_name;
}
diff --git a/src/emu/info.h b/src/emu/info.h
index 327354e2d6f..5fd260d05bf 100644
--- a/src/emu/info.h
+++ b/src/emu/info.h
@@ -4,8 +4,36 @@
Dumps the MAME internal data as an XML file.
- Copyright Nicola Salmoria and the MAME Team.
- Visit http://mamedev.org for licensing and usage restrictions.
+****************************************************************************
+
+ Copyright Aaron Giles
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name 'MAME' nor the names of its contributors may be
+ used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY AARON GILES ''AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL AARON GILES BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+ IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
***************************************************************************/
@@ -15,12 +43,47 @@
#define __INFO_H__
-/***************************************************************************
- FUNCTION PROTOTYPES
-***************************************************************************/
+//**************************************************************************
+// FUNCTION PROTOTYPES
+//**************************************************************************
+
+// helper class to putput
+class info_xml_creator
+{
+public:
+ // construction/destruction
+ info_xml_creator(driver_enumerator &drivlist);
+
+ // output
+ void output(FILE *out);
+
+private:
+ // internal helper
+ void output_one();
+ void output_sampleof();
+ void output_bios();
+ void output_rom();
+ void output_sample();
+ void output_chips();
+ void output_display();
+ void output_sound();
+ void output_input(const ioport_list &portlist);
+ void output_switches(const ioport_list &portlist, int type, const char *outertag, const char *innertag);
+ void output_adjusters(const ioport_list &portlist);
+ void output_categories(const ioport_list &portlist);
+ void output_driver();
+ void output_images();
+ void output_software_list();
+ void output_ramoptions();
+
+ const char *get_merge_name(const hash_collection &romhashes);
+
+ // internal state
+ FILE * m_output;
+ driver_enumerator & m_drivlist;
-/* print the MAME database in XML format */
-void print_mame_xml(FILE* out, const game_driver* const games[], const char *gamename, emu_options &options);
+ static const char s_dtd_string[];
+};
#endif /* __INFO_H__ */
diff --git a/src/mame/layout/pinball.lay b/src/emu/layout/pinball.lay
index 0372a828ac0..0372a828ac0 100644
--- a/src/mame/layout/pinball.lay
+++ b/src/emu/layout/pinball.lay
diff --git a/src/emu/machine.c b/src/emu/machine.c
index a0ed6794f14..7707468d556 100644
--- a/src/emu/machine.c
+++ b/src/emu/machine.c
@@ -943,8 +943,17 @@ driver_device_config_base::driver_device_config_base(const machine_config &mconf
void driver_device_config_base::static_set_game(device_config *device, const game_driver *game)
{
- downcast<driver_device_config_base *>(device)->m_system = game;
- downcast<driver_device_config_base *>(device)->m_shortname = game->name;
+ driver_device_config_base *base = downcast<driver_device_config_base *>(device);
+
+ base->m_system = game;
+
+ // set the short name to the game's name
+ base->m_shortname = game->name;
+
+ // and set the search path to include all parents
+ base->m_searchpath = game->name;
+ for (int parent = driver_list::clone(*game); parent != -1; parent = driver_list::clone(parent))
+ base->m_searchpath.cat(";").cat(driver_list::driver(parent).name);
}
diff --git a/src/emu/mame.c b/src/emu/mame.c
index 65d671b32ef..ea9452ac2de 100644
--- a/src/emu/mame.c
+++ b/src/emu/mame.c
@@ -157,7 +157,7 @@ int mame_execute(emu_options &options, osd_interface &osd)
const game_driver *system = options.system();
if (system == NULL)
{
- system = &GAME_NAME(empty);
+ system = &GAME_NAME(___empty);
if (firstgame)
started_empty = true;
}
diff --git a/src/emu/render.c b/src/emu/render.c
index 654534d3a52..5ca15bd77da 100644
--- a/src/emu/render.c
+++ b/src/emu/render.c
@@ -1642,10 +1642,10 @@ void render_target::load_layout_files(const char *layoutfile, bool singlefile)
load_layout_file(NULL, m_manager.machine().config().m_default_layout);
// try to load another file based on the parent driver name
- const game_driver *cloneof = driver_get_clone(&system);
- if (cloneof != NULL)
- if (!load_layout_file(cloneof->name, cloneof->name))
- load_layout_file(cloneof->name, "default");
+ int cloneof = driver_list::clone(system);
+ if (cloneof != -1)
+ if (!load_layout_file(driver_list::driver(cloneof).name, driver_list::driver(cloneof).name))
+ load_layout_file(driver_list::driver(cloneof).name, "default");
// now do the built-in layouts for single-screen games
if (m_manager.machine().m_devicelist.count(SCREEN) == 1)
diff --git a/src/emu/rendlay.c b/src/emu/rendlay.c
index c6e03f1c1d6..c3df4c94c9c 100644
--- a/src/emu/rendlay.c
+++ b/src/emu/rendlay.c
@@ -117,6 +117,10 @@
#include "lcd.lh"
#include "lcd_rot.lh"
+// generic dummy pinball layout
+#include "pinball.lh"
+
+
//**************************************************************************
// CONSTANTS
diff --git a/src/emu/romload.c b/src/emu/romload.c
index 760cfc46ac0..46cf9c09d81 100644
--- a/src/emu/romload.c
+++ b/src/emu/romload.c
@@ -614,7 +614,6 @@ static int open_rom_file(rom_load_data *romdata, const char *regiontag, const ro
{
file_error filerr = FILERR_NOT_FOUND;
UINT32 romsize = rom_file_size(romp);
- const game_driver *drv;
/* update status display */
display_loading_rom_message(romdata, ROM_GETNAME(romp));
@@ -626,9 +625,8 @@ static int open_rom_file(rom_load_data *romdata, const char *regiontag, const ro
/* attempt reading up the chain through the parents. It automatically also
attempts any kind of load by checksum supported by the archives. */
romdata->file = NULL;
- for (drv = &romdata->machine().system(); romdata->file == NULL && drv != NULL; drv = driver_get_clone(drv))
- if (drv->name != NULL && *drv->name != 0)
- filerr = common_process_file(romdata->machine().options(), drv->name, has_crc, crc, romp, &romdata->file);
+ for (int drv = driver_list::find(romdata->machine().system()); romdata->file == NULL && drv != -1; drv = driver_list::clone(drv))
+ filerr = common_process_file(romdata->machine().options(), driver_list::driver(drv).name, has_crc, crc, romp, &romdata->file);
/* if the region is load by name, load the ROM from there */
if (romdata->file == NULL && regiontag != NULL)
@@ -1007,7 +1005,6 @@ static void process_rom_entries(rom_load_data *romdata, const char *regiontag, c
chd_error open_disk_image(emu_options &options, const game_driver *gamedrv, const rom_entry *romp, emu_file **image_file, chd_file **image_chd, const char *locationtag)
{
- const game_driver *drv, *searchdrv;
const rom_entry *region, *rom;
const rom_source *source;
file_error filerr;
@@ -1018,8 +1015,8 @@ chd_error open_disk_image(emu_options &options, const game_driver *gamedrv, cons
/* attempt to open the properly named file, scanning up through parent directories */
filerr = FILERR_NOT_FOUND;
- for (searchdrv = gamedrv; searchdrv != NULL && filerr != FILERR_NONE; searchdrv = driver_get_clone(searchdrv))
- filerr = common_process_file(options, searchdrv->name, ".chd", romp, image_file);
+ for (int searchdrv = driver_list::find(*gamedrv); searchdrv != -1 && filerr != FILERR_NONE; searchdrv = driver_list::clone(searchdrv))
+ filerr = common_process_file(options, driver_list::driver(searchdrv).name, ".chd", romp, image_file);
if (filerr != FILERR_NONE)
filerr = common_process_file(options, NULL, ".chd", romp, image_file);
@@ -1114,9 +1111,9 @@ chd_error open_disk_image(emu_options &options, const game_driver *gamedrv, cons
/* otherwise, look at our parents for a CHD with an identical checksum */
/* and try to open that */
hash_collection romphashes(ROM_GETHASHDATA(romp));
- for (drv = gamedrv; drv != NULL; drv = driver_get_clone(drv))
+ for (int drv = driver_list::find(*gamedrv); drv != -1; drv = driver_list::clone(drv))
{
- machine_config config(*drv, options);
+ machine_config config(driver_list::driver(drv), options);
for (source = rom_first_source(config); source != NULL; source = rom_next_source(*source))
for (region = rom_first_region(*source); region != NULL; region = rom_next_region(region))
if (ROMREGION_ISDISKDATA(region))
@@ -1128,8 +1125,8 @@ chd_error open_disk_image(emu_options &options, const game_driver *gamedrv, cons
{
/* attempt to open the properly named file, scanning up through parent directories */
filerr = FILERR_NOT_FOUND;
- for (searchdrv = drv; searchdrv != NULL && filerr != FILERR_NONE; searchdrv = driver_get_clone(searchdrv))
- filerr = common_process_file(options, searchdrv->name, ".chd", rom, image_file);
+ for (int searchdrv = drv; searchdrv != -1 && filerr != FILERR_NONE; searchdrv = driver_list::clone(searchdrv))
+ filerr = common_process_file(options, driver_list::driver(searchdrv).name, ".chd", rom, image_file);
if (filerr != FILERR_NONE)
filerr = common_process_file(options, NULL, ".chd", rom, image_file);
diff --git a/src/emu/sound/bsmt2000.c b/src/emu/sound/bsmt2000.c
index 6293b8b38bd..7e172fc6a98 100644
--- a/src/emu/sound/bsmt2000.c
+++ b/src/emu/sound/bsmt2000.c
@@ -107,13 +107,12 @@ ROM_END
//-------------------------------------------------
bsmt2000_device_config::bsmt2000_device_config(const machine_config &mconfig, const char *tag, const device_config *owner, UINT32 clock)
- : device_config(mconfig, static_alloc_device_config, "BSMT2000", tag, owner, clock),
+ : device_config(mconfig, static_alloc_device_config, "BSMT2000", "bsmt2000", tag, owner, clock),
device_config_sound_interface(mconfig, *this),
device_config_memory_interface(mconfig, *this),
m_space_config("samples", ENDIANNESS_LITTLE, 8, 32, 0, NULL, *ADDRESS_MAP_NAME(bsmt2000)),
m_ready_callback(NULL)
{
- m_shortname = "bsmt2000";
}
diff --git a/src/emu/sound/wavwrite.c b/src/emu/sound/wavwrite.c
index 1d318a08b9e..5cd884d7417 100644
--- a/src/emu/sound/wavwrite.c
+++ b/src/emu/sound/wavwrite.c
@@ -126,7 +126,7 @@ void wav_add_data_32(wav_file *wav, INT32 *data, int samples, int shift)
if (!wav) return;
/* allocate temp memory */
- temp = (INT16 *)osd_malloc(samples * sizeof(temp[0]));
+ temp = (INT16 *)osd_malloc_array(samples * sizeof(temp[0]));
if (!temp)
return;
@@ -154,7 +154,7 @@ void wav_add_data_16lr(wav_file *wav, INT16 *left, INT16 *right, int samples)
if (!wav) return;
/* allocate temp memory */
- temp = (INT16 *)osd_malloc(samples * 2 * sizeof(temp[0]));
+ temp = (INT16 *)osd_malloc_array(samples * 2 * sizeof(temp[0]));
if (!temp)
return;
@@ -179,7 +179,7 @@ void wav_add_data_32lr(wav_file *wav, INT32 *left, INT32 *right, int samples, in
if (!wav) return;
/* allocate temp memory */
- temp = (INT16 *)osd_malloc(samples * 2 * sizeof(temp[0]));
+ temp = (INT16 *)osd_malloc_array(samples * 2 * sizeof(temp[0]));
if (!temp)
return;
diff --git a/src/emu/ui.c b/src/emu/ui.c
index 61110734aca..b29ebddc89d 100644
--- a/src/emu/ui.c
+++ b/src/emu/ui.c
@@ -280,7 +280,7 @@ int ui_display_startup_screens(running_machine &machine, int first_time, int sho
/* disable everything if we are using -str for 300 or fewer seconds, or if we're the empty driver,
or if we are debugging */
- if (!first_time || (str > 0 && str < 60*5) || &machine.system() == &GAME_NAME(empty) || (machine.debug_flags & DEBUG_FLAG_ENABLED) != 0)
+ if (!first_time || (str > 0 && str < 60*5) || &machine.system() == &GAME_NAME(___empty) || (machine.debug_flags & DEBUG_FLAG_ENABLED) != 0)
show_gameinfo = show_warnings = show_disclaimer = FALSE;
/* initialize the on-screen display system */
@@ -907,8 +907,6 @@ static astring &warnings_string(running_machine &machine, astring &string)
GAME_IMPERFECT_GRAPHICS | \
GAME_NO_COCKTAIL)
- int i;
-
string.reset();
/* if no warnings, nothing to return */
@@ -955,10 +953,6 @@ static astring &warnings_string(running_machine &machine, astring &string)
/* if there's a NOT WORKING, UNEMULATED PROTECTION or GAME MECHANICAL warning, make it stronger */
if (machine.system().flags & (GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_MECHANICAL))
{
- const game_driver *maindrv;
- const game_driver *clone_of;
- int foundworking;
-
/* add the strings for these warnings */
if (machine.system().flags & GAME_UNEMULATED_PROTECTION)
string.cat("The game has protection which isn't fully emulated.\n");
@@ -970,25 +964,25 @@ static astring &warnings_string(running_machine &machine, astring &string)
"It is not possible to fully play this " GAMENOUN ".\n");
/* find the parent of this driver */
- clone_of = driver_get_clone(&machine.system());
- if (clone_of != NULL && !(clone_of->flags & GAME_IS_BIOS_ROOT))
+ driver_enumerator drivlist(machine.options());
+ int maindrv = drivlist.find(machine.system());
+ int clone_of = drivlist.non_bios_clone(maindrv);
+ if (clone_of != -1)
maindrv = clone_of;
- else
- maindrv = &machine.system();
/* scan the driver list for any working clones and add them */
- foundworking = FALSE;
- for (i = 0; drivers[i] != NULL; i++)
- if (drivers[i] == maindrv || driver_get_clone(drivers[i]) == maindrv)
- if ((drivers[i]->flags & (GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_MECHANICAL)) == 0)
+ bool foundworking = false;
+ while (drivlist.next())
+ if (drivlist.current() == maindrv || drivlist.clone() == maindrv)
+ if ((drivlist.driver().flags & (GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_MECHANICAL)) == 0)
{
/* this one works, add a header and display the name of the clone */
if (!foundworking)
string.cat("\n\nThere are working clones of this game: ");
else
string.cat(", ");
- string.cat(drivers[i]->name);
- foundworking = TRUE;
+ string.cat(drivlist.driver().name);
+ foundworking = true;
}
if (foundworking)
diff --git a/src/emu/uimenu.c b/src/emu/uimenu.c
index efd14614b1b..91addf9ba55 100644
--- a/src/emu/uimenu.c
+++ b/src/emu/uimenu.c
@@ -208,7 +208,7 @@ struct _select_game_state
UINT8 error;
UINT8 rerandomize;
char search[40];
- const game_driver * matchlist[VISIBLE_GAMES_IN_LIST];
+ int matchlist[VISIBLE_GAMES_IN_LIST];
const game_driver * driverlist[1];
};
@@ -245,6 +245,9 @@ static const char priortext[] = "Return to Prior Menu";
static const char backtext[] = "Return to " CAPSTARTGAMENOUN;
static const char exittext[] = "Exit";
+// temporary hack until this is C++-ified
+static driver_enumerator *drivlist;
+
/***************************************************************************
@@ -299,7 +302,6 @@ static void menu_crosshair_populate(running_machine &machine, ui_menu *menu);
static void menu_quit_game(running_machine &machine, ui_menu *menu, void *parameter, void *state);
static void menu_select_game(running_machine &machine, ui_menu *menu, void *parameter, void *state);
static void menu_select_game_populate(running_machine &machine, ui_menu *menu, select_game_state *menustate);
-static int CLIB_DECL menu_select_game_driver_compare(const void *elem1, const void *elem2);
static void menu_select_game_build_driver_list(ui_menu *menu, select_game_state *menustate);
static void menu_select_game_custom_render(running_machine &machine, ui_menu *menu, void *state, void *selectedref, float top, float bottom, float x, float y, float x2, float y2);
@@ -3426,9 +3428,10 @@ static void menu_select_game(running_machine &machine, ui_menu *menu, void *para
/* if no state, allocate some */
if (state == NULL)
{
- state = ui_menu_alloc_state(menu, sizeof(*menustate) + sizeof(menustate->driverlist) * driver_list_get_count(drivers), NULL);
+ state = ui_menu_alloc_state(menu, sizeof(*menustate) + sizeof(menustate->driverlist) * driver_list::total(), NULL);
if (parameter != NULL)
strcpy(((select_game_state *)state)->search, (const char *)parameter);
+ ((select_game_state *)state)->matchlist[0] = -1;
}
menustate = (select_game_state *)state;
@@ -3459,24 +3462,20 @@ static void menu_select_game(running_machine &machine, ui_menu *menu, void *para
/* anything else is a driver */
else
{
- audit_record *audit;
- int audit_records;
- int audit_result;
-
- /* audit the game first to see if we're going to work */
- audit_records = audit_images(menu->machine().options(), driver, AUDIT_VALIDATE_FAST, &audit);
- audit_result = audit_summary(driver, audit_records, audit, FALSE);
- if (audit_records > 0)
- global_free(audit);
-
- /* if everything looks good, schedule the new driver */
- if (audit_result == CORRECT || audit_result == BEST_AVAILABLE)
+ // audit the game first to see if we're going to work
+ driver_enumerator enumerator(machine.options(), *driver);
+ enumerator.next();
+ media_auditor auditor(enumerator);
+ media_auditor::summary summary = auditor.audit_media(AUDIT_VALIDATE_FAST);
+
+ // if everything looks good, schedule the new driver
+ if (summary == media_auditor::CORRECT || summary == media_auditor::BEST_AVAILABLE)
{
machine.schedule_new_driver(*driver);
ui_menu_stack_reset(machine);
}
- /* otherwise, display an error */
+ // otherwise, display an error
else
{
ui_menu_reset(menu, UI_MENU_RESET_REMEMBER_REF);
@@ -3551,18 +3550,19 @@ static void menu_select_game_populate(running_machine &machine, ui_menu *menu, s
}
/* otherwise, rebuild the match list */
- if (menustate->search[0] != 0 || menustate->matchlist[0] == NULL || menustate->rerandomize)
- driver_list_get_approx_matches(menustate->driverlist, menustate->search, matchcount, menustate->matchlist);
+ assert(drivlist != NULL);
+ if (menustate->search[0] != 0 || menustate->matchlist[0] == -1 || menustate->rerandomize)
+ drivlist->find_approximate_matches(menustate->search, matchcount, menustate->matchlist);
menustate->rerandomize = FALSE;
/* iterate over entries */
for (curitem = 0; curitem < matchcount; curitem++)
{
- const game_driver *driver = menustate->matchlist[curitem];
- if (driver != NULL)
+ int curmatch = menustate->matchlist[curitem];
+ if (curmatch != -1)
{
- const game_driver *cloneof = driver_get_clone(driver);
- ui_menu_item_append(menu, driver->name, driver->description, (cloneof == NULL || (cloneof->flags & GAME_IS_BIOS_ROOT)) ? 0 : MENU_FLAG_INVERT, (void *)driver);
+ int cloneof = drivlist->non_bios_clone(curmatch);
+ ui_menu_item_append(menu, drivlist->driver(curmatch).name, drivlist->driver(curmatch).description, (cloneof == -1) ? 0 : MENU_FLAG_INVERT, (void *)&drivlist->driver(curmatch));
}
}
@@ -3579,41 +3579,17 @@ static void menu_select_game_populate(running_machine &machine, ui_menu *menu, s
/*-------------------------------------------------
- menu_select_game_driver_compare - compare the
- names of two drivers
--------------------------------------------------*/
-
-static int CLIB_DECL menu_select_game_driver_compare(const void *elem1, const void *elem2)
-{
- const game_driver **driver1_ptr = (const game_driver **)elem1;
- const game_driver **driver2_ptr = (const game_driver **)elem2;
- const char *driver1 = (*driver1_ptr)->name;
- const char *driver2 = (*driver2_ptr)->name;
-
- while (*driver1 == *driver2 && *driver1 != 0)
- driver1++, driver2++;
- return *driver1 - *driver2;
-}
-
-
-/*-------------------------------------------------
menu_select_game_build_driver_list - build a
list of available drivers
-------------------------------------------------*/
static void menu_select_game_build_driver_list(ui_menu *menu, select_game_state *menustate)
{
- int driver_count = driver_list_get_count(drivers);
- int drivnum, listnum;
- UINT8 *found;
-
- /* create a sorted copy of the main driver list */
- memcpy((void *)menustate->driverlist, drivers, driver_count * sizeof(menustate->driverlist[0]));
- qsort((void *)menustate->driverlist, driver_count, sizeof(menustate->driverlist[0]), menu_select_game_driver_compare);
-
- /* allocate a temporary array to track which ones we found */
- found = (UINT8 *)ui_menu_pool_alloc(menu, (driver_count + 7) / 8);
- memset(found, 0, (driver_count + 7) / 8);
+ // start with an empty list
+ // hack alert: use new directly here to avoid reporting this one-time static memory as unfreed
+ if (drivlist == NULL)
+ drivlist = new driver_enumerator(menu->machine().options());
+ drivlist->exclude_all();
/* open a path to the ROMs and find them in the array */
file_enumerator path(menu->machine().options().media_path());
@@ -3622,9 +3598,6 @@ static void menu_select_game_build_driver_list(ui_menu *menu, select_game_state
/* iterate while we get new objects */
while ((dir = path.next()) != NULL)
{
- game_driver tempdriver;
- game_driver *tempdriver_ptr;
- const game_driver **found_driver;
char drivername[50];
char *dst = drivername;
const char *src;
@@ -3634,23 +3607,16 @@ static void menu_select_game_build_driver_list(ui_menu *menu, select_game_state
*dst++ = tolower((UINT8)*src);
*dst = 0;
- /* find it in the array */
- tempdriver.name = drivername;
- tempdriver_ptr = &tempdriver;
- found_driver = (const game_driver **)bsearch(&tempdriver_ptr, menustate->driverlist, driver_count, sizeof(*menustate->driverlist), menu_select_game_driver_compare);
-
- /* if found, mark the corresponding entry in the array */
- if (found_driver != NULL)
- {
- int index = found_driver - menustate->driverlist;
- found[index / 8] |= 1 << (index % 8);
- }
+ int drivnum = drivlist->find(drivername);
+ if (drivnum != -1)
+ drivlist->include(drivnum);
}
/* now build the final list */
- for (drivnum = listnum = 0; drivnum < driver_count; drivnum++)
- if (found[drivnum / 8] & (1 << (drivnum % 8)))
- menustate->driverlist[listnum++] = menustate->driverlist[drivnum];
+ drivlist->reset();
+ int listnum = 0;
+ while (drivlist->next())
+ menustate->driverlist[listnum++] = &drivlist->driver();
/* NULL-terminate */
menustate->driverlist[listnum] = NULL;
diff --git a/src/emu/validity.c b/src/emu/validity.c
index e15082da3c4..2e0fbbb84d1 100644
--- a/src/emu/validity.c
+++ b/src/emu/validity.c
@@ -314,12 +314,11 @@ static bool validate_inlines(void)
information
-------------------------------------------------*/
-static bool validate_driver(const machine_config &config, game_driver_map &names, game_driver_map &descriptions)
+static bool validate_driver(driver_enumerator &drivlist, game_driver_map &names, game_driver_map &descriptions)
{
- const game_driver &driver = config.gamedrv();
- const game_driver *clone_of;
+ const game_driver &driver = drivlist.driver();
+ const machine_config &config = drivlist.config();
const char *compatible_with;
- const game_driver *other_drv;
bool error = FALSE, is_clone;
const char *s;
@@ -343,27 +342,27 @@ static bool validate_driver(const machine_config &config, game_driver_map &names
/* determine the clone */
is_clone = (strcmp(driver.parent, "0") != 0);
- clone_of = driver_get_clone(&driver);
- if (clone_of && (clone_of->flags & GAME_IS_BIOS_ROOT))
+ int clone_of = drivlist.clone(driver);
+ if (clone_of != -1 && (drivlist.driver(clone_of).flags & GAME_IS_BIOS_ROOT))
is_clone = false;
/* if we have at least 100 drivers, validate the clone */
/* (100 is arbitrary, but tries to avoid tiny.mak dependencies) */
- if (driver_list_get_count(drivers) > 100 && !clone_of && is_clone)
+ if (driver_list::total() > 100 && clone_of == -1 && is_clone)
{
mame_printf_error("%s: %s is a non-existant clone\n", driver.source_file, driver.parent);
error = true;
}
/* look for recursive cloning */
- if (clone_of == &driver)
+ if (clone_of != -1 && &drivlist.driver(clone_of) == &driver)
{
mame_printf_error("%s: %s is set as a clone of itself\n", driver.source_file, driver.name);
error = true;
}
/* look for clones that are too deep */
- if (clone_of != NULL && (clone_of = driver_get_clone(clone_of)) != NULL && (clone_of->flags & GAME_IS_BIOS_ROOT) == 0)
+ if (clone_of != -1 && (clone_of = drivlist.non_bios_clone(clone_of)) != -1)
{
mame_printf_error("%s: %s is a clone of a clone\n", driver.source_file, driver.name);
error = true;
@@ -392,23 +391,23 @@ static bool validate_driver(const machine_config &config, game_driver_map &names
compatible_with = NULL;
/* check for this driver being compatible with a non-existant driver */
- if ((compatible_with != NULL) && (driver_get_name(driver.compatible_with) == NULL))
+ if ((compatible_with != NULL) && (drivlist.find(driver.compatible_with) == -1))
{
mame_printf_error("%s: is compatible with %s, which is not in drivers[]\n", driver.name, driver.compatible_with);
error = true;
}
/* check for clone_of and compatible_with being specified at the same time */
- if ((driver_get_clone(&driver) != NULL) && (compatible_with != NULL))
+ if ((drivlist.clone(driver) != -1) && (compatible_with != NULL))
{
mame_printf_error("%s: both compatible_with and clone_of are specified\n", driver.name);
error = true;
}
/* find any recursive dependencies on the current driver */
- for (other_drv = driver_get_compatible(&driver); other_drv != NULL; other_drv = driver_get_compatible(other_drv))
+ for (int other_drv = drivlist.compatible_with(driver); other_drv != -1; other_drv = drivlist.compatible_with(other_drv))
{
- if (&driver == other_drv)
+ if (&driver == &drivlist.driver(other_drv))
{
mame_printf_error("%s: recursive compatibility\n", driver.name);
error = true;
@@ -432,9 +431,10 @@ static bool validate_driver(const machine_config &config, game_driver_map &names
validate_roms - validate ROM definitions
-------------------------------------------------*/
-static bool validate_roms(const machine_config &config, region_array *rgninfo, game_driver_map &roms)
+static bool validate_roms(driver_enumerator &drivlist, region_array *rgninfo, game_driver_map &roms)
{
- const game_driver &driver = config.gamedrv();
+ const game_driver &driver = drivlist.driver();
+ const machine_config &config = drivlist.config();
int bios_flags = 0, last_bios = 0;
const char *last_rgnname = "???";
const char *last_name = "???";
@@ -579,9 +579,10 @@ static bool validate_roms(const machine_config &config, region_array *rgninfo, g
configurations
-------------------------------------------------*/
-static bool validate_display(const machine_config &config)
+static bool validate_display(driver_enumerator &drivlist)
{
- const game_driver &driver = config.gamedrv();
+ const game_driver &driver = drivlist.driver();
+ const machine_config &config = drivlist.config();
bool palette_modes = false;
bool error = false;
@@ -605,9 +606,10 @@ static bool validate_display(const machine_config &config)
configuration
-------------------------------------------------*/
-static bool validate_gfx(const machine_config &config, region_array *rgninfo)
+static bool validate_gfx(driver_enumerator &drivlist, region_array *rgninfo)
{
- const game_driver &driver = config.gamedrv();
+ const game_driver &driver = drivlist.driver();
+ const machine_config &config = drivlist.config();
bool error = false;
int gfxnum;
@@ -939,12 +941,13 @@ static void validate_dip_settings(const input_field_config *field, const game_dr
validate_inputs - validate input configuration
-------------------------------------------------*/
-static bool validate_inputs(const machine_config &config, int_map &defstr_map, ioport_list &portlist)
+static bool validate_inputs(driver_enumerator &drivlist, int_map &defstr_map, ioport_list &portlist)
{
const input_port_config *scanport;
const input_port_config *port;
const input_field_config *field;
- const game_driver &driver = config.gamedrv();
+ const game_driver &driver = drivlist.driver();
+ const machine_config &config = drivlist.config();
int empty_string_found = FALSE;
char errorbuf[1024];
bool error = false;
@@ -1088,10 +1091,11 @@ static bool validate_inputs(const machine_config &config, int_map &defstr_map, i
checks
-------------------------------------------------*/
-static bool validate_devices(const machine_config &config, const ioport_list &portlist, region_array *rgninfo)
+static bool validate_devices(driver_enumerator &drivlist, const ioport_list &portlist, region_array *rgninfo)
{
bool error = false;
- const game_driver &driver = config.gamedrv();
+ const game_driver &driver = drivlist.driver();
+ const machine_config &config = drivlist.config();
for (const device_config *devconfig = config.m_devicelist.first(); devconfig != NULL; devconfig = devconfig->next())
{
@@ -1126,7 +1130,6 @@ static bool validate_devices(const machine_config &config, const ioport_list &po
void validate_drivers(emu_options &options, const game_driver *curdriver)
{
osd_ticks_t prep = 0;
- osd_ticks_t expansion = 0;
osd_ticks_t driver_checks = 0;
osd_ticks_t rom_checks = 0;
osd_ticks_t gfx_checks = 0;
@@ -1186,9 +1189,10 @@ void validate_drivers(emu_options &options, const game_driver *curdriver)
prep += get_profile_ticks();
/* iterate over all drivers */
- for (int drivnum = 0; drivers[drivnum]; drivnum++)
+ driver_enumerator drivlist(options);
+ while (drivlist.next())
{
- const game_driver &driver = *drivers[drivnum];
+ const game_driver &driver = drivlist.driver();
ioport_list portlist;
region_array rgninfo;
@@ -1198,39 +1202,34 @@ void validate_drivers(emu_options &options, const game_driver *curdriver)
try
{
- /* expand the machine driver */
- expansion -= get_profile_ticks();
- machine_config config(driver, options);
- expansion += get_profile_ticks();
-
/* validate the driver entry */
driver_checks -= get_profile_ticks();
- error = validate_driver(config, names, descriptions) || error;
+ error = validate_driver(drivlist, names, descriptions) || error;
driver_checks += get_profile_ticks();
/* validate the ROM information */
rom_checks -= get_profile_ticks();
- error = validate_roms(config, &rgninfo, roms) || error;
+ error = validate_roms(drivlist, &rgninfo, roms) || error;
rom_checks += get_profile_ticks();
/* validate input ports */
input_checks -= get_profile_ticks();
- error = validate_inputs(config, defstr, portlist) || error;
+ error = validate_inputs(drivlist, defstr, portlist) || error;
input_checks += get_profile_ticks();
/* validate the display */
display_checks -= get_profile_ticks();
- error = validate_display(config) || error;
+ error = validate_display(drivlist) || error;
display_checks += get_profile_ticks();
/* validate the graphics decoding */
gfx_checks -= get_profile_ticks();
- error = validate_gfx(config, &rgninfo) || error;
+ error = validate_gfx(drivlist, &rgninfo) || error;
gfx_checks += get_profile_ticks();
/* validate devices */
device_checks -= get_profile_ticks();
- error = validate_devices(config, portlist, &rgninfo) || error;
+ error = validate_devices(drivlist, portlist, &rgninfo) || error;
device_checks += get_profile_ticks();
}
catch (emu_fatalerror &err)
@@ -1241,7 +1240,6 @@ void validate_drivers(emu_options &options, const game_driver *curdriver)
#if (REPORT_TIMES)
mame_printf_info("Prep: %8dm\n", (int)(prep / 1000000));
- mame_printf_info("Expansion: %8dm\n", (int)(expansion / 1000000));
mame_printf_info("Driver: %8dm\n", (int)(driver_checks / 1000000));
mame_printf_info("ROM: %8dm\n", (int)(rom_checks / 1000000));
mame_printf_info("CPU: %8dm\n", (int)(cpu_checks / 1000000));
diff --git a/src/lib/util/astring.h b/src/lib/util/astring.h
index 86f45ba02d5..6c9deb1128a 100644
--- a/src/lib/util/astring.h
+++ b/src/lib/util/astring.h
@@ -318,6 +318,7 @@ public:
astring(const char *str1, const char *str2, const char *str3, const char *str4) { init().cpy(str1).cat(str2).cat(str3).cat(str4); }
astring(const char *str1, const char *str2, const char *str3, const char *str4, const char *str5) { init().cpy(str1).cat(str2).cat(str3).cat(str4).cat(str5); }
astring(const astring &string) { init().cpy(string); }
+ astring(const astring &string, int start, int count = -1) { init().cpysubstr(string, start, count); }
astring &operator=(const char *string) { return cpy(string); }
astring &operator=(const astring &string) { return cpy(string); }
diff --git a/src/lib/util/corestr.c b/src/lib/util/corestr.c
index 292320a3311..7c244e8a8bd 100644
--- a/src/lib/util/corestr.c
+++ b/src/lib/util/corestr.c
@@ -141,7 +141,7 @@ char *core_strdup(const char *str)
char *cpy = NULL;
if (str != NULL)
{
- cpy = (char *)osd_malloc(strlen(str) + 1);
+ cpy = (char *)osd_malloc_array(strlen(str) + 1);
if (cpy != NULL)
strcpy(cpy, str);
}
diff --git a/src/mame/machine/gaelco3d.c b/src/mame/machine/gaelco3d.c
index 09d0e9eb097..d17dc954181 100644
--- a/src/mame/machine/gaelco3d.c
+++ b/src/mame/machine/gaelco3d.c
@@ -130,7 +130,7 @@ static osd_shared_mem *osd_sharedmem_alloc(const char *path, int create, size_t
if (create)
{
- char *buf = (char *) osd_malloc(size);
+ char *buf = (char *) osd_malloc_array(size);
memset(buf,0, size);
fd = open(path, O_RDWR | O_CREAT, S_IRWXU);
@@ -147,7 +147,7 @@ static osd_shared_mem *osd_sharedmem_alloc(const char *path, int create, size_t
}
os_shmem->creator = 0;
}
- os_shmem->fn = (char *) osd_malloc(strlen(path)+1);
+ os_shmem->fn = (char *) osd_malloc_array(strlen(path)+1);
strcpy(os_shmem->fn, path);
assert(fd != -1);
@@ -178,7 +178,7 @@ static osd_shared_mem *osd_sharedmem_alloc(const char *path, int create, size_t
os_shmem->creator = 0;
- os_shmem->ptr = (void *) osd_malloc(size);
+ os_shmem->ptr = (void *) osd_malloc_array(size);
os_shmem->size = size;
return os_shmem;
}
diff --git a/src/mame/machine/md_cart.c b/src/mame/machine/md_cart.c
index 072706210ce..81061c2e1c5 100644
--- a/src/mame/machine/md_cart.c
+++ b/src/mame/machine/md_cart.c
@@ -1589,7 +1589,7 @@ static int megadrive_load_nonlist(device_image_interface &image)
else if ((rawROM[0x2080] == 'E') && (rawROM[0x2081] == 'A') &&
(rawROM[0x2082] == 'M' || rawROM[0x2082] == 'G'))
{
- tmpROMnew = (unsigned char *)osd_malloc(length);
+ tmpROMnew = global_alloc_array(unsigned char, length);
secondhalf = &tmpROMnew[length >> 1];
if (!tmpROMnew)
@@ -1605,7 +1605,7 @@ static int megadrive_load_nonlist(device_image_interface &image)
ROM[ptr] = secondhalf[ptr >> 1];
ROM[ptr + 1] = tmpROMnew[ptr >> 1];
}
- free(tmpROMnew);
+ global_free(tmpROMnew);
#ifdef LSB_FIRST
for (ptr = 0; ptr < length; ptr += 2)
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
new file mode 100644
index 00000000000..4ddfca24b1e
--- /dev/null
+++ b/src/mame/mame.lst
@@ -0,0 +1,12225 @@
+/******************************************************************************
+
+ mame.lst
+
+ List of all enabled drivers in the system. This file is parsed by
+ makelist.exe, sorted, and output as C code describing the drivers.
+
+****************************************************************************
+
+ Copyright Aaron Giles
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name 'MAME' nor the names of its contributors may be
+ used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY AARON GILES ''AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL AARON GILES BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+ IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+
+******************************************************************************/
+
+// "Pacman hardware" games
+puckman // (c) 1980 Namco
+puckmana // (c) 1980 Namco
+puckmanf // hack
+puckmanh // hack
+pacman // (c) 1980 Midway
+pacmanf // hack
+puckmod // (c) 1981 Namco
+pacmod // (c) 1981 Midway
+newpuc2 // hack
+newpuc2b // hack
+newpuckx // hack
+pacheart // hack
+bucaner // hack
+hangly // hack
+hangly2 // hack
+hangly3 // hack
+popeyeman // hack
+piranhah // hack
+abscam // hack
+crush // (c) 1981 Kural Samno Electric Ltd
+crushbl // bootleg
+crushbl2 // bootleg 2
+crush2 // (c) 1981 Kural Esco Electric Ltd - bootleg?
+crush3 // Kural Electric Ltd - bootleg?
+crush4 // Kural TWT
+maketrax // (c) 1981 Williams, high score table says KRL (fur Kural)
+maketrxb // (c) 1981 [Kural] (Williams license)
+korosuke // (c) 1981 Kural Electric
+mbrush // 1981 bootleg
+paintrlr // 1981 bootleg
+crushs // 1981 bootleg
+pacplus // (c) 1982 Namco (Midway license)
+joyman // hack
+ctrpllrp // hack
+eyes // (c) 1982 Digitrex Techstar + "Rockola presents"
+eyes2 // (c) 1982 Techstar + "Rockola presents"
+eyeszac // (c) 1982 Zaccaria / bootleg
+mrtnt // (c) 1983 Telko
+gorkans // (c) 1984 Techstar
+eggor // (c) 1983 Telko
+jumpshot // (c) 1985 Bally Midway
+jumpshotp // (c) 1985 Bally Midway
+shootbul // (c) 1985 Bally Midway
+piranha // GL
+piranhao // GL
+nmouse // (c) 1981 Amenip (Palcom Queen River)
+nmouseb // (c) 1981 Amenip Nova Games Ltd.
+mspacman // (c) 1981 Midway // made by General Computer
+mspacmnf // hack
+mspacmat // hack
+woodpeck // (c) 1981 Amenip (Palcom Queen River)
+woodpeca // (c) 1981 Amenip Nova Games Ltd.
+mspacmab // bootleg
+mspacmbe // bootleg
+pacgal // hack
+mspacpls // hack
+ponpoko // (c) 1982 Sigma Ent. Inc.
+ponpokov // (c) 1982 Sigma Ent. Inc. + Venture Line license
+lizwiz // (c) 1985 Techstar + "Sunn presents"
+alibaba // (c) 1982 Sega
+dremshpr // (c) 1982 Sanritsu
+vanvan // (c) 1983 Sanritsu
+vanvank // (c) 1983 Karateco (bootleg?)
+vanvanb // (c) 1983 Karateco (bootleg?)
+bwcasino // (c) 1983 Epos Coropration
+acitya // (c) 1983 Epos Corporation
+theglobp // (c) 1983 Epos Corporation
+sprglobp // (c) 1983 Epos Corporation
+sprglbpg // German bootleg
+beastf // (c) 1984 Epos Corporation
+rocktrv2 // (c) 1986 Triumph Software Inc
+bigbucks // (c) 1986 Dynasoft Inc.
+mschamp // hack by RAYGLO MFG "Zola-Puc" (c) 1992/1993
+mschamps // hack (hack of the Rayglo hack?)
+cannonbp // hack
+
+// S2650 Pacman Kits
+drivfrcp // (c) 1984 Shinkai Inc. (Magic Eletronics Inc. license)
+8bpm // (c) 1985 Seatongrove Ltd (Magic Eletronics USA license)
+porky // (c) 1985 Shinkai Inc. (Magic Eletronics Inc. license)
+
+pengo // 834-0386 (c) 1982 Sega
+pengo2 // 834-0386 (c) 1982 Sega
+pengo2u // 834-0386 (c) 1982 Sega
+pengo3u // 834-0386 (c) 1982 Sega
+pengo4 // 834-0386 (c) 1982 Sega
+pengob // bootleg
+penta // bootleg
+jrpacmbl // bootleg on Pengo HW
+
+jrpacman // (c) 1983 Midway
+
+// Epos games
+megadon // (c) 1982
+catapult // (c) 1982
+suprglob // (c) 1983
+theglob // (c) 1983
+theglob2 // (c) 1983
+theglob3 // (c) 1983
+igmo // (c) 1984
+dealer // (c) 198?
+revenger // (c) 1984
+
+// "Galaxian hardware" games
+galaxian // (c) Namco
+galaxiana // (c) Namco
+galaxianm // (c) Midway
+galaxianmo // (c) Midway
+galaxiant // (c) Taito
+superg // hack
+galapx // hack
+moonaln // [Nichibutsu] (Karateco license) or hack
+galap1 // hack
+galap4 // hack
+galturbo // hack
+swarm // hack
+zerotime // hack
+starfght // hack
+galaxbsf // hack
+kamakazi3 // Video Games (UK) Ltd., hack or bootleg?
+tst_galx // Galaxian Test ROM
+gmgalax // bootleg
+pisces // Subelectro
+piscesb // bootleg
+omni // bootleg
+uniwars // (c) Irem
+gteikoku // (c) Irem
+gteikokb // bootleg
+gteikob2 // bootleg
+spacbatt // bootleg
+spacbat2 // bootleg
+spacempr // bootleg
+skyraidr // bootleg
+batman2 // bootleg
+warofbug // (c) 1981 Armenia
+warofbugg // German Version
+redufo // (c) Artic
+redufob // bootleg
+exodus // Subelectro - bootleg?
+streakng // [1980] Shoei
+streaknga // [1980] Shoei
+pacmanbl // bootleg
+pacmanbla // bootleg
+phoenxp2 // bootleg
+atlantisb // bootleg
+tenspot // (c) 1982 Thomas Automatics
+devilfsg // (c) 1984 Vision / Artic (bootleg?)
+zigzag // (c) 1982 LAX
+zigzag2 // (c) 1982 LAX
+jumpbug // (c) 1981 Rock-ola
+jumpbugb // (c) 1981 Sega
+levers // (c) 1983 Rock-ola
+azurian // (c) 1982 Rait Electronics Ltd
+orbitron // (c) 1982 Signatron USA (Arcade Tv Game List - P.160, Left, 22 from top)
+mooncrgx // bootleg
+mooncrst // (c) 1980 Nichibutsu
+mooncrstu // (c) 1980 Nichibutsu USA
+mooncrsto // (c) 1980 Nichibutsu
+mooncrstg // (c) 1980 Gremlin
+mooncrstuk // (c) 1980 Nichibutsu UK
+smooncrs // Gremlin
+sstarcrs // Taito (Brazil)
+mooncmw // bootleg
+mooncrsb // bootleg
+mooncrs2 // bootleg
+spcdrag // bootleg
+stera // bootleg
+spcdraga // bootleg
+mooncrs3 // bootleg
+fantazia // bootleg
+moonqsr // (c) 1980 Nichibutsu
+mshuttle // (c) 1981 Nichibutsu
+mshuttle2 // (c) 1981 Nichibutsu
+mshuttlej // (c) 1981 Nichibutsu
+mshuttlej2 // (c) 1981 Nichibutsu
+moonal2 // [1980] Nichibutsu
+moonal2b // [1980] Nichibutsu
+supergx // [1980] Nichibutsu
+eagle // [1980] Centuri
+eagle2 // [1980] Centuri
+eagle3 // [1980] Centuri
+spctbird // (c) Fortrek
+skybase // (c) 1982 Omori Electric Co., Ltd.
+checkman // (c) 1982 Zilec-Zenitone
+checkmanj // (c) 1982 Jaleco (Zenitone/Zilec in ROM CM4, and the programmer names)
+dingo // (c) 1983 Ashby Computers and Graphics LTD. + Jaleco license
+dingoe // (c) 1983 Ashby Computers and Graphics LTD. + Jaleco license
+blkhole // TDS (Tokyo Denshi Sekkei)
+kingball // (c) 1980 Namco
+kingballj // (c) 1980 Namco
+scorpionmc // bootleg
+frogg // bootleg
+4in1 // (c) 1981 Armenia / Food and Fun
+bagmanmc // bootleg
+dkongjrm // bootleg
+ozon1 // (c) 1983 Proma
+ladybugg // bootleg
+vpool // bootleg
+drivfrcg // [1984] Shinkai (Magic Electronics USA license)
+drivfrcb // bootleg
+bongo // (c) 1983 Jetsoft
+hunchbkg // (c) 1983 Century
+harem // [1983] I.G.R.
+tazzmang // bootleg
+racknrol // (c) 1986 Status (Shinkia license) (Senko Kit)
+hexpool // (c) 1986 Shinkia (Senko Kit)
+hexpoola // (c) 1986 Shinkia (Senko Kit)
+trvchlng // [1985] Joyland (Senko license)
+luctoday // 1980 Sigma
+chewing // ?? unknown
+catacomb // 1982 MTM Games
+ckongg // 1981 bootleg
+ckongmc // 1981 bootleg
+porter // 1982 bootleg (Arcade TV Game List - P.98, Left, 15 from bottom)
+vstars // 19?? Competitive Video?
+tdpgal // 1983 Design Labs / Thomas Automatics
+
+// Has some similarities with Moon Cresta but Board is very different
+rockclim // (c)1981 Taito
+
+// "Scramble hardware" (and variations) games
+scramble // GX387 (c) 1981 Konami
+scrambles // GX387 (c) 1981 Stern
+scramblebf // bootleg
+scramblebb // bootleg?
+scramblb // bootleg
+scramb2 // bootleg
+explorer // bootleg
+strfbomb // bootleg
+atlantis // (c) 1981 Comsoft
+atlantis2 // (c) 1981 Comsoft
+theend // (c) 1980 Konami
+theends // (c) 1980 Stern
+omega // bootleg
+ckongs // bootleg
+froggers // bootleg
+frogf // bootleg
+amidars // GX337 (c) 1982 Konami
+triplep // (c) 1982 KKI / made by Sanritsu?
+knockout // (c) 1982 KKK
+mariner // (c) 1981 Amenip
+800fath // (c) 1981 Amenip + U.S. Billiards license
+mars // (c) 1981 Artic
+devilfsh // (c) 1982 Artic
+newsin7 // (c) 1983 ATW USA, Inc.
+mrkougar // (c) 1984 ATW
+mrkougar2 // (c) 1984 ATW
+mrkougb // bootleg
+mrkougb2 // bootleg
+hotshock // (c) 1982 E.G. Felaco (Domino license)
+hotshockb // bootleg
+conquer // (c) 1982 ????
+hunchbks // (c) 1983 Century
+hncholms // (c) 1984 Century
+cavelon // (c) 1983 Jetsoft
+sfx // (c) 1983 Nichibutsu
+skelagon // (c) 1983 Nichibutsu USA
+monsterz // (c) 1982 Nihon (Arcade TV Game List - P.102, Left, 20 from top)
+mimonscr // (c) 1982 Universal Video Games (US Copyright Office info - http://cocatalog.loc.gov)
+mimonkey // (c) 1982 bootleg
+mimonsco // (c) 1982 bootleg
+scobra // GX316 (c) 1981 Konami
+scobras // GX316 (c) 1981 Stern
+scobrase // GX316 (c) 1981 Stern
+scobrab // GX316 (c) 1981 Karateco (bootleg?)
+suprheli // bootleg
+stratgyx // GX306 (c) 1981 Konami
+stratgys // GX306 (c) 1981 Stern
+strongx // bootleg
+armorcar // (c) 1981 Stern
+armorcar2 // (c) 1981 Stern
+moonwar // (c) 1981 Stern
+moonwara // (c) 1981 Stern
+spdcoin // (c) 1984 Stern
+darkplnt // (c) 1982 Stern
+tazmania // (c) 1982 Stern
+tazmani2 // (c) 1982 Stern
+calipso // (c) 1982 Tago
+anteater // (c) 1982 Tago
+anteaterg // (c) 1983 TV-Tuning (F.E.G. license)
+anteateruk // (c) 1983 Free Enterprise Games
+rescue // (c) 1982 Stern
+aponow // bootleg
+minefld // (c) 1983 Stern
+losttomb // (c) 1982 Stern
+losttombh // (c) 1982 Stern
+superbon // bootleg
+hustler // GX343 (c) 1981 Konami
+hustlerd // GX343 (c) 1981 Konami + Dynamo Games license
+billiard // bootleg
+hustlerb // bootleg
+hustlerb2 // bootleg
+frogger // GX392 (c) 1981 Konami
+froggers1 // (c) 1981 Sega
+froggers2 // 834-0068 (c) 1981 Sega
+froggermc // 800-3110 (c) 1981 Sega
+amidar // GX337 (c) 1981 Konami
+amidaru // GX337 (c) 1982 Konami + Stern license
+amidaro // GX337 (c) 1982 Konami + Olympia license
+amidarb // bootleg
+amigo // bootleg
+turtles // (c) 1981 Stern
+turpin // (c) 1981 Sega
+600 // GX353 (c) 1981 Konami
+flyboy // (c) 1982 Kaneko
+flyboyb // bootleg
+fastfred // 136009 (c) 1982 Atari
+jumpcoas // (c) 1983 Kaneko
+jumpcoast // (c) 1983 Taito
+boggy84 // (c) 1984 Kaneko
+boggy84b // bootleg
+redrobin // (c) 1986 Elettronolo
+imago // (c) 1984 Acom
+imagoa // (c) 1983 Acom
+scorpion // (c) 1982 Zaccaria
+scorpiona // (c) 1982 Zaccaria
+scorpionb // (c) 1982 Zaccaria
+aracnis // bootleg
+ad2083 // (c) 1983 Midcoin
+turpins // (c) 1981 bootleg
+
+// "Crazy Climber hardware" games
+cclimber // (c) 1980 Nichibutsu
+cclimberj // (c) 1980 Nichibutsu
+ccboot // bootleg
+ccboot2 // bootleg
+
+ckong // (c) 1981 (Falcon?)
+ckongo // bootleg (Orca)
+ckongalc // bootleg (Alca)
+bigkong // bootleg
+monkeyd // bootleg
+
+ckongpt2 // (c) 1981 Falcon
+ckongpt2a // (c) 1981 Falcon
+ckongpt2j // (c) 1981 Falcon
+ckongpt2jeu // bootleg (Jeutel)
+ckongpt2b // bootleg
+
+rpatrol // Orca, from a suspicious set
+rpatrolb // bootleg
+silvland // Falcon
+yamato // (c) 1983 Sega
+yamato2 // (c) 1983 Sega
+toprollr // (c) 1983 Jaleco
+swimmer // (c) 1982 Tehkan
+swimmera // (c) 1982 Tehkan
+swimmerb // (c) 1982 Tehkan
+guzzler // (c) 1983 Tehkan
+cannonb // (c) 1985 Soft
+cannonb2 // (c) 1985 TV Game Gruenberg
+cannonb3 // (c) 1985 Soft
+bagmanf // bootleg on Falcon FCK-00 (Falcon Crazy Kong) PCB
+
+// Nichibutsu games
+gomoku // (c) 1981
+wiping // (c) 1982
+rugrats // (c) 1983
+dacholer // (c) 1983
+kickboy // (c) 1983
+friskyt // (c) 1981
+friskyta // (c) 1981
+radrad // (c) 1982 Nichibutsu USA
+seicross // (c) 1984 + Alice
+sectrzon // (c) 1984 + Alice
+firebatl // (c) 1984 Taito
+clshroad // (c) 1986 Wood Place Inc.
+clshroads // (c) 1986 Wood Place Inc. (Status Games license)
+clshroadd // (c) 1986 Wood Place Inc. (Data East license)
+tubep // (c) 1984 + Fujitek
+tubepb // (c) 1984 + bootleg
+rjammer // (c) 1984 + Alice
+magmax // (c) 1985
+cop01 // (c) 1985
+cop01a // (c) 1985
+mightguy // (c) 1986
+terracre // (c) 1985
+terracreo // (c) 1985
+terracrea // (c) 1985
+terracren // (c) 1985
+amazon // (c) 1986
+amatelas // (c) 1986
+horekid // (c) 1987
+horekidb // bootleg
+boobhack // bootleg
+galivan // (c) 1985
+galivan2 // (c) 1985
+dangar // (c) 1986
+dangar2 // (c) 1986
+dangarb // bootleg
+ninjemak // (c) 1986 (US?)
+youma // (c) 1986 (Japan)
+youma2 // (c) 1986 (Japan)
+youmab // bootleg
+youmab2 // bootleg
+legion // (c) 1986
+legiono // (c) 1986
+terraf // (c) 1987
+terrafb // (c) 1987
+terrafa // (c) 1987
+terrafu // (c) 1987 Nichibutsu USA
+kodure // (c) 1987 (Japan)
+armedf // (c) 1988
+armedff // (c) 1988 Fillmore license
+cclimbr2 // (c) 1988 (Japan)
+cclimbr2a // (c) 1988 (Japan)
+skyrobo // (c) 1989
+bigfghtr // (c) 1989
+
+// Nichibutsu Mahjong games
+hyhoo // (c) 1987
+hyhoo2 // (c) 1987
+
+jangou // (c) 1983
+macha // (c) 1983 Logitec
+// Jangou Night // (c) 1983
+jngolady // (c) 1984
+cntrygrl // (c) 1984 Royal Denshi
+cntrygrla // (c) 1984
+roylcrdn // (c) 1985
+fruitbun // (c) 1984
+luckygrl // (c) 1984 Wing?
+nightgal // (c) 1984
+ngtbunny // (c) 1984
+royalngt // (c) 1984 Royal Denshi
+royalqn
+sexygal // (c) 1985
+sweetgal // (c) 1985
+ngalsumr // (c) 1985
+
+pastelg // (c) 1985
+3ds // (c) 1985
+galds // (c) 1985
+
+crystalg // (c) 1986
+crystal2 // (c) 1986
+nightlov // (c) 1986
+citylove // (c) 1986
+mcitylov // (c) 1986
+apparel // (c) 1986 Central Denshi
+secolove // (c) 1986
+barline // (c) 1986?
+housemnq // (c) 1987
+housemn2 // (c) 1987
+livegal // (c) 1987
+seiha // (c) 1987
+seiham // (c) 1987
+mjgaiden // (c) 1987 Central Denshi
+bijokkoy // (c) 1987
+iemoto // (c) 1987
+iemotom // (c) 1987
+ryuuha // (c) 1987
+ojousan // (c) 1987
+ojousanm // (c) 1987
+bijokkog // (c) 1988
+orangec // (c) 1988 Daiichi Denshi
+orangeci // (c) 1988 Daiichi Denshi
+vipclub // (c) 1988 Daiichi Denshi
+korinai // (c) 1988
+korinaim // (c) 1988
+kaguya // (c) 1988 MIKI SYOUJI
+kaguya2 // (c) 1989 MIKI SYOUJI
+kaguya2f // (c) 1989 MIKI SYOUJI
+otonano // (c) 1988 Apple
+kanatuen // (c) 1988 Panac
+kyuhito // (c) 1988 ROLLER TRON
+mjsikaku // (c) 1988
+mjsikakb // (c) 1988
+mjsikakc // (c) 1988
+mjsikakd // (c) 1988
+mmsikaku // (c) 1988
+mjcamera // (c) 1988 MIKI SYOUJI
+mmcamera // (c) 1988 MIKI SYOUJI
+
+msjiken // (c) 1988
+hanamomo // (c) 1988
+hanamomb // (c) 1988
+telmahjn // (c) 1988
+taiwanmb // (c) 1988
+gionbana // (c) 1989
+idhimitu // (c) 1989 Digital Soft
+mgion // (c) 1989
+mjcamerb // (c) 1989 MIKI SYOUJI
+omotesnd // (c) 1989
+abunai // (c) 1989
+mjfocus // (c) 1989
+mjfocusm // (c) 1989
+peepshow // (c) 1989 AC
+scandal // (c) 1989
+scandalm // (c) 1989
+mgmen89 // (c) 1989
+mjnanpas // (c) 1989 BROOKS
+mjnanpaa // (c) 1989 BROOKS
+mjnanpau // (c) 1989 BROOKS
+pairsnb // (c) 1989
+pairsten // (c) 1989 System Ten
+bananadr // (c) 1989 DIGITAL SOFT
+mladyhtr // (c) 1990
+chinmoku // (c) 1990
+maiko // (c) 1990
+mmaiko // (c) 1990
+hnageman // (c) 1990 Nichibutsu/AV Japan
+hnxmasev // (c) 1990 Nichibutsu/AV Japan
+club90s // (c) 1990
+club90sa // (c) 1990
+lovehous // (c) 1990
+hanaoji // (c) 1991
+
+pstadium // (c) 1990
+triplew1 // (c) 1989
+triplew2 // (c) 1990
+ntopstar // (c) 1990
+mjlstory // (c) 1991
+vanilla // (c) 1991
+finalbny // (c) 1991
+qmhayaku // (c) 1991
+mjgottub // (c) 1991
+galkoku // (c) 1989 Nichibutsu/T.R.TEC
+hyouban // (c) 1989 Nichibutsu/T.R.TEC
+galkaika // (c) 1989 Nichibutsu/T.R.TEC
+tokyogal // (c) 1989
+tokimbsj // (c) 1989
+mcontest // (c) 1989
+uchuuai // (c) 1989
+av2mj1bb // (c) 1991 MIKI SYOUJI/AV JAPAN
+av2mj2rg // (c) 1991 MIKI SYOUJI/AV JAPAN
+
+ohpaipee // (c) 1990 Nichibutsu
+togenkyo // (c) 1990 Nichibutsu
+
+mjuraden // (c) 1992 Nichibutsu/Yubis
+koinomp // (c) 1992
+patimono // (c) 1992
+janbari // (c) 1992 Nichibutsu/Yubis/AV JAPAN
+mjanbari // (c) 1992 Nichibutsu/Yubis/AV JAPAN
+ultramhm // (c) 1993 Apple
+gal10ren // (c) 1993 FUJIC
+renaiclb // (c) 1993 FUJIC
+mjlaman // (c) 1993 Nichibutsu/AV JAPAN
+mkeibaou // (c) 1993
+pachiten // (c) 1993 Nichibutsu/MIKI SYOUJI/AV JAPAN
+sailorws // (c) 1993
+sailorwa // (c) 1993
+sailorwr // (c) 1993
+wcatcher // (c) 1993
+jituroku // (c) 1993 Windom
+yosimoto // (c) 1994 Nichibutsu/Yoshimoto Kougyou
+psailor1 // (c) 1994 SPHINX
+psailor2 // (c) 1994 SPHINX
+otatidai // (c) 1995 SPHINX
+ngpgal // (c) 1991
+mjgottsu // (c) 1991
+bakuhatu // (c) 1991
+cmehyou // (c) 1992 Nichibutsu/Kawakusu
+mmehyou // (c) 1992 Nichibutsu/Kawakusu
+mjkoiura // (c) 1992
+mkoiuraa // (c) 1992
+imekura // (c) 1994 SPHINX/AV JAPAN
+mscoutm // (c) 1994 SPHINX/AV JAPAN
+mjegolf // (c) 1994 FUJIC/AV JAPAN
+
+mhhonban // (c) 199?
+4psimasy // (c) 1994
+musobana // (c) 1995
+niyanpai // (c) 1996
+
+jyunai // (c) 1998
+csplayh5 // (c) 1998
+bikiniko // (c) 1999
+
+// "Phoenix hardware" (and variations) games
+safarir // Shin Nihon Kikaku (SNK)
+phoenix // (c) 1980 Amstar
+phoenixa // (c) 1980 Amstar + Centuri license
+phoenixb // (c) 1980 Amstar + Centuri license
+phoenixt // (c) 1980 Taito
+phoenixj // (c) 1980 Taito
+phoenix3 // bootleg
+phoenixc // bootleg
+condor // bootleg
+fenix // bootleg
+falcon // bootleg
+vautour // bootleg (Jeutel)
+falconz // bootleg
+vautourz // bootleg
+griffon // bootleg (Videotron)
+nextfase // bootleg
+pleiads // (c) 1981 Tehkan
+pleiadbl // bootleg
+pleiadce // (c) 1981 Centuri + Tehkan
+capitol // bootleg?
+survival // (c) 1982 Rock-ola
+naughtyb // (c) 1982 Jaleco
+naughtyba // bootleg
+naughtybc // (c) 1982 Jaleco + Cinematronics
+popflame // (c) 1982 Jaleco
+popflamea // (c) 1982 Jaleco
+popflameb // (c) 1982 Jaleco
+popflamen // (c) 1982 Jaleco
+trvmstr // (c) 1985 Enerdyne Technologies Inc.
+trvmstra // (c) 1985 Enerdyne Technologies Inc.
+trvmstrb // (c) 1985 Enerdyne Technologies Inc.
+trvmstrc // (c) 1985 Enerdyne Technologies Inc.
+trvgns // bootleg
+
+
+
+// Namco games (plus some intruders on similar hardware)
+geebee // [1978] Namco
+geebeeb // [1978] Namco (F.lli Bertolino license)
+geebeeg // [1978] Gremlin
+bombbee // [1979] Namco
+cutieq // (c) 1979 Namco
+navarone // (c) 1980 Namco
+kaitein // [1980] Namco
+kaitei // [1980] K.K. Tokki
+sos // [1980] Namco
+tankbatt // (c) 1980 Namco
+warpwarp // (c) 1981 Namco
+warpwarpr // (c) 1981 [Namco] (Rock-ola license)
+warpwarpr2 // (c) 1981 [Namco] (Rock-ola license)
+rallyx // (c) 1980 Namco
+rallyxa // (c) 1980 Namco
+rallyxm // (c) 1980 Midway
+nrallyx // (c) 1981 Namco
+nrallyxb // (c) 1981 Namco
+jungler // GX327 (c) 1981 Konami
+junglers // GX327 (c) 1981 Stern
+tactcian // GX335 (c) 1982 Sega
+tactcian2 // GX335 (c) 1981 Sega
+locomotn // GX359 (c) 1982 Konami + Centuri license
+gutangtn // GX359 (c) 1982 Konami + Sega license
+cottong // bootleg
+locoboot // bootleg
+commsega // (c) 1983 Sega
+// the following ones all have a custom I/O chip
+bosco // (c) 1981
+boscoo // (c) 1981
+boscoo2 // (c) 1981
+boscomd // (c) 1981 Midway
+boscomdo // (c) 1981 Midway
+galaga // (c) 1981
+galagao // (c) 1981
+galagamw // (c) 1981 Midway
+galagamk // (c) 1981 Midway
+galagamf // (c) 1981 Midway / hack
+gallag // bootleg
+gatsbee // (c) 1984 Uchida / hack
+digdug // (c) 1982
+digdug1 // (c) 1982
+digdugat // 136007 (c) 1982 Atari
+digdugat1 // 136007 (c) 1982 Atari
+dzigzag // bootleg
+digsid // bootleg
+xevious // (c) 1982
+xeviousa // 136018 (c) 1982 + Atari license
+xeviousb // 136018 (c) 1982 + Atari license
+xeviousc // 136018 (c) 1982 + Atari license
+xevios // bootleg
+battles // bootleg
+sxevious // (c) 1984
+sxeviousj // (c) 1984
+superpac // (c) 1982
+superpacm // (c) 1982 Midway
+pacnpal // (c) 1983
+pacnpal2 // (c) 1983
+pacnchmp // (c) 1983
+phozon // (c) 1983
+mappy // (c) 1983
+mappyj // (c) 1983
+digdug2 // (c) 1985
+digdug2o // (c) 1985
+todruaga // (c) 1984
+todruagao // (c) 1984
+todruagas // (c) 1984 pcb manufactured by Sidam
+motos // (c) 1985
+grobda // (c) 1984
+grobda2 // (c) 1984
+grobda3 // (c) 1984
+gaplus // (c) 1984
+gaplusa // (c) 1984
+gapluso // (c) 1984
+galaga3 // (c) 1984
+galaga3m // (c) 1984
+galaga3a // (c) 1984
+// Libble Rabble board (first Japanese game using a 68000)
+liblrabl // (c) 1983
+toypop // (c) 1986
+// Z8000 games
+polepos // (c) 1982
+poleposa // 136014 (c) 1982 + Atari license
+polepos1 // 136014 (c) 1982 Atari
+topracer // bootleg
+topracera // bootleg
+topracern // bootleg
+polepos2 // (c) 1983
+polepos2a // 136014 (c) 1983 + Atari license
+polepos2b // bootleg
+polepos2bi // bootleg
+// no custom I/O in the following, HD63701 (or compatible) microcontroller instead
+pacland // (c) 1984
+paclandj // (c) 1984
+paclandjo // (c) 1984
+paclandjo2 // (c) 1984
+paclandm // (c) 1984 Midway
+drgnbstr // (c) 1984
+skykid // (c) 1985
+skykido // (c) 1985
+skykidd // (c) 1985
+skykids // (c) 1985
+aliensec // (c) 1985
+baraduke // (c) 1985
+metrocrs // (c) 1985
+metrocrsa // (c) 1985
+
+// Namco System 86 games
+hopmappy // (c) 1986
+skykiddx // (c) 1986
+skykiddxo // (c) 1986
+roishtar // (c) 1986
+genpeitd // (c) 1986
+rthunder // (c) 1986 new version
+rthundero // (c) 1986 old version
+wndrmomo // (c) 1987
+
+// Thunder Ceptor HW
+tceptor // (c) 1986
+tceptor2 // (c) 1986
+
+kungfur // (c) 1987
+
+// Namco System 1 games
+shadowld // (c) 1987
+youkaidk // (c) 1987 (Japan new version)
+youkaidko // (c) 1987 (Japan old version)
+dspirit // (c) 1987 (Japan new version)
+dspirito // (c) 1987 (Japan old version)
+dspirita // (c) 1987 (Atari license)
+blazer // (c) 1987 (Japan)
+quester // (c) 1987 (Japan)
+questers // (c) 1987 (Japan)
+pacmania // (c) 1987
+pacmaniaj // (c) 1987 (Japan)
+galaga88 // (c) 1987
+galaga88j // (c) 1987 (Japan)
+ws // (c) 1988 (Japan)
+berabohm // (c) 1988 (Japan)
+berabohmo // (c) 1988 (Japan)
+ // 1988 Alice in Wonderland (English version of Marchen maze)
+mmaze // (c) 1988 (Japan)
+bakutotu // (c) 1988 (Japan)
+wldcourt // (c) 1988 (Japan)
+splatter // (c) 1988 (World)
+splattero // (c) 1988 (World)
+splatterj // (c) 1988 (Japan)
+faceoff // (c) 1988 (Japan)
+rompers // (c) 1989 (Japan)
+romperso // (c) 1989 (Japan)
+blastoff // (c) 1989 (Japan)
+ws89 // (c) 1989 (Japan)
+dangseed // (c) 1989 (Japan)
+ws90 // (c) 1990 (Japan)
+pistoldm // (c) 1990 (Japan)
+boxyboy // (c) 1990 (US)
+soukobdx // (c) 1990 (Japan)
+puzlclub // (c) 1990 (Japan)
+tankfrce // (c) 1991 (US, 2 Player)
+tankfrce4 // (c) 1991 (US, 4 Player)
+tankfrcej // (c) 1991 (Japan)
+
+// Namco System 2 games
+finallap // 87.12 Final Lap
+finallapd // 87.12 Final Lap
+finallapc // 87.12 Final Lap
+finallapjc // 87.12 Final Lap
+finallapjb // 87.12 Final Lap
+assault // (c) 1988
+assaultj // (c) 1988 (Japan)
+assaultp // (c) 1988 (Japan)
+metlhawk // (c) 1988
+metlhawkj // (c) 1988
+ordyne // (c) 1988
+ordynej // (c) 1988
+mirninja // (c) 1988 (Japan)
+phelios // (c) 1988 (Japan)
+dirtfoxj // (c) 1989 (Japan)
+fourtrax // 89.11
+valkyrie // (c) 1989 (Japan)
+finehour // (c) 1989 (Japan)
+burnforc // (c) 1989 (Japan)
+burnforco // (c) 1989 (Japan)
+marvland // (c) 1989 (US)
+marvlandj // (c) 1989 (Japan)
+kyukaidk // (c) 1990 (Japan)
+kyukaidko // (c) 1990 (Japan)
+dsaber // (c) 1990
+dsaberj // (c) 1990 (Japan)
+finalap2 // 90.8 Final Lap 2
+finalap2j // 90.8 Final Lap 2 (Japan)
+gollygho // 91.7 Golly Ghost
+rthun2 // (c) 1990
+rthun2j // (c) 1990 (Japan)
+sgunner // (c) 1990
+sgunnerj // (c) 1990
+sgunner2 // (c) 1991 (US)
+sgunner2j // (c) 1991 (Japan)
+cosmogng // (c) 1991 (US)
+cosmogngj // (c) 1991 (Japan)
+bubbletr // (c) 1992
+finalap3 // 92.9 Final Lap 3
+finalap3a // 92.9 Final Lap 3
+finalap3j // 92.9 Final Lap 3
+finalap3jc // (c) 1992
+luckywld // (c) 1992
+luckywldj // (c) 1992
+suzuka8h // (c) 1992 (World)
+suzuka8hj // (c) 1992 (Japan)
+sws // (c) 1992 (Japan)
+sws92 // (c) 1992 (Japan)
+sws92g // (c) 1992 (Japan)
+suzuk8h2 // (c) 1993 (World)
+sws93 // (c) 1993 (Japan)
+
+// Namco FL games
+speedrcr // (c) 1995
+finalapr // (c) 1995
+finalaprj // (c) 1995
+finalapro // (c) 1995
+
+// Namco NA-1 / NA-2 System games
+bkrtmaq // (c) 1992 (Japan)
+cgangpzl // (c) 1992 (US)
+cgangpzlj // (c) 1992 (Japan)
+exvania // (c) 1992 (Japan)
+fghtatck // (c) 1992 (US)
+fa // (c) 1992 (Japan)
+knckhead // (c) 1992 (World)
+knckheadj // (c) 1992 (Japan)
+swcourt // (c) 1992 (Japan)
+swcourtj // (c) 1992 (Japan)
+emeralda // (c) 1993 (Japan)
+emeraldaj // (c) 1993 (Japan)
+emeraldaja // (c) 1993 (Japan)
+numanath // (c) 1993 (World)
+numanathj // (c) 1993 (Japan)
+quiztou // (c) 1993 (Japan)
+tinklpit // (c) 1993 (Japan)
+xday2 // (c) 1995 (Japan)
+
+// Namco NB-1 / NB-2 System games
+nebulray // (c) 1994 (World)
+nebulrayj // (c) 1994 (Japan)
+ptblank // (c) 1994 (GN2 World)
+gunbuletj // (c) 1994 (GN1 Japan)
+gunbuletw // (c) 1994 (GN3 World)
+gslugrsj // (c) 1993 (Japan)
+gslgr94u // (c) 1994
+gslgr94j // (c) 1994 (Japan)
+sws95 // (c) 1995 (Japan)
+sws96 // (c) 1996 (Japan)
+sws97 // (c) 1997 (Japan)
+vshoot // (c) 1994
+outfxies // (c) 1994 (World)
+outfxiesj // (c) 1994 (Japan)
+machbrkr // (c) 1995 (Japan)
+
+// Namco ND-1 games
+ncv1 // (c) 1995
+ncv1j // (c) 1995 (Japan)
+ncv1j2 // (c) 1995 (Japan)
+ncv2 // (c) 1996
+ncv2j // (c) 1996 (Japan)
+
+// Namco System 21 games
+winrun // (c) 1988
+ // 1989, Winning Run Suzuka Grand Prix
+winrun91 // (c) 1991
+solvalou // (c) 1991 (Japan)
+starblad // (c) 1991
+driveyes // (c) 1992?
+ // 1992, ShimDrive
+aircomb // (c) 1992 (US)
+aircombj // (c) 1992 (Japan)
+cybsled // (c) 1993
+cybsledj // (c) 1993
+
+// Galaxian 3 HW
+gal3 // (c) 1992 (Arcade TV Game List - P.73, Right, 6 from top)
+
+// Namco System 22 games
+ridgerac // (c) 1993
+ridgeracb // (c) 1993
+ridgeracj // (c) 1993
+ridgerac3 // (c) 1993
+rrf // (c) 1993
+acedrvrw // (c) 1994
+alpinerd // (c) 1994
+alpinerc // (c) 1994
+ridgera2 // (c) 1994
+ridgera2j // (c) 1994
+ridgera2ja // (c) 1994
+raveracw // (c) 1995
+raveracj // (c) 1995
+raveracja // (c) 1995
+airco22b // (c) 1995
+alpinr2b // (c) 1995
+alpinr2a // (c) 1995
+cybrcomm // (c) 1995
+cybrcycc // (c) 1995
+timecris // (c) 1995
+timecrisa // (c) 1995
+dirtdash // (c) 1995
+victlapw // (c) 1996
+alpinesa // (c) 1996
+propcycl // (c) 1996
+tokyowar // (c) 1996
+aquajet // (c) 1996
+
+// Namco System 23
+finlflng // July 1997
+motoxgo // November 1997
+rapidrvr // December 1997
+rapidrvr2 // December 1997
+downhill // March 1998
+timecrs2 // April 1998
+timecrs2b // April 1998
+timecrs2c // April 1998
+panicprk // May 1998
+raceon // Race On - September 1998
+gunwars // September 1998
+ // Angler King - March 1999
+500gp // March 1999
+finfurl2 // March 1999
+finfurl2j // March 1999
+ // Guitar Jam - July 1999
+crszone // Crisis Zone - December 1999
+crszonea // Crisis Zone - December 1999
+crszoneb // Crisis Zone - December 1999
+
+// Namco System 246
+sys246
+rrvac
+dragchrn
+netchu02
+scptour
+soulclb2
+soulcl2a
+soulcl2b
+tekken4
+tekken4a
+tekken4b
+timecrs3
+zgundm
+fghtjam
+sukuinuf
+zgundmdx
+gundzaft
+soulclb3
+
+// Namco System 256
+sys256
+tekken51
+kinniku
+taiko9
+taiko10
+
+// Misc Namco games
+25pacman // (c) 2005 Ver 2.0 - Same hardware as 20pacgal
+20pacgal // (c) 2000 Ver 1.08
+20pacgalr4 // (c) 2000 Ver 1.04
+20pacgalr3 // (c) 2000 Ver 1.03
+20pacgalr2 // (c) 2000 Ver 1.02
+20pacgalr1 // (c) 2000 Ver 1.01
+20pacgalr0 // (c) 2000 Ver 1.00
+turrett // (c) 2001 licensed from Dell Electronics
+
+// Universal games
+cosmicg // 7907 (c) 1979
+cosmica // 7910-AII (c) [1979]
+cosmica1 // 7910-A (c) [1979]
+cosmica2 // 7910 (c) 1979
+nomnlnd // 8003 (c) [1980?]
+nomnlndg // 8003 (c) [1980?] + Gottlieb
+magspot // ???? (c) [1980]
+magspot2 // 8013 (c) [1980]
+panic // 8015 (c) 1980
+panic2 // 8015 (c) 1980
+panic3 // 8015 (c) 1980
+panich // 8015 (c) 1980
+panicger // 8015 (c) 1980
+devzone // 8022 (c) [1980]
+devzone2 // 8022 (c) [1980]
+cheekyms // 8004 (c) [1980?]
+zerohour // 8011 (c) Universal
+zerohoura // 8011 (c) Universal
+redclash // (c) 1981 Tehkan
+redclasha // (c) 1981 Tehkan
+redclashk // (c) Kaneko (bootleg?)
+cavenger // 8106 (c) 1981
+ladybug // 8110 (c) 1981
+ladybugb // bootleg
+ladybgb2 // bootleg
+snapjack // ???? (c)
+sraider // ???? (c) 1982 Universal
+dorodon // Falcon
+dorodon2 // Falcon
+mrdo // 8201 (c) 1982
+mrdoy // 8201 (c) 1982
+mrdot // 8201 (c) 1982 + Taito license
+mrdofix // 8201 (c) 1982 + Taito license
+mrlo // bootleg
+mrdu // bootleg
+yankeedo // bootleg
+docastle // 8302 (c) 1983
+docastle2 // 8302 (c) 1983
+docastleo // 8302 (c) 1983
+douni // 8302 (c) 1983
+dorunrun // ???? (c) 1984
+dorunrun2 // ???? (c) 1984
+dorunrunc // ???? (c) 1984
+dorunrunca // ???? (c) 1984
+spiero // ???? (c) 1987
+dowild // ???? (c) 1984
+jjack // ???? (c) 1984
+kickridr // ???? (c) 1984
+idsoccer // ???? (c) 1985
+idsoccera // ???? (c) 1985
+asoccer // 8461 (c) 1987
+superdq // ???? (c) 1984
+superdqs // ???? (c) 1984
+superdqa // ???? (c) 1984
+
+// Nintendo games
+spacefev // (c) 1979 Nintendo
+spacefevo // (c) 1979 Nintendo
+spacefevo2 // (c) 1979 Nintendo
+highsplt // (c) 1979 Nintendo
+highsplta // (c) 1979 Nintendo
+highspltb // (c) 1979 Nintendo
+spacelnc // (c) 1979 Nintendo
+sheriff // (c) 1979 Nintendo
+bandido // (c) 1980 Exidy
+helifire // (c) 1980 Nintendo
+helifirea // (c) 1980 Nintendo
+radarscp // (c) 1980 Nintendo
+radarscp1 // (c) 1980 Nintendo
+dkong // (c) 1981 Nintendo of America
+dkongo // (c) 1981 Nintendo
+dkongj // (c) 1981 Nintendo
+dkongjo // (c) 1981 Nintendo
+dkongjo1 // (c) 1981 Nintendo
+dkongf // hack from Jeff's Romhack
+dkongx // hack
+dkongx11 // hack
+dkongjr // (c) 1982 Nintendo of America
+dkongjrj // (c) 1982 Nintendo
+dkongjnrj // (c) 1982 Nintendo
+dkongjrb // bootleg
+jrking // bootleg
+dkongjre // (c) 1982 Nintendo of America
+dkong3 // (c) 1983 Nintendo of America
+dkong3j // (c) 1983 Nintendo
+dkong3b // bootleg
+mario // (c) 1983 Nintendo of America
+marioe // (c) 1983 Nintendo of America
+marioo // (c) 1983 Nintendo of America
+marioj // (c) 1983 Nintendo
+masao // bootleg
+pestplce // bootleg on donkey kong hw
+spclforc // (c) 1985 Senko Industries (Magic Eletronics Inc. license)
+spcfrcii // (c) 1985 Senko Industries (Magic Eletronics Inc. license)
+8ballact // (c) 1984 Seatongrove Ltd (Magic Eletronics USA license)
+8ballact2 // (c) 1984 Seatongrove Ltd (Magic Eletronics USA license)
+shootgal // (c) 1984 Seatongrove Ltd (Zaccaria license)
+drakton // (c) 1984 Epos Corporation
+drktnjr // (c) 1984 Epos Corporation
+strtheat // (c) 1985 Epos Corporation
+hunchbkd // (c) 1983 Century
+sbdk // (c) 1984 Century
+herbiedk // (c) 1984 CVS
+herodk // (c) 1984 Seatongrove + Crown license
+herodku // (c) 1984 Seatongrove + Crown license
+skyskipr // (c) 1981
+popeye // (c) 1982
+popeyeu // (c) 1982
+popeyef // (c) 1982
+popeyebl // bootleg
+punchout // (c) 1984
+punchita // bootleg
+spnchout // (c) 1984
+spnchoutj // (c) 1984 (Japan)
+armwrest // (c) 1985
+
+// Nintendo Playchoice 10 games
+playch10
+pc_tenis // (c) 1983 Nintendo
+pc_mario // (c) 1983 Nintendo
+pc_bball // (c) 1984 Nintendo of America
+pc_bfght // (c) 1984 Nintendo
+pc_ebike // (c) 1984 Nintendo
+pc_golf // (c) 1984 Nintendo
+pc_kngfu // (c) 1984 Irem (Nintendo license)
+pc_1942 // (c) 1985 Capcom
+pc_smb // (c) 1985 Nintendo
+pc_vball // (c) 1986 Nintendo
+pc_duckh // (c) 1984 Nintendo
+pc_hgaly // (c) 1984 Nintendo
+pc_wgnmn // (c) 1984 Nintendo
+pc_grdus // (c) 1986 Konami
+pc_grdue // (c) 1986 Konami
+pc_tkfld // (c) 1987 Konami (Nintendo of America license)
+pc_pwrst // (c) 1986 Nintendo
+pc_trjan // (c) 1986 Capcom USA (Nintendo of America license)
+pc_cvnia // (c) 1987 Konami (Nintendo of America license)
+pc_dbldr // (c) 1987 Konami (Nintendo of America license)
+pc_rnatk // (c) 1987 Konami (Nintendo of America license)
+pc_rygar // (c) 1987 Tecmo (Nintendo of America license)
+pc_cntra // (c) 1988 Konami (Nintendo of America license)
+pc_goons // (c) 1986 Konami
+pc_mtoid // (c) 1986 Nintendo
+pc_radrc // (c) 1987 Square
+pc_miket // (c) 1987 Nintendo
+pc_rcpam // (c) 1987 Rare
+pc_ngaid // (c) 1989 Tecmo (Nintendo of America license)
+pc_tmnt // (c) 1989 Konami (Nintendo of America license)
+pc_ftqst // (c) 1989 Sunsoft (Nintendo of America license)
+pc_bstar // (c) 1989 SNK (Nintendo of America license)
+pc_tbowl // (c) 1989 Tecmo (Nintendo of America license)
+pc_drmro // (c) 1990 Nintendo
+pc_ynoid // (c) 1990 Capcom USA (Nintendo of America license)
+pc_rrngr // (c) Capcom USA (Nintendo of America license)
+pc_ddrgn // (c) 1988 Technos
+pc_gntlt // (c) 1985 Atari/Tengen (Nintendo of America license)
+pc_smb2 // (c) 1988 Nintendo
+pc_smb3 // (c) 1988 Nintendo
+pc_mman3 // (c) 1990 Capcom USA (Nintendo of America license)
+pc_radr2 // (c) 1990 Square (Nintendo of America license)
+pc_suprc // (c) 1990 Konami (Nintendo of America license)
+pc_tmnt2 // (c) 1990 Konami (Nintendo of America license)
+pc_wcup // (c) 1990 Technos (Nintendo license)
+pc_ngai2 // (c) 1990 Tecmo (Nintendo of America license)
+pc_ngai3 // (c) 1991 Tecmo (Nintendo of America license)
+pc_pwbld // (c) 1991 Taito (Nintendo of America license)
+pc_rkats // (c) 1991 Atlus (Nintendo of America license)
+pc_pinbt // (c) 1988 Rare (Nintendo of America license)
+pc_cshwk // (c) 1989 Rare (Nintendo of America license)
+pc_sjetm // (c) 1990 Rare
+pc_moglf // (c) 1991 Nintendo
+
+// Nintendo VS games
+btlecity // (c) 1985 Namco
+starlstr // (c) 1985 Namco
+cstlevna // (c) 1987 Konami
+cluclu // (c) 1984 Nintendo
+drmario // (c) 1990 Nintendo
+duckhunt // (c) 1985 Nintendo
+excitebk // (c) 1984 Nintendo
+excitebkj // (c) 1984 Nintendo
+goonies // (c) 1986 Konami
+hogalley // (c) 1985 Nintendo
+iceclimb // (c) 1984 Nintendo
+iceclimbj // (c) 1984 Nintendo
+ladygolf // (c) 1984 Nintendo
+ladygolfe // (c) 1984 Nintendo
+machridr // (c) 1985 Nintendo
+machridrj // (c) 1985 Nintendo
+rbibb // (c) 1987 Namco
+rbibba // (c) 1987 Namco
+suprmrio // (c) 1986 Nintendo
+suprmrioa // (c) 1986 Nintendo
+suprmriobl // bootleg
+suprmriobl2 // bootleg
+skatekds // (c) 1988 (hack)
+vsskykid // (c) 1986 Namco
+tkoboxng // (c) 1987 Data East
+smgolf // (c) 1984 Nintendo
+smgolfj // (c) 1984 Nintendo
+vspinbal // (c) 1984 Nintendo
+vspinbalj // (c) 1984 Nintendo
+vsslalom // (c) 1986 Nintendo
+vssoccer // (c) 1985 Nintendo
+vssoccerj // (c) 1985 Nintendo
+vsgradus // (c) 1986 Konami
+platoon // (c) 1987 Ocean
+vstetris // (c) 1988 Atari
+mightybj // (c) 1986 Tecmo
+jajamaru // (c) 1985 Jaleco
+topgun // (c) 1987 Konami
+bnglngby // (c) 1985 Nintendo / Broderbund Software Inc.
+vstennis // (c) 1984 Nintendo
+vstennisj // (c) 1984 Nintendo
+wrecking // (c) 1984 Nintendo
+balonfgt // (c) 1984 Nintendo
+vsmahjng // (c) 1984 Nintendo
+vsbball // (c) 1984 Nintendo
+vsbballj // (c) 1984 Nintendo
+vsbballja // (c) 1984 Nintendo
+vsbballjb // (c) 1984 Nintendo
+iceclmrj // (c) 1984 Nintendo
+vsgshoe // (c) 1986 Nintendo
+supxevs // (c) 1986 Nintendo
+vsfdf // (c) 1986 Sunsoft
+smgolfb // (c) 1985 Nintendo
+
+// NES-based hacks
+multigam // 1992
+multigmb // 1992
+multigm2 // 1992
+multigm3 // 19??
+multigmt
+supergm3 // 1996
+cham24 // 2002
+
+// Famicom Box
+famibox // 1986
+
+// Nintendo Super System Games
+nss
+nss_ssoc // 1992 Human Inc.
+nss_actr // 1992 Enix
+nss_con3 // 1992 Konami
+nss_adam // 1992 Ocean
+nss_aten // 1992 Absolute Entertainment Inc.
+nss_rob3 // 1992 Ocean
+nss_ncaa // 1992 Sculptured Software Inc.
+nss_skin // 1992 Irem
+nss_lwep // 1992 Nintendo
+nss_smw // 1991 Nintendo
+nss_fzer // 1991 Nintendo
+nss_sten // 199? Nintendo
+
+// Super Famicom Box Games
+sfcbox
+//pss61 - Super Mario Kart / Super Mario Collection / Star Fox
+pss62 // 199? T & E Soft / I'Max
+//pss63 - Super Donkey Kong / Super Tetris 2 + Bombliss
+//pss64 - Super Donkey Kong / Super Bomberman 2
+
+
+
+// SNES-based hacks
+kinstb // bootleg
+ffight2b // bootleg
+sblast2b // bootleg
+iron // bootleg
+endless // bootleg
+denseib // bootleg
+
+
+// Midway 8080 b/w games
+seawolf // 596 [1976]
+seawolfo // 596 [1976]
+gunfight // 597 [1975]
+gunfighto // 597 [1975]
+ // 603 - Top Gun [1976]
+tornbase // 605 [1976]
+280zzzap // 610 [1976]
+maze // 611 [1976]
+boothill // 612 [1977]
+checkmat // 615 [1977]
+desertgu // 618 [1977]
+roadrunm // 618 [1977]
+dplay // 619 [1977]
+lagunar // 622 [1977]
+gmissile // 623 [1977]
+m4 // 626 [1977]
+clowns // 630 [1978]
+clowns1 // 630 [1978]
+spacwalk // 640 [1978]
+einning // 642 [1978] Midway
+shuffle // 643 [1978]
+dogpatch // 644 [1977]
+spcenctr // 645 (c) 1980 Midway
+phantom2 // 652 [1979]
+bowler // 730 [1978] Midway
+invaders // 739 [1979]
+blueshrk // 742 [1978]
+invad2ct // 851 (c) 1980 Midway
+invadpt2 // 852 [1980] Taito
+invaddlx // 852 [1980] Midway
+vortex // 852 [1980] Zilec Electronics Ltd.
+moonbase // Taito
+moonbasea // Zeta - Nichibutsu
+ // 870 - Space Invaders Deluxe cocktail
+searthin // bootleg
+searthina // bootleg
+invadrmr // (c) 1978 Model Racing
+modelr // (c) 19?? Model Racing
+spaceatt // (c) 1978 Video Games GMBH
+spaceat2 // (c) 1980 Zenitone-Microsec Ltd
+sinvzen // Zenitone-Microsec Ltd
+superinv // bootleg
+invasion // Sidam
+invasiona // bootleg
+invasionb // bootleg
+invasionrz // bootleg
+invasionrza // bootleg
+sstrangr // (c) 1978 Yachiyo Electronics, Ltd.
+sstrangr2 // (c) 1979 Yachiyo Electronics, Ltd.
+sinvemag // Zenitone-Microsec Ltd.
+jspecter // (c) 1979 Jatre
+jspecter2 // (c) 1979 Jatre
+invrvnge // Zenitone-Microsec Ltd.
+invrvngea // Zenitone-Microsec Ltd. (Dutchford license)
+galxwars // (c) 1979 Universal
+galxwars2 // (c) 1979 Universal
+galxwarst // (c) 1979 Taito?
+starw // bootleg
+lrescue // LR (c) 1979 Taito
+mlander // (c) 1980 Leisure Time Electronics
+lrescuem // Model Racing bootleg
+grescue // bootleg?
+desterth // bootleg
+cosmicmo // Universal
+cosmicm2 // Universal
+rollingc // Nichibutsu
+ozmawars // Shin Nihon Kikaku (SNK)
+ozmawars2 // Shin Nihon Kikaku (SNK)
+solfight // bootleg
+spaceph // Zilec Games
+galactic // (c) 19?? Taito
+spacmiss // bootleg?
+schaser // RT Taito
+schasercv // RT Taito
+lupin3 // LP (c) 1980 Taito
+lupin3a // LP (c) 1980 Taito
+intruder // (c) 1980 GamePlan (Taito)
+spclaser // (c) 1980 GamePlan (Taito)
+laser // (c) 1980 Leisure Time Electronics Inc.
+spcewarl // (c) 1979 Leijac Corporation (Konami)
+polaris // PS (c) 1980 Taito
+polarisa // PS (c) 1980 Taito
+polariso // PS (c) 1980 Taito
+ballbomb // TN (c) 1980 Taito
+indianbt // (c) 1980 Taito
+steelwkr // (c) 1980 Taito
+m79amb // (c) 1977 RamTek
+alieninv // Margamatics
+alieninvp2 // bootleg
+tst_invd // Test ROM
+sitv // (c) 1979 Taito
+sicv // (c) 1979 Taito
+sisv // (c) 1978 Taito
+sisv2 // (c) 1978 Taito
+spacewr3 // bootleg
+invaderl // bootleg
+invader4 // bootleg
+yosakdon // (c) 1979 Yosaku To Donbei
+yosakdona // (c) 1979 Yosaku To Donbei
+spceking // (c) 1978 Leijac Corporation (Konami)
+spcewars // (c) 1978 Sanritsu
+astropal // (c) 19?? Sidam
+cosmo // TDS+Mints
+darthvdr // bootleg
+
+18w // 653 (c) 1979 Midway
+18w2 // 653 (c) 1979 Midway
+sspeedr // 1979 Midway
+
+// Similar but with a M6800 instead of an 8080
+sflush // (c)1979 Taito
+
+// Meadows S2650 games
+lazercmd // [1976?]
+bbonk // [1976?]
+deadeye // [1978?]
+bowl3d // [1978?]
+gypsyjug // [1978?]
+minferno // [1978?]
+medlanes // [1977?]
+
+// CVS games
+cosmos // (c) 1981 Century
+darkwar // (c) 1981 Century
+spacefrt // (c) 1981 Century
+8ball // (c) 1982 Century
+8ball1 // (c) 1982 Century
+logger // (c) 1982 Century
+dazzler // (c) 1982 Century
+diggerc // (c) 1982 Century
+wallst // (c) 1982 Century
+radarzon // (c) 1982 Century
+radarzon1 // (c) 1982 Century
+radarzont // (c) 1982 Tuni Electro Service
+outline // (c) 1982 Century
+goldbug // (c) 1982 Century
+heartatk // (c) 1983 Century Electronics
+hunchbak // (c) 1983 Century
+hunchbaka // (c) 1983 Century
+superbik // (c) 1983 Century
+raiders // (c) 1983 Century Electronics UK
+hero // (c) 1983 Seatongrove (c) 1984 CVS
+huncholy // (c) 1984 Seatongrove (c) CVS
+
+// Zaccaria Hardware (similar to CVS)
+quasar // (c) 1980 Zelco Games Italy
+quasara // (c) 1980 Zelco Games Italy
+
+// Midway "Astrocade" games
+seawolf2 // (c) 1978
+spacezap // (c) 1980
+ebases // (c) 1980
+wow // (c) 1980
+wowg // (c) 1980
+gorf // (c) 1981
+gorfpgm1 // (c) 1981
+gorfpgm1g // (c) 1981
+robby // (c) 1981 Bally Midway
+demndrgn // (c) 1982 Bally Midway
+profpac // (c) 1983 Bally Midway
+tenpindx // (c) 1983 Bally Midway
+
+// Bally Midway MCR games
+// MCR1
+solarfox // (c) 1981
+kick // (c) 1981
+kickman // (c) 1981
+kickc // (c) 1981
+// MCR2
+shollow // (c) 1981
+shollow2 // (c) 1981
+tron // (c) 1982
+tron2 // (c) 1982
+tron3 // (c) 1982
+tron4 // (c) 1982
+kroozr // (c) 1982
+domino // (c) 1982
+wacko // (c) 1982
+twotiger // (c) 1984
+twotigerc // (c) 1984
+// MCR2 + MCR3 sprites
+journey // (c) 1983
+// MCR3
+tapper // (c) 1983
+tappera // (c) 1983
+sutapper // (c) 1983
+rbtapper // (c) 1984
+timber // (c) 1984
+dotron // (c) 1983
+dotrona // (c) 1983
+dotrone // (c) 1983
+nflfoot // (c) 1983 + laserdisk
+demoderb // (c) 1984
+demoderm // (c) 1984
+sarge // (c) 1985
+rampage // (c) 1986
+rampage2 // (c) 1986
+powerdrv // (c) 1986
+stargrds // (c) 1987
+maxrpm // (c) 1986
+spyhunt // (c) 1983
+spyhuntp // (c) 1983
+turbotag // (c) 1985
+crater // (c) 1984
+// MCR 68000
+zwackery // (c) 1984
+xenophob // (c) 1987
+spyhunt2 // (c) 1987
+spyhunt2a // (c) 1987
+intlaser // (c) 1987
+blasted // (c) 1988
+archrivl // (c) 1989
+archrivl2 // (c) 1989
+trisport // (c) 1989
+pigskin // (c) 1990
+pigskina // (c) 1990
+
+// Bally / Sente games
+sentetst
+cshift // (c) 1984
+gghost // (c) 1984
+hattrick // (c) 1984
+otwalls // (c) 1984
+snakepit // (c) 1984
+snakjack // (c) 1984
+stocker // (c) 1984
+triviag1 // (c) 1984
+trivia12 // (c) 1984
+triviag2 // (c) 1984
+triviasp // (c) 1984
+triviayp // (c) 1984
+triviabb // (c) 1984
+triviaes // (c) 1984
+gimeabrk // (c) 1985
+minigolf // (c) 1985
+minigolf2 // (c) 1985
+toggle // (c) 1985
+nametune // (c) 1986
+nametune2 // (c) 1986
+nstocker // (c) 1986
+nstocker2 // (c) 1986
+sfootbal // (c) 1986
+spiker // (c) 1986
+stompin // (c) 1986
+rescraid // (c) 1987
+rescraida // (c) 1987
+grudge // prototype - Bally/Midway
+shrike // (c) 1987
+gridlee // [1983 Videa] prototype - no copyright notice
+
+// Irem games
+// trivia: IREM means "International Rental Electronics Machines"
+andromed // (c) 1979
+ipminvad // M10 no copyright notice (Arcade TV Game List - P.67, Left, 26 from top)
+ipminvad1 // M10 incomplete dump
+ptrmj // M14 (c) 1979
+skychut // Irem [1980]
+spacbeam // M15 no copyright notice
+greenber // Irem
+headoni // Irem no copyright notice (1979 - Arcade TV Game List - P.98, Left, 7 from top
+
+panther // M27 no copyright notice
+redalert // M27 (c) 1981 + "GDI presents"
+demoneye // M27 (c) 1981
+ww3 // M27 (c) 1981
+
+olibochu // M47 (c) 1981 + "GDI presents"
+mpatrol // M52 (c) 1982
+mpatrolw // M52 (c) 1982 + Williams license
+alpha1v // Vision Electronics
+troangel // (c) 1983
+newtangl // (c) 1983
+10yard // (c) 1983
+10yardj // (c) 1983
+vs10yard // (c) 1983/1984
+vs10yardj // (c) 1983/1984
+vs10yardu // (c) 1983/1984
+10yard85 // (c) 1985
+travrusa // (c) 1983
+motorace // (c) 1983 Williams license
+shtrider // (c) 1984 Seibu Kaihatsu
+shtridera // (c) 1984 Seibu Kaihatsu
+wilytowr // M63 (c) 1984
+atomboy // M63 (c) 1985 Irem + Memetron license
+atomboya // M63 (c) 1985 Irem + Memetron license
+fghtbskt // (c) 1984 Paradise Co. Ltd.
+// M62
+kungfum // (c) 1984
+kungfumd // (c) 1984 + Data East license
+spartanx // (c) 1984 (Japan)
+kungfub // bootleg
+kungfub2 // bootleg
+battroad // (c) 1984
+ldrun // (c) 1984 licensed from Broderbund
+ldruna // (c) 1984 licensed from Broderbund
+ldrun2 // (c) 1984 licensed from Broderbund
+ldrun3 // (c) 1985 licensed from Broderbund
+ldrun3j // (c) 1985 licensed from Broderbund
+ldrun4 // (c) 1986 licensed from Broderbund
+lotlot // (c) 1985 licensed from Tokuma Shoten
+kidniki // (c) 1986 + Data East USA license
+kidnikiu // (c) 1986 + Data East USA license
+yanchamr // (c) 1986 (Japan)
+lithero // bootleg
+spelunkr // (c) 1985 licensed from Broderbund
+spelunkrj // (c) 1985 licensed from Broderbund
+spelunk2 // (c) 1986 licensed from Broderbund
+horizon // (c) 1985
+youjyudn // (c) 1986 (Japan)
+
+vigilant // (c) 1988 (World)
+vigilant1 // (c) 1988 (World)
+vigilantu // (c) 1988 (US)
+vigilantj // (c) 1988 (Japan)
+kikcubic // (c) 1988 (Japan)
+kikcubicb // bootleg
+buccanrs // (c) 1989 Duintronic
+buccanrsa // (c) 1989 Duintronic
+// M72 (and derivatives)
+rtype // (c) 1987 (Japan)
+rtypej // (c) 1987 (Japan)
+rtypejp // (c) 1987 (Japan)
+rtypeu // (c) 1987 + Nintendo USA license (US)
+rtypeb // bootleg
+bchopper // (c) 1987
+mrheli // (c) 1987 (Japan)
+nspirit // (c) 1988
+nspiritj // (c) 1988 (Japan)
+imgfight // (c) 1988 (Japan)
+imgfighto // (c) 1988 (Japan)
+loht // (c) 1989
+lohtj // (c) 1989 (Japan)
+lohtb // (c) 1989 (bootleg)
+lohtb2 // (c) 1989 (bootleg)
+xmultipl // (c) 1989 (Japan)
+xmultiplm72 // (c) 1989 (Japan)
+dbreed // (c) 1989
+dbreedm72 // (c) 1989
+rtype2 // (c) 1989
+rtype2j // (c) 1989 (Japan)
+rtype2jc // (c) 1989 (Japan)
+majtitle // (c) 1990 (World)
+majtitlej // (c) 1990 (Japan)
+hharry // (c) 1990 (World)
+hharryu // (c) 1990 Irem America (US)
+dkgensan // (c) 1990 (Japan)
+dkgensanm72 // (c) 1990 (Japan)
+poundfor // (c) 1990 (World)
+poundforj // (c) 1990 (Japan)
+poundforu // (c) 1990 Irem America (US)
+airduel // (c) 1990 (Japan)
+cosmccop // (c) 1991 (World)
+gallop // (c) 1991 (Japan)
+kengo // (c) 1991
+// not M72, but same sound hardware
+sichuan2 // (c) 1989 Tamtex
+sichuan2a // (c) 1989 Tamtex
+shisen // (c) 1989 Tamtex
+matchit // (c) 1989 Tamtex
+// M90
+hasamu // (c) 1991 Irem (Japan)
+dynablst // (c) 1991 Irem (World)
+dynablstb // bootleg
+bombrman // (c) 1991 Irem (Japan)
+atompunk // (c) 1991 Irem America (licensed from Hudson Soft)
+// M97
+bbmanw // (c) 1992 Irem (World)
+bbmanwj // (c) 1992 Irem (Japan)
+bomblord // bootleg
+newapunk // (c) 1992 Irem America (US)
+quizf1 // (c) 1992 Irem (Japan)
+riskchal // (c) 1993 Irem
+gussun // (c) 1993 Irem (Japan)
+matchit2 // (c) 1993 Tamtex
+shisen2 // (c) 1993 Tamtex
+// M92
+gunforce // (c) 1991 Irem (World)
+gunforceu // (c) 1991 Irem America (US)
+gunforcej // (c) 1991 Irem (Japan)
+bmaster // (c) 1991 Irem
+crossbld // (c) 1991 Irem (Japan)
+lethalth // (c) 1991 Irem (World)
+thndblst // (c) 1991 Irem (Japan)
+uccops // (c) 1992 Irem (World)
+uccopsu // (c) 1992 Irem (US)
+uccopsar // (c) 1992 Irem (World)
+uccopsj // (c) 1992 Irem (Japan)
+mysticri // (c) 1992 Irem (World)
+mysticrib // bootleg?
+gunhohki // (c) 1992 Irem (Japan)
+majtitl2 // (c) 1992 Irem (World)
+majtitl2j // (c) 1992 Irem (Japan)
+skingame // (c) 1992 Irem America (US)
+skingame2 // (c) 1992 Irem America (US)
+hook // (c) 1992 Irem (World)
+hooku // (c) 1992 Irem America (US)
+hookj // (c) 1992 Irem (Japan)
+ppan // bootleg
+rtypeleo // (c) 1992 Irem (World)
+rtypeleoj // (c) 1992 Irem (Japan)
+inthunt // (c) 1993 Irem (World)
+inthuntu // (c) 1993 Irem (US)
+kaiteids // (c) 1993 Irem (Japan)
+nbbatman // (c) 1993 Irem America (US)
+leaguemn // (c) 1993 Irem (Japan)
+ssoldier // (c) 1993 Irem America (US)
+psoldier // (c) 1993 Irem (Japan)
+dsoccr94j // (c) 1994 Irem (Japan)
+gunforc2 // (c) 1994 Irem
+geostorm // (c) 1994 Irem (Japan)
+// M107
+firebarr // (c) 1993 Irem (Japan)
+dsoccr94 // (c) 1994 Irem (Data East Corporation license)
+kftgoal // (c) 1994 Jaleco
+wpksoc // (c) 1995 Jaleco
+
+// Gottlieb/Mylstar games (Gottlieb became Mylstar in 1983)
+reactor // GV-100 (c) 1982 Gottlieb
+mplanets // GV-102 (c) 1983 Gottlieb
+mplanetsuk // GV-102 (c) 1983 Gottlieb
+qbert // GV-103 (c) 1982 Gottlieb
+qberta // GV-103 (c) 1982 Gottlieb
+qbertj // GV-103 (c) 1982 Gottlieb + Konami license
+myqbert // GV-103?(c) 1982 Gottlieb
+qberttst // GV-103 (c) 1982 Gottlieb
+qbtrktst // GV-103 (c) 1982 Gottlieb
+insector // GV-??? (c) 1982 Gottlieb - never released
+tylz // GV-??? (c) 1982 Gottlieb - never released
+argusg // GV-??? (c) 1982 Gottlieb - never released
+krull // GV-105 (c) 1983 Gottlieb
+kngtmare // GV-??? (c) 1983 Gottlieb - never released
+sqbert // GV-??? (c) 1983 Mylstar - never released
+mach3 // GV-109 (c) 1983 Mylstar
+cobram3 // ...... (c) 1984 Data East
+usvsthem // GV-??? (c) 198? Mylstar
+3stooges // GV-113 (c) 1984 Mylstar
+qbertqub // GV-119 (c) 1983 Mylstar
+screwloo // GV-123 (c) 1983 Mylstar - never released
+curvebal // GV-134 (c) 1984 Mylstar
+vidvince // GV-??? (c) 1984 Mylstar - never released
+wizwarz // GV-??? (c) 1984 Mylstar - never released
+
+// Taito "Qix hardware" games
+qix // LK (c) 1981 Taito America Corporation
+qixa // LK (c) 1981 Taito America Corporation
+qixb // LK (c) 1981 Taito America Corporation
+qixo // LK (c) 1981 Taito America Corporation
+qix2 // ?? (c) 1981 Taito America Corporation
+sdungeon // SD (c) 1981 Taito America Corporation
+elecyoyo // YY (c) 1982 Taito America Corporation
+elecyoyo2 // YY (c) 1982 Taito America Corporation
+kram // KS (c) 1982 Taito America Corporation
+kram2 // KS (c) 1982 Taito America Corporation
+kram3 // KS (c) 1982 Taito America Corporation
+zookeep // ZA (c) 1982 Taito America Corporation
+zookeep2 // ZA (c) 1982 Taito America Corporation
+zookeep3 // ZA (c) 1982 Taito America Corporation
+slither // (c) 1982 Century II
+slithera // (c) 1982 Century II
+complexx // CX (c) 1984 Taito America Corporation
+
+// Taito SJ System games
+spaceskr // EB (c) 1981 Taito Corporation
+spacecr // CG (c) 1981 Taito Corporation
+junglek // KN (c) 1982 Taito Corporation
+junglekj2 // KN (c) 1982 Taito Corporation
+jungleh // KN (c) 1982 Taito America Corporation
+junglehbr // KN (c) 1982 Taito do Brasil
+piratpet // KN (c) 1982 Taito America Corporation
+jungleby // bootleg
+alpine // RH (c) 1982 Taito Corporation
+alpinea // RH (c) 1982 Taito Corporation
+timetunl // UN (c) 1982 Taito Corporation
+wwestern // WW (c) 1982 Taito Corporation
+wwestern1 // WW (c) 1982 Taito Corporation
+frontlin // FL (c) 1982 Taito Corporation
+elevator // EA (c) 1983 Taito Corporation
+elevatorb // bootleg
+tinstar // A10 (c) 1983 Taito Corporation
+tinstar2 // A10 (c) 1983 Taito Corporation
+waterski // A03 (c) 1983 Taito Corporation
+bioatack // AA8 (c) 1983 Taito Corporation + Fox Video Games license
+hwrace // AC4 (c) 1983 Taito Corporation
+sfposeid // A14 (c) 1984 Taito Corporation
+kikstart // A20 (c) 1984 Taito Corporation
+
+// other Taito games
+fgoal // TF (c) 1979 Taito Corporation
+fgoala // MF (c) 1979 Taito Corporation
+crbaloon // CL (c) 1980 Taito Corporation
+crbaloon2 // CL (c) 1980 Taito Corporation
+sbowling // KB (c) 1982 Taito Corporation
+grchamp // GM (c) 1981 Taito Corporation
+marinedt // MG (c) 1981 Taito Corporation
+changela // ??? (c) 1983 Taito Corporation
+fspiderb // bootleg
+jollyjgr // KD (c) 1982 Taito Corporation
+bking // DM (c) 1982 Taito Corporation
+bking2 // AD6 (c) 1983 Taito Corporation
+bking3 // A24 (c) 1984 Taito Corporation
+chaknpop // A04 (c) 1983 Taito Corporation
+josvolly // AA (c) 1983 Taito Corporation
+gsword // AC (c) 1984 Taito Corporation
+gsword2 // AC (c) 1984 Taito Corporation
+cyclemb // P0 (c) 1984 Taito Corporation [+ Seta]
+pitnrun // PR (c) 1984 Taito Corporation
+pitnruna // PR (c) 1984 Taito Corporation
+lkage // A54 (c) 1984 Taito Corporation
+lkageo // A54 (c) 1984 Taito Corporation
+lkageoo // A54 (c) 1984 Taito Corporation
+lkageb // bootleg
+lkageb2 // bootleg
+lkageb3 // bootleg
+bygone // prototype ? A53 (c) 1985 Taito Corporation
+msisaac // A34 (c) 1985 Taito Corporation
+retofinv // A37 (c) 1985 Taito Corporation
+retofinv1 // bootleg
+retofinv2 // bootleg
+fightrol // (c) 1983 Taito
+rollace // (c) 1983 Williams
+rollace2 // (c) 1983 Williams
+lgp // (c) 1983 Taito
+vsgongf // (c) 1984 Kaneko
+ringfgt // (c) 1984 Taito
+ringfgt2 // (c) 1984 Taito
+fieldday // A23 (c) 1984 Taito
+undoukai // A17 (c) 1984 Taito
+40love // A30 (c) 1984 Taito
+tsamurai // A35 (c) 1985 Taito
+tsamurai2 // A35 (c) 1985 Taito
+tsamuraih // bootleg
+ladymstr // A49 (c) 1985 Taito
+nunchaku // ??? (c) 1985 Taito
+yamagchi // A38 (c) 1985 Taito
+m660 // ??? (c) 1986 Taito America Corporation
+m660j // ??? (c) 1986 Taito Corporation (Japan)
+m660b // bootleg
+alphaxz // AZ (c) 1986 Ed/Wood Place
+buggychl // A22 (c) 1984 Taito Corporation
+buggychlt // A22 (c) 1984 Taito Corporation + Tefri license
+ssrj // A40 (c) 1985 Taito Corporation
+bigevglf // A67 (c) 1986 Taito America Corporation (US)
+bigevglfj // A67 (c) 1986 Taito Corporation (Japan)
+flstory // A45 (c) 1985 Taito Corporation
+flstoryj // A45 (c) 1985 Taito Corporation (Japan)
+onna34ro // A52 (c) 1985 Taito Corporation (Japan)
+onna34roa // A52 (c) 1985 Taito Corporation (Japan)
+victnine // A16 (c) 1985 Taito Corporation (Japan)
+rumba // A23 (c) 1985 Taito Corporation (Japan)
+gladiatr // QB (c) 1986 Taito America Corporation (US)
+ogonsiro // QB (c) 1986 Taito Corporation (Japan)
+greatgur // QB (c) 1986 Taito Corporation (Japan?)
+ppking // QO (c) 1985 Taito America Corporation (US)
+nycaptor // A50 (c) 1985 Taito Corporation
+cyclshtg // A97 (c) 1986 Taito Corporation
+bronx // bootleg
+colt // bootleg
+ksayakyu // ??? (c) 1985 Taito Corporation
+benberob // A26
+halleys // A62 (c) 1986 Taito America Corporation + Coin It (US)
+halleysc // A62 (c) 1986 Taito Corporation (Japan)
+halleycj // A62 (c) 1986 Taito Corporation (Japan)
+halley87 // A62 (c) 1986 Taito Corporation (Japan)
+lsasquad // A64 (c) 1986 Taito Corporation / Taito America (dip switch)
+storming // A64 (c) 1986 Taito Corporation
+daikaiju // A74 (c) 1986 Taito
+tokio // A71 1986
+tokioo // A71 1986
+tokiou // A71 1986
+tokiob // bootleg
+bublbobl // A78 (c) 1986 Taito Corporation
+bublbobl1 // A78 (c) 1986 Taito Corporation
+bublboblr // A78 (c) 1986 Taito America Corporation + Romstar license
+bublboblr1 // A78 (c) 1986 Taito America Corporation + Romstar license
+boblbobl // bootleg
+sboblboa // bootleg
+sboblbob // bootleg
+bub68705 // bootleg
+dland // bootleg
+missb2 // bootleg on enhanced hardware
+bublpong // bootleg on enhanced hardware
+kikikai // A85 (c) 1986 Taito Corporation
+knightb // bootleg
+kicknrun // A87 (c) 1986 Taito Corporation
+kicknrunu // A87 (c) 1986 Taito Corporation
+mexico86 // bootleg (Micro Research)
+darius // A96 (c) 1986 Taito Corporation Japan (World)
+dariusj // A96 (c) 1986 Taito Corporation (Japan)
+dariuso // A96 (c) 1986 Taito Corporation (Japan)
+dariuse // A96 (c) 1986 Taito Corporation (Japan)
+rastan // B04 (c) 1987 Taito Corporation Japan (World)
+rastanu // B04 (c) 1987 Taito America Corporation (US)
+rastanu2 // B04 (c) 1987 Taito America Corporation (US)
+rastsaga // B04 (c) 1987 Taito Corporation (Japan)
+rastsaga1 // B04 (c) 1987 Taito Corporation (Japan)
+topspeed // B14 (c) 1987 Taito Corporation Japan (World)
+topspeedu // B14 (c) 1987 Taito America Corporation (US)
+fullthrl // B14 (c) 1987 Taito Corporation (Japan)
+opwolf // B20 (c) 1987 Taito Corporation Japan (World)
+opwolfa // B20 (c) 1987 Taito Corporation Japan (World)
+opwolfj // B20 (c) 1987 Taito Corporation (Japan)
+opwolfu // B20 (c) 1987 Taito America Corporation (US)
+opwolfb // bootleg
+othunder // B67 (c) 1988 Taito Corporation Japan (World)
+othunderu // B67 (c) 1988 Taito America Corporation (US)
+othunderuo // B67 (c) 1988 Taito America Corporation (US)
+othunderj // B67 (c) 1988 Taito Corporation (Japan)
+rainbow // B22 (c) 1987 Taito Corporation
+rainbowo // B22 (c) 1987 Taito Corporation
+rainbowe // B39 (c) 1988 Taito Corporation
+jumping // bootleg
+arkanoid // A75 (c) 1986 Taito Corporation Japan (World)
+arkanoidu // A75 (c) 1986 Taito America Corporation + Romstar license (US)
+arkanoiduo // A75 (c) 1986 Taito America Corporation + Romstar license (US)
+arkanoidj // A75 (c) 1986 Taito Corporation (Japan)
+arkmcubl // bootleg
+ark1ball // bootleg
+arkangc // bootleg
+arkangc2 // bootleg
+arkblock // bootleg
+arkbloc2 // bootleg
+arkbloc3 // bootleg
+arkgcbl // bootleg
+arkgcbla // bootleg
+paddle2 // bootleg
+block2 // bootleg
+arkatayt // bootleg
+arktayt2 // bootleg
+arkatour // ??? (c) 1987 Taito America Corporation + Romstar license (US)
+tetrsark // ??? (c) D.R.Korea
+hexa // D. R. Korea
+sqix // B03 1987
+sqixr1 // B03 1987
+sqixu // B03 1987
+sqixb1 // bootleg? but (c) 1987
+sqixb2 // bootleg? but (c) 1987
+perestro // (c) 1994 Promat
+perestrof // (c) 1993 Promat / Fuuki
+pbillian // (c) 1986 Taito
+hotsmash // B18 (c) 1987 Taito
+exzisus // B12 (c) 1987 Taito Corporation (Japan)
+exzisusa // B23 (c) 1987 Taito Corporation (Japan)
+minivadr // D26 cabinet test board
+volfied // C04 (c) 1989 Taito Corporation Japan (World)
+volfiedu // C04 (c) 1989 Taito America Corporation (US)
+volfiedj // C04 (c) 1989 Taito Corporation (Japan)
+volfiedjo // C04 (c) 1989 Taito Corporation (Japan)
+bonzeadv // B41 (c) 1988 Taito Corporation Japan (World)
+bonzeadvo // B41 (c) 1988 Taito Corporation Japan (World)
+bonzeadvu // B41 (c) 1988 Taito America Corporation (US)
+jigkmgri // B41 (c) 1988 Taito Corporation (Japan)
+asuka // B68 (c) 1988 Taito Corporation (World)
+asukaj // B68 (c) 1988 Taito Corporation (Japan)
+mofflott // C17 (c) 1989 Taito Corporation (Japan)
+cadash // C21 (c) 1989 Taito Corporation Japan
+cadashj // C21 (c) 1989 Taito Corporation
+cadashu // C21 (c) 1989 Taito America Corporation
+cadashi // C21 (c) 1989 Taito Corporation Japan
+cadashf // C21 (c) 1989 Taito Corporation Japan
+cadashg // C21 (c) 1989 Taito Corporation Japan
+parentj // C42 (c) 199? Taito
+galmedes // (c) 1992 Visco (Japan)
+earthjkr // (c) 1993 Visco (Japan)
+eto // (c) 1994 Visco (Japan)
+wgp // C32 (c) 1989 Taito America Corporation (US)
+wgpj // C32 (c) 1989 Taito Corporation (Japan)
+wgpjoy // C32 (c) 1989 Taito Corporation (Japan)
+wgpjoya // C32 (c) 1989 Taito Corporation (Japan)
+wgp2 // C73 (c) 1990 Taito Corporation (Japan)
+galastrm // C99 (c) 1992 Taito Corporation
+slapshot // D71 (c) 1994 Taito Corporation (Japan)
+opwolf3 // D74 (c) 1994 Taito
+opwolf3u // D74 (c) 1994 Taito
+scessjoe // ??? (c) 1990 Wave / Taito
+ashnojoe // ??? (c) 1990 Wave / Taito
+
+// Taito multi-screen games
+ninjaw // B31 (c) 1987 Taito Corporation Japan (World)
+ninjawj // B31 (c) 1987 Taito Corporation (Japan)
+darius2 // C07 (c) 1989 Taito Corporation (Japan)
+darius2d // C07 (c) 1989 Taito Corporation (Japan)
+darius2do // C07 (c) 1989 Taito Corporation (Japan)
+warriorb // D24 (c) 1991 Taito Corporation (Japan)
+
+// Taito "X"-system games
+superman // B61 (c) 1988 Taito Corporation
+supermanj // B61 (c) 1988 Taito Corporation
+twinhawk // B87 (c) 1989 Taito Corporation Japan (World)
+twinhawku // B87 (c) 1989 Taito America Corporation (US)
+daisenpu // B87 (c) 1989 Taito Corporation (Japan)
+gigandes // (c) 1989 East Technology
+gigandesj // (c) 1989 East Technology
+kyustrkr // (c) 1989 East Technology
+ballbros // no copyright notice
+
+// Taito "tnzs" (Seta) hardware
+plumppop // A98 (c) 1987 Taito Corporation (Japan)
+jpopnics // (c)1992 NICs, based on Plump Pop code
+extrmatn // B06 (c) 1987 Taito Corporation Japan (World)
+extrmatnu // B06 (c) 1987 World Games
+extrmatnj // B06 (c) 1987 Taito Corporation (Japan)
+arknoid2 // B08 (c) 1987 Taito Corporation Japan (World)
+arknoid2u // B08 (c) 1987 Taito America Corporation + Romstar license (US)
+arknoid2j // B08 (c) 1987 Taito Corporation (Japan)
+drtoppel // B19 (c) 1987 Taito Corporation Japan (World)
+drtoppelu // B19 (c) 1987 Taito Corporation (US)
+drtoppelj // B19 (c) 1987 Taito Corporation (Japan)
+kageki // B35 (c) 1988 Taito America Corporation + Romstar license (US)
+kagekij // B35 (c) 1988 Taito Corporation (Japan)
+kagekih // B35 (c) 1992 (hack)
+chukatai // B44 (c) 1988 Taito Corporation Japan (World)
+chukataiu // B44 (c) 1988 Taito Corporation (US)
+chukataij // B44 (c) 1988 Taito Corporation (Japan)
+kabukiz // B50 (c) 1988 Taito Corporation Japan (World)
+kabukizj // B50 (c) 1988 Taito Corporation (Japan)
+tnzs // B53 (c) 1988 Taito Corporation Japan (World) (new logo)
+tnzsj // B53 (c) 1988 Taito Corporation (Japan) (new logo)
+tnzsjo // B53 (c) 1988 Taito Corporation (Japan) (new logo)
+tnzso // B53 (c) 1988 Taito Corporation Japan (World) (old logo)
+tnzsop // B53?(c) 1988 Taito Corporation Japan (World) (old logo)
+insectx // B97 (c) 1989 Taito Corporation Japan (World)
+insectxj // B97 (c) 1989 Taito Corporation (Japan)
+cchance // (c)1987 Taito?
+champbwl // (c)1989 Romstar. not Taito, but the same Seta video chips
+
+// Taito L-System games
+raimais // B36 (c) 1988 Taito Corporation (Japan)
+raimaisj // B36 (c) 1988 Taito Corporation
+raimaisjo // B36 (c) 1988 Taito Corporation
+kurikint // B42 (c) 1988 Taito Corporation Japan (World)
+kurikintu // B42 (c) 1988 Taito America Corporation (US)
+kurikintj // B42 (c) 1988 Taito Corporation (Japan)
+kurikinta // B42 (c) 1988 Taito Corporation Japan (World)
+evilston // C67 (c) 1990 Spacy Industrial, Ltd
+fhawk // B70 (c) 1988 Taito Corporation Japan (World)
+fhawkj // B70 (c) 1988 Taito Corporation (Japan)
+plotting // B96 (c) 1989 Taito Corporation Japan (World)
+plottingu // B96 (c) 1989 Taito Corporation Japan (US)
+plottinga // B96 (c) 1989 Taito Corporation Japan (World)
+plottingb // B96 (c) 1989 Taito Corporation Japan (World)
+flipull // B96 (c) 1989 Taito Corporation Japan (World)
+champwr // C01 (c) 1989 Taito Corporation Japan (World)
+champwru // C01 (c) 1989 Taito America Corporation (US)
+champwrj // C01 (c) 1989 Taito Corporation (Japan)
+puzznic // C20 (c) 1989 Taito Corporation (Japan)
+puzznicj // C20 (c) 1989 Taito Corporation (Japan)
+puzznici // C20 (c) 1989 Taito Corporation (Japan)
+horshoes // C47 (c) 1990 Taito America Corporation (US)
+palamed // C63 (c) 1990 Taito Corporation (Japan)
+cachat // ??? (c) 1993 Taito Corporation (Japan)
+tubeit // ??? no copyright message
+cubybop // ??? no copyright message
+plgirls // (c) 1992 Hot-B.
+plgirls2 // (c) 1993 Hot-B.
+lagirl // plgirls bootleg?
+
+// Taito H-System games
+syvalion // B51 (c) 1988 Taito Corporation (Japan)
+recordbr // B56 (c) 1988 Taito Corporation Japan (World)
+gogold // B56 (c) 1988 Taito Corporation (Japan)
+dleague // C02 (c) 1990 Taito Corporation (Japan)
+
+// Taito B-System games
+masterw // B72 (c) 1989 Taito Corporation Japan (World)
+masterwu // B72 (c) 1989 Taito America Corporation (US)
+masterwj // B72 (c) 1989 Taito Corporation (Japan)
+nastar // B81 (c) 1988 Taito Corporation Japan (World)
+nastarw // B81 (c) 1988 Taito America Corporation (US)
+rastsag2 // B81 (c) 1988 Taito Corporation (Japan)
+rambo3 // B93 (c) 1989 Taito Europe Corporation (Europe)
+rambo3ae // B93 (c) 1989 Taito Europe Corporation (Europe)
+rambo3a // B93 (c) 1989 Taito America Corporation (US)
+crimec // B99 (c) 1989 Taito Corporation Japan (World)
+crimecu // B99 (c) 1989 Taito America Corporation (US)
+crimecj // B99 (c) 1989 Taito Corporation (Japan)
+tetrist // C12 (c) 1989 Sega Enterprises,Ltd. (Japan)
+tetrista // C35 (c) 1989 Sega Enterprises,Ltd. (Japan)
+viofight // C16 (c) 1989 Taito Corporation Japan (World)
+viofightu // C16 (c) 1989 Taito America Corporation (US)
+viofightj // C16 (c) 1989 Taito Corporation (Japan)
+ashura // C43 (c) 1990 Taito Corporation Japan (World)
+ashuraj // C43 (c) 1990 Taito Corporation (Japan)
+ashurau // C43 (c) 1990 Taito America Corporation (US)
+hitice // C59 (c) 1990 Williams (US)
+hiticej // C59 (c) 1990 Midway/Taito Corporation (Japan)
+sbm // C69 (c) 1990 Taito Corporation (Japan)
+selfeena // ??? (c) 1991 East Technology
+silentd // ??? (c) 1992 Taito Corporation Japan (World)
+silentdu // ??? (c) 1992 Taito Corporation Japan (World)
+silentdj // ??? (c) 1992 Taito Corporation (Japan)
+ryujin // ??? (c) 1993 Taito Corporation (Japan)
+qzshowby // D72 (c) 1993 Taito Corporation (Japan)
+pbobble // ??? (c) 1994 Taito Corporation (Japan)
+spacedx // D89 (c) 1994 Taito Corporation (US)
+spacedxj // D89 (c) 1994 Taito Corporation (Japan)
+spacedxo // D89 (c) 1994 Taito Corporation (Japan)
+
+// Taito Z-System games
+contcirc // B33 (c) 1987 Taito Corporation Japan (World)
+contcircu // B33 (c) 1987 Taito America Corporation (US)
+contcircua // B33 (c) 1987 Taito America Corporation (US)
+chasehq // B52 (c) 1988 Taito Corporation Japan (World)
+chasehqj // B52 (c) 1988 Taito Corporation (Japan)
+chasehqu // B52 (c) 1988 Taito America Corporation (US)
+enforce // B58 (c) 1988 Taito Corporation (Japan)
+nightstr // B91 (c) 1989 Taito Corporation Japan (World)
+nightstrj // B91 (c) 1989 Taito Corporation (Japan)
+nightstru // B91 (c) 1989 Taito America Corporation (US)
+sci // C09 (c) 1989 Taito Corporation Japan (World)
+scia // C09 (c) 1989 Taito Corporation Japan (World)
+scij // C09 (c) 1989 Taito Corporation Japan (World)
+sciu // C09 (c) 1989 Taito America Corporation (US)
+scin // C09 (c) 1991 Taito Corporation Japan (Negro Torino hack)
+bshark // C34 (c) 1989 Taito America Corporation (US)
+bsharkj // C34 (c) 1989 Taito Corporation (Japan)
+aquajack // B77 (c) 1990 Taito Corporation Japan (World)
+aquajackj // B77 (c) 1990 Taito Corporation (Japan)
+spacegun // C57 (c) 1990 Taito Corporation Japan (World)
+dblaxle // C78 (c) 1991 Taito America Corporation (US)
+pwheelsj // C78 (c) 1991 Taito Corporation (Japan)
+racingb // C84 (c) 1991 Taito Coropration ..
+
+// Taito Air System games
+topland // B62 (c) 1988 Taito Coporation Japan (World)
+ainferno // C45 (c) 1990 Taito America Corporation (US)
+
+mlanding // ??? (c) 1990 Taito America Corporation (US)
+
+// enhanced Z-System hardware games
+gunbustr // D27 (c) 1992 Taito Corporation (Japan)
+superchs // D46 (c) 1992 Taito America Corporation (US)
+groundfx // D51 (c) 1992 Taito Coporation
+undrfire // D67 (c) 1993 Taito Coporation Japan (World)
+undrfireu // D67 (c) 1993 Taito America Corporation (US)
+undrfirej // D67 (c) 1993 Taito Coporation (Japan)
+cbombers
+
+// Taito F2 games
+finalb // 1989.?? B82 (c) 1988 Taito Corporation Japan (World)
+finalbj // 1989.04 B82 (c) 1988 Taito Corporation (Japan)
+finalbu // 1989.06 B82 (c) 1988 Taito America Corporation (US)
+dondokod // 1989.?? B95 (c) 1989 Taito Corporation Japan (World)
+dondokodu // 1989.?? B95 (c) 1989 Taito America Corporation (US)
+dondokodj // 1989.07 B95 (c) 1989 Taito Corporation (Japan)
+megablst // 1989.?? C11 (c) 1989 Taito Corporation Japan (World)
+megablstu // 1989.?? C11 (c) 1989 Taito America Corporation (US)
+megablstj // 1989.11 C11 (c) 1989 Taito Corporation (Japan)
+thundfox // 1990.?? C28 (c) 1990 Taito Corporation Japan (World)
+thundfoxu // 1990.06 C28 (c) 1990 Taito America Corporation (US)
+thundfoxj // 1990.07 C28 (c) 1990 Taito Corporation (Japan)
+cameltry // 1990.?? C38 (c) 1989 Taito America Corporation (US)
+cameltrya // 1990.?? C38 (c) 1989 Taito America Corporation (US)
+cameltryau // 1990.?? C38 (c) 1989 Taito America Corporation (US)
+cameltryj // 1990.04 C38 (c) 1989 Taito Corporation (Japan)
+qtorimon // 1990.02 C41 (c) 1990 Taito Corporation (Japan)
+liquidk // 1990.?? C49 (c) 1990 Taito Corporation Japan (World)
+liquidku // 1990.?? C49 (c) 1990 Taito America Corporation (US)
+mizubaku // 1990.08 C49 (c) 1990 Taito Corporation (Japan)
+quizhq // 1990.07 C53 (c) 1990 Taito Corporation (Japan)
+ssi // 1990.?? C64 (c) 1990 Taito Corporation Japan (World)
+ssia // 1990.?? C64 (c) 1990 Taito Corporation Japan (World)
+majest12 // 1990.11 C64 (c) 1990 Taito Corporation (Japan)
+ // 1990.12 C64 (US)
+gunfront // 1991.?? C71 (c) 1990 Taito Corporation Japan (World)
+gunfrontj // 1991.01 C71 (c) 1990 Taito Corporation (Japan)
+growl // 1991.?? C74 (c) 1990 Taito Corporation Japan (World)
+growlu // 1991.02 C74 (c) 1990 Taito America Corporation (US)
+runark // 1991.02 C74 (c) 1990 Taito Corporation (Japan)
+mjnquest // 1991.05 C77 (c) 1990 Taito Corporation (Japan)
+mjnquestb // 1991.05 C77 (c) 1990 Taito Corporation (Japan)
+footchmp // 1991.?? C80 (c) 1990 Taito Corporation Japan (World)
+footchmpbl // bootleg
+hthero // 1991.03 C80 (c) 1990 Taito Corporation (Japan)
+euroch92 // 1991.?? (c) 1992 Taito Corporation Japan (World)
+koshien // 1991.04 C81 (c) 1990 Taito Corporation (Japan)
+yuyugogo // 1991.03 C83 (c) 1990 Taito Corporation (Japan)
+ninjak // 1991.?? C85 (c) 1990 Taito Corporation Japan (World)
+ninjakj // 1991.04 C85 (c) 1990 Taito Corporation (Japan)
+ninjaku // 1991.03 C85 (c) 1990 Taito Corporation (Japan)
+solfigtr // 1991.?? C91 (c) 1991 Taito Corporation Japan (World)
+qzquest // 1991.07 C92 (c) 1991 Taito Corporation (Japan)
+pulirula // 1991.?? C98 (c) 1991 Taito Corporation Japan (World)
+pulirulaj // 1991.11 C98 (c) 1991 Taito Corporation (Japan)
+metalb // 1991.?? D16? (c) 1991 Taito Corporation Japan (World)
+metalbj // 1991.11 D12 (c) 1991 Taito Corporation (Japan)
+qzchikyu // 1992.02 D19 (c) 1991 Taito Corporation (Japan)
+yesnoj // 1992.03 D20 (c) 1992 Taito Corporation (Japan)
+deadconx // 1992.?? D28 (c) 1992 Taito Corporation Japan (World)
+deadconxj // 1992.08 D28 (c) 1992 Taito Corporation (Japan)
+dinorex // 1992.?? D39 (c) 1992 Taito Corporation Japan (World)
+dinorexj // 1992.11 D39 (c) 1992 Taito Corporation (Japan)
+dinorexu // 1992.?? D39 (c) 1992 Taito America Corporation (US)
+qjinsei // 1993.03 D48 (c) 1992 Taito Corporation (Japan)
+qcrayon // 1993.08 D55 (c) 1993 Taito Corporation (Japan)
+qcrayon2 // 1994.01 D63 (c) 1993 Taito Corporation (Japan)
+driftout // 1991.10 (c) 1991 Visco
+driveout // bootleg
+
+// Taito F3 games
+ringrage // 1992.?? D21 (c) 1992 Taito Corporation Japan (World)
+ringragej // 1992.09 D21 (c) 1992 Taito Corporation (Japan)
+ringrageu // 1992.02 D21 (c) 1992 Taito America Corporation (US)
+arabianm // 1992.?? D29 (c) 1992 Taito Corporation Japan (World)
+arabianmj // 1992.09 D29 (c) 1992 Taito Corporation (Japan)
+arabianmu // 1992.10 D29 (c) 1992 Taito America Corporation (US)
+ridingf // 1992.?? D34 (c) 1992 Taito Corporation Japan (World)
+ridingfj // 1992.12 D34 (c) 1992 Taito Corporation (Japan)
+ridingfu // 1992.?? D34 (c) 1992 Taito America Corporation (US)
+gseeker // 1992.?? D40 (c) 1992 Taito Corporation Japan (World)
+gseekerj // 1992.12 D40 (c) 1992 Taito Corporation (Japan)
+gseekeru // 1992.?? D40 (c) 1992 Taito America Corporation (US)
+hthero93 // 1993.03 D49 (c) 1992 Taito Corporation (Japan)
+ // 1993.04 D49 (US)
+cupfinal // 1993.?? D49 (c) 1993 Taito Corporation Japan (World)
+trstar // 1993.?? D53 (c) 1993 Taito Corporation Japan (World)
+trstarj // 1993.07 D53 (c) 1993 Taito Corporation (Japan)
+prmtmfgt // 1993.08 D53 (c) 1993 Taito Corporation (US)
+prmtmfgto // 1993.08 D53 (c) 1993 Taito Corporation (US)
+trstaro // 1993.?? D53 (c) 1993 Taito Corporation (World)
+trstaroj // 1993.07 D53 (c) 1993 Taito Corporation (Japan)
+gunlock // 1994.?? D66 (c) 1993 Taito Corporation Japan (World)
+rayforcej // 1994.02 D66 (c) 1993 Taito Corporation (Japan)
+rayforce // 1994.?? D66 (c) 1993 Taito America Corporation (US)
+scfinals // 1994.?? D68 (c) 1993 Taito Corporation Japan (World)
+intcup94 // 1994.?? D78 (c) 1994 Taito (World)
+hthero94 // 1994.09 D78 (c) 1994 Taito (US)
+lightbr // 1994.03 D69 (c) 1993 Taito Corporation Japan (World)
+lightbrj // 1994.03 D69 (c) 1993 Taito Corporation (Japan)
+dungeonm // 1994.?? D69 (c) 1993 Taito Corporation Japan (World)
+dungeonmu // 1994.?? D69 (c) 1993 Taito America Corporation (US)
+kaiserkn // 1994.?? D84 (c) 1994 Taito Corporation Japan (World)
+kaiserknj // 1994.08 D84 (c) 1994 Taito Corporation (Japan)
+gblchmp // 1994.10 D84 (c) 1994 Taito America Corporation (US)
+dankuga // 1994.?? D84? (c) 1994 Taito Corporation (Japan)
+dariusg // 1994.?? D87 (c) 1994 Taito Corporation Japan (World)
+dariusgj // 1994.09 D87 (c) 1994 Taito Corporation (Japan)
+dariusgu // 1994.11 D87 (c) 1994 Taito America Corporation (US)
+dariusgx // 1994.?? D87 (c) 1994 Taito Corporation
+bublbob2 // 1994.?? D90 (c) 1994 Taito Corporation Japan (World)
+bubsymphe // 1994.?? D90 (c) 1994 Taito Corporation Japan (Europe)
+bubsymphu // 1994.10 D90 (c) 1994 Taito America Corporation (US)
+bubsymphj // 1994.10 D90 (c) 1994 Taito Corporation (Japan)
+bubsymphb // bootleg
+spcinvdj // 1994.09 D93 (c) 1994 Taito Corporation (Japan)
+pwrgoal // 1994.?? D94 (c) 1995 Taito Corporation Japan (World)
+hthero95 // 1994.11 D94 (c) 1995 Taito Corporation (Japan)
+hthero95u // 1995.05 D94 (c) 1995 Taito America Corporation (US)
+qtheater // 1995.01 D95 (c) 1994 Taito Corporation (Japan)
+elvactr // 1995.?? E02 (c) 1994 Taito Corporation Japan (World)
+elvactrj // 1995.03 E02 (c) 1994 Taito Corporation (Japan)
+elvact2u // 1995.05 E02 (c) 1994 Taito America Corporation (US)
+spcinv95 // 1995.?? E06 (c) 1995 Taito Corporation Japan (World)
+spcinv95u // 1995.05 E06 (c) 1995 Taito America Corporation (US)
+akkanvdr // 1995.07 E06 (c) 1995 Taito Corporation (Japan)
+twinqix // 1995.03 ??? (c) 1995 Taito America Corporation (US)
+quizhuhu // 1995.07 E08 (c) 1995 Taito Corporation (Japan)
+pbobble2 // 1995.?? E10 (c) 1995 Taito Corporation Japan (World)
+pbobble2o // 1995.?? E10 (c) 1995 Taito Corporation Japan (World)
+pbobble2j // 1995.09 E10 (c) 1995 Taito Corporation (Japan)
+pbobble2u // 1995.11 E10 (c) 1995 Taito America Corporation (US)
+pbobble2x // 1995.12 E10 (c) 1995 Taito Corporation (Japan)
+gekiridn // 1995.11 E11 (c) 1995 Taito Corporation Japan (World)
+gekiridnj // 1995.11 E11 (c) 1995 Taito Corporation (Japan)
+tcobra2 // 1996.?? E15 (c) 1995 Taito Corporation (World)
+tcobra2u // 1996.?? E15 (c) 1995 Taito Corporation (US)
+ktiger2 // 1996.02 E15 (c) 1995 Taito Corporation (Japan)
+bubblem // 1996.?? E21 (c) 1995 Taito Corporation Japan (World)
+bubblemj // 1996.04 E21 (c) 1995 Taito Corporation (Japan)
+cleopatr // 1996.10 E28 (c) 1996 Taito Corporation (Japan)
+pbobble3 // 1996.?? E29 (c) 1996 Taito Corporation (World)
+pbobble3u // 1996.11 E29 (c) 1996 Taito Corporation (US)
+pbobble3j // 1996.11 E29 (c) 1996 Taito Corporation (Japan)
+arkretrn // 1997.03 E36 (c) 1997 Taito Corporation (Japan)
+kirameki // 1997.09 E44 (c) 1997 Taito Corporation (Japan)
+puchicar // 1997.?? E46 (c) 1997 Taito Corporation (World)
+puchicarj // 1997.12 E46 (c) 1997 Taito Corporation (Japan)
+pbobble4 // 1998.?? E49 (c) 1997 Taito Corporation (World)
+pbobble4j // 1998.02 E49 (c) 1997 Taito Corporation (Japan)
+pbobble4u // 1998.?? E49 (c) 1997 Taito Corporation (US)
+popnpop // 1998.?? E51 (c) 1997 Taito Corporation (World)
+popnpopj // 1998.03 E51 (c) 1997 Taito Corporation (Japan)
+popnpopu // 1998.?? E51 (c) 1997 Taito Corporation (US)
+landmakr // 1998.08 E61 (c) 1998 Taito Corporation (Japan)
+landmakrp // 1998.?? E61 (c) 1998 Taito Corporation (World, prototype)
+recalh // prototype
+commandw // prototype
+
+// Taito JC System
+dangcurv // 1995.?? E09 (c) 1995 Taito Corporation
+ // 1995.07 (Japan)
+ // 1995.10 (US)
+landgear // 1996.?? E17 (c) 1995 Taito Corporation Japan (World)
+ // 1996.03 (Japan)
+sidebs // 1996.07 E23 (c) 1996 Taito Corporation (Japan)
+dendeg // 1997.03 E35 (c) 1996 Taito Corporation (Japan)
+sidebs2j // 1997.07 E38 (c) 1997 Taito Corporation (Japan)
+sidebs2 // 1997.?? E38 (c) 1997 Taito Corporation (Japan)
+dendegx // 1997.09 E35 (c) 1996 Taito Corporation (Japan)
+dendeg2 // 1998.03 E52 (c) 1998 Taito Corporation (Japan)
+dendeg2x // 1998.08 E52 (c) 1998 Taito Corporation (Japan)
+
+// Taito "Wolf" System
+pf2012 // E59 (c) 1997 Taito
+
+// Taito PPC JC System
+optiger // 1998.09 E63 (c) 1998 Taito
+
+// Taito Type-Zero System
+taitotz
+batlgear // E68 (c) 1999 Taito
+landhigh // E82 (c) 1999 Taito
+batlgr2 // E87 (c) 2000 Taito
+
+// Toaplan games
+perfrman // (c) 1985 Data East Corporation (Japan)
+perfrmanu // (c) 1985 Data East USA (US)
+tigerh // A47 (c) 1985 Taito America Corporation GX-551 [not a Konami board!]
+tigerhj // A47 (c) 1985 Taito Corporation GX-551 [not a Konami board!]
+tigerhb1 // bootleg but (c) 1985 Taito Corporation
+tigerhb2 // bootleg but (c) 1985 Taito Corporation
+tigerhb3 // bootleg but (c) 1985 Taito Corporation
+alcon // A77 / TP-???
+slapfigh // A77 / TP-???
+slapfigha // A76 / TP-???
+slapfighb1 // bootleg but (c) 1986 Taito Corporation
+slapfighb2 // bootleg but (c) 1986 Taito Corporation
+slapfighb3 // bootleg but (c) 1986 Taito Corporation
+getstar // A68 (c) 1986 Taito Corporation
+getstarj // A68 (c) 1986 Taito Corporation
+gtstarb1 // GX-006 bootleg but (c) 1986 Taito Corporation
+gtstarb2 // GX-006 bootleg but (c) 1986 Taito Corporation
+mjsister // (c) 1986 Toaplan
+
+fshark // B02 / TP-007 (c) 1987 Taito Corporation (World)
+skyshark // B02 / TP-007 (c) 1987 Taito America Corporation + Romstar license (US)
+hishouza // B02 / TP-007 (c) 1987 Taito Corporation (Japan)
+fsharkbt // bootleg
+wardner // B25 / TP-009 (c) 1987 Taito Corporation Japan (World)
+pyros // B25 / TP-009 (c) 1987 Taito America Corporation (US)
+wardnerj // B25 / TP-009 (c) 1987 Taito Corporation (Japan)
+twincobr // B30 / TP-011 (c) 1987 Taito Corporation (World)
+twincobru // B30 / TP-011 (c) 1987 Taito America Corporation + Romstar license (US)
+ktiger // B30 / TP-011 (c) 1987 Taito Corporation (Japan)
+gulfwar2 // (c) 1991 Comad
+
+rallybik // B45 / TP-O12 (c) 1988 Taito
+truxton // B65 / TP-O13B (c) 1988 Taito
+hellfire // B90 / TP-??? (c) 1989 Toaplan + Taito license
+hellfire1 // B90 / TP-??? (c) 1989 Toaplan + Taito license
+hellfire2 // B90 / TP-??? (c) 1989 Toaplan + Taito license
+hellfire3 // B90 / TP-??? (c) 1989 Toaplan + Taito license
+zerowing // TP-O15 (c) 1989 Toaplan
+zerowing2 // TP-O15 (c) 1989 Toaplan
+demonwld // TP-O16 (c) 1990 Toaplan (+ Taito license when set to Japan)
+demonwld1 // TP-O16 (c) 1989 Toaplan + Taito license
+demonwld2 // TP-O16 (c) 1989 Toaplan
+demonwld3 // TP-O16 (c) 1989 Toaplan
+demonwld4 // TP-O16 (c) 1989 Toaplan
+fireshrk // TP-O17 (c) 1990 Toaplan
+fireshrkd // TP-O17 (c) 1990 Toaplan
+fireshrkdh // TP-O17 (c) 1990 Toaplan
+samesame // TP-O17 (c) 1989 Toaplan
+samesame2 // TP-O17 (c) 1989 Toaplan
+outzone // TP-O18 (c) 1990 Toaplan
+outzonea // TP-O18 (c) 1990 Toaplan
+outzoneb // TP-O18 (c) 1990 Toaplan
+outzonec // TP-O18 (c) 1990 Toaplan
+outzoned // TP-O18 (c) 1990 Toaplan
+vimana // TP-O19 (c) 1991 Toaplan (+ Tecmo license when set to Japan)
+vimana1 // TP-O19 (c) 1991 Toaplan (+ Tecmo license when set to Japan)
+vimanan // TP-O19 (c) 1991 Toaplan (+ Nova Apparate GMBH & Co license)
+snowbros // MIN16-02 (c) 1990 Toaplan + Romstar license
+snowbrosa // MIN16-02 (c) 1990 Toaplan + Romstar license
+snowbrosb // MIN16-02 (c) 1990 Toaplan + Romstar license
+snowbrosc // MIN16-02 (c) 1990 Toaplan + Romstar license
+snowbrosj // MIN16-02 (c) 1990 Toaplan
+snowbrosd // MIN16-02 (c) 1990 Toaplan + Dooyong license
+wintbob // bootleg
+honeydol // (c) 1995 Barko Corp
+twinadv // (c) 1995 Barko Corp
+twinadvk // (c) 1995 Barko Corp
+ // SemiCom games on snowbros like hardware
+hyperpac // (c) 1995 SemiCom
+hyperpacb // bootleg
+toppyrap // (c) 1996 SemiCom
+cookbib2 // (c) 1996 SemiCom
+cookbib3 // (c) 1997 SemiCom
+twinkle // (c) 1997 SemiCom
+pzlbreak // (c) 1997 SemiCom
+3in1semi // (c) 1998 SemiCom
+moremore // (c) 1999 SemiCom + Exit
+moremorp // (c) 1999 SemiCom + Exit
+4in1boot // (c) 2002 but bootleg of 1999 release?
+snowbros3 // (c) 2002 but hack / bootleg of snowbros?
+finalttr // (c) 1993 Jeil Computer System
+
+// More Toaplan Games
+tekipaki // TP-020 (c) 1991 Toaplan
+ghox // TP-021 (c) 1991 Toaplan
+ghoxj // TP-021 (c) 1991 Toaplan
+dogyuun // TP-022 (c) 1992 Toaplan
+dogyuuna // TP-022 (c) 1992 Toaplan
+dogyuunt // TP-022 (c) 1992 Toaplan
+kbash // TP-023 (c) 1993 Toaplan
+kbash2 // bootleg
+truxton2 // TP-024 (c) 1992 Toaplan
+pipibibs // TP-025
+pipibibsa // TP-025
+whoopee // TP-025
+pipibibsbl // (c) 1991 Ryouta Kikaku (bootleg)
+fixeight // TP-026 (c) 1992 + Taito license
+fixeightt
+fixeightkt
+fixeightk
+fixeightht
+fixeighth
+fixeighttwt
+fixeighttw
+fixeightat
+fixeighta
+fixeightu
+fixeightut
+fixeightj
+fixeightjt
+fixeightbl // bootleg
+grindstm // TP-027 (c) 1993 Toaplan + Unite Trading license (Korea)
+grindstma // TP-027 (c) 1993 Toaplan + Unite Trading license (Korea)
+vfive // TP-027 (c) 1993 Toaplan (Japan)
+batsugun // TP-030 (c) 1993 Toaplan
+batsuguna // TP-030 (c) 1993 Toaplan
+batsugunsp // TP-??? (c) 1993 Toaplan
+snowbro2 // TP-??? (c) 1994 Hanafram
+sstriker // (c) 1993 Raizing
+sstrikera // (c) 1993 Raizing
+mahoudai // (c) 1993 Raizing + Able license
+kingdmgp // (c) 1994 Raizing/8ing
+shippumd // (c) 1994 Raizing/8ing
+bgaregga // (c) 1996 Raizing/8ing
+bgareggahk // (c) 1996 Raizing/8ing
+bgareggatw // (c) 1996 Raizing/8ing
+bgaregganv // (c) 1996 Raizing/8ing
+bgareggat2 // (c) 1996 Raizing/8ing
+bgareggacn // (c) 1996 Raizing/8ing
+batrider // (c) 1998 Raizing/8ing
+batrideru // (c) 1998 Raizing/8ing
+batriderc // (c) 1998 Raizing/8ing
+batriderj // (c) 1998 Raizing/8ing
+batriderk // (c) 1998 Raizing/8ing
+batriderja // (c) 1998 Raizing/8ing
+batridert // (c) 1998 Raizing/8ing
+bbakraid // (c) 1999 8ing
+bbakraidj // (c) 1999 8ing
+bbakraidja // (c) 1999 8ing
+
+/*
+Toa Plan's board list
+(translated from http://www.aianet.ne.jp/~eisetu/rom/rom_toha.html)
+
+Title ROMno. Remark(1) Remark(2)
+--------------------------------------------------
+Tiger Heli A47 GX-551
+Hishouzame B02 TP-007
+Kyukyoku Tiger B30 TP-011
+Dash Yarou B45 TP-012
+Tatsujin B65 TP-013B M6100649A
+Zero Wing O15 TP-015
+Horror Story O16 TP-016
+Same!Same!Same! O17 TP-017
+Out Zone TP-018
+Vimana TP-019
+Teki Paki O20 TP-020
+Ghox TP-21 TP-021
+Dogyuun TP-022
+Tatsujin Oh TP-024 *1
+Fixeight TP-026
+V-V TP-027
+
+*1 There is a doubt this game uses TP-024 board and TP-025 romsets.
+
+86 Mahjong Sisters Kit 2P 8W+2B HC Mahjong TP-
+88 Dash Kit 2P 8W+2B TP-
+89 Fire Shark Kit 2P 8W+2B VC Shooter TP-017
+89 Twin Hawk Kit 2P 8W+2B VC Shooter TP-
+91 Whoopie Kit 2P 8W+2B HC Action
+92 Teki Paki Kit 2P TP-020
+92 Ghox Kit 2P Paddle+1B VC Action TP-021
+10/92 Dogyuun Kit 2P 8W+2B VC Shooter TP-022
+92/93 Knuckle Bash Atari Games Kit 2P 8W+2B HC Action TP-023
+10/92 Tatsujin II/Truxton II Taito Kit 2P 8W+2B VC Shooter TP-024
+10/92 Truxton II/Tatsujin II Taito Kit 2P 8W+2B VC Shooter TP-024
+ Pipi & Bipi TP-025
+92 Fix Eight Kit 2P 8W+2B VC Action TP-026
+12/92 V - V (5)/Grind Stormer Kit 2P 8W+2B VC Shooter TP-027
+1/93 Grind Stormer/V - V (Five) Kit 2P 8W+2B VC Shooter TP-027
+2/94 Batsugun Kit 2P 8W+2B VC TP-
+4/94 Snow Bros. 2 Kit 2P 8W+2B HC Action TP-
+*/
+
+// Cave games
+// Cave was formed in 1994 from the ruins of Toaplan, like Raizing was.
+pwrinst2 // (c) 1994 Atlus
+pwrinst2j // (c) 1994 Atlus
+plegends // (c) 1994 Atlus
+plegendsj // (c) 1994 Atlus
+mazinger // (c) 1994 Banpresto (country is in EEPROM)
+mazingerj // (c) 1994 Banpresto (country is in EEPROM)
+donpachi // (c) 1995 Atlus/Cave
+donpachij // (c) 1995 Atlus/Cave
+donpachikr // (c) 1995 Atlus/Cave
+donpachihk // (c) 1995 Atlus/Cave
+metmqstr // (c) 1995 Banpresto / Pandorabox
+nmaster // (c) 1995 Banpresto / Pandorabox
+sailormn // (c) 1995 Banpresto (country is in EEPROM)
+sailormnu // (c) 1995 Banpresto (country is in EEPROM)
+sailormnj // (c) 1995 Banpresto (country is in EEPROM)
+sailormnk // (c) 1995 Banpresto (country is in EEPROM)
+sailormnt // (c) 1995 Banpresto (country is in EEPROM)
+sailormnh // (c) 1995 Banpresto (country is in EEPROM)
+sailormno // (c) 1995 Banpresto (country is in EEPROM)
+sailormnou // (c) 1995 Banpresto (country is in EEPROM)
+sailormnoj // (c) 1995 Banpresto (country is in EEPROM)
+sailormnok // (c) 1995 Banpresto (country is in EEPROM)
+sailormnot // (c) 1995 Banpresto (country is in EEPROM)
+sailormnoh // (c) 1995 Banpresto (country is in EEPROM)
+agallet // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
+agalletu // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
+agalletj // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
+agalletk // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
+agallett // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
+agalleth // (c) 1996 Banpresto / Gazelle (country is in EEPROM)
+hotdogst // (c) 1996 Marble
+pacslot // (c) 1996 Namco
+ddonpach // (c) 1997 Atlus/Cave
+ddonpachj // (c) 1997 Atlus/Cave
+dfeveron // (c) 1998 Cave + Nihon System license
+feversos // (c) 1998 Cave + Nihon System license
+esprade // (c) 1998 Atlus/Cave
+espradej // (c) 1998 Atlus/Cave (Japan)
+espradejo // (c) 1998 Atlus/Cave (Japan)
+uopoko // (c) 1998 Cave + Jaleco license
+uopokoj // (c) 1998 Cave + Jaleco license
+guwange // (c) 1999 Atlus/Cave
+gaia // (c) 1999 Noise Factory
+theroes // (c) 2001 Primetek Investments
+korokoro // (c) 1999 Takumi
+crusherm // (c) 1999 Takumi
+tjumpman // (c) 1999 Namco
+
+// Kyugo games
+// Kyugo only made four games: Repulse, Flash Gal, SRD Mission and Air Wolf.
+// Gyrodine was made by Crux. Crux was antecedent of Toa Plan, and spin-off from Orca.
+gyrodine // (c) 1984 Crux
+gyrodinet // (c) 1984 Crux (Taito Corporation license)
+buzzard // (c) 1984 Crux
+repulse // (c) 1985 Sega
+99lstwar // (c) 1985 Proma
+99lstwara // (c) 1985 Proma
+99lstwark // (c) 1985 Kyugo
+sonofphx // bootleg
+flashgal // (c) 1985 Sega
+flashgala // (c) 1985 Sega
+srdmissn // (c) 1986 Taito Corporation
+fx // bootleg
+legend // no copyright notice [1986 Sega/Coreland] (Arcade TV Game List - P.104, Left, 14 from top)
+legendb // no copyright notice [1986 Sega/Coreland] (Arcade TV Game List - P.104, Left, 14 from top)
+airwolf // (c) 1987 Kyugo
+airwolfa // (c) 1987 Kyugo
+skywolf // bootleg
+skywolf2 // bootleg
+skywolf3 // bootleg
+
+// Williams games
+defender // (c) 1980
+defenderg // (c) 1980
+defenderb // (c) 1980
+defenderw // (c) 1980
+defndjeu // bootleg
+tornado1 // bootleg
+tornado2 // bootleg
+zero // bootleg
+zero2 // bootleg
+defcmnd // bootleg
+defence // bootleg
+startrkd // bootleg
+mayday // bootleg
+maydaya // bootleg
+maydayb // bootleg
+colony7 // (c) 1981 Taito
+colony7a // (c) 1981 Taito
+jin // Falcon bootleg/hack
+stargate // (c) 1981
+robotron // (c) 1982
+robotronyo // (c) 1982
+joust // (c) 1982
+joustr // (c) 1982
+joustwr // (c) 1982
+bubbles // (c) 1982
+bubblesr // (c) 1982
+bubblesp // (c) 1982
+splat // (c) 1982
+sinistar // (c) 1982
+sinistar1 // (c) 1982
+sinistar2 // (c) 1982
+playball // (c) 1983
+blaster // (c) 1983
+blaster30 // (c) 1983
+blasterkit // (c) 1983
+spdball // (c) 1985
+alienar // (c) 1985 Duncan Brown
+alienaru // (c) 1985 Duncan Brown
+mysticm // (c) 1983
+tshoot // (c) 1984
+inferno // (c) 1984
+joust2 // (c) 1986
+lottofun // (c) 1987 H.A.R. Management
+
+// Capcom games
+// The following is a COMPLETE list of the Capcom games up to 1997, as shown on
+// their web site. The list is sorted by production date.
+// A comprehensive list of Capcom games with board info can be found here:
+// http://www.arcadeflyers.com/strider/capcom_list.html
+vulgus // 5/1984 (c) 1984
+vulgus2 // 5/1984 (c) 1984
+vulgusj // 5/1984 (c) 1984
+sonson // 7/1984 (c) 1984
+sonsonj // 7/1984 (c) 1984 (Japan)
+higemaru // 9/1984 (c) 1984
+1942 // 12/1984 (c) 1984
+1942a // 12/1984 (c) 1984
+1942abl // bootleg
+1942b // 12/1984 (c) 1984
+1942w // 12/1984 (c) 1984 + Williams Electronics license (c) 1985
+exedexes // 2/1985 (c) 1985
+savgbees // 2/1985 (c) 1985 + Memetron license
+commando // 5/1985 (c) 1985 (World)
+commandou // 5/1985 (c) 1985 + Data East license (US)
+commandoj // 5/1985 (c) 1985 (Japan)
+commandob // bootleg
+sinvasn // Europe original?
+sinvasnb // bootleg
+gng // 9/1985 (c) 1985
+gnga // 9/1985 (c) 1985
+gngbl // bootleg
+gngblita // bootleg
+gngc // 9/1985 (c) 1985
+gngt // 9/1985 (c) 1985
+makaimur // 9/1985 (c) 1985
+makaimurc // 9/1985 (c) 1985
+makaimurg // 9/1985 (c) 1985
+diamond // (c) 1989 KH Video (NOT A CAPCOM GAME but runs on GnG hardware)
+gunsmoke // 11/1985 (c) 1985 (World)
+gunsmokeu // 11/1985 (c) 1985 + Romstar (US)
+gunsmokeua // 11/1985 (c) 1985 (US)
+gunsmokej // 11/1985 (c) 1985 (Japan)
+sectionz // 12/1985 (c) 1985
+sectionza // 12/1985 (c) 1985
+trojan // 4/1986 (c) 1986 (US)
+trojanr // 4/1986 (c) 1986 + Romstar
+trojanj // 4/1986 (c) 1986 (Japan)
+srumbler // 9/1986 (c) 1986
+srumbler2 // 9/1986 (c) 1986
+rushcrsh // 9/1986 (c) 1986
+lwings // 11/1986 (c) 1986
+lwings2 // 11/1986 (c) 1986
+lwingsj // 11/1986 (c) 1986
+lwingsb // 11/1986 (c) 1986 (bootleg)
+sidearms // 12/1986 (c) 1986 (World)
+sidearmsr // 12/1986 (c) 1986 + Romstar license (US)
+sidearmsj // 12/1986 (c) 1986 (Japan)
+turtship // (c) 1988 Philco (NOT A CAPCOM GAME but runs on modified Sidearms hardware)
+turtshipj // (c) 1988 Philco (NOT A CAPCOM GAME but runs on modified Sidearms hardware)
+turtshipk // (c) 1988 Philco (NOT A CAPCOM GAME but runs on modified Sidearms hardware)
+dyger // (c) 1989 Philco (NOT A CAPCOM GAME but runs on modified Sidearms hardware)
+dygera // (c) 1989 Philco (NOT A CAPCOM GAME but runs on modified Sidearms hardware)
+twinfalc // (c) 1989 Philko (Poara Enterprises license) (NOT A CAPCOM GAME but runs on modified Sidearms hardware)
+whizz // (c) 1989 Philco (NOT A CAPCOM GAME but runs on modified Sidearms hardware)
+avengers // 2/1987 (c) 1987 (US)
+avengers2 // 2/1987 (c) 1987 (US)
+buraiken // 2/1987 (c) 1987 (Japan)
+bionicc // 3/1987 (c) 1987 (Euro)
+bionicc1 // 3/1987 (c) 1987 (US)
+bionicc2 // 3/1987 (c) 1987 (US)
+topsecrt // 3/1987 (c) 1987 (Japan)
+1943 // 6/1987 (c) 1987 (Euro)
+1943u // 6/1987 (c) 1987 (US)
+1943j // 6/1987 (c) 1987 (Japan)
+1943b // bootleg
+blktiger // 8/1987 (c) 1987 (US)
+blktigera // 8/1987 (c) 1987 (US)
+blktigerb1 // bootleg
+blktigerb2 // bootleg
+blkdrgon // 8/1987 (c) 1987 (Japan)
+blkdrgonb // bootleg, hacked to say Black Tiger
+sf // 8/1987 (c) 1987 (World)
+sfu // 8/1987 (c) 1987 (US)
+sfua // 8/1987 (c) 1987 (US)
+sfj // 8/1987 (c) 1987 (Japan)
+sfp // 8/1987 (c) 1987
+tigeroad // 11/1987 (c) 1987 + Romstar (US)
+toramich // 11/1987 (c) 1987 (Japan)
+tigeroadb // bootleg
+f1dream // 4/1988 (c) 1988 + Romstar
+f1dreamb // bootleg
+1943kai // 6/1988 (c) 1987 (Japan)
+lastduel // 7/1988 (c) 1988 (US)
+lastduelo // 7/1988 (c) 1988 (US)
+lastduelj // 7/1988 (c) 1988 (Japan)
+lastduelb // bootleg
+madgear // 2/1989 (c) 1989 (US)
+madgearj // 2/1989 (c) 1989 (Japan)
+ledstorm // 1988 (c) 1988 (US)
+ledstorm2 // 1988 (c) 1988 (US)
+// 3/1989 Dokaben (baseball) - see below among "Mitchell" games
+// 8/1989 Dokaben 2 (baseball) - see below among "Mitchell" games
+// 10/1989 Capcom Baseball - see below among "Mitchell" games
+// 11/1989 Capcom World - see below among "Mitchell" games
+// 3/1990 Adventure Quiz 2 Hatena no Dai-Bouken - see below among "Mitchell" games
+// 1/1991 Quiz Tonosama no Yabou - see below among "Mitchell" games
+// 4/1991 Ashita Tenki ni Naare (golf) - see below among "Mitchell" games
+// 5/1991 Ataxx - see below among "Leland" games
+// 6/1991 Quiz Sangokushi - see below among "Mitchell" games
+// 10/1991 Block Block - see below among "Mitchell" games
+// 6/1995 Street Fighter - the Movie - see below among "Incredible Technologies" games
+
+
+// Capcom CPS1 games
+forgottn // 7/1988 (c) 1988 (World)
+forgottnu // 7/1988 (c) 1988 (USA)
+forgottnua // 7/1988 (c) 1988 (USA)
+lostwrld // 7/1988 (c) 1988 (Japan)
+lostwrldo // 7/1988 (c) 1988 (Japan)
+ghouls // 12/1988 (c) 1988 (World)
+ghoulsu // 12/1988 (c) 1988 (USA)
+daimakai // 12/1988 (c) 1988 (Japan)
+daimakair // 12/1988 (c) 1988 (Japan)
+strider // 3/1989 (c) 1989 (not explicitly stated but should be USA)
+striderua // 3/1989 (c) 1989 (not explicitly stated but should be USA)
+striderj // 3/1989 (c) 1989 (Japan)
+striderjr // 3/1989 (c) 1989 (Japan)
+dynwar // 4/1989 (c) 1989 (USA)
+dynwara // 4/1989 (c) 1989 (USA)
+dynwarj // 4/1989 (c) 1989 (Japan)
+dynwarjr // 4/1989 (c) 1989 (Japan)
+willow // 6/1989 (c) 1989 (USA)
+willowo // 6/1989 (c) 1989 (USA)
+willowj // 6/1989 (c) 1989 (Japan)
+unsquad // 8/1989 (c) 1989 (USA)
+area88 // 8/1989 (c) 1989 (Japan)
+area88r // 8/1989 (c) 1989 (Japan)
+ffight // 12/1989 (c) 1989 (World)
+ffightu // 12/1989 (c) 1989 (USA)
+ffightua // 12/01/1990 (c) 1989 (USA)
+ffightub // 13/06/1990 (c) 1989 (USA)
+ffightj // 12/1989 (c) 1989 (Japan)
+ffightj1 // 12/01/1990 (c) 1989 (Japan)
+ffightj2 // 05/03/1990 (c) 1989 (Japan)
+ffightjh // hack
+1941 // 2/1990 (c) 1990 (World)
+1941u // 27/02/1990 (c) 1990 (USA)
+1941j // 2/1990 (c) 1990 (Japan)
+mercs // 02/03/1990 (c) 1990 (World)
+mercsu // 08/06/1990 (c) 1990 (USA)
+mercsur1 // 02/03/1990 (c) 1990 (USA)
+mercsj // 02/03/1990 (c) 1990 (Japan)
+mtwins // 19/06/1990 (c) 1990 (World)
+chikij // 19/06/1990 (c) 1990 (Japan)
+msword // 25/07/1990 (c) 1990 (World)
+mswordr1 // 23/06/1990 (c) 1990 (World)
+mswordu // 25/07/1990 (c) 1990 (USA)
+mswordj // 23/06/1990 (c) 1990 (Japan)
+cawing // 12/10/1990 (c) 1990 (World)
+cawingr1 // 09/10/1990 (c) 1990 (World)
+cawingu // 12/10/1990 (c) 1990 (USA)
+cawingj // 12/10/1990 (c) 1990 (Japan)
+nemo // 30/11/1990 (c) 1990 (World)
+nemoj // 20/11/1990 (c) 1990 (Japan)
+sf2 // 22/05/1991 (c) 1991 (World)
+sf2eb // 14/02/1991 (c) 1991 (World)
+sf2ee // 28/02/1991 (c) 1991 (World)
+sf2ebbl // 14/02/1991 (c) 1991 (World, bootleg)
+sf2ua // 06/02/1991 (c) 1991 (USA)
+sf2ub // 14/02/1991 (c) 1991 (USA)
+sf2ud // 18/03/1991 (c) 1991 (USA)
+sf2ue // 28/02/1991 (c) 1991 (USA)
+sf2uf // 11/04/1991 (c) 1991 (USA)
+sf2ui // 22/05/1991 (c) 1991 (USA)
+sf2uk // 01/11/1991 (c) 1991 (USA)
+sf2j // 10/12/1991 (c) 1991 (Japan)
+sf2ja // 14/02/1991 (c) 1991 (Japan)
+sf2jc // 06/03/1991 (c) 1991 (Japan)
+sf2qp1 // hack
+sf2thndr // hack
+3wonders // 20/05/1991 (c) 1991 (World)
+3wondersu // 20/05/1991 (c) 1991 (USA)
+wonder3 // 20/05/1991 (c) 1991 (Japan)
+3wondersh // hack
+kod // 05/08/1991 (c) 1991 (World)
+kodr1 // 11/07/1991 (c) 1991 (World)
+kodu // 10/09/1991 (c) 1991 (USA)
+kodj // 05/08/1991 (c) 1991 (Japan)
+kodja // 05/08/1991 (c) 1991 (Japan)
+kodb // bootleg
+captcomm // 02/12/1991 (c) 1991 (World)
+captcommr1 // 14/10/1991 (c) 1991 (World)
+captcommu // 28/09/1991 (c) 1991 (USA)
+captcommj // 02/12/1991 (c) 1991 (Japan)
+captcommjr1 // 28/09/1991 (c) 1991 (Japan)
+captcommb // bootleg
+knights // 27/11/1991 (c) 1991 (World)
+knightsu // 27/11/1991 (c) 1991 (USA)
+knightsj // 27/11/1991 (c) 1991 (Japan)
+knightsja // 27/11/1991 (c) 1991 (Japan)
+knightsb // bootleg
+sf2ce // 13/05/1992 (c) 1992 (World)
+sf2ceea // 13/03/1992 (c) 1992 (World)
+sf2ceua // 13/03/1992 (c) 1992 (USA)
+sf2ceub // 13/05/1992 (c) 1992 (USA)
+sf2ceuc // 03/08/1992 (c) 1992 (USA)
+sf2cej // 13/05/1992 (c) 1992 (Japan)
+sf2rb // hack
+sf2rb2 // hack
+sf2rb3 // hack
+sf2red // hack
+sf2v004 // hack
+sf2acc // hack
+sf2accp2 // hack
+sf2dkot2 // hack
+sf2m1 // hack
+sf2m2 // hack
+sf2m3 // hack
+sf2m4 // hack
+sf2m5 // hack
+sf2m6 // hack
+sf2m7 // hack
+sf2yyc // hack
+sf2koryu // hack
+sf2mdt // bootleg
+cworld2j // 11/06/1992 (c) 1992 (Japan)
+varth // 14/07/1992 (c) 1992 (World)
+varthr1 // 12/06/1992 (c) 1992 (World)
+varthu // 12/06/1992 (c) 1992 (USA)
+varthj // 14/07/1992 (c) 1992 (Japan)
+qad // 01/07/1992 (c) 1992 (USA)
+qadj // 21/09/1994 (c) 1994 (Japan)
+wof // 02/10/1992 (c) 1992 (World) (CPS1 + QSound)
+wofu // 31/10/1992 (c) 1992 (USA) (CPS1 + QSound)
+wofa // 05/10/1992 (c) 1992 (Asia) (CPS1 + QSound)
+wofj // 31/10/1992 (c) 1992 (Japan) (CPS1 + QSound)
+wofhfh // bootleg
+sf2hf // 09/12/1992 (c) 1992 (World)
+sf2hfu // 09/12/1992 (c) 1992 (USA)
+sf2hfj // 09/12/1992 (c) 1992 (Japan)
+dino // 01/02/1993 (c) 1993 (World) (CPS1 + QSound)
+dinou // 01/02/1993 (c) 1993 (USA) (CPS1 + QSound)
+dinoj // 01/02/1993 (c) 1993 (Japan) (CPS1 + QSound)
+dinopic // bootleg
+dinopic2 // bootleg
+dinohunt // bootleg
+punisher // 22/04/1993 (c) 1993 (World) (CPS1 + QSound)
+punisheru // 22/04/1993 (c) 1993 (USA) (CPS1 + QSound)
+punisherj // 22/04/1993 (c) 1993 (Japan) (CPS1 + QSound)
+punipic // bootleg
+punipic2 // bootleg
+punipic3 // bootleg
+punisherbz // bootleg
+slammast // 13/07/1993 (c) 1993 (World) (CPS1 + QSound)
+slammastu // 13/07/1993 (c) 1993 (USA) (CPS1 + QSound)
+mbomberj // 13/07/1993 (c) 1993 (Japan) (CPS1 + QSound)
+mbombrd // 06/12/1993 (c) 1993 (World) (CPS1 + QSound)
+mbombrdj // 06/12/1993 (c) 1993 (Japan) (CPS1 + QSound)
+ // 1994 Ken Sei Mogura (not listed on Capcom's site)
+pnickj // 08/06/1994 (c) 1994 Compile + Capcom license (Japan) not listed on Capcom's site
+qtono2j // 23/01/1995 (c) 1995 (Japan)
+pang3 // 01/06/1995 (c) 1995 Mitchell (Euro) not listed on Capcom's site
+pang3n // 11/05/1995 (c) 1995 Mitchell (Euro) not listed on Capcom's site
+pang3j // 11/05/1995 (c) 1995 Mitchell (Japan) not listed on Capcom's site
+megaman // 06/10/1995 (c) 1995 (USA)
+megamana // 06/10/1995 (c) 1995 (Asia)
+rockmanj // 22/09/1995 (c) 1995 (Japan)
+
+fcrash // bootleg of Final Fight
+
+// Capcom CPS2 games
+// list completed by CPS2Shock
+// http://cps2shock.retrogames.com
+ssf2 // 11/09/1993 (c) 1993 (World)
+ssf2u // 11/09/1993 (c) 1993 (USA)
+ssf2a // 05/10/1993 (c) 1993 (Asia)
+ssf2ar1 // 14/09/1993 (c) 1993 (Asia)
+ssf2j // 05/10/1993 (c) 1993 (Japan)
+ssf2jr1 // 11/09/1993 (c) 1993 (Japan)
+ssf2jr2 // 10/09/1993 (c) 1993 (Japan)
+ssf2h // 11/09/1993 (c) 1993 (Hispanic)
+ssf2tb // 11/19/1993 (c) 1993 (World)
+ssf2tbr1 // 11/09/1993 (c) 1993 (World)
+ssf2tbj // 11/09/1993 (c) 1993 (Japan)
+ecofghtr // 03/12/1993 (c) 1994 (World)
+ecofghtru // 15/02/1994 (c) 1994 (USA)
+ecofghtru1 // 03/12/1993 (c) 1994 (USA)
+ecofghtra // 03/12/1993 (c) 1994 (Asia)
+ecofghtrh // 03/12/1993 (c) 1994 (Hispanic)
+uecology // 03/12/1993 (c) 1994 (Japan)
+ddtod // 12/04/1994 (c) 1993 (Euro)
+ddtodr1 // 13/01/1994 (c) 1993 (Euro)
+ddtodu // 25/01/1994 (c) 1993 (USA)
+ddtodur1 // 13/01/1994 (c) 1993 (USA)
+ddtodj // 12/04/1994 (c) 1993 (Japan)
+ddtodjr1 // 25/01/1994 (c) 1993 (Japan)
+ddtodjr2 // 13/01/1994 (c) 1993 (Japan)
+ddtoda // 13/01/1994 (c) 1993 (Asia)
+ddtodh // 12/04/1994 (c) 1993 (Hispanic)
+ddtodhr1 // 25/01/1994 (c) 1993 (Hispanic)
+ddtodhr2 // 13/01/1994 (c) 1993 (Hispanic)
+ssf2t // 23/02/1994 (c) 1994 (World)
+ssf2tu // 23/03/1994 (c) 1994 (USA)
+ssf2tur1 // 23/02/1994 (c) 1994 (USA)
+ssf2ta // 23/02/1994 (c) 1994 (Asia)
+ssf2xj // 23/02/1994 (c) 1994 (Japan)
+avsp // 20/05/1994 (c) 1994 (Euro)
+avspu // 20/05/1994 (c) 1994 (USA)
+avspj // 20/05/1994 (c) 1994 (Japan)
+avspa // 20/05/1994 (c) 1994 (Asia)
+avsph // 20/05/1994 (c) 1994 (Hispanic)
+ // 06/1994? Galum Pa! (not listed on Capcom's site)
+dstlk // 05/07/1994 (c) 1994 (Euro)
+dstlku // 18/08/1994 (c) 1994 (USA)
+dstlkur1 // 05/07/1994 (c) 1994 (USA)
+dstlka // 05/07/1994 (c) 1994 (Asia)
+dstlkh // 18/08/1994 (c) 1994 (Hispanic)
+vampj // 05/07/1994 (c) 1994 (Japan)
+vampja // 05/07/1994 (c) 1994 (Japan)
+vampjr1 // 30/06/1994 (c) 1994 (Japan)
+ringdest // 02/09/1994 (c) 1994 (Euro)
+ringdesta // 31/08/1994 (c) 1994 (Asia)
+smbomb // 31/08/1994 (c) 1994 (Japan)
+smbombr1 // 08/08/1994 (c) 1994 (Japan)
+armwar // 24/10/1994 (c) 1994 (Euro)
+armwarr1 // 11/10/1994 (c) 1994 (Euro)
+armwaru // 24/10/1994 (c) 1994 (USA)
+armwaru1 // 20/09/1994 (c) 1994 (USA)
+pgear // 24/10/1994 (c) 1994 (Japan)
+pgearr1 // 16/09/1994 (c) 1994 (Japan)
+armwara // 20/09/1994 (c) 1994 (Asia)
+xmcota // 05/01/1995 (c) 1994 (Euro)
+xmcotau // 05/01/1995 (c) 1994 (USA)
+xmcotah // 31/03/1995 (c) 1994 (Hispanic)
+xmcotahr1 // 05/01/1995 (c) 1994 (Hispanic)
+xmcotaj // 05/01/1995 (c) 1994 (Japan)
+xmcotaj1 // 22/12/1994 (c) 1994 (Japan)
+xmcotaj2 // 19/12/1994 (c) 1994 (Japan)
+xmcotaj3 // 17/12/1994 (c) 1994 (Japan)
+xmcotaa // 05/01/1995 (c) 1994 (Asia)
+xmcotaar1 // 17/12/1994 (c) 1994 (Asia)
+xmcotajr // 08/12/1994 (c) 1994 (Japan Rent)
+nwarr // 16/03/1995 (c) 1995 (Euro)
+nwarru // 06/04/1995 (c) 1995 (USA)
+nwarrh // 03/04/1995 (c) 1995 (Hispanic)
+nwarrb // 03/04/1995 (c) 1995 (Brazil)
+nwarra // 02/03/1995 (c) 1995 (Asia)
+vhuntj // 02/03/1995 (c) 1995 (Japan)
+vhuntjr1 // 07/03/1995 (c) 1995 (Japan)
+vhuntjr2 // 02/03/1995 (c) 1995 (Japan)
+cybots // 24/04/1995 (c) 1995 (Euro)
+cybotsu // 24/04/1995 (c) 1995 (USA)
+cybotsj // 20/04/1995 (c) 1995 (Japan)
+sfa // 27/07/1995 (c) 1995 (Euro)
+sfar1 // 18/07/1995 (c) 1995 (Euro)
+sfar2 // 27/06/1995 (c) 1995 (Euro)
+sfar3 // 05/06/1995 (c) 1995 (Euro)
+sfau // 27/06/1995 (c) 1995 (USA)
+sfza // 27/06/1995 (c) 1995 (Asia)
+sfzj // 27/07/1995 (c) 1995 (Japan)
+sfzjr1 // 27/06/1995 (c) 1995 (Japan)
+sfzjr2 // 05/06/1995 (c) 1995 (Japan)
+sfzh // 18/07/1995 (c) 1995 (Hispanic)
+sfzhr1 // 27/06/1995 (c) 1995 (Hispanic)
+sfzb // 09/11/1995 (c) 1995 (Brazil)
+sfzbr1 // 27/07/1995 (c) 1995 (Brazil)
+mmancp2u // 06/10/1995 (c) 1995 (Japan)
+rmancp2j // 22/09/1995 (c) 1995 (Japan)
+msh // 24/10/1995 (c) 1995 (Euro)
+mshu // 24/10/1995 (c) 1995 (USA)
+mshj // 17/11/1995 (c) 1995 (Japan)
+mshjr1 // 24/10/1995 (c) 1995 (Japan)
+msha // 24/10/1995 (c) 1995 (Asia)
+mshh // 17/11/1995 (c) 1995 (Hispanic)
+mshb // 17/11/1995 (c) 1995 (Brazil)
+19xx // 07/12/1995 (c) 1996 (USA)
+19xxj // 25/12/1995 (c) 1996 (Japan)
+19xxjr1 // 07/12/1995 (c) 1996 (Japan)
+19xxa // 07/12/1995 (c) 1996 (Asia)
+19xxh // 18/12/1995 (c) 1996 (Hispanic)
+19xxb // 18/12/1995 (c) 1996 (Brazil)
+ddsom // 19/06/1996 (c) 1996 (Euro)
+ddsomr1 // 23/02/1996 (c) 1996 (Euro)
+ddsomr2 // 09/02/1996 (c) 1996 (Euro)
+ddsomr3 // 08/02/1996 (c) 1996 (Euro)
+ddsomu // 19/06/1996 (c) 1996 (USA)
+ddsomur1 // 09/02/1996 (c) 1996 (USA)
+ddsomjr1 // 06/02/1996 (c) 1996 (Japan)
+ddsomj // 19/06/1996 (c) 1996 (Japan)
+ddsoma // 19/06/1996 (c) 1996 (Asia)
+ddsomh // 23/02/1996 (c) 1996 (Hispanic)
+ddsomb // 23/02/1996 (c) 1996 (Brazil)
+sfa2 // 06/03/1996 (c) 1996 (Euro)
+sfa2u // 30/04/1996 (c) 1996 (USA)
+sfa2ur1 // 06/03/1996 (c) 1996 (USA)
+sfz2j // 27/02/1996 (c) 1996 (Japan)
+sfz2a // 27/02/1996 (c) 1996 (Asia)
+sfz2b // 31/05/1996 (c) 1996 (Brazil)
+sfz2br1 // 04/03/1996 (c) 1996 (Brazil)
+sfz2h // 04/03/1996 (c) 1996 (Hispanic)
+sfz2n // 29/02/1996 (c) 1996 (Oceania)
+spf2t // 20/06/1996 (c) 1996 (USA)
+spf2xj // 31/05/1996 (c) 1996 (Japan)
+spf2ta // 29/05/1996 (c) 1996 (Asia)
+spf2th // 31/05/1996 (c) 1996 (Hispanic)
+megaman2 // 08/07/1996 (c) 1996 (USA)
+megaman2a // 08/07/1996 (c) 1996 (Asia)
+rockman2j // 08/07/1996 (c) 1996 (Japan)
+megaman2h // 12/07/1996 (c) 1996 (Hispanic)
+gigamn2 // bootleg
+sfz2al // 26/08/1996 (c) 1996 (Asia)
+sfz2alj // 05/08/1996 (c) 1996 (Japan)
+sfz2alh // 13/08/1996 (c) 1996 (Hispanic)
+sfz2alb // 13/08/1996 (c) 1996 (Brazil)
+qndream // 26/08/1996 (c) 1996 (Japan)
+xmvsf // 04/10/1996 (c) 1996 (Euro)
+xmvsfr1 // 10/09/1996 (c) 1996 (Euro)
+xmvsfu // 23/10/1996 (c) 1996 (USA)
+xmvsfur1 // 04/10/1996 (c) 1996 (USA)
+xmvsfj // 04/10/1996 (c) 1996 (Japan)
+xmvsfjr1 // 10/09/1996 (c) 1996 (Japan)
+xmvsfjr2 // 09/09/1996 (c) 1996 (Japan)
+xmvsfa // 23/10/1996 (c) 1996 (Asia)
+xmvsfar1 // 19/09/1996 (c) 1996 (Asia)
+xmvsfar2 // 10/09/1996 (c) 1996 (Asia)
+xmvsfh // 04/10/1996 (c) 1996 (Hispanic)
+xmvsfb // 23/10/1996 (c) 1996 (Brazil)
+batcir // 19/03/1997 (c) 1997 (Euro)
+batcirj // 19/03/1997 (c) 1997 (Japan)
+batcira // 19/03/1997 (c) 1997 (Asia)
+vsav // 19/05/1997 (c) 1997 (Euro)
+vsavu // 19/05/1997 (c) 1997 (USA)
+vsavj // 19/05/1997 (c) 1997 (Japan)
+vsava // 19/05/1997 (c) 1997 (Asia)
+vsavh // 19/05/1997 (c) 1997 (Hispanic)
+mshvsf // 25/06/1997 (c) 1997 (Euro)
+mshvsfu // 27/08/1997 (c) 1997 (USA)
+mshvsfu1 // 25/06/1997 (c) 1997 (USA)
+mshvsfj // 07/07/1997 (c) 1997 (Japan)
+mshvsfj1 // 02/07/1997 (c) 1997 (Japan)
+mshvsfj2 // 25/06/1997 (c) 1997 (Japan)
+mshvsfh // 25/06/1997 (c) 1997 (Hispanic)
+mshvsfa // 25/06/1997 (c) 1997 (Asia)
+mshvsfa1 // 20/06/1997 (c) 1997 (Asia)
+mshvsfb // 27/08/1997 (c) 1997 (Brazil)
+mshvsfb1 // 25/06/1997 (c) 1997 (Brazil)
+csclub // 17/10/1997 (c) 1997 (Euro)
+csclub1 // 22/07/1997 (c) 1997 (Euro)
+csclubj // 22/07/1997 (c) 1997 (Japan)
+cscluba // 22/07/1997 (c) 1997 (Asia)
+csclubh // 22/07/1997 (c) 1997 (Hispanic)
+sgemf // 04/09/1997 (c) 1997 (USA)
+pfghtj // 04/09/1997 (c) 1997 (Japan)
+sgemfa // 04/09/1997 (c) 1997 (Asia)
+sgemfh // 04/09/1997 (c) 1997 (Hispanic)
+vhunt2r1 // 13/09/1997 (c) 1997 (Japan)
+vhunt2 // 29/09/1997 (c) 1997 (Japan)
+vsav2 // 13/09/1997 (c) 1997 (Japan)
+mvsc // 23/01/1998 (c) 1998 (Euro)
+mvscr1 // 12/01/1998 (c) 1998 (Euro)
+mvscu // 23/01/1998 (c) 1998 (USA)
+mvscur1 // 23/01/1998 (c) 1998 (USA)
+mvscj // 23/01/1998 (c) 1998 (Japan)
+mvscjr1 // 12/01/1998 (c) 1998 (Japan)
+mvsca // 23/01/1998 (c) 1998 (Asia)
+mvscar1 // 12/01/1998 (c) 1998 (Asia)
+mvsch // 23/01/1998 (c) 1998 (Hispanic)
+mvscb // 23/01/1998 (c) 1998 (Brazil)
+sfa3 // 04/09/1998 (c) 1998 (USA)
+sfa3u // 04/09/1998 (c) 1998 (USA)
+sfa3ur1 // 29/06/1998 (c) 1998 (USA)
+sfa3h // 04/09/1998 (c) 1998 (Hispanic)
+sfa3hr1 // 29/06/1998 (c) 1998 (Hispanic)
+sfa3b // 29/06/1998 (c) 1998 (Brazil)
+sfz3j // 04/09/1998 (c) 1998 (Japan)
+sfz3jr1 // 27/07/1998 (c) 1998 (Japan)
+sfz3jr2 // 29/06/1998 (c) 1998 (Japan)
+sfz3a // 04/09/1998 (c) 1998 (Asia)
+sfz3ar1 // 01/07/1998 (c) 1998 (Asia)
+gigawing // 22/02/1999 (c) 1999 Takumi (USA)
+gigawingj // 23/02/1999 (c) 1999 Takumi (Japan)
+gigawinga // 22/02/1999 (c) 1999 Takumi (Asia)
+gigawingh // 22/02/1999 (c) 1999 Takumi (Hispanic)
+gigawingb // 22/02/1999 (c) 1999 Takumi (Brazil)
+jyangoku // 27/05/1999 (c) 1999 (Japan)
+dimahoo // 21/01/2000 (c) 2000 Eighting/Raizing (USA)
+dimahoou // 21/01/2000 (c) 2000 Eighting/Raizing (USA)
+gmahou // 21/01/2000 (c) 2000 Eighting/Raizing (Japan)
+mmatrix // 12/04/2000 (c) 2000 Takumi (USA)
+mmatrixj // 12/04/2000 (c) 2000 Takumi (Japan)
+1944 // 20/06/2000 (c) 2000 Eighting/Raizing (USA)
+1944j // 20/06/2000 (c) 2000 Eighting/Raizing (Japan)
+mpang // 10/10/2000 (c) 2000 Mitchell (Euro)
+mpangr1 // 25/09/2000 (c) 2000 Mitchell (Euro)
+mpangu // 10/10/2000 (c) 2000 Mitchell (USA)
+mpangj // 11/10/2000 (c) 2000 Mitchell (Japan)
+progear // 17/01/2001 (c) 2001 Cave (USA)
+progearj // 17/01/2001 (c) 2001 Cave (Japan)
+progeara // 17/01/2001 (c) 2001 Cave (Asia)
+pzloop2 // 02/03/2001 (c) 2001 Mitchell (Euro)
+pzloop2j // 05/02/2001 (c) 2001 Mitchell (Japan)
+choko // 20/08/2001 (c) 2001 Mitchell (Japan)
+hsf2 // 02/02/2004 (c) 2003, 2004 (USA)
+hsf2j // 22/12/2003 (c) 2003, 2004 (Japan)
+hsf2a // 02/02/2004 (c) 2003, 2004 (Asia)
+
+// CPS2 'Phoenix' bootlegs
+ssf2ud
+ddtodd
+ecofghtrd
+avspd
+dstlku1d
+ringdstd
+xmcotad
+nwarrud
+sfad
+mshud
+19xxd
+sfz2ad
+sfz2jd
+spf2td
+spf2xjd
+ddsomud
+megamn2d
+sfz2ald
+xmvsfu1d
+batcird
+vsavd
+mvscud
+sfa3ud
+gigawingd
+gigawingjd
+1944d
+progearud
+progearjd
+progearjbl
+hsf2d
+ssf2tbd
+ssf2xjd
+sgemfd
+armwar1d
+dimahoud
+mmatrixd
+vhunt2d
+vsav2d
+csclub1d
+cybotsud
+mshvsfu1d
+sfz3jr2d
+
+// Capcom CPS3 games
+redearth // 21/11/1996 (c) 1996 (Euro)
+redeartha // 23/10/1996 (c) 1996 (Euro)
+warzard // 21/11/1996 (c) 1996 (Japan)
+warzarda // 23/10/1996 (c) 1996 (Japan)
+sfiii // 04/02/1997 (c) 1997 (USA)
+sfiiij // 04/02/1997 (c) 1997 (Japan)
+sfiiih // 04/02/1997 (c) 1997 (Hispanic)
+sfiii2 // 30/09/1997 (c) 1997 (USA)
+sfiii2j // 30/09/1997 (c) 1997 (Japan)
+jojo // 08/01/1999 (c) 1998 (USA)
+jojoa // 02/12/1998 (c) 1998 (USA)
+jojoj // 08/01/1999 (c) 1998 (Japan)
+jojoaj // 02/12/1998 (c) 1998 (Japan)
+sfiii3 // 08/06/1999 (c) 1999 (USA)
+sfiii3a // 12/05/1999 (c) 1999 (USA)
+jojoba // 13/09/1999 (c) 1999 (Japan)
+
+sfiiin // 04/02/1997 (c) 1997 (Asia)
+sfiii2n // 30/09/1997 (c) 1997 (Asia)
+jojon // 08/01/1999 (c) 1998 (Asia)
+jojoan // 02/12/1998 (c) 1998 (Asia)
+sfiii3n // 08/06/1999 (c) 1999 (Japan)
+sfiii3an // 12/05/1999 (c) 1999 (Japan)
+jojoban // 13/09/1999 (c) 1999 (Japan)
+jojobane // 13/09/1999 (c) 1999 (Euro)
+
+// Capcom ZN1
+cpzn1
+ts2 // Battle Arena Toshinden 2 (USA 951124)
+ts2j // Battle Arena Toshinden 2 (JAPAN 951124)
+starglad // Star Gladiator (USA 960627)
+stargladj // Star Gladiator (JAPAN 960627)
+sfex // Street Fighter EX (EURO 961219)
+sfexu // Street Fighter EX (USA 961219)
+sfexa // Street Fighter EX (ASIA 961219)
+sfexj // Street Fighter EX (JAPAN 961130)
+glpracr // Gallop Racer (JAPAN Ver 9.01.12)
+sfexp // Street Fighter EX Plus (USA 970407)
+sfexpu1 // Street Fighter EX Plus (USA 970311)
+sfexpj // Street Fighter EX Plus (JAPAN 970311)
+
+// Capcom ZN2
+cpzn2
+rvschool // Rival Schools (USA 971117)
+rvschoola // Rival Schools (ASIA 971117)
+jgakuen // Justice Gakuen (JAPAN 971117)
+sfex2 // Street Fighter EX 2 (USA 980526)
+sfex2j // Street Fighter EX 2 (JAPAN 980312)
+sfex2a // Street Fighter EX 2 (ASIA 980312)
+sfex2h // Street Fighter EX 2 (HISPANIC 980312)
+plsmaswd // Plasma Sword (USA 980316)
+stargld2 // Star Gladiator 2 (JAPAN 980316)
+plsmaswda // Plasma Sword (ASIA 980316)
+tgmj // Tetris The Grand Master (JAPAN 980710)
+techromn // Tech Romancer (EURO 980914)
+techromnu // Tech Romancer (USA 980914)
+kikaioh // Kikaioh (JAPAN 980914)
+sfex2p // Street Fighter EX 2 Plus (USA 990611)
+sfex2pa // Street Fighter EX 2 Plus (ASIA 990611)
+sfex2pj // Street Fighter EX 2 Plus (JAPAN 990611)
+strider2 // Strider 2 (USA 991213)
+strider2a // Strider 2 (ASIA 991213)
+shiryu2 // Strider Hiryu 2 (JAPAN 991213)
+
+alien // (c) 2005
+// Alien Danger
+
+// Tecmo ZN1
+tps
+glpracr2 // Gallop Racer 2 (USA)
+glpracr2j // Gallop Racer 2 (JAPAN)
+glpracr2l // Gallop Racer 2 Link HW (JAPAN)
+doapp // Dead Or Alive ++ (JAPAN)
+cbaj // Cool Boaders Arcade Jam
+shngmtkb // Shanghai Matekibuyuu
+tondemo // Tondemo Crisis (JAPAN)
+glpracr3 // Gallop Racer 3 (JAPAN)
+flamegun // Flame Gunner (USA)
+flamegunj // Flame Gunner (JAPAN)
+lpadv // Logic Pro Adventure (JAPAN)
+tblkkuzu // The Block Kuzushi (JAPAN)
+1on1gov // 1 on 1 Government (JAPAN)
+tecmowcm // Tecmo World Cup Millenium (JAPAN)
+mfjump // Monster Farm Jump (JAPAN)
+
+// Atlus ZN1
+atluspsx
+hvnsgate // Heaven's Gate (JAPAN)
+
+// PS Arcade 95
+psarc95
+beastrzr // Beastorizer (USA)
+bldyroar // Bloody Roar (JAPAN)
+beastrzb // Beastorizer (USA Bootleg)
+bldyror2 // Bloody Roar 2 (WORLD)
+bldyror2u // Bloody Roar 2 (USA)
+bldyror2a // Bloody Roar 2 (ASIA)
+bldyror2j // Bloody Roar 2 (JAPAN)
+brvblade // Brave Blade (WORLD)
+brvbladeu // Brave Blade (USA)
+brvbladea // Brave Blade (ASIA)
+brvbladej // Brave Blade (JAPAN)
+bam2 // Bust a Move 2 (JAPANESE ROM ver. 1999/07/17 10:00:00)
+
+// Atari PSX
+atpsx
+primrag2 // Primal Rage 2
+
+// Acclaim PSX
+acpsx
+nbajamex // NBA Jam Extreme
+jdredd // Judge Dredd (Rev C)
+jdreddb // Judge Dredd (Rev B)
+
+// Video System ZN1
+vspsx
+aerofgts // Aero Fighters Special (TAIWAN)
+sncwgltd // Sonic Wings Limited (JAPAN)
+
+// Taito FX1a
+taitofx1
+sfchamp // Super Football Champ (Ver 2.5O)
+sfchamp24o // Super Football Champ (Ver 2.4O)
+sfchampj // Super Football Champ (Ver 2.4J)
+psyforce // Psychic Force (Ver 2.4O)
+psyforcej // Psychic Force (Ver 2.4J)
+psyforcex // Psychic Force EX (Ver 2.0J)
+mgcldate // Magical Date (JAPAN Ver 2.02J)
+mgcldtex // Magical Date EX (JAPAN Ver 2.01J)
+
+// Taito FX1b
+raystorm // Ray Storm (Ver 2.06A)
+raystormj // Ray Storm (Ver 2.05J)
+ftimpact // Fighters' Impact (Ver 2.02O)
+ftimpactj // Fighters' Impact (Ver 2.02J)
+ftimpcta // Fighters' Impact A (Ver 2.00J)
+gdarius // G-Darius (Ver 2.01J)
+gdariusb // G-Darius (Ver 2.02A)
+gdarius2 // G-Darius Ver.2 (Ver 2.03J)
+
+// Taito GNET
+taitogn
+chaoshea // 1998.10 Chaos Heat (V2.09O)
+chaosheaj // 1998.10 Chaos Heat (V2.08J)
+raycris // 1998.12 Ray Crisis (V2.03J)
+otenamih // 1999.02 Otenami Haiken (Success)
+otenamhf // 2005.04 Otenami Haiken Final (V2.07JC)
+spuzboblj // 1999.03 Super Puzzle Bobble (Japan)
+spuzbobl // 1999.?? Super Puzzle Bobble (V2.05O)
+gobyrc // 1999.?? Go By RC (V2.03O)
+rcdego // 1999.06 RC De Go (V2.03J)
+flipmaze // 1999.09 Flip Maze (V2.04J)
+mahjngoh // 1999.12 Mahjong Oh (V2.06J)
+psyvaria // 2000.03 Psyvariar -Medium Unit- (V2.04J)
+shanghss // 2000.07 Shanghai Shoryu Sairin (V2.03J)
+psyvarrv // 2000.09 Psyvariar -Revision- (V2.04J)
+zokuoten // 2000.12 Zoku Otenamihaiken (V2.03J)
+ // 2000.?? Taito Classic (Success, not released?)
+soutenry // 2001.02 Soutenryu (V2.07J)
+nightrai // 2001.05 Night Raid (V2.03J)
+shikigam // 2001.09 Shikigami no Shiro
+otenki // 2001.10 Otenki Kororin
+usagi // 2001.12 Usagi (V2.02J)
+shangtou // 2002.02 Shanghai Sangokuhaitougi
+xiistag // 2002.07 XII Stag (V2.01J)
+sianniv // 2003.10 Space Invaders Anniversary (V2.02J)
+kollon // 2003.11 Kollon (V2.04J)
+kollonc // 2003.11 Kollon (V2.04JC, Compact Flash version)
+zooo // 2004.05 Zooo
+
+// Namco System 11
+tekken // 1994.?? Tekken (TE4/VER.C)
+tekkena // 1994.?? Tekken (TE2/VER.C)
+tekkenb // 1994.?? Tekken (TE2/VER.B)
+tekkenc // 1994.12 Tekken (TE1/VER.B, Japan)
+tekken2 // 1995.?? Tekken 2 Ver.B (TES3/VER.B)
+tekken2a // 1995.?? Tekken 2 Ver.B (TES2/VER.B)
+ // 1995.10 Tekken 2 Ver.B (TES1/VER.B, Japan)
+tekken2b // 1995.?? Tekken 2 (TES2/VER.A)
+ // 1995.08 Tekken 2 (TES1, Japan)
+souledge1 // 1996.?? Soul Edge (SO3/VER.A)
+souledge1j // 1996.02 Soul Edge (SO1/VER.A, Japan)
+primglex // 1996.03 Prime Goal EX (PG1/VER.A, Japan)
+xevi3dg // 1996.05 Xevious 3D/G (XV31/VER.A, Japan)
+souledge // 1996.?? Soul Edge Ver. II (SO4/VER.C)
+souledgea // 1996.?? Soul Edge Ver. II (SO3/VER.C)
+ // 1996.05 Soul Edge Ver. II (SO1, Japan)
+dunkmnia // 1996.?? Dunk Mania (DM1/VER.C)
+dunkmniaj // 1996.05 Dunk Mania (DM1/VER.C, Japan)
+danceyes // 1996.09 Dancing Eyes (DC1/VER.A, Japan)
+pocketrc // 1997.03 Pocket Racer (PKR1/VER.B, Japan)
+starswep // 1997.07 Star Sweep (STP1/VER.A, Japan)
+myangel3 // 1998.03 Kosodate Quiz My Angel 3 (KQT1/VER.A, Japan)
+ptblank2a // 1999.?? Point Blank 2 (GNB3/VER.A)
+ // 1999.02 Gunbaarl (GNB1, Japan)
+
+// Namco System 12
+tekken3 // 1997.03 Tekken 3 (TET1/VER.E1, Japan)
+tekken3a // 1997.?? Tekken 3 (TET2/VER.B)
+tekken3b // 1997.?? Tekken 3 (TET3/VER.A)
+tekken3c // 1997.?? Tekken 3 (TET2/VER.A)
+lbgrande // 1997.?? Libero Grande (LG2/VER.A)
+ // 1997.12 Libero Grande (LG1, Japan)
+toukon3 // 1997.12 Shin Nihon Pro Wrestling Toukon Retsuden 3 Arcade Edition (TR1/VER.A, Japan)
+ehrgeiz // 1998.?? Ehrgeiz (EG3/VER.A)
+ehrgeiza // 1998.?? Ehrgeiz (EG2/VER.A)
+ehrgeizj // 1998.05 Ehrgeiz (EG1, Japan)
+sws98 // 1998.06 Super World Stadium '98 (SS81/VER.A, Japan)
+soulclbr // 1998.?? Soul Calibur (SOC14/VER.C)
+soulclbrb // 1998.?? Soul Calibur (SOC14/VER.B)
+soulclbrj // 1998.07 Soul Calibur (SOC11/VER.C, Japan)
+soulclbrb2 // 1998.?? Soul Calibur (SOC13/VER.B)
+soulclbrjb // 1998.?? Soul Calibur (SOC11/VER.B, Japan)
+soulclbrja // 1998.?? Soul Calibur (SOC11/VER.A2, Japan)
+ // 1998.07 Techno Drive
+mdhorse // 1998.11 Derby Quiz My Dream Horse (MDH1/VER.A2, Japan)
+ // 1998.12 Attack Pla Rail
+tenkomor // 1998.?? Tenkomori Shooting (TKM2/VER.A1)
+tenkomorj // 1998.12 Tenkomori Shooting (TKM1/VER.A1, Japan)
+pacapp // 1998.12 Paca Paca Passion (PPP1/VER.A2, Japan)
+fgtlayer // 1998.12 Fighting Layer (FTL0/VER.A, Japan)
+ // 1999.01 Bust A Move (Metro)
+ptblank2 // 1999.?? Point Blank 2 (GNB5/VER.A)
+sws99 // 1999.05 Super World Stadium '99 (SS91/VER.A3, Japan)
+ghlpanic // 1999.?? Ghoul Panic (OB2/VER.A)
+ // 1999.07 Oh Bakyuun (OB1, Japan)
+pacapp2 // 1999.07 Paca Paca Passion 2 (PKS1/VER.A, Japan)
+ // 1999.07 Bust A Move 2 (Metro)
+tektagt // 1999.?? Tekken Tag Tournament (TEG3/VER.C1)
+tektagta // 1999.?? Tekken Tag Tournament (TEG3/VER.B)
+tektagtb // 1999.07 Tekken Tag Tournament (TEG1/VER.B, Japan)
+tektagtc // 1999.07 Tekken Tag Tournament (TEG1/VER.A, Japan)
+mrdrillr // 1999.11 Mr Driller (DRI1/VER.A2, Japan)
+ // 1999.12 UmJammer Lammy NOW! (Japan)
+ // 1999.12 Quest for Fame (Japan)
+pacappsp // 1999.12 Paca Paca Passion Special (PSP1/VER.A, Japan)
+kaiunqz // 1999.12 Kaiun Quiz (KW1/VER.A, Japan)
+aquarush // 2000.02 Aqua Rush (AQ1/VER.A1, Japan)
+golgo13 // 2000.03 Golgo 13 (GLG1/VER.A, Japan)
+sws2000 // 2000.03 Super World Stadium 2000 (SS01/VER.A, Japan)
+truckk // 2000.06 Truck Kyousoukyoku (Metro)
+ // 2000.07 Kart Duel
+ // 2000.08 Teknowerk
+g13knd // 2000.10 Golgo 13 Kiseki no Dandou (GLS1/VER.A, Japan)
+sws2001 // 2001.04 Super World Stadium 2001 (SS11/VER.A, Japan)
+
+// Namco System 10
+mrdrilr2 // 2000.07 Mr Driller 2 (DR21 Ver.A)
+mrdrlr2a // 2000.?? Mr Driller 2 (DR22 Ver.A)
+ptblank3 // 2000.12 Point Blank 3 / Gunbalina
+ // 2001.02 Photo Battole
+ // 2001.02 Taiko no Tatsujin
+ // 2001.03 Gahaha Ippatsudou
+mrdrilrg // 2001.03 Mr. Driller G (DRG1 Ver.A)
+ // 2001.07 Golgo 13 Juusei no Requiem
+ // 2001.08 Taiko no Tatsujin 2
+ // 2001.09 Gahaha Ippatsudou 2
+ // 2001.11 Knock Down 2001
+knpuzzle // 2001.12 Kotoba no Puzzle Mojipittan (KPM1 Ver.A)
+gjspace // 2001.12 Gekitoride-Jong Space (10011 Ver.A)
+ // 2002.03 Panicuru Panekuru
+ // 2002.03 Taiko no Tatsujin 3
+startrgn // 2002.07 Star Trigon (STT1 Ver.A)
+ // 2002.07 Tsukkomi Yousei Gips Nice Tsukkomi
+gamshara // 2002.08 Gamshara (10021 Ver.A)
+chocovdr // 2002.10 Uchuu Daisakusen : Chocovader Contactee
+ // 2002.12 Taiko no Tatsujin 4
+ // 2003.04 Seisyun Quiz Colorful High School
+ // 2003.10 Taiko no Tatsujin 5
+ // 2004.07 Taiko no Tatsujin 6
+
+// Konami GQ
+cryptklr // Crypt Killer (GQ420 UAA)
+
+// Konami GV
+konamigv
+kdeadeye // GV054, UA01
+pbball96 // GV017, Japan 1.03
+hyperath // GV021, Japan 1.00
+susume // GV027, Japan 1.20
+btchamp // GV053, UAA01
+weddingr // GX624, JAA
+tokimosh // GE755, JAA
+tokimosp // GE756, JAB
+nagano98 // GX720, EAA
+simpbowl // GQ829, UAA
+
+// Konami System 573
+sys573
+darkhleg // 1998 - Dark Horse Legend (GX706 VER. JAA)
+fbaitbc // 1998 - Fisherman's Bait - A Bass Challenge (GE765 VER. UAB)
+bassangl // 1998 - Bass Angler (GE765 VER. JAA)
+pbballex // 1998 - Powerful Pro Baseball EX (GX802 VER. JAB)
+konam80s // 1998 - Konami 80's AC Special (GC826 VER. EAA)
+konam80u // 1998 - Konami 80's AC Special (GC826 VER. UAA)
+konam80j // 1998 - Konami 80's Gallery (GC826 VER. JAA)
+konam80a // 1998 - Konami 80's AC Special (GC826 VER. AAA)
+konam80k // 1998 - Konami 80's AC Special (GC826 VER. KAA)
+dstage // 1999 - Dancing Stage (GN845 VER. EAA)
+ddru // 1999 - Dance Dance Revolution (GN845 VER. UAA)
+ddrj // 1998 - Dance Dance Revolution - Internet Ranking Ver (GC845 VER. JBA)
+ddrja // 1998 - Dance Dance Revolution (GC845 VER. JAA)
+ddrjb // 1998 - Dance Dance Revolution (GC845 VER. JAB)
+ddra // 1999 - Dance Dance Revolution (GN845 VER. AAA)
+fbait2bc // 1998 - Fisherman's Bait 2 - A Bass Challenge (GE865 VER. UAB)
+bassang2 // 1998 - Bass Angler 2 (GE865 VER. JAA)
+drmn // 1999 - DrumMania (GQ881 VER. JAD)
+gtrfrks // 1999 - Guitar Freaks (GQ886 VER. EAC)
+gtrfrksu // 1999 - Guitar Freaks (GQ886 VER. UAC)
+gtrfrksj // 1999 - Guitar Freaks (GQ886 VER. JAC)
+gtrfrksa // 1999 - Guitar Freaks (GQ886 VER. AAC)
+fbaitmc // 1999 - Fisherman's Bait - Marlin Challenge (GX889 VER. EA)
+fbaitmcu // 1999 - Fisherman's Bait - Marlin Challenge (GX889 VER. UA)
+fbaitmcj // 1999 - Fisherman's Bait - Marlin Challenge (GX889 VER. JA)
+fbaitmca // 1999 - Fisherman's Bait - Marlin Challenge (GX889 VER. AA)
+ddr2m // 1999 - Dance Dance Revolution 2nd Mix (GN895 VER. JAA)
+ddr2ml // 1999 - Dance Dance Revolution 2nd Mix - Link Ver (GE885 VER. JAB)
+ddr2mla // 1999 - Dance Dance Revolution 2nd Mix - Link Ver (GE885 VER. JAA)
+ddrbocd // 1999 - Dance Dance Revolution Best of Cool Dancers (GE892 VER. JAA)
+ddr2mc // 1999 - Dance Dance Revolution 2nd Mix with beatmaniaIIDX CLUB VERSiON (GE896 VER. JAA)
+ddr2mc2 // 1999 - Dance Dance Revolution 2nd Mix with beatmaniaIIDX substream CLUB VERSiON 2 (GE984 VER. JAA)
+gtrfrk2m // 1999 - Guitar Freaks 2nd Mix Ver 1.01 (GQ883 VER. JAD)
+dsftkd // 1999 - Dancing Stage featuring TRUE KiSS DESTiNATiON (G*884 VER. JAA)
+cr589fw // 1999 - CR-589 Firmware (700B04)
+cr589fwa // 1999 - CR-589 Firmware (700A04)
+ddr3mk // 2000 - Dance Dance Revolution 3rd Mix - Ver.Korea2 (GN887 VER. KBA)
+ddr3mka // 2000 - Dance Dance Revolution 3rd Mix - Ver.Korea (GN887 VER. KAA)
+ddr3ma // 1999 - Dance Dance Revolution 3rd Mix (GN887 VER. AAA)
+ddr3mj // 1999 - Dance Dance Revolution 3rd Mix (GN887 VER. JAA)
+ddrsbm // 1999 - Dance Dance Revolution Solo Bass Mix (GQ894 VER. JAA)
+ddrs2k // 1999 - Dance Dance Revolution Solo 2000 (GC905 VER. AAA)
+ddrs2kj // 1999 - Dance Dance Revolution Solo 2000 (GC905 VER. JAA)
+hyperbbc // 1999 - Hyper Bishi Bashi Champ (GX908 1999/08/24 VER. JAA)
+hyperbbck // 1999 - Hyper Bishi Bashi Champ (GX908 1999/08/24 VER. KAA)
+dsfdct // 1999 - Dancing Stage featuring Dreams Come True (GC910 VER. JCA)
+dsfdcta // 1999 - Dancing Stage featuring Dreams Come True (GC910 VER. JAA)
+drmn2m // 1999 - DrumMania 2nd Mix (GE912 VER. JAB)
+drmn2mpu // 1999 - DrumMania 2nd Mix Session Power Up Kit (GE912 VER. JAB)
+dncfrks // 2000 - Dance Freaks (G*874 VER. KAA)
+dmx // 2000 - Dance Maniax (G*874 VER. JAA)
+gunmania // 2000 - GunMania (GL906 VER. JAA)
+fghtmn // 2000 - Fighting Mania (QG918 VER. EAA)
+fghtmna // 2000 - Fighting Mania (QG918 VER. AAA)
+pnchmn // 2000 - Punch Mania: Hokuto No Ken (GQ918 VER. JAB)
+pnchmna // 2000 - Punch Mania: Hokuto No Ken (GQ918 VER. JAB, ALT CD)
+fghtmnk // 2000 - Fighting Mania (QG918 VER. KAA)
+fghtmnu // 2000 - Fighting Mania (QG918 VER. IAA)
+dsem // 2000 - Dancing Stage Euro Mix (G*936 VER. EAA)
+gtrfrk3m // 2000 - Guitar Freaks 3rd Mix (GE949 VER. JAC)
+gtfrk3ma // 2000 - Guitar Freaks 3rd Mix (GE949 VER. JAB)
+gtfrk3mb // 2000 - Guitar Freaks 3rd Mix - security cassette versionup (949JAZ02)
+pnchmn2 // 2000 - Punch Mania 2: Hokuto No Ken (GQA09 JAA)
+salarymc // 2000 - Salary Man Champ (G*A18 VER. JAA)
+ddr3mp // 2000 - Dance Dance Revolution 3rd Mix Plus (G*A22 VER. JAA)
+pcnfrk3m // 2000 - Percussion Freaks 3rd Mix (G*A23 VER. KAA)
+drmn3m // 2000 - DrumMania 3rd Mix (G*A23 VER. JAA)
+gtrfrk4m // 2000 - Guitar Freaks 4th Mix (G*A24 VER. JAA)
+drmn4m // 2000 - DrumMania 4th Mix (G*A25 VER. JAA)
+ddr4m // 2000 - Dance Dance Revolution 4th Mix (G*A33 VER. AAA)
+ddr4mj // 2000 - Dance Dance Revolution 4th Mix (G*A33 VER. JAA)
+ddr4ms // 2000 - Dance Dance Revolution Solo 4th Mix (G*A33 VER. ABA)
+ddr4msj // 2000 - Dance Dance Revolution Solo 4th Mix (G*A33 VER. JBA)
+dsfdr // 2000 - Dancing Stage Featuring Disney's Rave (GCA37JAA)
+ddrusa // 2000 - Dance Dance Revolution USA (G*A44 VER. UAA)
+ddr4mp // 2000 - Dance Dance Revolution 4th Mix Plus (G*A34 VER. JAA)
+ddr4mps // 2000 - Dance Dance Revolution 4th Mix Plus Solo (G*A34 VER. JAA)
+dmx2m // 2000 - Dance Maniax 2nd Mix (G*A39 VER. JAA)
+gtrfrk5m // 2001 - Guitar Freaks 5th Mix (G*A26 VER. JAA)
+ddr5m // 2001 - Dance Dance Revolution 5th Mix (G*A27 VER. JAA)
+dmx2majp // 2001 - Dance Maniax 2nd Mix Append J-Paradise (G*A38 VER. JAA
+mamboagg // 2001 - Mambo A Go-Go (GQA40 VER. JAB)
+drmn5m // 2001 - DrumMania 5th Mix (G*B05 VER. JAA)
+gtrfrk6m // 2001 - Guitar Freaks 6th Mix (G*B06 VER. JAA)
+drmn6m // 2001 - DrumMania 6th Mix (G*B16 VER. JAA)
+gtrfrk7m // 2001 - Guitar Freaks 7th Mix (G*B17 VER. JAA)
+ddrmax // 2001 - DDR Max - Dance Dance Revolution 6th Mix (G*B19 VER. JAA)
+ddrmax2 // 2002 - DDR Max 2 - Dance Dance Revolution 7th Mix (G*B20 VER. JAA)
+mrtlbeat // 2002 - Martial Beat (Martial Beat (G*B47 VER. JBA)
+drmn7m // 2002 - DrumMania 7th Mix power-up ver. (G*C07 VER. JBA)
+drmn7ma // 2002 - DrumMania 7th Mix (G*C07 VER. JAA)
+gtrfrk8m // 2002 - Guitar Freaks 8th Mix power-up ver. (G*C08 VER. JBA)
+gtrfrk8ma // 2002 - Guitar Freaks 8th Mix (G*C08 VER. JAA)
+dsem2 // 2002 - Dancing Stage Euro Mix 2 (G*C23 VER. EAA)
+ddrextrm // 2002 - Dance Dance Revolution Extreme (G*C36 VER. JAA)
+drmn8m // 2003 - DrumMania 8th Mix (G*C38 VER. JAA)
+gtrfrk9m // 2003 - Guitar Freaks 9th Mix (G*C39 VER. JAA)
+drmn9m // 2003 - DrumMania 9th Mix (G*D09 VER. JAA)
+gtfrk10m // 2003 - Guitar Freaks 10th Mix (G*D10 VER. JAB)
+gtfrk10ma // 2003 - Guitar Freaks 10th Mix (G*D10 VER. JAA)
+gtfrk10mb // 2003 - Guitar Freaks 10th Mix eAmusement (G*D10 VER. JBA)
+gtfrk11m // 2004 - Guitar Freaks 11th Mix (G*D39 VER. JAA)
+drmn10m // 2004 - DrumMania 10th Mix (G*D40 VER. JAA)
+
+// Konami Twinkle games
+gq863
+bmiidx
+bmiidxc
+bmiidxca
+bmiidxc2
+bmiidx3
+bmiidx4
+bmiidx6
+bmiidx7
+bmiidx8
+
+// Konami Viper games
+kviper // 1999
+ppp2nd // 2001
+boxingm // 2001
+code1d // 2000
+code1db // 2000
+gticlub2 // 2001
+gticlub2ea // 2001
+jpark3 // 2001
+mocapglf // 2001
+mocapb // 2001
+mocapbj // 2001
+p911 // 2001
+p911uc // 2001
+p911kc // 2001
+p911e // 2001
+p911j // 2001
+p9112 // 2001
+popn9 // 2003
+sscopex // 2001
+sogeki // 2001
+thrild2 // 2001
+thrild2a // 2001
+thrild2c // 2001
+tsurugi // 2001
+tsurugij // 2001
+wcombat // 2002
+wcombatk // 2002
+wcombatj // 2002
+xtrial // 2002
+mfightc // 2002
+mfightcc // 2002
+
+// Mitchell games
+mgakuen // (c) 1988 Yuga
+7toitsu // (c) 1988 Yuga
+mgakuen2 // (c) 1989 Face
+pkladies // (c) 1989 Mitchell
+pkladiesl // (c) 1989 Leprechaun
+pkladiesla // (c) 1989 Leprechaun
+pkladiesbl // bootleg
+dokaben // 3/1989 (c) 1989 Capcom (Japan)
+ // 8/1989 Dokaben 2 (baseball)
+pang // (c) 1989 Mitchell (World)
+pangb // bootleg
+pangbold // bootleg
+pangba // bootleg
+bbros // (c) 1989 Capcom (US) not listed on Capcom's site
+pompingw // (c) 1989 Mitchell (Japan)
+cbasebal // 10/1989 (c) 1989 Capcom (Japan) (different hardware)
+cworld // 11/1989 (QUIZ 1) (c) 1989 Capcom
+hatena // 28/02/1990 (QUIZ 2) (c) 1990 Capcom (Japan)
+spang // 14/09/1990 (c) 1990 Mitchell (World)
+spangj // --/--/1990 (c) 1990 Mitchell (Japan)
+spangbl // bootleg
+sbbros // 01/10/1990 (c) 1990 Mitchell + Capcom (US) not listed on Capcom's site
+marukin // 17/10/1990 (c) 1990 Yuga (Japan)
+qtono1 // 25/12/1990 (QUIZ 3) (c) 1991 Capcom (Japan)
+ // 4/1991 Ashita Tenki ni Naare (golf)
+qsangoku // 07/06/1991 (QUIZ 4) (c) 1991 Capcom (Japan)
+block // 10/09/1991 (c) 1991 Capcom (World)
+blockj // 10/09/1991 (c) 1991 Capcom (Japan)
+blockjoy // 06/11/1991 (c) 1991 Capcom (World) (Joystick version, bad dump?)
+blockbl // bootleg
+
+// Incredible Technologies games
+// http://www.itsgames.com
+capbowl // (c) 1988 Incredible Technologies
+capbowl2 // (c) 1988 Incredible Technologies
+capbowl3 // (c) 1988 Incredible Technologies
+capbowl4 // (c) 1989 Incredible Technologies
+clbowl // (c) 1989 Incredible Technologies
+bowlrama // (c) 1991 P & P Marketing
+wfortune // (c) 1989 GameTek
+wfortunea // (c) 1989 GameTek
+grmatch // (c) 1989 GameTek
+stratab // (c) 1990 Strata/Incredible Technologies
+stratab1 // (c) 1990 Strata/Incredible Technologies
+sstrike // (c) 1990 Strata/Incredible Technologies
+gtg // (c) 1990 Strata/Incredible Technologies
+gtgt // (c) 1990 Strata/Incredible Technologies
+gtgt1 // (c) 1990 Strata/Incredible Technologies
+hstennis // (c) 1990 Strata/Incredible Technologies
+hstennis10 // (c) 1990 Strata/Incredible Technologies
+slikshot // (c) 1990 Grand Products/Incredible Technologies
+slikshot17 // (c) 1990 Grand Products/Incredible Technologies
+slikshot16 // (c) 1990 Grand Products/Incredible Technologies
+dynobop // (c) 1990 Grand Products/Incredible Technologies
+arlingtn // (c) 1991 Strata/Incredible Technologies
+peggle // (c) 1991 Strata/Incredible Technologies
+pegglet // (c) 1991 Strata/Incredible Technologies
+pokrdice // (c) 1991 Strata/Incredible Technologies
+rimrockn // (c) 1991 Strata/Incredible Technologies
+rimrockn20 // (c) 1991 Strata/Incredible Technologies
+rimrockn16 // (c) 1991 Strata/Incredible Technologies
+rimrockn12 // (c) 1991 Strata/Incredible Technologies
+ninclown // (c) 1991 Strata/Incredible Technologies
+gpgolf // (c) 1992 Strata/Incredible Technologies
+gtg2 // (c) 1992 Strata/Incredible Technologies
+gtg2t // (c) 1989 Strata/Incredible Technologies
+gtg2j // (c) 1991 Strata/Incredible Technologies
+neckneck // (c) 1992 Bundra Games/Incredible Technologies
+timekill // (c) 1992 Strata/Incredible Technologies
+timekill131 // (c) 1992 Strata/Incredible Technologies
+timekill121 // (c) 1992 Strata/Incredible Technologies
+hardyard // (c) 1993 Strata/Incredible Technologies
+hardyard10 // (c) 1993 Strata/Incredible Technologies
+bloodstm // (c) 1994 Strata/Incredible Technologies
+bloodstm22 // (c) 1994 Strata/Incredible Technologies
+bloodstm21 // (c) 1994 Strata/Incredible Technologies
+bloodstm11 // (c) 1994 Strata/Incredible Technologies
+pairs // (c) 1994 Strata/Incredible Technologies
+pairsa // (c) 1994 Strata/Incredible Technologies
+hotmemry // (c) 1994 Tuning/Incredible Technologies
+hotmemry11 // (c) 1994 Tuning/Incredible Technologies
+drivedge // (c) 1994 Strata/Incredible Technologies
+wcbowl // (c) 1995 Incredible Technologies
+wcbowl165 // (c) 1995 Incredible Technologies
+wcbowl161 // (c) 1995 Incredible Technologies
+wcbowl16 // (c) 1995 Incredible Technologies
+wcbowl140 // (c) 1995 Incredible Technologies
+wcbowl15 // (c) 1995 Incredible Technologies
+wcbowl14 // (c) 1995 Incredible Technologies
+wcbowl13 // (c) 1995 Incredible Technologies
+wcbowl12 // (c) 1995 Incredible Technologies
+sftm // (c) 1995 Capcom/Incredible Technologies
+sftm110 // (c) 1995 Capcom/Incredible Technologies
+sftm111 // (c) 1995 Capcom/Incredible Technologies
+sftmj // (c) 1995 Capcom/Incredible Technologies
+shufshot // (c) Strata/Incredible Technologies
+shufshot139 // (c) Strata/Incredible Technologies
+shufshot137 // (c) Strata/Incredible Technologies
+wcbowldx // (c) 1999 Incredible Technologies
+
+gt3d // (c) 1995 Incredible Technologies
+gt3dl192 // (c) 1995 Incredible Technologies
+gt3dl191 // (c) 1995 Incredible Technologies
+gt3ds192 // (c) 1995 Incredible Technologies
+gt3dv18 // (c) 1995 Incredible Technologies
+gt3dv17 // (c) 1995 Incredible Technologies
+gt3dv16 // (c) 1995 Incredible Technologies
+gt3dv15 // (c) 1995 Incredible Technologies
+gt3dv14 // (c) 1995 Incredible Technologies
+gt3dt231 // (c) 1995 Incredible Technologies
+gt3dt211 // (c) 1995 Incredible Technologies
+gt97 // (c) 1997 Incredible Technologies
+gt97v122 // (c) 1997 Incredible Technologies
+gt97v121 // (c) 1997 Incredible Technologies
+gt97s121 // (c) 1997 Incredible Technologies
+gt97v120 // (c) 1997 Incredible Technologies
+gt97t240 // (c) 1997 Incredible Technologies
+gt97t243 // (c) 1997 Incredible Technologies
+gt98 // (c) 1998 Incredible Technologies
+gt98v100 // (c) 1998 Incredible Technologies
+gt98s100 // (c) 1998 Incredible Technologies
+gt98t303 // (c) 1998 Incredible Technologies
+gt99 // (c) 1999 Incredible Technologies
+gt99s100 // (c) 1999 Incredible Technologies
+gt99t400 // (c) 1999 Incredible Technologies
+gtroyal // (c) 1999 Incredible Technologies
+gt2k // (c) 2000 Incredible Technologies
+gt2kp100 // (c) 2000 Incredible Technologies
+gt2ks100 // (c) 2000 Incredible Technologies
+gt2kt500 // (c) 2000 Incredible Technologies
+gtsuprem // (c) 2000 Incredible Technologies
+gtclassc // (c) 2001 Incredible Technologies
+gtclasscp // (c) 2001 Incredible Technologies
+gtclasscs // (c) 2001 Incredible Technologies
+
+// Leland games
+cerberus // (c) 1985 Cinematronics
+mayhem // (c) 1985 Cinematronics
+powrplay // (c) 1985 Cinematronics
+wseries // (c) 1985 Cinematronics
+alleymas // (c) 1986 Cinematronics
+upyoural // (c) 1987 Cinematronics
+dangerz // (c) 1986 Cinematronics USA
+basebal2 // (c) 1987 Cinematronics
+dblplay // (c) 1987 Tradewest / Leland
+strkzone // (c) 1988 Leland
+redlin2p // (c) 1987 Cinematronics + Tradewest license
+quarterb // (c) 1987 Leland
+quarterba // (c) 1987 Leland
+viper // (c) 1988 Leland
+teamqb // (c) 1988 Leland
+teamqb2 // (c) 1988 Leland
+aafb // (c) 1989 Leland
+aafbd2p // (c) 1989 Leland
+aafbc // (c) 1989 Leland
+aafbb // (c) 1989 Leland
+offroad // (c) 1989 Leland
+offroadt // (c) 1989 Leland
+offroadt2p // (c) 1989 Leland
+pigout // (c) 1990 Leland
+pigouta // (c) 1990 Leland
+ataxx // (c) 1990 Leland
+ataxxa // (c) 1990 Leland
+ataxxe // (c) 1990 Leland
+ataxxj // (c) 1990 Leland
+wsf // (c) 1990 Leland
+indyheat // (c) 1991 Leland
+brutforc // (c) 1991 Leland
+asylum // (c) 1991 Leland
+
+// Gremlin 8080 games
+// the numbers listed are the range of ROM part numbers
+blockade // 1-4 [1977 Gremlin]
+comotion // 5-7 [1977 Gremlin]
+hustle // 16-21 [1977 Gremlin]
+blasto // [1978 Gremlin]
+mineswpr // [1977 Amutech]
+mineswpr4 // [1977 Amutech]
+
+// Gremlin/Sega "VIC dual game board" games
+// the numbers listed are the range of ROM part numbers
+depthch // 50-55 [1977 Gremlin?]
+depthcho // ? [1977 Gremlin?]
+subhunt // ? [1977 Taito]
+safari // 57-66 [1977 Gremlin?]
+safaria // bootleg?
+frogs // 112-119 [1978 Gremlin?]
+sspaceat // 155-162 (c)
+sspaceat2 // 155-162 (c) 1979 Sega
+sspaceat3 // 155-162 (c) 1979 Sega
+sspaceatc // 139-146 (c)
+sspacaho // ? epr00001.bin - epr00008.bin
+headon // 163-167/192-193 (c) Gremlin
+headonb // 163-167/192-193 (c) Gremlin
+headons // Sidam bootleg
+headonsa // Sidam bootleg
+supcrash // bootleg
+headon2 // ???-??? (c) 1979 Sega
+headon2s // Sidam bootleg
+car2 // bootleg
+ // ???-??? Fortress
+ // ???-??? Gee Bee
+ // 255-270 Head On 2 / Deep Scan
+invho2 // 271-286 (c) 1979 Sega
+nsub // 268-275 (c) 1980 Sega
+samurai // 289-302 + upgrades (c) 1980 Sega
+invinco // 310-318 (c) 1979 Sega
+invds // 367-382 (c) 1979 Sega
+tranqgun // 413-428 (c) 1980 Sega
+ // 450-465 Tranquilizer Gun (different version?)
+ // ???-??? Car Hunt / Deep Scan
+spacetrk // 630-645 (c) 1980 Sega
+spacetrkc // (c) 1980 Sega
+carnival // 651-666 (c) 1980 Sega
+carnivalc // 501-516 (c) 1980 Sega
+carnivalh
+carnivalha
+brdrline // (c) 1980 Sega
+starrkr // (c) 1981 Sega
+brdrlins // Sidam bootleg
+brdrlinb // Karateco bootleg
+digger // 684-691 no copyright notice
+pulsar // 790-805 (c) 1981 Sega
+heiankyo // (c) [1979?] Denki Onkyo
+alphaho // Data East
+
+// Sega G-80 vector games
+spacfury // (c) 1981
+spacfurya // no copyright notice
+spacfuryb // no copyright notice
+zektor // (c) 1982
+tacscan // (c) 1982
+elim2 // (c) 1981 Gremlin
+elim2a // (c) 1981 Gremlin
+elim2c // (c) 1981 Gremlin
+elim4 // (c) 1981 Gremlin
+elim4p // (c) 1981 Gremlin
+startrek // (c) 1982
+
+// Sega G-80 raster games
+astrob // (c) 1981
+astrob2 // (c) 1981
+astrob2a // (c) 1981
+astrob1 // (c) 1981
+astrobg // (c) 1981
+005 // (c) 1981
+monsterb // (c) 1982
+monsterb2 // (c) 1982
+spaceod // (c) 1981
+spaceod2 // (c) 1981
+pignewt // (c) 1983
+pignewta // (c) 1983
+sindbadm // 834-5244 (c) 1983 Sega
+
+// Sega "Zaxxon hardware" games
+zaxxon // (c) 1982
+zaxxonj // (c) 1982
+zaxxon2 // (c) 1982
+zaxxon3 // (c) 1982
+zaxxonb // bootleg
+szaxxon // (c) 1982
+futspy // (c) 1984
+razmataz // modified 834-0213, 834-0214 (c) 1983
+ixion // (c) 1983
+congo // 605-5167 (c) 1983
+tiptop // 605-5167 (c) 1983
+
+// Sega "LaserDisc hardware" games
+astron // (c) 1983
+astronp // (c) 1983
+galaxyr // (c) 1983
+galaxyrp // (c) 1983
+sblazerp // (c) 1983
+cobraseg // (c) ????
+gpworld // (c) 1984
+timetrv // (c) 1991.10 Virtual Image Productions
+
+// Sega SG1000 based games
+chboxing // (c) 1984
+chwrestl // (c) 1985
+dokidoki // (c) 1985
+
+// Sega System 1 / System 2 games
+starjack // 834-5191 (c) 1983 (S1)
+starjacks // (c) 1983 Stern (S1)
+regulus // 834-5328?(c) 1983 (S1)
+reguluso // 834-5328?(c) 1983 (S1)
+regulusu // 834-5328?(c) 1983 (S1)
+upndown // (c) 1983 (S1)
+upndownu // (c) 1983 (S1)
+mrviking // 834-5383 (c) 1984 (S1)
+mrvikingj // 834-5383 (c) 1984 (S1)
+swat // 834-5388 (c) 1984 Coreland / Sega (S1)
+flicky // (c) 1984 (S1)
+flickys2 // (c) 1984 (S1)
+flickyo // (c) 1984 (S1)
+flickys1 // (c) 1984 (S1)
+wmatch // (c) 1984 (S1)
+bullfgt // 834-5478 (c) 1984 Sega / Coreland (S1)
+thetogyu // 834-5478 (c) 1984 Sega / Coreland (S1)
+spatter // 834-5583 (c) 1984 (S1)
+ssanchan // 834-5583 (c) 1984 (S1)
+pitfall2 // 834-5627 [1985?] reprogrammed, (c) 1984 Activision (S1)
+pitfall2a // 834-5627 [1985?] reprogrammed, (c) 1984 Activision (S1)
+pitfall2u // 834-5627 [1985?] reprogrammed, (c) 1984 Activision (S1)
+seganinj // 834-5677 (c) 1985 (S1)
+seganinju // 834-5677 (c) 1985 (S1)
+ninja // 834-5677 (c) 1985 (S1)
+nprinces // 834-5677 (c) 1985 (S1)
+nprinceso // 834-5677 (c) 1985 (S1)
+nprincesu // 834-5677 (c) 1985 (S1)
+nprincesb // bootleg? (S1)
+imsorry // 834-5707 (c) 1985 Coreland / Sega (S1)
+imsorryj // 834-5707 (c) 1985 Coreland / Sega (S1)
+teddybb // 834-5712 (c) 1985 (S1)
+teddybbo // 834-5712 (c) 1985 (S1)
+hvymetal // 834-5745 (c) 1985 (S2?)
+myhero // 834-5755 (c) 1985 (S1)
+sscandal // 834-5755 (c) 1985 Coreland / Sega (S1)
+myherok // 834-5755 (c) 1985 Coreland / Sega (S1)
+shtngmst // 834-5719/5720 (c) 1985 (S2)
+shtngmste // 834-5719/5720 (c) 1985 (S2)
+choplift // 834-5795 (c) 1985, (c) 1982 Dan Gorlin (S2)
+chopliftu // 834-5795 (c) 1985, (c) 1982 Dan Gorlin (S2)
+chopliftbl // bootleg (S2)
+4dwarrio // 834-5918 (c) 1985 Coreland / Sega (S1)
+brain // (c) 1986 Coreland / Sega (S2?)
+raflesia // 834-5753 (c) 1985 Coreland / Sega (S1)
+wboy // 834-5984 (c) 1986 + Escape license (S1)
+wboyo // 834-5984 (c) 1986 + Escape license (S1)
+wboy2 // 834-5984 (c) 1986 + Escape license (S1)
+wboy2u // 834-5984 (c) 1986 + Escape license (S1)
+wboy3 // 834-5984 (c) 1986 + Escape license (S1)
+wboy4 // 834-5984 (c) 1986 + Escape license (S1)
+wboyu // 834-5753 (? maybe a conversion) (c) 1986 + Escape license (S1)
+wbdeluxe // (c) 1986 + Escape license (S1)
+wboysys2 // 834-5984 (c) 1986 + Escape license (S1)
+gardia // 834-6119 (S2?)
+gardiab // bootleg
+nob // (c) Data East
+nobb // bootleg
+blockgal // 834-6303 (S1)
+blockgalb // bootleg
+tokisens // (c) 1987 (from a bootleg board) (S2)
+wbml // bootleg (S2)
+wbmljo // (c) 1987 Sega/Westone (S2)
+wbmljb // (c) 1987 Sega/Westone (S2)
+wbmlb // bootleg? (S2)
+wbmlbg // bootleg (Galaxy Electronics)
+dakkochn // 836-6483? (S2)
+ufosensi // 834-6659 (S2)
+ufosensib // bootleg
+/*
+other System 1 / System 2 games:
+
+WarBall
+DokiDoki Penguin Land *not confirmed
+*/
+
+// Sega System E games (Master System hardware)
+hangonjr // (c) 1985
+transfrm // 834-5803 (c) 1986
+astrofl // 834-5803 (c) 1986
+ridleofp // (c) 1986 Sega / Nasco
+fantzn2 // (c) 1988
+opaopa
+tetrisse // (c) 1988
+
+// other Sega 8-bit games
+turbo // (c) 1981 Sega
+turboa // (c) 1981 Sega
+turbob // (c) 1981 Sega
+subroc3d // (c) 1982 Sega
+buckrog // (c) 1982 Sega
+buckrogn // (c) 1982 Sega
+buckrogn2 // (c) 1982 Sega
+zoom909 // (c) 1982 Sega
+kopunch // 834-0103 (c) 1981 Sega
+suprloco // (c) 1982 Sega
+suprlocoa // (c) 1982 Sega
+dotrikun // cabinet test board
+dotrikun2 // cabinet test board
+spcpostn // (c) 1986 Sega / Nasco"
+angelkds // 833-6599 (c) 1988 Sega / Nasco?
+calorie // (c) 1986 Sega
+calorieb // (c) 1986 Sega (but bootleg)
+
+// Bingo-based games
+bingoc // (c) 1989 Sega
+// Bingo Fantasy // (c) 19?? Sega
+// Bingo Star // (c) 19?? Sega
+// Bingo Party // (c) 1993 Sega
+// BP Phoenix // (c) 1998 Sega
+// BP Special // (c) 2000 Sega
+// BP Multicards // (c) 2002 Sega
+// BP Splash // (c) 2002 Sega
+// Bingo Planet // (c) 1997 Sega
+
+// Enduro Racer / Space Harrier / Hang On
+enduror // (c) 1985 (FD1089B, decrypted)
+enduror1 // (c) 1985 (FD1089B, decrypted)
+endurob2 // (c) 1985 (Beta bootleg)
+endurobl // (c) 1985 (Herb bootleg)
+hangon // (c) 1985 (Rev A)
+hangon1 // (c) 1985
+sharrier // (c) 1985
+sharrier1 // (c) 1985
+shangonro // (c) 1987 (FD1094, decrypted)
+shangonrb // (c) 1992 (but bootleg, hangon hw?)
+
+// Pre-16
+aliensynjo // (c) 1987 (FD1089A, decrypted)
+aliensyn2 // (c) 1987 (FD1089A, decrypted)
+aliensyn5 // (c) 1987 (FD1089B)
+bodyslam // (c) 1986 (8751)
+dumpmtmt // (c) 1986 (Japan)
+mjleague // (c) 1985
+quartet // (c) 1986 (8751)
+quarteta // (c) 1986 (8751)
+quartet2 // (c) 1986 (8751)
+quartet2a // (c) 1986
+
+// System 16A
+aceattaca // (c) 1988 (FD1094, decrypted)
+afighter // (c) 1986 (FD1089A, decrypted)
+alexkidd // (c) 1986 (FD1089A, decrypted)
+alexkidd1 // (c) 1986
+fantzone // (c) 1986 (Unprotected Rev A)
+fantzone1 // (c) 1986 (Unprotected)
+fantzonep // (c) 1986 (NEC 0317-5000, encrypted)
+sdi // (c) 1987 (FD1089B, decrypted)
+shinobi // (c) 1987
+shinobi1 // (c) 1987 (FD1094, decrypted)
+shinobls // (c) 1987 (Star bootleg)
+sjryuko1 // (c) 1988 White Board (FD1089B, decrypted)
+tetris // (c) 1988 (FD1094, decrypted) S16A
+tetris3 // (c) 1988 (FD1094, decrypted) S16A
+timescan1 // (c) 1987 (FD1089B, decrypted)
+wb31 // (c) 1988 Sega / Westone (FD1094, decrypted)
+wb35 // (c) 1988 Sega / Westone (FD1089A, decrypted)
+wb35a // (c) 1988 Sega / Westone (FD1089A, decrypted)
+passsht16a // (c) 1988
+
+// System 16B
+aceattac // (c) 1988 (protected)
+aliensyn // (c) 1987
+aliensyn3 // (c) 1987 (FD1089A, decrypted)
+aliensynj // (c) 1987 (FD1089A, decrypted)
+altbeast // (c) 1988 (8751)
+altbeastj // (c) 1988 (8751)
+altbeast5 // (c) 1988 (8751)
+altbeast4 // (c) 1988 (MC-8123B)
+altbeast2 // (c) 1988 (MC-8123B)
+altbeastj1 // (c) 1988 (protected)
+altbeastj2 // (c) 1988 (protected)
+altbeastj3 // (c) 1988 (FD1094, decrypted)
+aurail // (c) 1990 Sega / Westone
+aurail1 // (c) 1990 Sega / Westone (FD1089B, decrypted)
+aurailj // (C) 1990 Sega / Westone (FD1089A, decrypted)
+bayroute // (c) 1989 Sunsoft / Sega (FD1094, decrypted)
+bayroutej // (c) 1989 Sunsoft / Sega (FD1094, decrypted)
+bayroute1 // (c) 1989 Sunsoft / Sega
+bullet // (c) 1987 (protected)
+cotton // (c) 1990 (FD1094, decrypted)
+cottonu // (c) 1990 (FD1094, decrypted)
+cottonj // (c) 1990 (FD1094, decrypted)
+ddux // (c) 1989 (FD1094, decrypted)
+ddux1 // (c) 1989 (8751)
+dunkshot // (c) 1986 (FD1094, decrypted)
+eswat // (c) 1989 (FD1094, decrypted)
+eswatu // (c) 1989 (FD1094, decrypted)
+eswatj // (c) 1989 (FD1094, decrypted)
+exctleag // (protected)
+fpoint // (c) 1989 (Japan, FD1094, decrypted)
+fpoint1 // (c) 1989 (Japan, FD1094, decrypted)
+goldnaxe // (c) 1989 (8751)
+goldnaxeu // (c) 1989 (protected)
+goldnaxej // (c) 1989 (FD1094, decrypted)
+goldnaxe3 // (c) 1989 (FD1094, decrypted)
+goldnaxe2 // (c) 1989 (8751)
+goldnaxe1 // (c) 1989 (FD1094, decrypted)
+hwchamp // (c) 1987
+hwchampj // (c) 1987 (FD1094, decrypted)
+mvp // (c) 1989 (FD1094, decrypted)
+mvpj // (c) 1989 (FD1094, decrypted)
+passsht // (c) 1988 (FD1094, decrypted)
+passshta // (c) 1988 (FD1094, decrypted)
+passshtj // (c) 1988 (FD1094, decrypted)
+riotcity // (c) 1991 Sega / Westone
+ryukyu // (c) 1990 (FD1094, decrypted)
+sdib // (c) 1987 (FD1089A, decrypted)
+sdibl // (c) 1987 bootleg
+defense // (c) 1987 (FD1094, decrypted)
+shinobi5 // (c) 1987
+shinobi4 // (c) 1987 (MC-8123B)
+shinobi3 // (c) 1987 (MC-8123B)
+shinobi2 // (c) 1987 (FD1094, decrypted)
+sonicbom // (c) 1987 (FD1094, decrypted)
+sjryuko // (c) 1988 White Board (FD1094, decrypted)
+suprleag // (c) 1987 (protected)
+tetris2 // (c) 1988 (FD1094, decrypted) S16B
+tetris1 // (c) 1988 (FD1094, decrypted) S16B
+timescan // (c) 1987
+toryumon // (c) 1995
+tturf // (c) 1989 Sega / Sunsoft (8751)
+tturfu // (c) 1989 Sega / Sunsoft (8751)
+wb3 // (c) 1988 Sega / Westone (8751)
+wb34 // (c) 1988 Sega / Westone (FD1094, decrypted)
+wb33 // (c) 1988 Sega / Westone (FD1094, decrypted)
+wb32 // (c) 1988 Sega / Westone (FD1094, decrypted)
+wrestwar // (c) 1989 (8751)
+wrestwar2 // (c) 1989 (FD1094, decrypted)
+wrestwar1 // (c) 1989 (FD1094, decrypted)
+
+// Philko Boards
+atomicp // (c) 1990 Philko - korean clone board
+snapper // (c) 1990 Philko - korean clone board
+
+// S16 Bootlegs
+bayrouteb1 // (c) 1989 (protected) (bootleg)
+bayrouteb2 // (c) 1989 (protected) (bootleg)
+dduxbl // (c) 1989 (Datsu bootleg)
+eswatbl // BOOTLEG
+fpointbl // (c) 1989 (Datsu bootleg)
+fpointbj // (c) 1989 (Datsu bootleg, Japan)
+goldnaxeb1 // BOOTLEG
+goldnaxeb2 // BOOTLEG
+passht4b // bootleg
+passshtb // bootleg
+shinoblb // (c) 1987 (but bootleg)
+shinobld // (c) 1987 (but bootleg)
+tetrisbl // (c) 1988 (but bootleg)
+beautyb // (c) 1991 AMT
+iqpipe // (c) 1991 AMT
+tturfbl // (c) 1989 (Datsu bootleg)
+wb3bbl // BOOTLEG
+
+// ISG S16 bootleg system
+isgsm
+tetrbx
+shinfz
+
+// System 18
+shdancer // 1989.05 Shadow Dancer (US)
+shdancerj // 1989.11 Shadow Dancer (Japan)
+shdancer1 // 1989.?? Shadow Dancer (World)
+bloxeed // 1989.12 Bloxeed (Japan, FD1094, decrypted)
+ // 1990.04 Bloxeed (US)
+astormu // 1990.04 Alien Storm (US, FD1094, decrypted)
+astormj // 1990.05 Alien Storm (Japan, FD1094, decrypted)
+astorm // 1990.?? Alien Storm (World, protected 2 Players)
+astorm3 // 1990.?? Alien Storm (World, FD1094, decrypted)
+mwalku // 1990.08 Micheal Jackson's Moonwalker (US, FD1094+8751, decrypted)
+mwalkj // 1990.08 Micheal Jackson's Moonwalker (Japan, FD1094+8751, decrypted)
+mwalk // 1990.?? Micheal Jackson's Moonwalker (World, FD1094+8751, decrypted)
+lghost // 1990.?? Laser Ghost (World, FD1094, decrypted)
+ // 1990.12 Laser Ghost (Japan)
+lghostu // 1991.01 Laser Ghost (US, FD1094, decrypted)
+cltchitr // 1991.02 Clutch Hitter (US, FD1094, decrypted)
+cltchitrj // 1991.05 Clutch Hitter (Japan, FD1094, decrypted)
+ddcrewj // 1991.07 D.D.Crew (Japan, FD1094, decrypted)
+ddcrewu // 1991.09 D.D.Crew (US, FD1094, decrypted)
+ddcrew // 1991.?? D.D.Crew (World, FD1094, decrypted)
+ddcrew2 // 1991.?? D.D.Crew (World, FD1094, decrypted)
+ddcrew1 // 1991.?? D.D.Crew (World, FD1094, decrypted)
+wwallyj // 1992.06 Wally wo Sagase! (Japan, FD1094, decrypted)
+wwallyja // 1992.06 Wally wo Sagase! (Japan, FD1094, decrypted)
+desertbr // 1993.?? Desert Breaker (World, FD1094, decrypted)
+desertbrj // 1992.10 Desert Breaker (Japan)
+pontoon
+
+// System18 Bootlegs
+astormbl // BOOTLEG
+astormb2 // BOOTLEG
+shdancbl // BOOTLEG
+mwalkbl // BOOTLEG
+
+
+// Outrun Hardware
+ // 1986.09 Outrun (Japan)
+ // 1986.11 Outrun (US)
+ // 1986.?? Outrun (World)
+outrun // Revision B
+outrunra // Revision A
+outruno // First version
+outrundx // Deluxe version
+outrunb // 1986 (protected beta bootleg)
+ // 1987.04 Super Hang-On (Japan)
+ // 1987.06 Super Hang-On (US)
+ // 1987.?? Super Hang-On (World)
+shangon // 1987 (protected)
+shangon3 // 1987 (FD1089B, decrypted)
+shangon2 // 1987 (FD1089B, decrypted)
+shangon1 // 1987 (FD1089B, decrypted)
+shangonle // 1991
+ // 1989.02 Turbo Outrun (Japan)
+ // 1989.04 Turbo Outrun (US)
+ // 1989.?? Turbo Outrun (World)
+toutrun // 1987 (FD1094, decrypted)
+toutrun3 // 1987 (FD1094, decrypted)
+toutrun2 // 1987 (protected)
+toutrun1 // 1987 (FD1094, decrypted)
+
+// X Board
+aburner // 1987.07 After Burner (Japan)
+aburner2 // 1987.09 After Burner II (Japan)
+thndrbld1 // 1987.12 Thunder Blade (Japan, deluxe/standard)
+thndrbld // 1988.02 Thunder Blade (US?, upright, FD1094, decrypted)
+ // 1989.01 Last Survivor (Japan)
+smgpj // 1989.06 Super Monaco GP (Japan, FD1094, decrypted)
+smgpja // 1989.06 Super Monaco GP (Japan, FD1094, decrypted)
+smgp // 1989.?? Super Monaco GP (World, FD1094, decrypted)
+smgp6 // 1989.?? Super Monaco GP (World, FD1094, decrypted)
+smgp5 // 1989.?? Super Monaco GP (World, FD1094, decrypted)
+smgpu // 1989.08 Super Monaco GP (US, FD1094, decrypted)
+smgpu3 // 1989.08 Super Monaco GP (US, FD1094, decrypted)
+smgpu2 // 1989.08 Super Monaco GP (US, FD1094, decrypted)
+smgpu1 // 1989.08 Super Monaco GP (US, FD1094, decrypted)
+loffirej // 1989.12 Line of Fire (Japan, FD1094, decrypted)
+loffire // 1989.?? Line of Fire (World, FD1094, decrypted)
+loffireu // 1990.04 Line of Fire (US, FD1094, decrypted)
+ // 1990.03 Racing Hero (Japan)
+rachero // 1990.?? Racing Hero (World, FD1094, decrypted)
+abcop // 1990.?? A.B.Cop (World, FD1094, decrypted)
+ // 1991.01 A.B.Cop (Japan)
+ // 1990.10 GP Rider (Japan)
+gprider // 1990.?? GP Rider (World, protected)
+gprider1 // 1990.12 GP Rider (US, FD1094, decrypted)
+
+// Y-Board
+ // 1988.05 Galaxy Force (Japan)
+ // 1988.08 Galaxy Force (US)
+gforce2j // 1988.07 Galaxy Force II (Japan)
+gforce2ja // 1988.07 Galaxy Force II (Japan)
+gforce2 // 1988.?? Galaxy Force II (World)
+ // 1988.12 Galaxy Force II (US)
+ // 1988.08 Power Drift (US)
+pdriftj // 1988.09 Power Drift (Japan)
+pdrift // 1988.?? Power Drift (World)
+pdrifta
+pdrifte
+gloc // 1990.04 G-LOC Air Battle (US)
+ // 1990.05 G-LOC Air Battle (Japan)
+glocr360 // 1990.?? G-LOC (R360, World?)
+strkfgtr // 1991.06 Strike Fighter (Japan)
+rchase // 1991.09 Rail Chase (World)
+rchasej // 1991.09 Rail Chase (Japan)
+ // 1991.09 Rail Chase (US)
+
+// Sega System 24 games
+// disk based
+hotrodj // 1988.03 Hot Rod (Japan)
+hotrod // 1988.?? Hot Rod (World)
+hotroda
+ // 1988.07 Hot Rod (US)
+sspiritj // 1988.10 Scramble Spirits (Japan)
+sspirits // 1988.?? Scramble Spirits (World)
+sspirtfc // 1988.?? Scramble Spirits (protected)
+ // 1988.11 Scramble Spirits (US)
+ggroundj // 1988.11 Gain Ground (Japan, FD1094, decrypted)
+gground // 1989.?? Gain Ground (World, FD1094, decrypted)
+ // 1989.03 Gain Ground (US)
+crkdownj // 1989.03 Crack Down (Japan, FD1094, decrypted)
+crkdown // 1989.?? Crack Down (World, FD1094, decrypted)
+crkdownu // 1989.06 Crack Down (US, FD1094, decrypted)
+sgmastj // 1989.06 Jumbo Ozaki Super Masters (Japan, FD1094, decrypted)
+sgmast // 1989.?? Super Masters Golf (World, protected)
+sgmastc // 1989.?? Jumbo Ozaki Super Masters Golf (World, FD1094, decrypted)
+ // 1989.09 Super Masters Golf (US)
+roughrac // 1990.03 Rough Racer (Japan, FD1094, decrypted)
+bnzabrosj // 1990.06 Bonanza Bros. (Japan)
+bnzabros // 1990.08 Bonanza Bros. (US)
+qsww // 1991.02 Quiz Syukudai wo Wasuremashita! (Japan)
+dcclubfd // 1991.07 Dynamic Country Club (US)
+
+// ROM based
+dcclubj // 1991.06 Dynamic Country Club (Japan)
+dcclub // 1991.?? Dynamic Country Club (World)
+qrouka // 1991.12 Quiz Rouka ni Tattenasai! (Japan)
+mahmajn // 1992.12 Tokorosan no Mahmahjong (Japan)
+quizmeku // 1993.05 Quiz Mekurumeku Story (Japan)
+mahmajn2 // 1994.05 Tokorosan no Mahmahjong 2 (Japan)
+qgh // 1994.09 Quiz Ghost Hunter
+
+// Sega System 32 games
+radm // 1991.?? Rad Mobile (World)
+radmu // 1991.03 Rad Mobile (US)
+ // 1991.02 Rad Mobile (Japan)
+radr // 1991.?? Rad Rally (World)
+radru // 1991.09 Rad Rally (US)
+ // 1991.07 Rad Rally (Japan)
+spidman // 1991.?? Spiderman (World)
+spidmanu // 1991.09 Spiderman (US)
+ // 1991.09 Spiderman (Japan)
+f1en // 1991.?? F-1 Exhaust Note (World)
+ // 1992.01 F-1 Exhaust Note (US)
+ // 1991.11 F-1 Exhaust Note (Japan)
+arabfgt // 1992.?? Arabian Fight (World)
+arabfgtu // 1992.03 Arabian Fight (US)
+arabfgtj // 1992.03 Arabian Fight (Japan)
+arescue // 1992.03 Air Rescur (US)
+ // 1992.04 Air Rescue (Japan)
+ga2 // 1992.?? Golden Axe II (World)
+ga2u // 1992.09 Golden Axe II (US)
+ga2j // 1992.10 Golden Axe Death Adder no Fukusyuu (Japan)
+holo // 1992.?? Hologram Holosseum (US)
+ // 1992.11 Hologram Holosseum (Japan)
+darkedge // 1993.?? Dark Edge (World)
+ // 1993.?? Dark Edge (US)
+darkedgej // 1993.03 Dark Edge (Japan)
+brival // 1993.?? Burning Rival (World)
+brivalj // 1993.08 Burning Rival (Japan)
+f1lap // 1993.?? F-1 Super Lap (World)
+ // 1993.09 F-1 Super Lap (Japan)
+alien3 // 1993.?? Aliens 3 (World)
+alien3u // 1993.11 Aliens 3 (US)
+ // 1993.09 Aliens 3 the Gun (Japan)
+sonic // 1993.09 Sonic the Hedgehog (Japan)
+sonicp // 1993.?? Sonic the Hedgehog (proto, Japan)
+kokoroj2 // 1993.12 Soreike! Kokoroji 2 (Japan)
+jpark // 1994.?? Jurassic Park (World)
+ // 1994.?? Jurassic Park (US)
+ // 1994.02 Jurassic Park (Japan)
+dbzvrvs // 1994.03 Dragon Ball Z V.R.V.S. (Japan)
+jleague // 1994.07 The J League 1994 (Japan)
+svf // 1994.?? Super Visual Football
+svs // 1994.?? Super Visual Soccer
+slipstrm // 1995.?? Slip Stream (Capcom)
+slipstrmh
+
+// Sega Multi System 32 games
+ // 1993.05 Outrunners (Japan)
+orunners // 1993.?? Outrunners (World)
+orunnersu // 1993.06 Outrunners (US)
+harddunkj // 1994.04 Hard Dunk 3on3 (Japan)
+harddunk // 1994.?? Hard Dunk 3on3 (World)
+ // 1993.03 Title Fight (Japan)
+titlef // 1993.?? Title Fight (World)
+titlefu // 1993.04 Title Fight (US)
+ // 1992.07 Stadium Cross (Japan)
+scross // 1992.?? Stadium Cross (World)
+scrossu // 1992.09 Stadium Cross (US)
+
+// Model 1 Games
+vr // 1992.08 Virtua Racing
+vf // 1993.12 Virtua Fighter
+vformula // 1993.?? Virtua Formula
+swa // 1994.04 Star Wars Arcade
+wingwar // 1994.06 Wing War
+wingwarj // 1994.06 Wing War (Japan)
+wingwaru // 1994.09 Wing War (US)
+
+// Sega H1 games
+coolridr // 1995.04 Cool Riders
+
+// Sega ST-V games
+stvbios
+ // 1994.07 Sports Fishing
+gaxeduel // 1995.02 Golden Axe the Duel
+suikoenb // 1995.03 Suiko Enbu (Data East)
+bakubaku // 1995.04 Bakubaku Animal
+vfremix // 1995.06 Virtua Fighter Remix
+ejihon // 1995.07 Ejihon Tantei Jimusyo
+finlarch // 1995.07 Final Arch
+sfish2j // 1995.08 Sports Fishing 2 (Japan)
+shanhigw // 1995.08 Shanghai Banri no Choujou
+sandor // 1995.11 Nido Aru Koto wa Sando-R
+kiwames // 1995.11 Pro Mahjong Kiwame S (Athena)
+sfish2 // 1995.11 Sports Fishing 2 (Export)
+critcrsh // 1995.?? Critter Crusher
+ // 1995.12 Tatakott
+batmanfr // 1996.02 Batman Forever (Acclaim)
+fhboxers // 1996.02 Funky Head Boxers
+vfkids // 1996.03 Virtua Fighter Kids
+pblbeach // 1996.03 Pebble Beach the Great Shot (T&E Soft)
+introdon // 1996.04 Karaoke Quiz Intro Dondon (Sunsoft / Success)
+smleague // 1996.04 Super Major League
+decathlt // 1996.05 Decathlete
+decathlto
+dnmtdeka // 1996.07 Dynamite Deka
+mausuke // 1996.07 Mausuke no Ojama the World (Data East)
+diehard // 1996.08 Die Hard Arcade
+sokyugrt // 1996.09 Soukyuu Gurentai (Raizing / 8ing)
+prikura // 1996.10 Prikura Daisakusen (Atlus)
+magzun // 1996.11 Magical Zunou Power
+puyosun // 1996.12 Puyo Puyo SUN (Compile)
+colmns97 // 1997.01 Columns 97
+shienryu // 1997.02 Shienryu (Warashi)
+vmahjong // 1997.02 Virtual Mahjong (Micronet)
+groovef // 1997.05 Groove on Fight (Atlus)
+nclubv3 // 1997.07 Name Club Ver. 3
+pclub2 // 1997.09 Print Club 2
+thunt // 1997.09 Puzzle & Action Treasure Hunt (Sega (Deniam License))
+thuntk
+winterht // 1997.10 Winter Heat (Data East)
+cotton2 // 1997.11 Cotton 2 (Success)
+hanagumi // 1997.11 Sakura Taisen Hanagumi Taisen Columns
+findlove // 1997.12 Find Love (Daiki / FCF)
+maruchan // 1997.12 Maruchan de Goo!!!
+techbowl // 1997.12 Technical Bowling
+znpwfv // 1997.12 Zen Nippon Pro Wrestling featuring Virtua
+seabass // 1998.02 Sea Bass Fishing (A wave Inc (Able License))
+sasissu // 1998.02 Taisen Tanto-R Sasissu!!
+ // 1998.03 Bass Master Challenge
+twcup98 // 1998.04 Tecmo World Cup '98 (Tecmo)
+grdforce // 1998.05 Guardian Force (Success)
+rsgun // 1998.05 Radient Silver Gun (Treasure)
+astrass // 1998.06 Astra Super Stars (Sunsoft)
+myfairld // 1998.07 My Fair Lady (Micronet)
+othellos // 1998.07 Othello Shiyouyo (Success)
+cottonbm // 1998.09 Cotton Boomerang (Success)
+stress // 1998.10 Stress Busters
+elandore // 1998.11 Touryuu Densetsu Elandore (Sai-Mate)
+sss // 1998.12 Steep Slope Sliders (Capcom / Cave / Victor)
+micrombc // 1999.03 Microman Battle Charge
+pclub2v3 // 1999.03 Print Club 2 Vol. 3
+sanjeon // 1999.04 Sanjun Sujun (Sega / Deniam)
+danchih // 1999.06 Danchi de Hanafuda Okusan Komeya Desuyo! (Altron (Tecmo License))
+ffreveng // 1999.09 Final Fight Revenge (Capcom)
+pclubpok // 1999.11 Print Club Pokemon
+danchiq // 2000.12 Danchi de Quiz Okusan Yontaku Desuyo! (Altron)
+
+// Sega Model 2 Games
+
+// Model 2 (TGPs, Model 1 sound board)
+daytona // 1994.03 Daytona USA
+daytona93
+daytonas
+daytonat // 1993, hack
+daytonam // 1993, hack
+desert // 1994.07 Desert Tank
+vcop // 1994.09 Virtua Cop
+
+// Model 2A-CRX (TGPs, SCSP sound board)
+vf2o // 1994.11 Virtua Fighter 2
+vf2a // 1995.??
+vf2b // 1995.??
+srallyc // 1995.02 Sega Rally Championship - Rev C
+srallycb // 1995.02 Sega Rally Championship - Rev B
+vcop2 // 1995.09 Virtua Cop 2
+vf2 // 1995.09 Virtua Fighter 2.1
+ // 1995.10 Sky Target
+manxtt // 1995.11 Manx T.T.
+ // 1996.08 Dynamite Baseball
+doaa // 1996.11 Dead or Alive
+ // 1997.04 Dynamite Baseball '97
+motoraid // 1997.10 Motor Raid
+zeroguna // 1997.12 Zero Gunner
+dyndeka2 // 1998.05 Dynamite Deka 2
+dynamcop // 1998.09 Dynamic Cop
+pltkidsa // 1999.03 Pilot Kids
+
+// Model 2B-CRX (SHARC, SCSP sound board)
+vstriker // 1995.05 virtua Striker
+vstrikero // 1995.05 virtua Striker
+rchase2 // 1995.06 Rail Chase 2 (Arcade TV Game List - P.104, Left, 12 from top)
+indy500 // 1995.07 Indy 500
+indy500d // 1995.07 Indy 500
+indy500to // 1995.07 Indy 500
+skytargt // 1995.10 Sky Target
+fvipers // 1995.11 Fighting Vipers
+von // 1996.01 Dennou Senki Virtual-On (USA)
+vonj // 1996.01 Dennou Senki Virtual-On (Japan)
+gunblade // 1996.04 Gunblade N.Y.
+schamp // 1996.05 Sonic Championship
+sfight // 1996.05 Sonic the Fighters
+lastbrnx // 1996.06 Last Bronx
+lastbrnxj // 1996.06 Last Bronx (Japan)
+sgt24h // 1996.07 Super GT 24h
+dynabb // 1996.08 Dynamite Baseball
+doa // 1996.11 Dead or Alive
+ // 1997.04 Dynamite Baseball '97
+zerogun // 1997.12 Zero Gunner
+zerogunj // 1997.12 Zero Gunner (Japan)
+dyndeka2b // 1998.05 Dynamite Deka 2
+dynamcopb // 1998.09 Dynamite Cop
+pltkids // 1999.03 Pilot Kids
+
+// Model 2C-CRX (TGPx4, SCSP sound board)
+skisuprg // 1996.12 Sega Ski Super G
+stcc // 1996.09 Sega Touring Car Championship
+stcca // 1996.09 Sega Touring Car Championship
+stccb // 1996.09 Sega Touring Car Championship
+waverunr // 1996.10 Wave Runner
+hotd // 1997.03 The House of the Dead
+topskatr // 1997.05 Top Skater
+topskatru // 1997.05 Top Skater (USA)
+topskatrj // 1997.05 Top Skater (Japan)
+overrev // 1997.09 Overrev
+segawski // 1997.09 Sega Water Ski
+dynamcopc // 1998.09 Dynamite Cop
+bel // 1998.12 Behind Enemy Lines
+
+// Sega Model 3 Games
+
+// Step 1.0
+vf3 // 1996.09 Virtua Fighter 3
+vf3a
+vf3tb // 1997.10 Virtua Fighter 3tb
+bass // 1997.12 Get Bass
+getbass
+ // 1998.03 Get Bass Brast
+
+// Step 1.5
+scud // 1996.12 Scud Race
+scudj
+scuda
+vs215 // 1997.06 Virtua Striker 2
+lostwsga // 1997.07 Lost World Jurassic Park
+scudp // 1997.09 Scud Race Plus
+lemans24 // 1997.09 Le Mans 24
+vs29815 // 1998.05 Virtua Striker 2 ver.98
+
+// Step 2.0
+vs2 // 1997.06 Virtua Striker 2
+harley // 1997.12 Harley Davidson & L.A.Riders
+skichamp // 1998.01 Ski Champ
+srally2 // 1998.02 Sega Rally 2 Championship
+srally2x
+von2 // 1998.03 Dennou Senki Virtual-On Oratorio Tangram
+fvipers2 // 1998.04 Fighting Vipers 2
+vs298 // 1998.05 Virtua Striker 2 ver.98
+vs299 // 1998.12 Virtual Striker 2 ver.99
+vs299b // 1999.?? Virtual Striker 2 ver.99 (rev B)
+vs299a // 1999.?? Virtual Striker 2 ver.99 (rev A)
+vs2v991 // 1999.?? Virtual Striker 2 ver.99.1
+von254g // 1999.05 Dennou Senki Virtual-On Oratorio Tangram ver.5.4
+
+// Step 2.1
+daytona2 // 1998.06 Daytona USA 2
+oceanhun // 1998.09 Ocean Hunter
+spikeout // 1998.09 Spikeout
+dirtdvls // 1998.10 Dirt Devils
+dirtdvlsa
+swtrilgy // 1998.11 Star Wars Trilogy Arcade
+swtrilgya
+ // 1998.11 Magical Torokko Adventure (Japan)
+lamachin // 1998.12 L.A. Machine Guns
+dayto2pe // 1998.12 Daytone USA 2 Power Edition
+ // 1998.12 Virtua Striker 2 ver.99
+spikeofe // 1999.01 Spikeout Final Edition
+magtruck // 1999.03 Magical Truck Adventure (US)
+eca // 1999.10 Kyukyuusya Emergency Call Ambulance
+ecax
+
+
+// Deniam games
+// they run on Sega System 16 video hardware
+logicpro // (c) 1996 Deniam
+croquis // (c) 1996 Deniam (Germany)
+karianx // (c) 1996 Deniam
+logicpr2 // (c) 1997 Deniam (Japan)
+
+
+/*
+Deniam is a Korean company (http://deniam.co.kr).
+
+Game list:
+Title System Date
+---------------- ---------- ----------
+GO!GO! deniam-16b 1995/10/11
+Logic Pro deniam-16b 1996/10/20
+Karian Cross deniam-16b 1997/04/17
+LOTTERY GAME deniam-16c 1997/05/21
+Logic Pro 2 deniam-16c 1997/06/20
+Propose deniam-16c 1997/06/21
+BOMULEUL CHAJARA SEGA ST-V 1997/04/11
+*/
+
+// System C games
+bloxeedc // (c) 1989 Sega / Elorg
+bloxeedu // (c) 1989 Sega / Elorg
+columns // (c) 1990 Sega
+columnsu // (c) 1990 Sega
+columnsj // (c) 1990 Sega
+columns2 // (c) 1990 Sega
+column2j // (c) 1990 Sega
+
+// System C-2 games
+borench // (c) 1990 Sega
+tfrceac // (c) 1990 Sega / Technosoft
+tfrceacj // (c) 1990 Sega / Technosoft
+tfrceacb // bootleg
+twinsqua // (c) 1991 Sega
+ribbit // (c) 1991 Sega
+tantr // (c) 1992 Sega
+tantrkor // (c) 1992 Sega
+tantrbl // bootleg
+tantrbl2 // bootleg
+tantrbl3 // bootleg
+puyo // (c) 1992 Sega / Compile
+puyobl // bootleg
+puyoj // (c) 1992 Sega / Compile
+puyoja // (c) 1992 Sega / Compile
+ichir // (c) 1994 Sega
+ichirk // (c) 1994 Sega
+ichirj // (c) 1994 Sega
+ichirjbl // bootleg
+stkclmns // (c) 1994 Sega
+stkclmnsj // (c) 1994 Sega
+puyopuy2 // (c) 1994 Compile + Sega license
+potopoto // (c) 1994 Sega
+zunkyou // (c) 1994 Sega
+
+// Atlus Print Club 'Games' C-2 board
+pclubj
+pclubjv2
+pclubjv4
+pclubjv5
+
+// Genie Hardware (uses Genesis VDP) also has 'Sun Mixing Co' put into tile ram
+puckpkmn // (c) 2000 Genie
+puckpkmna // (c) 2000 IBS
+topshoot // (c) 1995 Sun Mixing
+
+// Sega MegaTech, the number shown is on the label of the instruction rom
+megatech
+mt_beast // 01
+mt_shar2 // 02
+mt_stbld // 03
+mt_ggolf // 04
+mt_gsocr // 05
+mt_orun // 06
+mt_asyn // 07
+mt_shnbi // 08
+mt_fz // 09
+mt_aftrb // 10
+mt_tfor2 // 11
+ // 12
+mt_astro // 13
+ // 14
+ // 15
+ // 16
+ // 17
+ // 18
+mt_gfoot // 19
+mt_lastb // 20
+mt_wcsoc // 21
+mt_tetri // 22
+mt_gng // 23
+mt_shang // 24
+mt_gaxe // 25
+mt_fwrld // 26
+mt_mystd // 27
+mt_revsh // 28
+mt_parlg // 29
+ // 30
+mt_tgolf // 31
+mt_srbb // 32
+ // 33
+ // 34
+mt_tlbba // 35
+mt_cols // 36
+ // 37
+mt_eswat // 38
+mt_smgp // 39
+mt_mwalk // 40
+mt_crack // 41
+ // 42
+mt_shado // 43
+mt_arrow // 44
+ // 45
+ // 46
+mt_astrm // 47
+mt_wwar // 48
+mt_bbros // 49
+ // 50
+mt_srage // 51
+mt_sonic // 52
+mt_sonia // ^^
+mt_fshrk // 53
+mt_spman // 54
+mt_calga // 55
+ // 56
+mt_gaxe2 // 57
+mt_stf // 58
+mt_mlh // 59
+mt_kcham // 60
+mt_tout // 61
+mt_soni2 // 62
+
+// Sega MegaPlay
+megaplay
+mp_sonic // 01
+mp_gaxe2 // 02
+mp_gslam // 03
+mp_twc // 04
+mp_sor2 // 05
+mp_bio // 06
+mp_soni2 // 07
+ // 08
+mp_shnb3 // 09
+ // 10
+mp_mazin // 11
+mp_col3 // ??
+
+ssf2mdb // MegaDrive-based hack
+aladmdb // MegaDrive-based hack
+mk3mdb // MegaDrive-based hack
+srmdb // MegaDrive-based hack
+
+// Sega Naomi-based (Dreamcast) systems
+naomi
+naomigd
+naomi2
+
+hod2bios // 1998.11 The House of the Dead 2
+hotd2 // 1998.11 The House of the Dead 2
+hotd2o // 1998.11 The House of the Dead 2
+dybbnao // 1998.12 Dynamite Baseball NAOMI
+smlg99 // 1999.?? Super Major League '99
+pstone // 1999.02 Power Stone
+crzytaxi // 1999.02 Crazy Taxi
+zombrvn // 1999.02 Zombie Revenge
+airlbios // 1999.03 Airline Pilots
+alpiltdx
+alpilota
+ggram2 // 1999.04 Giant Gram Zen Nippon Pro-wres 2
+ // 1999.05 Taisen Puzzle Kurutto Stone
+ringout // 1999.06 Ringout 4x4
+f355bios // 1999.07 F355 Challenge
+f355
+f355twin // 1999.07 F355 Challenge Twin
+shangril // 1999.08 Dengen Tenshi Taisen Janshi Shangri-la
+ // 1999.08 Unou Nouryoku Check Machine Touch de UNO!
+vs2_2k // 1999.08 Virtua Striker 2 version 2000
+suchie3 // 1999.09 Idol Janshi Su-Chi-Pi 3
+toyfight // 1999.09 Toy Fighter
+jambo // 1999.09 Jambo! Safari
+ // 1999.09 Super Major League 99
+sgtetris // 1999.10 Sega Tetris
+derbyoc // 1999.10 Derby Owners Club
+doa2 // 1999.11 Dead or Alive 2
+otrigger // 1999.11 Out Trigger
+dybb99 // 1999.11 Dynamite Baseball '99
+ // 1999.12 Mars TV
+samba // 1999.12 Samba de Amigo
+vtennis // 1999.12 Virtua Tennis / Power Smash (ROM)
+vtennisg // 1999.12 Virtua Tennis / Power Smash (GD-ROM)
+puyoda // 1999.12 Puyopuyo DA!
+
+18wheelr // 2000.01 18 Wheeler
+totd // 2000.01 The Typing of the Dead
+spawn // 2000.01 Spawn
+doa2m // 2000.01 Dead or Alive 2 Millenium
+ // 2000.02 Touch de UNO! 2
+virnba // 2000.02 Virtua NBA
+virnbao
+mvsc2 // 2000.03 Marvel vs. Capcom 2
+smarinef // 2000.03 Sega Marine Fishing
+wldkicks // 2000.03 World Kicks
+ // 2000.04 Shin Nippon Pro-wres Toukon Retsuden 4
+pstone2 // 2000.04 Power Stone 2
+qmegamis // 2000.05 Quiz Ah Megamisama
+vonot // 2000.06 Virtual-on Oratorio Tangram M.S.B.S. ver.5.66 2000 edition
+derbyo2k // 2000.06 Derby Owners Club 2000
+ggx // 2000.07 Guilty Gear X
+slasho // 2000.07 Slashout
+slashout
+capsnka // 2000.08 Capcom vs. SNK Millenium Fight 2000
+ // 2000.08 Tokyo Bus Annai
+capsnk // 2000.09 Capcom vs. SNK Millenium Fight 2000
+gram2000 // 2000.09 Giant Gram 2000 Zen Nippon Pro-wres 3
+ // 2000.09 Nittere Shiki! Mirai Yosou Studio
+crackndj // 2000.10 Crackin' DJ
+cspike // 2000.10 Gun Spike
+sstrkfgt // 2000.10 Sega Strike Fighter
+deathcox // 2000.10 Death Crimson OX
+ // 2000.11 Ninja Assault
+confmiss // 2000.11 Confidential Mission // First GD-ROM game?
+shaktamb // 2000.11 Shakatto Tambourine
+wwfroyal // 2000.11 WWF Royal Rumble
+pjustic // 2000.12 Moero Justice Gakuen
+samba2k // 2000.12 Samba de Amigo ver.2000
+sprtjam // 2000.12 Sports Jam
+ // 2000.12 Derby Owners Club 2000 ver.2
+ // 2000.?? World Kicks New ver.
+derbyocw // 2001.?? Derby Owners Club World Edition (Rev. D)
+drbyocwc // 2001.?? Derby Owners Club World Edition (Rev. C)
+f355twn2 // 2001.01 F355 Challenge 2
+gwing2 // 2001.01 Giga Wing 2
+csmash // 2001.01 Cosmic Smash
+csmasho
+sfz3ugd // 2001.02 Street Fighter ZERO3 Upper
+gundmgd // 2001.03 Kidou Senshi Gundam Renpou vs. Zeon
+gundmct // 2001.03 Mobile Suit Gundam: Federation vs. Zeon (cartridge)
+ // 2001.04 Shakatto Tambourine Motto Norinori Shinkyoku Tsuika
+dygolf // 2001.04 Dynamic Golf
+zerogu2 // 2001.05 Zero Gunner 2
+monkeyba // 2001.05 Monkey Ball
+cvsgd // 2001.06 Capcom vs. SNK Pro
+ // 2001.06 Crackin' DJ Part2
+wsbbgd // 2001.06 Super Major League
+spkrbtl // 2001.07 Spikers Battle
+gunsur2 // 2001.07 Gun Survivor 2: Bio Hazard Code Veronica
+starseek // 2001.07 Dokidoki Idol Star Seeker
+cvs2gd // 2001.08 Capcom vs. SNK 2
+wrungp // 2001.08 Wave Runner GP
+gundmxgd // 2001.09 Kidou Senshi Gundam Renpou vs. Zeon DX
+ // 2001.09 Alien Front
+hmgeo // 2001.09 Heavy Metal Geo Matrix
+inunoos // 2001.10 Inu no Osanpo
+derbyoc2 // 2001.10 Derby Owners Club 2
+vtennis2 // 2001.10 Power Smash 2 / Virtua Tennis 2
+vtenis2c // Power Smash 2 / Virtua Tennis 2 (cartridge)
+ // 2001.11 Shakatto Tambourine Cho Powerup Chu
+keyboard // 2001.11 La Keyboardxyu
+ikaruga // 2001.12 Ikaruga
+lupinsho // 2001.12 Lupin the Third: the Shooting
+vathlete // 2002.03 Virtua Athlete
+luptype // 2002.04 Lupin the Third: the Typing
+ggxx // 2002.05 Guilty Gear XX
+mok // 2002.05 The Maze of the Kings
+cleoftp // 2002.05 Cleopatra Fortune +
+chocomk // 2002.06 Musapey no Choco Marker
+ // 2002.07 Mazan
+ // 2002.09 Yonin Uchi Mahjong MJ
+azumanga // 2002.12 Azumanga Daiou Puzzle Bobble
+moeru // 2002.12 Moeru Casinyo
+quizqgd // 2003.01 Quiz Keitai Q mode
+ // 2003.03 Yonin Uchi Mahjong MJ Network Taisen ver.
+ggxxrl // 2003.03 Guilty Gear XX # Reload
+shikgam2 // 2003.04 Shikigami no Shiro 2
+bdrdown // 2003.04 Border Down
+usagui // 2003.06 Usagi Yamashiro Mahjong Hen
+ // 2003.07 Yonin Uchi Mahjong MJ Network Taisen ver. NEW
+oinori // 2003.08 Oinori-daimyoujin Matsuri
+psyvar2 // 2003.11 Psyvariar 2
+puyofev // 2003.11 Puyopuyo Fever
+shootopl // Shootout Pool
+shootpl // 2003.xx Shootout Pool / Shootout Pool Prize
+shootplm // Shootout Pool Medal
+kick4csh // 2004.xx Kick '4' Cash
+tetkiwam // 2004.06 Tetris Kiwamemichi (Arcade TV Game List - P.88, Right, 11 from bottom)
+cfield // 2004.06 Chaos Field
+trizeal // 2004.09 Trizeal
+ // 2005.03 Melty Blood Act Cadenza
+ss2005 // 2005.03 Super Shanghai 2005
+ss2005a // 2005.04 Super Shanghai 2005
+senkoo // 2005.04 Senkou no Rondo
+senko // 2005.08 Senkou no Rondo NEW ver.
+meltybld // 2005.08 Melty Blood Act Cadenza ver.A
+ggxxsla // 2005.09 Guilty Gear XX Slash
+radirgy // 2005.10 Radirgy
+undefeat // 2005.10 Under Defeat
+ // 2005.12 Radirgy (Rev. A)
+kurucham // 2006.03 Kurukuru Chameleon
+trgheart // 2006.05 Trigger Heart Exelica
+ // 2006.07 Touch de Zunou
+senkosp // 2006.08 Senkou no Rondo SP
+jingystm // 2006.09 Jingi Storm
+karous // 2006.11 Karous
+ggxxac // 2006.11 Guilty Gear XX Accent Core
+meltyb // 2006.12 Melty Blood Act Cadenza ver.B
+meltyba // 2006.12 Melty Blood Act Cadenza ver.B (Rev A)
+takoron // 2006.12.16 Noukone Puzzle Takoron
+ // 2007.03 Melty Blood Act Cadenza ver.B Syuuseiban(ver.B2)
+
+ngdup23a // DIMM Firmware Updater
+ngdup23c
+
+ // Releases below use flash/mask ROMs like older NAOMI titles, not GD-ROM as GD-ROM Hardware (Drives and Discs) were no longer being produced
+
+ // 2007.07 Pokasuka Ghost!
+ // 2007.07 Shooting Love
+ // 2007.07 Dynamite Deka EX - Asian dynamite
+ // 2007.09 Rhythm Tengoku
+ // 2008.02 Akatsuki Denkou Senki Ausf.Achse
+ // 2008.06 Illvelo (Illmatic Envelope)
+ // 2008.07 Mamoru Kun wa Norowarete Shimatta!
+ // 2008.09 Melty Blood Actress Again
+ // 2008.12 Melty Blood Actress Again ver.A
+ // 2009.06 Radirgy Noah
+ // 2009.?? Project Cerberus (planned to be released in 2009)
+
+
+
+// NAOMI based (System SP)
+ // 2003.02 Kouchuu Ouja Mushiking
+ // 2004.10 Oshare Majo Love & Berry
+ // 2005.09 Kodai Ouja Kyouryuu King
+ // 2007.06 Issyo ni Wanwan
+ // 2007.06 Konchuu Dash!!
+ // 2007.07 Marine Marine
+ // 2007.11 Magical Dance on Dream Stage
+ // 2008.02 Marine Marine ver.2
+ // 2008.04 Issyo ni Wanwan Waiwai Puppy
+ // 2008.07 Issyo ni Turbo Drive
+
+// NAOMI 2
+vstrik3c // 2001.04 Virtua Striker 3 (rev. C)
+vstrik3cb // 2001.04 Virtua Striker 3 (rev. B)
+vstrik3
+wldrider // 2001.05 Wild Riders
+ // 2001.06 Club Kart
+beachspi // 2001.07 Beach Spikers
+vf4cart // 2001.08.02 Virtua Fighter 4 (cartridge)
+vf4 // 2001.08.02 Virtua Fighter 4 (GD-ROM)
+vf4b // 2001.08.20 Virtua Fighter 4 ver.B
+vf4c // 2002.01.31 Virtua Fighter 4 ver.C
+kingrt66 // 2002.02 The King of Route 66
+initd // 2002.03 Initial D Arcade Stage
+initdexp // 200?.?? Initial D Export Version
+clubkrte // 2002.?? Club Kart: European Session
+ // 2002.06 WCCF SERIE A 2001-2002
+ // 2002.07 Soul Surfer
+vf4evoct // 2002.08 Virtua Fighter 4 Evolution (cartridge)
+vf4evoa // 2002.08 Virtua Fighter 4 Evolution
+ // 2002.11 WCCF SERIE A 2001-2002 ver.1.2
+initdv2j // 2002.12 Initial D Arcade Stage ver.2 rev. B
+initdv2jo // 2002.12 Initial D Arcade Stage ver.2
+initdv2e // 2002.12 Initial D Arcade Stage ver.2
+vf4evo // 2002.12 Virtua Fighter 4 Evolution ver.B
+ // 2003.03 WCCF SERIE A 2001-2002 ver.2.0
+ // 2003.09 WCCF 2002-2003 SERIE A
+ // 2003.?? CYCRAFT Club Kart ver.
+initdv3j // 2004.01 Initial D Arcade Stage ver.3 rev. C
+initdv3jb // 2004.01 Initial D Arcade Stage ver.3 rev. B
+ // 2004.?? Initial D Arcade Stage ver.3 for CYCRAFT
+ // 2004.06 WCCF 2002-2003 SERIE A ver.2.0
+ // 2004.07 Virtua Fighter 4 Final Tuned
+vf4tuneda // 2004.09 Virtua Fighter 4 Final Tuned ver.A
+ // 2004.12 WCCF 2002-2003 ver.2.1
+ // 2005.01 Virtua Fighter 4 final Tuned ver.B
+ // 2005.04 Menkyo no Tetsujin
+ // 2005.06 WCCF European Clubs 2004-2005
+ // 2006.01 WCCF European Clubs 2004-2005 ver.1.1
+ // 2006.03 WCCF European Clubs 2004-2005 ver.1.2
+ // 2006.08 WCCF European Clubs 2005-2006
+ // 2006.10 WCCF European Clubs 2005-2006 bugfix ver.
+vf4tunedd
+vf4tuned // 200?.?? Virtual fighter 4 Final Tuned ver.F
+
+
+// Atomiswave (Dreamcast-based) games
+awbios
+maxspeed // 2002.12 Maximum Speed
+sprtshot // 2002.12 Sports Shooting USA
+ggx15 // 2003.03 Guilty Gear X ver.1.5
+demofist // 2003.06 Demolish Fist
+dolphin // 2003.08 Dolphin Blue
+ggisuka // 2003.12 Guilty Gear Isuka
+ // 2003.12 Sangoku Senki Shichisei Tensei (IGS)
+rumblef // 2004.03 The Rumble Fish
+rangrmsn // 2004.03 Ranger Mission
+salmankt // 2004.06 Salary Man Kintarou Net Select
+kofnw // 2004.07 The King of Fighters Neo Wave
+kofnwj // 2004.07 The King of Fighters Neo Wave (Japan)
+xtrmhunt // 2004.09 Extreme Hunting
+dirtypig // 2004.09 Dirty Pig Skin Football
+ftspeed // 2004.09 Faster than Speed
+kov7sprt // 2004.?? Knights of Valour - The Seven Sprits
+vfurlong // 2005.03 Net Select Keiba Victory Furlong
+rumblef2 // 2005.03 The Rumble Fish 2
+ngbc // 2005.07 NeoGeo Battle Colloseum
+samsptk // 2005.09 Samurai Spirits Tenkaichi Kenkakuden
+kofxi // 2005.10 The King of Fighters XI
+fotns // 2005.12 Hokuto no Ken
+mslug6 // 2006.02 Metal Slug 6
+xtrmhnt2 // 2006.09 Extreme Hunting 2 Tournament Edition
+ // 2008.?? Sega Clay Challenge
+
+// Hikaru
+hikaru // BIOS (c)2000
+braveff // 1999.06 Syouboushi Brave Fire Fighters
+podrace // 2000.06 Star Wars: Racer Arcade
+sgnascar // 2000.09 Nascar Arcade
+pharrier // 2000.12 Planet Harriers
+airtrix // 2001.02 Air Trix
+ // 2001.10 Dennou Senki Virtual-On Force
+ // 2002.04 Dennou Senki Virtual-On Force ver.7.7
+
+// Triforce (GameCube based)
+triforce
+vs2002j // 2002.10 Virtua Striker 2002
+vs2002ex
+ // 2003.06 F-ZERO AX
+avalons // 2003.07 Avalon no Kagi
+ // 2003.08 Avalon no Kagi ver.1.00
+ // 2003.10 Avalon no Kagi ver.1.01
+gekpurya // 2003.10 Gekitou Pro Yakyuu Mizushima Shinji All Stars vs. Pro Yakyuu
+ // 2003.12 Avalon no Kagi ver.1.10
+ // 2003.?? CYCRAFT F-ZERO AX Monster Ride
+ // 2004.04 Avalon no Kagi ver.1.20 Aratanaru Syoukan
+avalon13 // 2004.07 Avalon no Kagi ver.1.30 Konton no Utage
+vs4 // 2004.10 Virtua Striker 4
+vs4j // 2004.10 Virtua Striker 4
+avalon20 // 2004.11 Avalon no Kagi ver.2.0 Chitsujo to Kairitsu
+ // 2005.04 Virtua Striker 4 ver.A
+ // 2005.08 Avalon no Kagi ver.2.5 Kagi Seisen
+ // 2005.12 Mario Kart Arcade Grand Prix
+vs42006 // 2006.05 Virtua Striker 4 ver.2006
+ // 2007.03 Mario Kart Arcade Grand Prix 2
+
+tfupdate // Triforce GDROM Boot Update (GDT-0011)
+
+// Chihiro (X-Box based)
+chihiro
+hotd3 // 2002.12 The House of the Dead III
+crtaxihr // 2003.03 Crazy Taxi High Roller
+vcop3 // 2003.04 Virtua Cop 3
+outr2 // 2003.12 Outrun 2
+ // 2004.03 Sega Network Taisen Mahjong MJ 2
+ollie // 2004.03 Ollie King
+ // 2004.04 Sega Network Taisen Mahjong MJ 2 ver.B
+wangmid // 2004.07 Wangan Midnight Maximum Tune
+mj2 // 2004.07 Sega Network Taisen Mahjong MJ 2 ver.C
+ // 2004.09 Quest of D
+ // 2004.11 Sega Golf Club Network Pro Tour
+ // 2004.12 Sega Network Taisen Mahjong MJ 2 ver.D
+ // 2004.12 Quest of D ver.1.02
+outr2st // 2004.12 Outrun 2 Special Tours
+ // 2004.12 Quest of D ver.1.10
+ghostsqu // 2004.12 Ghost Squad
+ // 2004.12 Quest of D ver.1.10a
+ // 2005.03 Sangokushi Taisen
+gundamos // 2005.03 Kidou Senshi Gundam Battle Operating Simulator
+ // 2005.04 Quest of D ver.1.20
+ // 2005.04 Sega Network Taisen Mahjong MJ 2 ver.E
+wangmid2 // 2005.04 Wangan Midnight Maximum Tune 2
+ // 2005.06 Sangokushi Taisen ver.1.003
+ // 2005.06 Sega Golf Club Network Pro Tour 2005
+ // 2005.06 Quest of D ver.1.20a
+ // 2005.09 Quest of D ver.1.21
+ // 2005.10 Sangokushi Taisen Ranse no Gunrou ver.1.100
+wangmd2b // 2005.10 Wangan Midnight Maximum Tune 2 ver.B
+ // 2005.11 Sangokushi Taisen Ranse no Gunrou ver.1.110
+ // 2005.12 Quest of D Gofu no Keisyousya ver.2.00
+ // 2005.12 Kidou Senshi Gundam 0079 Card Builder
+mj3 // 2005.12 Sega Network Taisen Mahjong MJ 3
+ // 2005.12 Quest of D Gofu no Keisyousya ver.2.01
+scg06nt // 2005.12 Sega Golf Club 2006 Next Tours
+ // 2006.02 Sangokushi Taisen Ranse no Gunrou ver.1.12
+ // 2006.03 Kidou Senshi Gundam 0079 Card Builder ver.1.007
+ // 2006.03 Quest of D Gofu no Keisyousya ver.2.02b
+ // 2006.04 Sega Network Taisen Mahjong MJ 3 ver.A+
+ // 2006.05 Sangokushi Taisen 2
+ // 2006.07 Kidou Senshi Gundam 0079 Card Builder ver.2.00
+ // 2006.09 Sangokushi Taisen 2 ver.2.01
+ // 2006.09 Sega Network Taisen Mahjong MJ 3 ver.B
+ // 2006.09 Kidou Senshi Gundam 0079 Card Builder ver.2.01
+ // 2006.10 Quest of D ver.3.00 Oukoku no Syugosya
+ // 2006.11 Quest of D ver.3.01 Oukoku no Syugosya
+ // 2006.11 Kidou Senshi Gundam 0079 Card Builder ver.2.02
+ // 2007.03 Kidou Senshi Gundam 0083 Card Builder
+ // 2007.03 Sega Network Taisen Mahjong MJ 3 Evolution
+ // 2007.10 Kidou Senshi Gundam 0083 Card Builder Ryouyuu Gekitotsu
+ // 2007.11 Quest of D The Battle Kingdom ver.4.00
+ // 2008.01 Quest of D The Battle Kingdom ver.4.00b
+ // 2008.02 Quest of D The Battle Kingdom ver.4.00c
+ // 2008.06 Quest of D The Battle Kingdom ver.4.01
+
+hshavoc // (c) 1993 Data East
+
+// Data East "Burger Time hardware" games
+lnc // (c) 1981
+zoar // (c) 1982
+btime // (c) 1982
+btime2 // (c) 1982
+btimem // (c) 1982 + Midway
+tisland // (c) 1982
+protennb // bootleg
+cookrace // bootleg
+wtennis // bootleg 1982
+brubber // (c) 1982
+bnj // (c) 1982 + Midway
+caractn // bootleg
+disco // (c) 1982
+discof // (c) 1982
+sdtennis // (c) 1983
+mmonkey // (c) 1982 Technos Japan + Roller Tron
+
+ // cassette system, parent is decocass
+decocass
+ctsttape // ?
+chwy // 01 1980.12 Highway Chase
+ // 02 1980.12 Sengoku Ninjatai
+ // 03 1981.01 Manhattan
+cterrani // 04 1981.02 Terranian
+ // 05 1981.?? Missile Sprinter
+ // 06 1980.12 Nebbler
+castfant // 07 1981.02 Astro Fantasia
+ // 08 1981.03 The Tower
+csuperas // 09 1981.05 Super Astro Fighter
+ // 10 1981.?? Ocean to Ocean (medal)
+clocknch // 11 1981.04 Rock'n Chase
+ // 12 1981.08 Flash Boy/DECO Kid
+cprogolf // 13 1981.08 Pro Golf
+ // 14 1981.06 DS Telejan
+cluckypo // 15 1981.?? Lucky Poker
+ctisland // 16 1982.02 Treasure Island
+ctisland2 // 16
+ctisland3 // 16
+ // 17 1981.10 Bobbit
+cexplore // 18 1982.02 Explorer
+cdiscon1 // 19 1982.04 Disco No.1
+csweetht // 19
+ctornado // 20 1982.05 Tornado
+cmissnx // 21 1982.04 Mission X/Zoar
+cptennis // 22 1982.06 Pro Tennis
+ // 23 1982.?? 18 Hole Pro Golf
+ // 24 1982.07 Tsumego Kaisyou
+ // 25 1982.10 Fishing
+cbtime // 26 1982.08 Hamburger/Burger Time
+cburnrub // 27 1982.11 Burnin' Rubber/Bump'n Jump
+cburnrub2 // 27
+cbnj // 27
+cgraplop // 28 1982.11 Grapelop
+cgraplop2 // 28
+clapapa // 29 1982.11 Lapapa/Rootin' Tootin'
+clapapa2 // 29 // this one doesn't display lapapa anywhere
+ // 30 1983.03 Skater
+cprobowl // 31 1983.03 Pro Bowling
+cnightst // 32 1983.04 Night Star
+cnightst2 // 32
+cprosocc // 33 1982.08 Pro Soccer
+ // 34 1983.09 Super Doubles Tennis
+cflyball // 35 1983.?? Bampoline/Flying Ball
+ // 36 1984.04 Genesis/Boomer Rang'r
+czeroize // 37 1983.10 Zeroize // doesn't work at all
+cscrtry // 38 1984.03 Scrum Try
+cscrtry2 // 38
+cppicf // 39 1984.02 Peter Pepper's Ice Cream Factory
+cppicf2 // 39
+cfghtice // 40 1984.04 Fighting Ice Hockey
+ // 41 1984.05 Oozumou/The Grand Sumo
+ // 42 1984.08 Hellow Gateball // not a typo, this is official spelling
+ // 43 1984.08 Yellow Cab
+cbdash // 44 1985.08 Boulder Dash
+ // UX7 1984.12 Tokyo Mie Shinryoujo
+ // UX8 1985.01 Tokyo Mie Shinryoujo Part 2
+ // UX9 1985.05 Geinoujin Shikaku Shiken
+
+// Data East LD games
+begas // (c) 1983
+begas1 // (c) 1983
+cobra // (c) 1984
+rblaster // (c) 1985
+
+// other Data East games
+madalien // (c) 1980
+madaliena // (c) 1980
+astrof // (c) [1980?]
+astrof2 // (c) [1980?]
+astrof3 // (c) [1980?]
+abattle // Sidam
+abattle2 // Sidam
+afire // Rene Pierre
+acombat // bootleg
+acombato // bootleg
+sstarbtl // bootleg
+spfghmk2 // (c) [1979] Data East Corporation
+spfghmk22 // (c) [1979] Data East Corporation
+tomahawk // (c) 1980 Data East, Inc.
+tomahawk1 // (c) 1980 Data East, Inc.
+progolf // (c) 1981
+progolfa // (c) 1981
+deshoros // (c) 1983
+prosoccr // (c) 1983
+prosport // (c) 1983
+prosporta // (c) 1983
+boomrang // (c) 1983
+boomranga // (c) 1983
+kamikcab // (c) 1984
+yellowcbj // (c) 1984
+yellowcbb // bootleg
+liberate // (c) 1984 Data East Corporation
+dualaslt // (c) 1984 Data East USA (US)
+liberateb // bootleg
+bwings // (c) 1984
+bwingso // (c) 1984
+bwingsa // (c) 1984
+zaviga // (c)
+zavigaj // (c)
+kchamp // (c) 1984 Data East USA (US)
+karatedo // (c) 1984 Data East Corporation (Japan)
+kchampvs // (c) 1984 Data East USA (US)
+kchampvs2 // (c) 1984 Data East USA (US)
+karatevs // (c) 1984 Data East Corporation (Japan)
+compgolf // (c) 1985 Data East Corporation (Japan)
+compgolfo // (c) 1985 Data East Corporation (Japan)
+cntsteer // (c) 1985 Data East Corporation
+zerotrgt // (c) 1985 Data East Corporation
+zerotrgta // (c) 1985 Data East Corporation
+gekitsui // (c) 1985 Data East Corporation (Japan)
+tryout // (c) 1985 Data East Corporation (Japan)
+firetrap // (c) 1986 Data East USA (US)
+firetrapj // (c) 1986 Wood Place Inc. (Japan)
+firetrapbl // bootleg
+metlclsh // (c) 1985 Data East
+chanbara // (c) 1985 Data East
+brkthru // (c) 1986 Data East USA (US)
+brkthruj // (c) 1986 Data East Corporation (Japan)
+forcebrk // (c) 1986 Data East Corporation (Japan)
+darwin // (c) 1986 Data East Corporation (Japan)
+shootout // (c) 1985 Data East USA (US)
+shootoutj // (c) 1985 Data East USA (Japan)
+shootoutb // bootleg
+sidepckt // (c) 1986 Data East Corporation
+sidepcktj // (c) 1986 Data East Corporation
+sidepcktb // bootleg
+exprraid // (c) 1986 Data East USA (US)
+exprraida // (c) 1986 Data East USA (US)
+wexpress // (c) 1986 Data East Corporation (World?)
+wexpressb // bootleg
+wexpressb2 // bootleg
+pcktgal // (c) 1987 Data East Corporation (Japan)
+pcktgalb // bootleg
+pcktgal2 // (c) 1989 Data East Corporation (World?)
+pcktgal2j // (c) 1989 Data East Corporation (World?)
+pokechmp // Korean hack of Pocket Gal
+spool3 // (c) 1989 Data East Corporation (World?)
+spool3i // (c) 1990 Data East Corporation + I-Vics license
+battlera // (c) 1988 Data East Corporation (World)
+bldwolf // (c) 1988 Data East USA (US)
+bldwolfj // (c) 1988 Data East Corporation (Japan)
+actfancr // (c) 1989 Data East Corporation (World)
+actfancr1 // (c) 1989 Data East Corporation (World)
+actfancrj // (c) 1989 Data East Corporation (Japan)
+triothep // (c) 1989 Data East Corporation (World)
+triothepj // (c) 1989 Data East Corporation (Japan)
+
+// Data East 8-bit games
+lastmisn // (c) 1986 Data East USA (US)
+lastmisno // (c) 1986 Data East USA (US)
+lastmisnj // (c) 1986 Data East Corporation (Japan)
+shackled // (c) 1986 Data East USA (US)
+breywood // (c) 1986 Data East Corporation (Japan)
+csilver // (c) 1987 Data East Corporation (Japan)
+csilverj // (c) 1987 Data East Corporation (Japan)
+ghostb // (c) 1987 Data East USA (US)
+ghostb3 // (c) 1987 Data East USA (US)
+meikyuh // (c) 1987 Data East Corporation (Japan)
+meikyuha // (c) 1987 Data East Corporation (Japan)
+srdarwin // (c) 1987 Data East Corporation (World)
+srdarwinj // (c) 1987 Data East Corporation (Japan)
+gondo // (c) 1987 Data East USA (US)
+makyosen // (c) 1987 Data East Corporation (Japan)
+garyoret // (c) 1987 Data East Corporation (Japan)
+cobracom // (c) 1988 Data East Corporation (World)
+cobracomj // (c) 1988 Data East Corporation (Japan)
+oscar // (c) 1988 Data East Corporation (World)
+oscaru // (c) 1987 Data East USA (US)
+oscarj1 // (c) 1987 Data East Corporation (Japan)
+oscarj2 // (c) 1987 Data East Corporation (Japan)
+
+// Data East 16-bit games
+karnov // (c) 1987 Data East USA (US)
+karnovj // (c) 1987 Data East Corporation (Japan)
+wndrplnt // (c) 1987 Data East Corporation (Japan)
+chelnov // (c) 1988 Data East USA (World)
+chelnovu // (c) 1988 Data East USA (US)
+chelnovj // (c) 1988 Data East Corporation (Japan)
+ // the following ones all run on similar hardware
+hbarrel // (c) 1987 Data East USA (US)
+hbarrelw // (c) 1987 Data East Corporation (World)
+baddudes // EI (c) 1988 Data East USA (US)
+drgninja // EG (c) 1988 Data East Corporation (Japan)
+birdtry // (c) 1988 Data East Corporation (Japan)
+robocop // EP? (c) 1988 Data East Corporation (World)
+robocopw // EP? (c) 1988 Data East Corporation (World)
+robocopj // EM (c) 1988 Data East Corporation (Japan)
+robocopu // (c) 1988 Data East USA (US)
+robocopu0 // (c) 1988 Data East USA (US)
+robocopb // bootleg
+automat // bootleg
+hippodrm // EW (c) 1989 Data East USA (US)
+ffantasy // EV (c) 1989 Data East Corporation (Japan)
+ffantasya // EV (c) 1989 Data East Corporation (Japan)
+ffantasybl // bootleg
+slyspy // (c) 1989 Data East USA (US)
+slyspy2 // (c) 1989 Data East USA (US)
+secretag // (c) 1989 Data East Corporation (World)
+secretab // bootleg
+midres // (c) 1989 Data East Corporation (World)
+midresu // (c) 1989 Data East USA (US)
+midresj // (c) 1989 Data East Corporation (Japan)
+midresb // (c) 1989 Data East Corporation (Japan)
+bouldash // (c) 1990 Data East Corporation (World)
+bouldashj // (c) 1990 Data East Corporation (Japan)
+ // end of similar hardware
+stadhero // (c) 1988 Data East Corporation (Japan)
+madmotor // (c) [1989] Mitchell
+ // All these games have a unique code stamped on the mask roms
+vaportra // MAA (c) 1989 Data East Corporation (World)
+vaportra3 // MAA (c) 1989 Data East Corporation (World)
+vaportrau // MAA (c) 1989 Data East Corporation (US)
+kuhga // MAA (c) 1989 Data East Corporation (Japan)
+cbuster // MAB (c) 1990 Data East Corporation (World)
+cbusterw // MAB (c) 1990 Data East Corporation (World)
+cbusterj // MAB (c) 1990 Data East Corporation (Japan)
+twocrude // MAB (c) 1990 Data East USA (US)
+darkseal // MAC (c) 1990 Data East Corporation (World)
+darkseal1 // MAC (c) 1990 Data East Corporation (World)
+darksealj // MAC (c) 1990 Data East Corporation (Japan)
+gatedoom // MAC (c) 1990 Data East Corporation (US)
+gatedoom1 // MAC (c) 1990 Data East Corporation (US)
+edrandy // MAD (c) 1990 Data East Corporation (World)
+edrandy2 // MAD (c) 1990 Data East Corporation (World)
+edrandy1 // MAD (c) 1990 Data East Corporation (World)
+edrandyj // MAD (c) 1990 Data East Corporation (Japan)
+supbtime // MAE (c) 1990 Data East Corporation (World)
+supbtimea // MAE (c) 1990 Data East Corporation (World)
+supbtimej // MAE (c) 1990 Data East Corporation (Japan)
+mutantf // MAF (c) 1992 Data East Corporation (World)
+mutantf4 // MAF (c) 1992 Data East Corporation (World)
+mutantf3 // MAF (c) 1992 Data East Corporation (World)
+deathbrd // MAF (c) 1992 Data East Corporation (Japan)
+cninja // MAG (c) 1991 Data East Corporation (World)
+cninja1 // MAG (c) 1991 Data East Corporation (World)
+cninjau // MAG (c) 1991 Data East Corporation (US)
+joemac // MAG (c) 1991 Data East Corporation (Japan)
+cninjabl // bootleg
+stoneage // bootleg
+robocop2 // MAH (c) 1991 Data East Corporation (World)
+robocop2u // MAH (c) 1991 Data East Corporation (US)
+robocop2j // MAH (c) 1991 Data East Corporation (Japan)
+thndzone // MAJ (c) 1991 Data East Corporation (World)
+dassault // MAJ (c) 1991 Data East Corporation (US)
+dassault4 // MAJ (c) 1991 Data East Corporation (US)
+chinatwn // MAK (c) 1991 Data East Corporation (Japan)
+rohga // MAM (c) 1991 Data East Corporation (Asia/Euro)
+rohga1 // MAM (c) 1991 Data East Corporation (Asia/Euro)
+rohga2 // MAM (c) 1991 Data East Corporation (Asia/Euro)
+rohgah // MAM (c) 1991 Data East Corporation (Hong Kong)
+rohgau // MAM (c) 1991 Data East Corporation (US)
+wolffang // MAM (c) 1991 Data East Corporation (Japan)
+schmeisr // (c) 1993 Hot B
+captaven // MAN (c) 1991 Data East Corporation (Asia)
+captavena // MAN (c) 1991 Data East Corporation (Asia)
+captavene // MAN (c) 1991 Data East Corporation (UK)
+captavenu // MAN (c) 1991 Data East Corporation (US)
+captavenuu // MAN (c) 1991 Data East Corporation (US)
+captavenua // MAN (c) 1991 Data East Corporation (US)
+captavenj // MAN (c) 1991 Data East Corporation (Japan)
+ // MAO ??
+tumblep // MAP (c) 1991 Data East Corporation (World)
+tumblepj // MAP (c) 1991 Data East Corporation (Japan)
+tumbleb // bootleg
+tumbleb2 // bootleg
+jumpkids // (c) 1993 Comad
+jumppop // (c) 2001 ESD
+pangpang // (c) 1994 Dong Gue La Mi Ltd.
+sdfight // (c) 1996 SemiCom
+wlstar // (c) 1995 Mijin
+wondl96 // (c) 1996 SemiCom
+fncywld // (c) 1996 Unico
+htchctch // (c) 1995 SemiCom
+cookbib // (c) 1995 SemiCom
+chokchok // (c) 1995 SemiCom
+metlsavr // (c) 1994
+bcstry // (c) 1997 SemiCom
+bcstrya // (c) 1997 SemiCom
+semibase // (c) 1997 SemiCom
+dquizgo // (c) 1998 SemiCom
+suprtrio // (c) 1994 GameAce
+lemmings // prototype (c) 1991 Data East USA (US)
+ // MAQ ??
+dragngun // MAR (c) 1992 Data East Corporation (US)
+wizdfire // MAS (c) 1992 Data East Corporation (Over Sea)
+wizdfireu // MAS (c) 1992 Data East Corporation (US)
+darkseal2 // MAS (c) 1992 Data East Corporation (Japan)
+funkyjet // MAT (c) 1992 Mitchell
+funkyjetj // MAT (c) 1992 Mitchell
+ // MAU ??
+nitrobal // MAV (c) 1992 Data East Corporation (US)
+gunball // MAV (c) 1992 Data East Corporation (Japan)
+ // MAW ??
+ // MAX ??
+dietgo // MAY (c) 1993
+dietgoe // MAY (c) 1993
+dietgou // MAY (c) 1993
+dietgoj // MAY (c) 1993
+pktgaldx // MAZ (c) 1993 Data East (Euro v3.00)
+pktgaldxj // MAZ (c) 1993
+pktgaldxb // bootleg
+ // MBA ??
+ // MBB ??
+ // MBC ??
+boogwing // MBD (c) 1992 (Euro)
+boogwinga // MBD (c) 1992 (Asia)
+ragtime // MBD (c) 1992 (Japan)
+ragtimea // MBD (c) 1992 (Japan)
+dblewing // MBE (c) 1993 Mitchell
+fghthist // MBF (c) 1993 Data East Corporation (World)
+fghthistu // MBF (c) 1993 Data East Corporation (US)
+fghthista // MBF (c) 1993 Data East Corporation (US)
+fghthistj // MBF (c) 1993 Data East Corporation (Japan)
+hvysmsh // MBG (c) 1993 Data East Corporation (World)
+hvysmsha // MBG (c) 1993 Data East Corporation (Asia)
+hvysmshj // MBG (c) 1993 Data East Corporation (Japan)
+nslasher // MBH (c) 1993 Data East Corporation
+nslasherj // MBH (c) 1993 Data East Corporation (Japan)
+nslashers // MBH (c) 1993 Data East Corporation (Japan)
+ // MBI ??
+ // MBJ ??
+ // MBK ??
+ // MBL ??
+lockload // MBM (c) 1994 Data East Corporation (US)
+lockloadu // MBM (c) 1994 Data East Corporation (US)
+joemacr // MBN (c) 1994
+joemacra // MBN (c) 1994
+ // MBO ??
+ // MBP ??
+ // MBQ ??
+tattass // prototype (c) 1994 Data East Pinball (US)
+tattassa // prototype (c) 1994 Data East Pinball (Asia)
+charlien // MBR (c) 1994 Mitchell
+ // MBS ??
+ // MBT ??
+ // MBU ??
+ // MBV ??
+ // MBW ??
+wcvol95 // MBX (c) 1993 Data East
+ // MBY ??
+backfire // MBZ (c) 1995
+backfirea // MBZ (c) 1995
+ // MCA ??
+prtytime // MCB (c) 1995 Mitchell
+gangonta // MCB (c) 1995 Mitchell
+chainrec // MCC (c) 1994
+magdrop // MCC (c) 1995 Data East
+magdropp // MCC (c) 1995 Data East
+ // MCD ??
+// MCE Dunk Dream 95/Hoops96 See MLC games below
+osman // MCF (c) 1996 Mitchell
+candance // MCF (c) 1996 Mitchell
+sotsugyo // (c) 1995 Mitchell (Atlus license)
+sshangha // (c) 1992 Hot-B
+sshanghab // bootleg
+
+// Data East MLC Games
+hoops96 // MCE (c) 1996 Data East Corporation
+ddream95 // MCE (c) 1996 Data East Corporation
+hoops95 // MCE (c) 1996 Data East Corporation
+avengrgs // MCG (c) 1995 Data East Corporation (World)
+avengrgsj // MCG (c) 1995 Data East Corporation (Japan)
+skullfng // MCH (c) 1996 Data East Corporation (World)
+skullfngj // MCH (c) 1996 Data East Corporation (Japan)
+stadhr96 // MCM (c) 1996 Data East
+stadhr96j // MCM (c) 1996 Data East
+
+// Tehkan / Tecmo games (Tehkan became Tecmo in 1986)
+senjyo // (c) 1983 Tehkan
+starforc // (c) 1984 Tehkan
+starforce // (c) 1984 Tehkan
+starforcb // (c) 1984 Tehkan
+starforca // (c) 1984 Tehkan
+megaforc // (c) 1985 Tehkan + Video Ware license
+baluba // (c) 1986 Able Corp.
+bombjack // (c) 1984 Tehkan
+bombjack2 // (c) 1984 Tehkan
+pbaction // (c) 1985 Tehkan
+pbaction2 // (c) 1985 Tehkan
+pbaction3 // (c) 1985 Tehkan
+pbaction4 // (c) 1985 Tehkan
+pbaction5 // (c) 1985 Tehkan
+ // 6009 Tank Busters
+ponttehk // 6011 - (c) 1985 Tehkan
+lvpoker // ???? - (c) 1985 Tehkan
+lvcards // (c) 1985 Tehkan
+tehkanwc // (c) 1985 Tehkan
+tehkanwcb // bootleg
+tehkanwcc // bootleg
+gridiron // (c) 1985 Tehkan
+teedoff // 6102 - (c) 1986 Tecmo
+solomon // (c) 1986 Tecmo
+solomonj // (c) 1986 Tecmo
+rygar // 6002 - (c) 1986 Tecmo
+rygar2 // 6002 - (c) 1986 Tecmo
+rygar3 // 6002 - (c) 1986 Tecmo
+rygarj // 6002 - (c) 1986 Tecmo
+gemini // (c) 1987 Tecmo
+silkworm // 6217 - (c) 1988 Tecmo
+silkworm2 // 6217 - (c) 1988 Tecmo
+backfirt // bootleg [(c) 1988 Tecmo]
+tbowl // 6206 - (c) 1987 Tecmo
+tbowlj // 6206 - (c) 1987 Tecmo
+shadoww // 6215 - (c) 1988 Tecmo (World)
+shadowwa // 6215 - (c) 1988 Tecmo (World)
+gaiden // 6215 - (c) 1988 Tecmo (US)
+ryukendn // 6215 - (c) 1989 Tecmo (Japan)
+ryukendna // 6215 - (c) 1989 Tecmo (Japan)
+mastninj // bootleg
+wildfang // (c) 1989 Tecmo
+wildfangs // (c) 1989 Tecmo
+tknight // (c) 1989 Tecmo
+stratof // (c) 1991 Tecmo
+raiga // (c) 1991 Tecmo
+drgnbowl // (c) 1992 Nics
+wc90 // (c) 1989 Tecmo
+wc90a // (c) 1989 Tecmo
+wc90b // (c) 1989 Tecmo
+wc90t // (c) 1989 Tecmo
+wc90b1 // bootleg
+wc90b2 // bootleg
+spbactn // 9002 - (c) 1991 Tecmo
+spbactnj // 9002 - (c) 1991 Tecmo
+fstarfrc // (c) 1992 Tecmo
+fstarfrcj // (c) 1992 Tecmo
+ginkun // (c) 1995 Tecmo
+deroon // (c) 1996 Tecmo
+tkdensho // (c) 1996 Tecmo
+tkdenshoa // (c) 1996 Tecmo
+
+// Konami bitmap games
+tutankhm // GX350 (c) 1982 Konami
+tutankhms // GX350 (c) 1982 Stern
+junofrst // GX310 (c) 1983 Konami
+junofrstg // GX310 (c) 1983 Konami + Gottlieb license
+
+// Konami games
+pooyan // GX320 (c) 1982
+pooyans // GX320 (c) 1982 Stern
+pootan // bootleg
+timeplt // GX393 (c) 1982
+timepltc // GX393 (c) 1982 + Centuri license
+timeplta // GX393 (c) 1982 + Atari license
+spaceplt // bootleg
+psurge // (c) 1988 unknown (NOT Konami)
+megazone // GX319 (c) 1983
+megazonea // GX319 (c) 1983
+megazoneb // GX319 (c) 1983 + Kosuka
+megazonec // GX319 (c) 1983 + Kosuka
+megazonei // GX319 (c) 1983 + Interlogic / Kosuka
+pandoras // GX328 (c) 1984 + Interlogic
+gyruss // GX347 (c) 1983
+gyrussce // GX347 (c) 1983 + Centuri license
+gyrussb // bootleg or actual Taito NZ license?
+venus // bootleg
+trackfld // GX361 (c) 1983
+trackfldc // GX361 (c) 1983 + Centuri license
+trackfldnz // (c) 1982 Goldberg Enterprizes Inc.
+hyprolym // GX361 (c) 1983
+hyprolymb // bootleg
+atlantol // bootleg
+wizzquiz // (c) 1985 Konami
+wizzquiza // (c) 1985 Zilec-Zenitone
+reaktor // (c) 1985 Zilec
+mastkin // (c) 1988 Du Tech
+rocnrope // GX364 (c) 1983
+rocnropek // GX364 (c) 1983 + Kosuka
+ropeman // (c) 1983 bootleg
+circusc // GX380 (c) 1984
+circusc2 // GX380 (c) 1984
+circusc3 // GX380 (c) 1984
+circuscc // GX380 (c) 1984 + Centuri license
+circusce // GX380 (c) 1984 + Centuri license
+tp84 // GX388 (c) 1984
+tp84a // GX388 (c) 1984
+tp84b // GX388 (c) 1984
+hyperspt // GX330 (c) 1984 + Centuri
+hypersptb // bootleg
+hpolym84 // GX330 (c) 1984
+sbasketb // GX405 (c) 1984 (Version I, Encrypted)
+sbasketh // GX405 (c) 1984 (Version H, Unprotected)
+sbasketg // GX405 (c) 1984 (Version G, Encrypted)
+sbaskete // GX405 (c) 1984 (Version E, Encrypted)
+mikie // GX469 (c) 1984
+mikiej // GX469 (c) 1984
+mikiehs // GX469 (c) 1984
+roadf // GX461 (c) 1984
+roadf2 // GX461 (c) 1984
+yiear // GX407 (c) 1985
+yiear2 // GX407 (c) 1985
+yieartf // GX361 (c) 1985
+kicker // GX477 (c) 1985
+shaolins // GX477 (c) 1985
+shaolinb // bootleg
+pingpong // GX555 (c) 1985
+merlinmm // (c) 1986 Zilec-Zenitone
+cashquiz // (c) 1986 Zilec-Zenitone
+gberet // GX577 (c) 1985
+rushatck // GX577 (c) 1985
+gberetb // bootleg on different hardware
+mrgoemon // GX621 (c) 1986 (Japan)
+jailbrek // GX507 (c) 1986
+manhatan // GX507 (c) 1986 (Japan)
+jailbrekb // bootleg
+scotrsht // GX545 (c) 1985
+finalizr // GX523 (c) 1985
+finalizrb // bootleg
+ironhors // GX560 (c) 1986
+dairesya // GX560 (c) 1986 (Japan)
+farwest // bootleg
+jackal // GX631 (c) 1986 (World)
+topgunr // GX631 (c) 1986 (US)
+jackalj // GX631 (c) 1986 (Japan)
+topgunbl // bootleg
+ddribble // GX690 (c) 1986
+ddribblep // GX690 (c) 1986
+contra // GX633 (c) 1987
+contra1 // GX633 (c) 1987
+contrab // bootleg
+contraj // GX633 (c) 1987 (Japan)
+contrajb // bootleg
+gryzor // GX633 (c) 1987
+gryzora // GX633 (c) 1987
+combatsc // GX611 (c) 1988
+combatsct // GX611 (c) 1987
+combatscj // GX611 (c) 1987 (Japan)
+bootcamp // GX611 (c) 1987
+combatscb // bootleg
+rockrage // GX620 (c) 1986 (World?)
+rockragea // GX620 (c) 1986 (Prototype?)
+rockragej // GX620 (c) 1986 (Japan)
+mx5000 // GX669 (c) 1987
+flkatck // GX669 (c) 1987 (Japan)
+fastlane // GX752 (c) 1987
+tricktrp // GX771 (c) 1987
+labyrunr // GX771 (c) 1987 (Japan)
+labyrunrk // GX771 (c) 1987 (Japan)
+thehustl // GX765 (c) 1987 (Japan)
+thehustlj // GX765 (c) 1987 (Japan)
+rackemup // GX765 (c) 1987
+battlnts // GX777 (c) 1987
+battlntsj // GX777 (c) 1987 (Japan)
+bladestl // GX797 (c) 1987
+bladestll // GX797 (c) 1987
+bladestle // GX797 (c) 1987
+hcastle // GX768 (c) 1988
+hcastleo // GX768 (c) 1988
+hcastlej // GX768 (c) 1988 (Japan)
+hcastljo // GX768 (c) 1988 (Japan)
+ajax // GX770 (c) 1987
+typhoon // GX770 (c) 1987
+ajaxj // GX770 (c) 1987 (Japan)
+scontra // GX775 (c) 1988
+scontraj // GX775 (c) 1988 (Japan)
+thunderx // GX873 (c) 1988
+thunderxa // GX873 (c) 1988
+thunderxb // GX873 (c) 1988
+thunderxj // GX873 (c) 1988 (Japan)
+mainevt // GX799 (c) 1988
+mainevto // GX799 (c) 1988
+mainevt2p // GX799 (c) 1988
+ringohja // GX799 (c) 1988 (Japan)
+devstors // GX890 (c) 1988
+devstors2 // GX890 (c) 1988
+devstors3 // GX890 (c) 1988
+garuka // GX890 (c) 1988 (Japan)
+88games // GX861 (c) 1988
+konami88 // GX861 (c) 1988
+hypsptsp // GX861 (c) 1988 (Japan)
+gbusters // GX878 (c) 1988
+gbustersa // GX878 (c) 1988
+crazycop // GX878 (c) 1988 (Japan)
+crimfght // GX821 (c) 1989 (US)
+crimfght2 // GX821 (c) 1989 (World)
+crimfghtj // GX821 (c) 1989 (Japan)
+spy // GX857 (c) 1989 (World)
+spyu // GX857 (c) 1989 (US)
+bottom9 // GX891 (c) 1989
+bottom9n // GX891 (c) 1989
+mstadium // GX891 (c) 1989 (Japan)
+blockhl // GX973 (c) 1989
+quarth // GX973 (c) 1989 (Japan)
+aliens // GX875 (c) 1990 (World)
+aliens2 // GX875 (c) 1990 (World)
+aliens3 // GX875 (c) 1990 (World)
+aliensu // GX875 (c) 1990 (US)
+aliensj // GX875 (c) 1990 (Japan)
+aliensj2 // GX875 (c) 1990 (Japan)
+aliensa // GX875 (c) 1990 (Asia)
+suratk // GX911 (c) 1990 (World)
+suratka // GX911 (c) 1990 (Asia)
+suratkj // GX911 (c) 1990 (Japan)
+parodius // GX955 (c) 1990 (World)
+parodiusa // GX955 (c) 1990 (World)
+parodiusj // GX955 (c) 1990 (Japan)
+rollerg // GX999 (c) 1991 (US)
+rollergj // GX999 (c) 1991 (Japan)
+simpsons // GX072 (c) 1991
+simpsons4pa // GX072 (c) 1991
+simpsons2p // GX072 (c) 1991
+simpsons2p2 // GX072 (c) 1991
+simpsons2pa // GX072 (c) 1991 (Asia)
+simpsons2pj // GX072 (c) 1991 (Japan)
+esckids // GX975 (c) 1991 (Asia)
+esckidsj // GX975 (c) 1991 (Japan)
+vendetta // GX081 (c) 1991 (World)
+vendettar // GX081 (c) 1991 (World)
+vendetta2p // GX081 (c) 1991 (World)
+vendetta2pu // GX081 (c) 1991 (Asia)
+vendetta2pd // GX081 (c) 1991 (Asia)
+vendettaj // GX081 (c) 1991 (Japan)
+mogura // GX141 (c) 1991
+wecleman // GX602 (c) 1986
+hotchase // GX763 (c) 1988
+chqflag // GX717 (c) 1988
+chqflagj // GX717 (c) 1988 (Japan)
+ultraman // GX910 (c) 1991 Banpresto/Bandai
+hexion // GX122 (c) 1992
+lethalen // GX191 (c) 1992
+lethalenua // GX191 (c) 1992
+lethalenux // GX191 (c) 1992
+lethaleneab // GX191 (c) 1992
+lethaleneae // GX191 (c) 1992
+lethalenj // GX191 (c) 1992
+tgtpanic // GX601 (c) 1996
+
+// Konami "Nemesis hardware" games
+nemesis // GX456 (c) 1985
+nemesisuk // GX456 (c) 1985
+konamigt // GX561 (c) 1985
+salamand // GX587 (c) 1986
+salamandj // GX587 (c) 1986
+lifefrce // GX587 (c) 1986 (US)
+lifefrcej // GX587 (c) 1986 (Japan)
+blkpnthr // GX604 (c) 1987 (Japan)
+citybomb // GX787 (c) 1987 (World)
+citybombj // GX787 (c) 1987 (Japan)
+kittenk // GX712 (c) 1988
+nyanpani // GX712 (c) 1988 (Japan)
+hcrash // GX790 (c) 1987
+hcrashc // GX790 (c) 1987
+
+// GX400 BIOS based games
+rf2 // GX561 (c) 1985
+twinbee // GX412 (c) 1985
+gradius // GX456 (c) 1985
+gwarrior // GX578 (c) 1985
+
+// Konami "Twin 16" games
+devilw // GX687 (c) 1987
+darkadv // GX687 (c) 1987
+majuu // GX687 (c) 1987 (Japan)
+vulcan // GX785 (c) 1988
+vulcana // GX785 (c) 1988
+vulcanb // GX785 (c) 1988
+gradius2 // GX785 (c) 1988 (Japan)
+gradius2a // GX785 (c) 1988 (Japan)
+gradius2b // GX785 (c) 1988 (Japan)
+cuebrickj // GX903 (c) 1989 (Japan)
+fround // GX870 (c) 1988
+froundl // GX870 (c) 1988
+hpuncher // GX870 (c) 1988 (Japan)
+miaj // GX808 (c) 1989 (Japan)
+
+// (some) Konami 68000 games
+cuebrick // GX903 (c) 1989
+mia // GX808 (c) 1989
+mia2 // GX808 (c) 1989
+tmnt // GX963 (c) 1989 (World)
+tmntu // GX963 (c) 1989 (US)
+tmntua // GX963 (c) 1989 (US)
+tmht // GX963 (c) 1989 (UK)
+tmhta // GX963 (c) 1989 (UK)
+tmntj // GX963 (c) 1990 (Japan)
+tmht2p // GX963 (c) 1989 (UK)
+tmht2pa // GX963 (c) 1989 (UK)
+tmnt2pj // GX963 (c) 1990 (Japan)
+tmnt2po // GX963 (c) 1989 (Oceania)
+punkshot // GX907 (c) 1990 (US)
+punkshot2 // GX907 (c) 1990 (US)
+punkshotj // GX907 (c) 1990 (Japan)
+lgtnfght // GX939 (c) 1990 (World)
+lgtnfghta // GX939 (c) 1990 (Asia)
+lgtnfghtu // GX939 (c) 1990 (US)
+trigon // GX939 (c) 1990 (Japan)
+blswhstl // GX060 (c) 1991
+detatwin // GX060 (c) 1991 (Japan)
+glfgreat // GX061 (c) 1991
+glfgreatj // GX061 (c) 1991 (Japan)
+tmnt2 // GX063 (c) 1991 (US)
+tmnt2a // GX063 (c) 1991 (Asia)
+tmht22pe // GX063 (c) 1991 (UK)
+tmnt22pu // GX063 (c) 1991 (US)
+ssriders // GX064 (c) 1991 (World)
+ssridersebd // GX064 (c) 1991 (World)
+ssridersebc // GX064 (c) 1991 (World)
+ssridersuda // GX064 (c) 1991 (US)
+ssriderseaa // GX064 (c) 1991 (US)
+ssridersuac // GX064 (c) 1991 (US)
+ssridersubc // GX064 (c) 1991 (US)
+ssridersabd // GX064 (c) 1991 (Asia)
+ssridersadd // GX064 (c) 1991 (Asia)
+ssridersjbd // GX064 (c) 1991 (Japan)
+ssridersb // bootleg
+ssriders2 // bootleg
+xmen // GX065 (c) 1992 (US)
+xmenj // GX065 (c) 1992 (Japan)
+xmene // GX065 (c) 1992 (Europe)
+xmen2pe // GX065 (c) 1992 (World)
+xmen2pa // GX065 (c) 1992 (Asia)
+xmen2pj // GX065 (c) 1992 (Japan)
+xmen6p // GX065 (c) 1992
+xmen6pu // GX065 (c) 1992
+xexex // GX067 (c) 1991 (World)
+xexexa // GX067 (c) 1991 (AAA)
+xexexj // GX067 (c) 1991 (Japan)
+asterix // GX068 (c) 1992 (World)
+asterixeac // GX068 (c) 1992 (World)
+asterixeaa // GX068 (c) 1992 (World)
+asterixaad // GX068 (c) 1992 (Asia)
+asterixj // GX068 (c) 1992 (Japan)
+gijoe // GX069 (c) 1991 (World)
+gijoea // GX069 (c) 1991 (World)
+gijoeu // GX069 (c) 1991 (US)
+gijoej // GX069 (c) 1991 (Japan)
+thndrx2 // GX073 (c) 1991 (World)
+thndrx2a // GX073 (c) 1991 (Asia)
+thndrx2j // GX073 (c) 1991 (Japan)
+prmrsocr // GX101 (c) 1993 (Europe)
+prmrsocrj // GX101 (c) 1993 (Japan)
+qgakumon // GX248 (c) 1993 (Japan)
+moomesa // GX151 (c) 1992 (World)
+moomesau // GX151 (c) 1992 (US)
+moomesaua // GX151 (c) 1992 (US)
+moomesaa // GX151 (c) 1992 (Asia)
+moomesabl // bootleg
+bucky // GX173 (c) 1992 (World)
+buckyua // GX173 (c) 1992 (US)
+buckyaa // GX173 (c) 1992 (Asia)
+gaiapols // GX123 (c) 1993 (Europe)
+gaiapolsu // GX123 (c) 1993 (US)
+gaiapolsj // GX123 (c) 1993 (Japan)
+mystwarr // GX128 (c) 1993 (World)
+mystwarru // GX128 (c) 1993 (US)
+mystwarrj // GX128 (c) 1993 (Japan)
+mystwarra // GX128 (c) 1993 (Asia)
+viostorm // GX168 (c) 1993 (Europe)
+viostormu // GX168 (c) 1993 (US)
+viostormub // GX168 (c) 1993 (US)
+viostormj // GX168 (c) 1993 (Japan)
+viostorma // GX168 (c) 1993 (Asia)
+viostormab // GX168 (c) 1993 (Asia)
+mmaulers // GX170 (c) 1993 (Europe)
+dadandrn // GX170 (c) 1993 (Japan)
+metamrph // GX224 (c) 1993 (Europe)
+metamrphu // GX224 (c) 1993 (US)
+metamrphj // GX224 (c) 1993 (Japan)
+mtlchamp // GX234 (c) 1993 (World)
+mtlchamp1 // GX234 (c) 1993 (World)
+mtlchampu // GX234 (c) 1993 (US)
+mtlchampj // GX234 (c) 1993 (Japan)
+mtlchampa // GX234 (c) 1993 (Japan)
+rungun // GX247 (c) 1993 (World)
+runguna // GX247 (c) 1993 (World)
+rungunu // GX247 (c) 1993 (US)
+rungunua // GX247 (c) 1993 (US)
+slmdunkj // GX247 (c) 1993 (Japan)
+dbz // (c) 1993 Banpresto
+dbz2 // (c) 1994 Banpresto
+bishi // GX575 (c) 1996 (Japan)
+sbishi // GX675 (c) 1998 (Japan)
+sbishik // GX675 (c) 1998 (Korea)
+
+// Konami dual 68000 games
+overdriv // GX789 (c) 1990
+gradius3 // GX945 (c) 1989 (Japan)
+gradius3a // GX945 (c) 1989 (Asia)
+gradius3e // GX945 (c) 1989 (World?)
+
+// Konami 68020 games
+plygonet // GX305 (c) 1993
+polynetw // GX305 too? (c) 1993
+
+// Konami System GX games
+konamigx
+
+// GX Type 1
+racinfrc // 1994.?? GX250 (Europe)
+racinfrcu // 1994.03 GX250 (US)
+ // 1994.02 (Japan)
+opengolf // 1994.?? GX218 (Europe)
+opengolf2 // 1994.?? GX218 (Europe)
+ggreats2 // 1994.03 GX218 (Japan)
+ // 1995.03 GX218 (US)
+
+// GX Type 2
+le2 // 1994.?? GX312 (Europe)
+le2u // 1994.04 GX312 (US)
+le2j // 1994.06 GX312 (Japan)
+puzldama // 1994.07 GX315 (Japan)
+gokuparo // 1994.04 GX321 (Japan)
+fantjour // 1994.?? GX321 (Euro)
+fantjoura // 1994.?? GX321 (Asia)
+dragoona // 1995.?? GX417 (Asia)
+dragoonj // 1995.08 GX417 (Japan)
+tbyahhoo // 1995.04 GX424 (Japan)
+tkmmpzdm // 1995.12 GX515 (Japan)
+salmndr2 // 1996.01 GX521 (Japan)
+salmndr2a // 1996.?? GX521 (Asia)
+sexyparo // 1996.02 GX533 (Japan)
+sexyparoa // 1996.02 GX533 (Asia)
+daiskiss // 1996.03 GX535 (Japan)
+tokkae // 1996.10 GX615 (Japan)
+winspike // 1997.?? GX705 (Europe)
+winspikej // 1997.07 GX705 (Japan)
+
+// GX Type 3
+soccerss // 1994.?? GX427 (Europe)
+soccerssj // 1994.12 GX427 (Japan)
+soccerssja // 1994.12 GX427 (Japan)
+soccerssa // 1994.?? GX427 (Asia)
+ // 1995.04 GX427 (US)
+
+// GX Type 4
+vsnetscr // 1996.?? GX627 (Europe)
+vsnetscreb // 1996.?? GX627 (Europe)
+vsnetscru // 1996.?? GX627 (US)
+vsnetscra // 1996.?? GX627 (Asia)
+vsnetscrj // 1996.12 GX627 (Japan)
+rungun2 // 1996.03 GX505 (US)
+slamdnk2 // 1996.03 GX505 (Japan)
+rushhero // 1997.10 GX605 (US)
+
+// 68k + HD
+qdrmfgp // 1994.12 GQ460 (Japan)
+qdrmfgp2 // 1995.09 GE557 (Japan)
+
+// 68000-based gambling games
+kingtut
+moneybnk
+
+// DJ Main
+bm1stmix // GQ753 (c) 1997 (Japan)
+bm2ndmix // GX853 (c) 1998 (Japan)
+bm2ndmxa // GX853 (c) 1998 (Japan)
+bm3rdmix // GX853 (c) 1998 (Japan)
+//bm3rdmxb // GX853 (c) 1998 (Japan)
+bmcompmx // GX858 (c) 1999 (Japan)
+hmcompmx // GX858 (c) 1999
+bm4thmix // GX847 (c) 1999 (Japan)
+bm5thmix // GX981 (c) 1999 (Japan)
+bmclubmx // GX993 (c) 2000 (Japan)
+bmcorerm // GXA05 (c) 1999 (Japan)
+bmdct // GX995 (c) 2000 (Japan)
+bmcompm2 // GX988 (c) 2000 (Japan)
+hmcompm2 // GX988 (c) 2000
+bm6thmix // GXA21 (c) 2001 (Japan)
+bm7thmix // GXB07 (c) 2001 (Japan)
+bmfinal // GXC01 (c) 2002 (Japan)
+
+//popn1 // GX803 (c) 1998 (Japan)
+popn2 // GX831 (c) 1998 (Japan)
+//popn3 // GX980 (c) 1999 (Japan)
+//popnstex // GX970 (c) 1999 (Japan)
+
+// Firebeat games
+ppp // GQ977 (c) 2000
+ppd // GQ977 (c) 2000 (Korea)
+ppp11 // GQ977 (c) 2000
+kbm // GQ974 (c) 2000
+kbm2nd // GCA01 (c) 2000
+kbm3rd // GCA12 (c) 2001
+popn5 // GCA04 (c) 2000
+popn7 // not sure, doesn't boot yet (c) 2001
+
+// PowerPC based Konami games
+fiveside // GX479 (c)1995
+thunderh // GX680 (c)1996 Euro EAA
+thunderhu // GX680 (c)1996 USA UAA
+slrasslt // GX792 (c)1996
+gticlub // GX688 (c)1996 Euro EAA
+gticluba // GX688 (c)1996 Asia AAA
+gticlubj // GX688 (c)1996 Japan JAA
+hangplt // GX685 (c)1997
+nbapbp // GX778 (c)1998
+terabrst // GX715 (c)1998 USA UEL 1998/07/17
+terabrsta // GX715 (c)1998 Asia AAA 1998/02/25
+gradius4 // GX837 (c)1999
+sscope // GX830 (c)1999
+sscopea // GX830 (c)1999
+sscopeb // GX830 (c)1999
+sscopec // GX830 (c)1999
+sscope2 // GX931 (c)2000
+racingj // GX676 (c)1998
+racingj2 // GX888 (c)1999 (EAE)
+racingj2j // GX888 (c)1999 (JAE)
+thrilld // GX713 (c)1998 Japan JAE
+thrilldb // GX713 (c)1998 Japan JAB
+thrilldae // GX713 (c)1998 Europe EAA
+midnrun // GX476 (c)1995
+windheat // GX677 (c)1996
+windheatu // GX677 (c)1996
+windheatj // GX677 (c)1996
+waveshrk // GX678 (c)1996
+
+// Konami M2 games
+polystar // GX623 (c)1997
+totlvice // GX639 (c)1997
+totlvicj // GX639 (c)1997
+btltryst // GX636 (c)1998
+heatof11 // GX703 (c)1998
+evilngt // GX810 (c)1998
+evilngte // GX810 (c)1998
+hellngt // GX810 (c)1998
+
+// Exidy games
+carpolo // (c) 1977
+sidetrac // (c) 1979
+targ // (c) 1980
+targc // (c) 1980
+spectar // (c) 1980
+spectar1 // (c) 1980
+rallys // (c) 1980 Novar (bootleg)
+panzer // (c) 1980 Proel (bootleg)
+phantoma // (c) 1980 Jeutel (bootleg)
+phantom // (c) 1980 Proel (bootleg)
+venture // (c) 1981
+venture2 // (c) 1981
+venture4 // (c) 1981
+teetert // (c) 1981
+mtrap // (c) 1981
+mtrap3 // (c) 1981
+mtrap4 // (c) 1981
+pepper2 // (c) 1982
+hardhat // (c) 1982
+fax // (c) 1983
+fax2 // (c) 1983
+circus // no copyright notice [1977?]
+circusse // bootleg
+robotbwl // no copyright notice
+crash // Exidy [1979?]
+smash // bootleg
+ripcord // Exidy [1977?]
+starfire // Exidy [1979?]
+starfirea // Exidy [1979?]
+fireone // (c) 1979 Exidy
+starfir2 // (c) 1979 Exidy
+victory // (c) 1982
+victorba // (c) 1982
+topgunnr // (c) 1986
+
+// Exidy 440 games
+crossbow // (c) 1983
+cheyenne // (c) 1984
+combat // (c) 1985
+catch22 // (c) 1985
+cracksht // (c) 1985
+claypign // (c) 1986
+chiller // (c) 1986
+topsecex // (c) 1986
+hitnmiss // (c) 1987
+hitnmiss2 // (c) 1987
+whodunit // (c) 1988
+showdown // (c) 1988
+yukon // (c) 1989
+yukon1 // (c) 1989
+
+// Exidy Max-A-Flex
+maxaflex
+mf_achas // (c) 1982 Exidy / First Star Software
+mf_brist // (c) 1983 Exidy / First Star Software
+mf_flip // (c) 1983 Exidy / First Star Software
+mf_bdash // (c) 1984 Exidy / First Star Software
+
+// Atari b/w games
+tank8 // ?????? 1976/04 [6800]
+tank8a // ?????? 1976/04 [6800]
+tank8b // ?????? 1976/04 [6800]
+tank8c // ?????? 1976/04 [6800]
+tank8d // ?????? 1976/04 [6800]
+cball // ?????? prototype 1976/?? [6800]
+copsnrob // 005625 1976/07 [6502]
+flyball // 005629 1976/07 [6502]
+sprint2 // 005922 1976/11 [6502]
+sprint2a // 005922 1976/11 [6502]
+sprint4 // 008716 1977/12 [6502]
+sprint4a // 008716 1977/12 [6502]
+nitedrvr // 006321 1976/10 [6502]
+dominos // 007305 1977/01 [6502]
+triplhnt // 008422-008791 1977/04 [6800]
+sprint8 // ?????? 1977/05 [6800]
+sprint8a // ?????? 1977/05 [6800]
+dragrace // 008505-008521 1977/06 [6800]
+poolshrk // 006281 1977/06 [6800]
+starshp1 // 007513-007531 1977/07 [6502]
+starshpp // 007513-007531 1977/07 [6502]
+superbug // 009115-009467 1977/09 [6800]
+canyon // 009493-009504 1977/10 [6502]
+canyonp // 009493-009504 1977/10 [6502]
+destroyr // 030131-030136 1977/10 [6800]
+destroyr1 // 030131-030136 1977/10 [6800]
+catchp // 008837 prototype 1977/?? [6502]
+sprint1 // 006443 1978/01 [6502]
+ultratnk // 009801 1978/02 [6502]
+skyraid // 009709 1978/03 [6502]
+tourtabl // 030170 1978/03 [6507]
+tourtab2 // 030170 1978/03 [6507]
+avalnche // 030574 1978/04 [6502]
+cascade // bootleg
+firetrk // 030926 1978/06 [6808]
+skydiver // 009787 1978/06 [6800]
+// Smokey Joe // 030926 1978/07 [6502]
+sbrkout3 // 033442-033452 1978/09 [6502]
+sbrkout // 033453-033455 1978/09 [6502]
+atarifb // 033xxx 1978/10 [6502]
+atarifb1 // 033xxx 1978/10 [6502]
+orbit // 033689-033702 1978/11 [6800]
+boxer // ?????? prototype 1978 [6502]
+wolfpack // ?????? prototype [6502]
+mgolf // ?????? prototype 1978 [6502]
+videopin // 034253-034267 1979/02 [6502]
+atarifb4 // 034754 1979/04 [6502]
+subs // 033714 1979/05 [6502]
+bsktball // 034756-034766 1979/05 [6502]
+abaseb // 034711-034738 1979/06 [6502]
+abaseb2 // 034711-034738 1979/06 [6502]
+montecar // 035763-035780 1980/04 [6502]
+soccer // 035222-035260 1980/04 [6502]
+
+// Atari "Missile Command hardware" games
+missile // 035820-035825 (c) 1980
+missile2 // 035820-035825 (c) 1980
+suprmatk // (c) 1980 + (c) 1981 Gencomp
+suprmatkd // (c) 1980 + (c) 1981 Gencomp
+mcombat
+mcombata
+
+// Atari vector games
+llander // 0345xx no copyright notice
+llander1 // 0345xx no copyright notice
+asteroid // 035127-035145 (c) 1979
+asteroid2 // 035127-035145 (c) 1979
+asteroid1 // 035127-035145 no copyright notice
+asteroidb // (bootleg)
+asterock // Sidam bootleg (c) 1979
+meteorts // VCC bootleg (c) 1979
+meteorho // Hoei? bootleg (c) 1980
+astdelux // 0351xx (c) 1980
+astdelux2 // 0351xx (c) 1980
+astdelux1 // 0351xx (c) 1980
+bzone // 0364xx (c) 1980
+bzone2 // 0364xx (c) 1980
+bzonec // 0364xx (c) 1980
+bradley // ?? (c) 1980
+redbaron // 036995-037007 (c) 1980
+tempest // 136002 (c) 1980
+tempest1 // 136002 (c) 1980
+tempest2 // 136002 (c) 1980
+tempest3 // 136002 (c) 1980
+temptube // (hack)
+spacduel // 136006 (c) 1980
+gravitar // 136010 (c) 1982
+gravitar2 // 136010 (c) 1982
+gravp // (proto) (c) 1982
+lunarbat // (proto) (c) 1982
+lunarba1 // (proto) (c) 1982
+quantum // 136016 (c) 1982 // made by Gencomp
+quantum1 // 136016 (c) 1982 // made by Gencomp
+quantump // 136016 (c) 1982 // made by Gencomp
+bwidow // 136017 (c) 1982
+starwars // 136021 (c) 1983
+starwars1 // 136021 (c) 1983
+tomcatsw // (proto) (c) 1983
+mhavoc // 136025 (c) 1983
+mhavoc2 // 136025 (c) 1983
+mhavocp // 136025 (c) 1983
+mhavocrv // (hack)
+alphaone // (proto) (c) 1983
+alphaonea // (proto) (c) 1983
+esb // 136031 (c) 1985
+tomcat // (proto) (c) 1985
+
+// Atari "Centipede hardware" games
+warlords // 037153-037159 (c) 1980
+centiped // 136001 (c) 1980
+centiped2 // 136001 (c) 1980
+centtime // 136001 (c) 1980
+centipdb // (bootleg)
+centipdd // hack by Two Bit Score
+caterplr // (bootleg)
+millpac // Valadon
+magworm // (bootleg)
+mazeinv // (proto) (c) 1982
+milliped // 136013 (c) 1982
+millipdd // hack by Two Bit Score
+qwak // (proto) (c) 1982
+runaway // (proto) (c) 1982
+bullsdrt // (c) 1985 Shinkai
+cmmb162
+
+// misc Atari games
+tunhunt // 136000 (c) 1979
+tunhuntc // 136000 (c) 1981 // licensed to / distributed by Centuri
+liberatr // 136012 (c) 1982
+liberatr2 // 136012 (c) 1982
+foodf // 136020 (c) 1982 // made by Gencomp
+foodf2 // 136020 (c) 1982 // made by Gencomp
+foodfc // 136020 (c) 1982 // made by Gencomp
+ccastles // 136022 (c) 1983
+ccastlesg // 136022 (c) 1983
+ccastlesp // 136022 (c) 1983
+ccastlesf // 136022 (c) 1983
+ccastles3 // 136022 (c) 1983
+ccastles2 // 136022 (c) 1983
+ccastles1 // 136022 (c) 1983
+ccastlesj // 136022 (c) 1983
+cloak // 136023 (c) 1983
+cloaksp // 136023 (c) 1983
+cloakfr // 136023 (c) 1983
+cloakgr // 136023 (c) 1983
+agentx4 // 136023 (c) 1983
+agentx3 // 136023 (c) 1983
+agentx2 // 136023 (c) 1983
+agentx1 // 136023 (c) 1983
+cloud9 // (proto) (c) 1983
+firebeas // (proto) (c) 1983
+barbball // (proto) (c) 1983
+firefox // 136026 (c) 1984
+firefoxa // 136026 (c) 1984
+jedi // 136030 (c) 1984
+
+// Atari System 1 games
+atarisy1 // 136033 (c) 1984
+peterpak // 136028 (c) 1984
+// Marble Madness
+marble // 136033 (c) 1984
+marble2 // 136033 (c) 1984
+marble3 // 136033 (c) 1984
+marble4 // 136033 (c) 1984
+marble5 // 136033 (c) 1984 (LSI Cartridge)
+// Indiana Jones and the Temple of Doom
+indytemp // 136036 (c) 1985
+indytemp2 // 136036 (c) 1985
+indytemp3 // 136036 (c) 1985
+indytemp4 // 136036 (c) 1985
+indytempd // 136036 (c) 1985
+indytempc // 136036 (c) 1985
+// Road Runner
+roadrunn // 136040 (c) 1985
+roadrunn2 // 136040 (c) 1985
+roadrunn1 // 136040 (c) 1985
+// Road Blasters
+roadblst // 136048 (c) 1986, 1987
+roadblstg // 136048 (c) 1986, 1987
+roadblst3 // 136048 (c) 1986, 1987
+roadblstg2 // 136048 (c) 1986, 1987
+roadblst2 // 136048 (c) 1986, 1987
+roadblstg1 // 136048 (c) 1986, 1987
+roadblst1 // 136048 (c) 1986, 1987
+roadblstc // 136048 (c) 1986, 1987
+roadblstcg // 136048 (c) 1986, 1987
+roadblstc1 // 136048 (c) 1986, 1987
+
+// Atari System 2 games
+// Paperboy
+paperboy // 136034 (c) 1984
+paperboyr2 // 136034 (c) 1984
+paperboyr1 // 136034 (c) 1984
+// Super Sprint
+ssprint // 136042 (c) 1986
+ssprint3 // 136042 (c) 1986
+ssprint1 // 136042 (c) 1986
+ssprintg // 136042 (c) 1986
+ssprintg1 // 136042 (c) 1986
+ssprintf // 136042 (c) 1986
+ssprints // 136042 (c) 1986
+// Championship Sprint
+csprint // 136045 (c) 1986
+csprint2 // 136045 (c) 1986
+csprint1 // 136045 (c) 1986
+csprintg // 136045 (c) 1986
+csprintg1 // 136045 (c) 1986
+csprintf // 136045 (c) 1986
+csprints // 136045 (c) 1986
+csprints1 // 136045 (c) 1986
+// 720 Degrees
+720 // 136047 (c) 1986
+720r3 // 136047 (c) 1986
+720r2 // 136047 (c) 1986
+720r1 // 136047 (c) 1986
+720g // 136047 (c) 1986
+720gr1 // 136047 (c) 1986
+// APB.
+apb // 136051 (c) 1987
+apb6 // 136051 (c) 1987
+apb5 // 136051 (c) 1987
+apb4 // 136051 (c) 1987
+apb3 // 136051 (c) 1987
+apb2 // 136051 (c) 1987
+apb1 // 136051 (c) 1987
+apbg // 136051 (c) 1987
+apbf // 136051 (c) 1987
+
+// Atari polygon games
+irobot // 136029 (c) 1983
+// Atari System IV
+laststar // (proto) (c) 1984
+airrace // (proto) (c) 1985
+// Hard Drivin'
+harddriv // 136052 (c) 1988
+harddrivb // 136052 (c) 1988
+harddrivg // 136052 (c) 1988
+harddrivj // 136052 (c) 1988
+harddrivb6 // 136052 (c) 1988
+harddrivj6 // 136052 (c) 1988
+harddrivb5 // 136052 (c) 1988
+harddrivg4 // 136052 (c) 1988
+harddriv3 // 136052 (c) 1988
+harddriv2 // 136052 (c) 1988
+harddriv1 // 136052 (c) 1988
+// Hard Drivin' Compact
+harddrivc // 136068 (c) 1990
+harddrivcg // 136068 (c) 1990
+harddrivcb // 136068 (c) 1990
+harddrivc1 // 136068 (c) 1990
+// Stun Runner
+stunrun // 136070 (c) 1989
+stunrunj // 136070 (c) 1989
+stunrun5 // 136070 (c) 1989
+stunrune // 136070 (c) 1989
+stunrun4 // 136070 (c) 1989
+stunrun3 // 136070 (c) 1989
+stunrun3e // 136070 (c) 1989
+stunrun2 // 136070 (c) 1989
+stunrun2e // 136070 (c) 1989
+stunrun0 // 136070 (c) 1989
+stunrunp // (proto) (c) 1989
+// Race Drivin'
+racedriv // 136077 (c) 1990
+racedrivb // 136077 (c) 1990
+racedrivg // 136077 (c) 1990
+racedriv4 // 136077 (c) 1990
+racedrivb4 // 136077 (c) 1990
+racedrivg4 // 136077 (c) 1990
+racedriv3 // 136077 (c) 1990
+racedriv2 // 136077 (c) 1990
+racedriv1 // 136077 (c) 1990
+racedrivb1 // 136077 (c) 1990
+racedrivg1 // 136077 (c) 1990
+// Race Drivin' Compact
+racedrivc // 136077 (c) 1990
+racedrivcb // 136077 (c) 1990
+racedrivcg // 136077 (c) 1990
+racedrivc4 // 136077 (c) 1990
+racedrivcb4 // 136077 (c) 1990
+racedrivcg4 // 136077 (c) 1990
+racedrivc2 // 136077 (c) 1990
+racedrivc1 // 136077 (c) 1990
+// Race Drivin' Panorama
+racedrivpan // 136077 (c) 1990
+ // 136086 - BMX Heat (proto)
+// Steel Talons
+steeltal // 136087 (c) 1990
+steeltalg // 136087 (c) 1990
+steeltal1 // 136087 (c) 1990
+steeltalp // 136087 (c) 1990
+ // 136088 - Race Drivin' Panorama
+// Street Drivin'
+strtdriv // 136091 (proto)
+// Hard Drivin' Airbourne
+hdrivair // 136098 (proto)
+hdrivairp // 136098 (proto)
+
+// later Atari games
+
+// Gauntlet Hardware
+// Gauntlet
+gauntlet // 136037 (c) 1985
+gauntlets // 136037 (c) 1985
+gauntletj // 136037 (c) 1985
+gauntletg // 136037 (c) 1985
+gauntletj12 // 136037 (c) 1985
+gauntletr9 // 136037 (c) 1985
+gauntletgr8 // 136037 (c) 1985
+gauntletr7 // 136037 (c) 1985
+gauntletgr6 // 136037 (c) 1985
+gauntletr5 // 136037 (c) 1985
+gauntletr4 // 136037 (c) 1985
+gauntletgr3 // 136037 (c) 1985
+gauntletr2 // 136037 (c) 1985
+gauntletr1 // 136037 (c) 1985
+// Gauntlet - 2 Player
+gauntlet2p // 136037 (c) 1985
+gauntlet2pj // 136037 (c) 1985
+gauntlet2pg // 136037 (c) 1985
+gauntlet2pr3 // 136037 (c) 1985
+gauntlet2pj2 // 136037 (c) 1985
+gauntlet2pg1 // 136037 (c) 1985
+// Gauntlet 2
+gaunt2 // 136043 (c) 1986
+gaunt2g // 136043 (c) 1986
+// Gauntlet 2 - 2 Player
+gaunt22p // 136043 (c) 1986
+gaunt22p1 // 136043 (c) 1986
+gaunt22pg // 136043 (c) 1986
+// Vindicators Part II
+vindctr2 // 136059 (c) 1988
+vindctr2r2 // 136059 (c) 1988
+vindctr2r1 // 136059 (c) 1988
+
+// Other Hardware
+
+// Xybots
+xybots // 136054 (c) 1987
+xybotsg // 136054 (c) 1987
+xybotsf // 136054 (c) 1987
+xybots1 // 136054 (c) 1987
+xybots0 // 136054 (c) 1987
+// Blasteroids
+blstroid // 136057 (c) 1987
+blstroid3 // 136057 (c) 1987
+blstroid2 // 136057 (c) 1987
+blstroidg // 136057 (c) 1987
+blstroidh // (proto) (c) 1987
+// Vindicators
+vindictr // 136059 (c) 1988
+vindictre // 136059 (c) 1988
+vindictrg // 136059 (c) 1988
+vindictre4 // 136059 (c) 1988
+vindictr4 // 136059 (c) 1988
+vindictre3 // 136059 (c) 1988
+vindictr2 // 136059 (c) 1988
+vindictr1 // 136059 (c) 1988
+// Toobin
+toobin // 136061 (c) 1988
+toobine // 136061 (c) 1988
+toobing // 136061 (c) 1988
+toobin2 // 136061 (c) 1988
+toobin2e // 136061 (c) 1988
+toobin1 // 136061 (c) 1988
+// Cyberball
+cyberbal // 136064 (c) 1989
+cyberbal2 // 136064 (c) 1989
+cyberbalp // 136064 (c) 1989
+// Atari Tetris
+atetrisc // 136066 (c) 1989
+atetrisc2 // 136066 (c) 1989
+atetris // 136066 (c) 1988
+atetrisa // 136066 (c) 1988
+atetrisb // (bootleg)
+atetrisb2 // (bootleg)
+// Escape from the Planet of Robot Monsters
+eprom // 136069 (c) 1989
+eprom2 // 136069 (c) 1989
+guts // prototype
+// Cyberball 2 Player
+cyberbal2p // 136071 (c) 1989
+cyberbal2p3 // 136071 (c) 1989
+cyberbal2p2 // 136071 (c) 1989
+cyberbal2p1 // 136071 (c) 1989
+// Skull and Crossbones
+skullxbo // 136072 (c) 1989
+skullxbo4 // 136072 (c) 1989
+skullxbo3 // 136072 (c) 1989
+skullxbo2 // 136072 (c) 1989
+skullxbo1 // 136072 (c) 1989
+// Cyberball Tournament
+cyberbalt // 136073 (c) 1989
+cyberbalt1 // 136073 (c) 1989
+
+badlands // 136074 (c) 1989
+badlandsb // bootleg
+klax // 136075 (c) 1989
+klax2 // 136075 (c) 1989
+klax3 // 136075 (c) 1989
+klaxj // 136075 (c) 1989 (Japan)
+klaxd // 136075 (c) 1989 (Germany)
+klaxp1 // prototype
+klaxp2 // prototype
+thunderj // 136076 (c) 1990
+
+hydra // 136079 (c) 1990
+hydrap // (proto) (c) 1990
+hydrap2 // (proto) (c) 1990
+pitfight // 136081 (c) 1990
+pitfight7 // 136081 (c) 1990
+pitfight6 // 136081 (c) 1990
+pitfight5 // 136081 (c) 1990
+pitfight4 // 136081 (c) 1990
+pitfight3 // 136081 (c) 1990
+pitfightj // Japan
+pitfightb // bootleg
+rampart // 136082 (c) 1990
+rampart2p // 136082 (c) 1990
+rampartj // 136082 (c) 1990 (Japan)
+shuuz // 136083 (c) 1990
+shuuz2 // 136083 (c) 1990
+ // 136084 - Marble Man (proto)
+batman // 136085 (c) 1991
+roadriot // 136089 (c) 1991
+roadrioto // 136089 (c) 1991
+offtwall // 136090 (c) 1991
+offtwallc // 136090 (c) 1991
+guardian // 136092 (c) 1992
+relief // 136093 (c) 1992
+relief2 // 136093 (c) 1992
+relief3 // 136093 (c) 1992
+arcadecl // (proto) (c) 1992
+sparkz // (proto) (c) 1992
+motofren // 136094 (c) 1992
+motofrenmd // 136094 (c) 1992
+motofrenft // 136094 (c) 1992
+motofrenmf // 136094 (c) 1992
+spclords // 136095 (c) 1992
+spclordsb // 136095 (c) 1992
+spclordsa // 136095 (c) 1992
+spclordsg // 136095 (c) 1992
+rrreveng // ?? (c) 1993
+rrrevenga // ?? (c) 1993
+rrrevengb // ?? (c) 1993
+beathead // (proto) (c) 1993
+tmek // 136100 (c) 1994
+tmek51p // 136100 (c) 1994
+tmek45 // 136100 (c) 1994
+tmek44 // 136100 (c) 1994
+tmek20 // 136100 (c) 1994
+primrage // 136102 (c) 1994
+primrage20 // 136102 (c) 1994
+metalmx // 136103? (c) 1994
+area51 // 136105 (c) 1995
+area51t // 136105 (c) 1995
+area51a // 136105 (c) 1995
+fishfren // (proto) (c) 1995
+freezeat // (proto) (c) 1996
+freezeatjp // (proto) (c) 1996
+freezeat2 // (proto) (c) 1996
+freezeat3 // (proto) (c) 1996
+freezeat4 // (proto) (c) 1996
+freezeat5 // (proto) (c) 1996
+freezeat6 // (proto) (c) 1996
+area51mx // 136105 (c) 1998
+a51mxr3k // ?? (c) 1998
+maxforce // ?? (c) 1996
+maxf_102 // ?? (c) 1996
+maxf_ng // ?? (c) 1996
+vcircle // (proto) (c) 1996
+a51site4 // ?? (c) 1998
+
+// SNK / Rock-ola games
+sasuke // [1980] Shin Nihon Kikaku (SNK)
+satansat // (c) 1981 SNK
+satansata // (c) 1981 SNK
+zarzon // (c) 1981 Taito, gameplay says SNK
+vanguard // (c) 1981 SNK
+vanguardc // (c) 1981 SNK + Centuri
+vanguardj // (c) 1981 SNK
+fantasy // (c) 1981 SNK
+fantasyu // (c) 1981 Rock-Ola
+fantasyj // (c) 1981 SNK
+pballoon // (c) 1982 SNK
+pballoonr // (c) 1982 SNK (Rock-Ola license)
+nibbler // (c) 1982 Rock-ola
+nibblera // (c) 1982 Rock-ola
+nibblerb // (c) 1982 Rock-ola
+nibblero // (c) 1982 Olympia
+
+// later SNK games, each game can be identified by PCB code and ROM
+// code, the ROM code is the same between versions, and usually based
+// upon the Japanese title.
+lasso // 'WM' (c) 1982
+chameleo // (c) 1983 Jaleco
+wwjgtin // (c) 1984 Jaleco / Casio
+photof // (c) 1984 Jaleco / Casio
+pinbo // (c) 1984 Jaleco
+pinboa // (c) 1984 Jaleco
+pinbos // (c) 1985 Strike
+joyfulr // A2001 (c) 1983
+mnchmobl // A2001 (c) 1983 + Centuri license
+marvins // A2003 (c) 1983
+madcrash // A2005 (c) 1984
+madcrush // A2005 (c) 1984
+vangrd2 // A2005 (c) 1984
+mainsnk // (c) 1984
+canvas // A3008 (c) 1985
+jcross // A3006 (c) 1984
+sgladiat // A3006 (c) 1984
+hal21 // A4031 (c) 1985
+hal21j // (c) 1985 (Japan)
+aso // (c) 1985
+alphamis // (c) 1985
+arian // (c) 1985
+tnk3 // A5001 (c) 1985
+tnk3j // A5001 (c) 1985
+athena // 'UP' (c) 1986
+fitegolf // 'GU' (c) 1988
+fitegolfu // 'GU' (c) 1988
+countryc // A7004 'CC' (c) 1988
+ikari // A5004 'IW' (c) 1986
+ikaria // A5004 'IW' (c) 1986
+ikarinc // A5004 'IW' (c) 1986
+ikarijp // A5004 'IW' (c) 1986 (Japan)
+ikarijpb // bootleg
+victroad // A6002 (c) 1986
+dogosoke // A6002 (c) 1986
+dogosokb // bootleg
+gwar // A7003 'GV' (c) 1987
+gwarj // A7003 'GV' (c) 1987 (Japan)
+gwara // A7003 'GV' (c) 1987
+gwarb // bootleg
+bermudat // (c) 1987
+bermudatj // (c) 1987
+bermudata // A6004 'WW' (c) 1987
+worldwar // A6004 'WW' (c) 1987
+psychos // 'PS' (c) 1987
+psychosj // 'PS' (c) 1987 (Japan)
+chopper // A7003 'KK' (c) 1988
+choppera // A7003 'KK' (c) 1988
+chopperb // A7003 'KK' (c) 1988
+legofair // A7003 'KK' (c) 1988
+fsoccer // A6006 'FS' (c) 1988
+fsoccerj // A6006 'FS' (c) 1988
+fsoccerb // (c) 1988
+tdfever // A6006 'TD' (c) 1987
+tdfeverj // A6006 'TD' (c) 1987
+tdfever2 // A6006 'TD'?(c) 1988
+ikari3 // A7007 'IK3'(c) 1989
+ikari3nr // A7007 'IK3'(c) 1989
+pow // A7008 'DG' (c) 1988
+powj // A7008 'DG' (c) 1988
+searchar // A8007 'BH' (c) 1989
+searcharu // A8007 'BH' (c) 1989
+searcharj // A8007 'BH' (c) 1989
+streetsm // A8007 'S2' (c) 1989
+streetsm1 // A7008 'S2' (c) 1989
+streetsmw // (c) 1989
+streetsmj // A8007 'S2' (c) 1989
+prehisle // A8003 'GT' (c) 1989
+prehisleu // A8003 'GT' (c) 1989
+prehislek // A8003 'GT' (c) 1989
+gensitou // A8003 'GT' (c) 1989
+mechatt // A8002 'MA' (c) 1989
+mechattu // A8002 'MA' (c) 1989
+bbusters // A9003 'BB' (c) 1989
+bbustersu // A9003 'BB' (c) 1989
+
+// Electrocoin on early SNK hardware
+dmndrby // G4001 'DD' (c) 1986
+dmndrbya // G4001 'DD' (c) 1986
+
+// Neo Geo games
+// the four digits number is the game ID stored at address 0x0108 of the program ROM
+// info on prototypes taken from http://www.members.tripod.com/fresa/proto/puzzle.htm
+neogeo
+nam1975 // 0001 (c) 1990 SNK
+bstars // 0002 (c) 1990 SNK
+bstarsh // 0002 (c) 1990 SNK
+tpgolf // 0003 (c) 1990 SNK
+mahretsu // 0004 (c) 1990 SNK
+maglord // 0005 (c) 1990 Alpha Denshi Co.
+maglordh // 0005 (c) 1990 Alpha Denshi Co.
+ridhero // 0006 (c) 1990 SNK
+ridheroh // 0006 (c) 1990 SNK
+alpham2 // 0007 (c) 1991 SNK
+ // 0008 Sunshine (prototype) 1990 SNK
+ncombat // 0009 (c) 1990 Alpha Denshi Co.
+ncombath // 0009 (c) 1990 Alpha Denshi Co.
+cyberlip // 0010 (c) 1990 SNK
+superspy // 0011 (c) 1990 SNK
+ // 0012
+ // 0013
+mutnat // 0014 (c) 1992 SNK
+ // 0015
+kotm // 0016 (c) 1991 SNK
+kotmh // 0016 (c) 1991 SNK
+sengoku // 0017 (c) 1991 SNK
+sengokuh // 0017 (c) 1991 SNK
+burningf // 0018 (c) 1991 SNK
+burningfh // 0018 (c) 1991 SNK
+lbowling // 0019 (c) 1990 SNK
+gpilots // 0020 (c) 1991 SNK
+gpilotsh // 0020 (c) 1991 SNK
+joyjoy // 0021 (c) 1990 SNK
+bjourney // 0022 (c) 1990 Alpha Denshi Co.
+quizdais // 0023 (c) 1991 SNK
+quizdaisk // 0123 (c) 1991 SNK
+lresort // 0024 (c) 1992 SNK
+eightman // 0025 (c) 1991 SNK / Pallas
+ // 0026 Fun Fun Brothers (prototype) 1991 Alpha
+minasan // 0027 (c) 1990 Monolith Corp.
+ // 0028 Dunk Star (prototype) Sammy
+legendos // 0029 (c) 1991 SNK
+2020bb // 0030 (c) 1991 SNK / Pallas
+2020bba // 0030 (c) 1991 SNK / Pallas
+2020bbh // 0030 (c) 1991 SNK / Pallas
+socbrawl // 0031 (c) 1991 SNK
+socbrawlh // 0031 (c) 1991 SNK
+roboarmy // 0032 (c) 1991 SNK
+fatfury1 // 0033 (c) 1991 SNK
+fbfrenzy // 0034 (c) 1992 SNK
+ // 0035 Mystic Wand (prototype) 1991 Alpha
+bakatono // 0036 (c) 1991 Monolith Corp.
+crsword // 0037 (c) 1991 Alpha Denshi Co.
+trally // 0038 (c) 1991 Alpha Denshi Co.
+kotm2 // 0039 (c) 1992 SNK
+sengoku2 // 0040 (c) 1993 SNK
+bstars2 // 0041 (c) 1992 SNK
+quizdai2 // 0042 (c) 1992 SNK
+3countb // 0043 (c) 1993 SNK
+aof // 0044 (c) 1992 SNK
+samsho // 0045 (c) 1993 SNK
+samshoh // 0045 (c) 1993 SNK
+tophuntr // 0046 (c) 1994 SNK
+tophuntrh // 0046 (c) 1994 SNK
+fatfury2 // 0047 (c) 1992 SNK
+janshin // 0048 (c) 1994 Aicom
+androdun // 0049 (c) 1992 Visco
+ncommand // 0050 (c) 1992 Alpha Denshi Co.
+viewpoin // 0051 (c) 1992 Sammy
+ssideki // 0052 (c) 1992 SNK
+wh1 // 0053 (c) 1992 Alpha Denshi Co.
+wh1h // 0053 (c) 1992 Alpha Denshi Co.
+wh1ha // 0053 (c) 1992 Alpha Denshi Co.
+ // 0054 Crossed Swords 2 (CD only? not confirmed, MVS might exist)
+kof94 // 0055 (c) 1994 SNK
+aof2 // 0056 (c) 1994 SNK
+aof2a // 0056 (c) 1994 SNK
+wh2 // 0057 (c) 1993 ADK
+fatfursp // 0058 (c) 1993 SNK
+fatfurspa // 0058 (c) 1993 SNK
+savagere // 0059 (c) 1995 SNK
+fightfev // 0060 (c) 1994 Viccom
+fightfeva // 0060 (c) 1994 Viccom
+ssideki2 // 0061 (c) 1994 SNK
+spinmast // 0062 (c) 1993 Data East Corporation
+samsho2 // 0063 (c) 1994 SNK
+samsho2k // 0063 (c) 1994 SNK (Korean hack)
+wh2j // 0064 (c) 1994 ADK / SNK
+wjammers // 0065 (c) 1994 Data East Corporation
+karnovr // 0066 (c) 1994 Data East Corporation
+gururin // 0067 (c) 1994 Face
+pspikes2 // 0068 (c) 1994 Video System Co.
+ // Super Volley '94 was once released in Mar.1994, and recalled. Then released as Power Spikes 2 (with some tweaks).
+fatfury3 // 0069 (c) 1995 SNK
+zupapa // 0070 Zupapa - released in 2001, 1994 prototype probably exists
+ // 0071 Bang Bang Busters (prototype) 1994 Visco
+ // 0072 Last Odyssey Pinball Fantasia (prototype) 1995 Monolith
+panicbom // 0073 (c) 1994 Eighting / Hudson
+aodk // 0074 (c) 1994 ADK / SNK
+sonicwi2 // 0075 (c) 1994 Video System Co.
+zedblade // 0076 (c) 1994 NMK
+ // 0077 The Warlocks of the Fates (prototype) 1995 Astec
+galaxyfg // 0078 (c) 1995 Sunsoft
+strhoop // 0079 (c) 1994 Data East Corporation
+quizkof // 0080 (c) 1995 Saurus
+quizkofk // 0080 (c) 1995 Saurus
+ssideki3 // 0081 (c) 1995 SNK
+doubledr // 0082 (c) 1995 Technos
+pbobblen // 0083 (c) 1994 Taito
+pbobblenb // bootleg
+kof95 // 0084 (c) 1995 SNK
+kof95h // 0084 (c) 1995 SNK
+ // 0085 Shinsetsu Samurai Spirits Bushidoretsuden / Samurai Shodown RPG (CD only)
+tws96 // 0086 (c) 1996 Tecmo
+samsho3 // 0087 (c) 1995 SNK
+samsho3h // 0087 (c) 1995 SNK
+fswords // 0187 Korean hack of samsho3
+stakwin // 0088 (c) 1995 Saurus
+pulstar // 0089 (c) 1995 Aicom
+whp // 0090 (c) 1995 ADK / SNK
+ // 0091
+kabukikl // 0092 (c) 1995 Hudson
+neobombe // 0093 (c) 1997 Hudson
+gowcaizr // 0094 (c) 1995 Technos
+rbff1 // 0095 (c) 1995 SNK
+rbff1a // 0095 (c) 1995 SNK
+aof3 // 0096 (c) 1996 SNK
+aof3k // 0196 Censored Korean release of aof3
+sonicwi3 // 0097 (c) 1995 Video System Co.
+ // 0098 Idol Mahjong - final romance 2 (CD only? not confirmed, MVS might exist)
+ // 0099 Neo Pool Masters
+turfmast // 0200 (c) 1996 Nazca
+mslug // 0201 (c) 1996 Nazca
+puzzledp // 0202 (c) 1995 Taito (Visco license)
+mosyougi // 0203 (c) 1995 ADK / SNK
+ // 0204 QP (prototype)
+ // 0205 Neo-Geo CD Special (CD only)
+marukodq // 0206 (c) 1995 Takara
+neomrdo // 0207 (c) 1996 Visco
+sdodgeb // 0208 (c) 1996 Technos
+goalx3 // 0209 (c) 1995 Visco
+ // 0210 Karate Ninja Sho (prototype) 1995 Yumekobo
+ // 0211 Oshidashi Zintrick (CD only? not confirmed, MVS might exist) 1996 SNK/ADK
+zintrckb // 0211 hack - this is not a genuine MVS proto, its a bootleg made from the CD version
+overtop // 0212 (c) 1996 ADK
+neodrift // 0213 (c) 1996 Visco
+kof96 // 0214 (c) 1996 SNK
+kof96h // 0214 (c) 1996 SNK
+ssideki4 // 0215 (c) 1996 SNK
+kizuna // 0216 (c) 1996 SNK
+ // Fu-un Super Tag Battle Special Version (4-player battle available) exists
+ninjamas // 0217 (c) 1996 ADK / SNK
+ragnagrd // 0218 (c) 1996 Saurus
+pgoal // 0219 (c) 1996 Saurus
+ // 0220 (c) 1996 Saurus - Choutetsu Brikin'ger - Iron clad (undumped protoype)
+magdrop2 // 0221 (c) 1996 Data East Corporation
+samsho4 // 0222 (c) 1996 SNK
+samsho4k // Censored Korean release of samsho4
+rbffspec // 0223 (c) 1996 SNK
+rbffspeck // 0124 (c) 1996 SNK
+twinspri // 0224 (c) 1996 ADK
+wakuwak7 // 0225 (c) 1996 Sunsoft
+ // 0226 Pair Pair Wars (prototype) 1996 Sunsoft?
+stakwin2 // 0227 (c) 1996 Saurus
+ghostlop // 0228 GhostLop (prototype) 1996? Data East
+ // 0229 King of Fighters '96 CD Collection (CD only)
+breakers // 0230 (c) 1996 Visco
+miexchng // 0231 (c) 1997 Face
+kof97 // 0232 (c) 1997 SNK
+kof97h // 0232 (c) 1997 SNK
+kof97pls // bootleg of kof97
+kog // bootleg of kof97
+magdrop3 // 0233 (c) 1997 Data East Corporation
+lastblad // 0234 (c) 1997 SNK
+lastbladh // 0234 (c) 1997 SNK
+lastsold // 0196 Censored Korean release of lastblad
+puzzldpr // 0235 (c) 1997 Taito (Visco license)
+irrmaze // 0236 (c) 1997 SNK / Saurus
+popbounc // 0237 (c) 1997 Video System Co.
+shocktro // 0238 (c) 1997 Saurus
+shocktroa // 0238 (c) 1997 Saurus
+blazstar // 0239 (c) 1998 Yumekobo
+rbff2 // 0240 (c) 1998 SNK
+rbff2h // 0240 (c) 1998 SNK
+rbff2k // 0140 Censored Korean release of rbff2
+mslug2 // 0241 (c) 1998 SNK
+kof98 // 0242 (c) 1998 SNK
+kof98k // 0242 (c) 1998 SNK
+kof98ka // 0242 (c) 1998 SNK
+kof98h // 0242 (c) 1998 SNK
+lastbld2 // 0243 (c) 1998 SNK
+neocup98 // 0244 (c) 1998 SNK
+breakrev // 0245 (c) 1998 Visco
+shocktr2 // 0246 (c) 1998 Saurus
+lans2004 // bootleg of shocktr2
+flipshot // 0247 (c) 1998 Visco
+pbobbl2n // 0248 (c) 1999 Taito (SNK license)
+ctomaday // 0249 (c) 1999 Visco
+mslugx // 0250 (c) 1999 SNK
+kof99 // 0251 (c) 1999 SNK
+kof99h // 0251 (c) 1999 SNK
+kof99e // 0251 (c) 1999 SNK
+kof99k // 0152 (c) 1999 SNK
+kof99p // 0251 (c) 1999 SNK
+ganryu // 0252 (c) 1999 Visco
+garou // 0253 (c) 1999 SNK
+garouo // 0253 (c) 1999 SNK
+garoup // 0253 (c) 1999 SNK
+garoubl // bootleg
+s1945p // 0254 (c) 1999 Psikyo
+preisle2 // 0255 (c) 1999 Yumekobo
+mslug3 // 0256 (c) 2000 SNK
+mslug3h // 0256 (c) 2000 SNK
+mslug3b6 // bootleg
+kof2000 // 0257 (c) 2000 SNK
+kof2000n // 0257 (c) 2000 SNK
+ // 0258 SNK vs. Capcom?
+bangbead // 0259 (c) 2000 Visco
+nitd // 0260 (c) 2000 Eleven / Gavaking
+nitdbl // bootleg
+sengoku3 // 0261 (c) 2001 Noise Factory / SNK
+kof2001 // 0262 (c) 2001 Eolith / SNK
+kof2001h // 0262 (c) 2001 Eolith / SNK
+cthd2003 // bootleg of kof2001
+ct2k3sp // bootleg of kof2001
+ct2k3sa // bootleg of kof2001
+mslug4 // 0263 (c) 2002 Mega Enterprise
+mslug4h // 0263 (c) 2002 Mega Enterprise
+ms4plus // bootleg
+rotd // 0264 (c) 2002 Evoga
+kof2002 // 0265 (c) 2002 Eolith / Playmore
+kof2002b // bootleg
+kf2k2pls // bootleg
+kf2k2pla // bootleg
+kf2k2mp // bootleg
+kf2k2mp2 // bootleg
+kof10th // bootleg of kof2002
+kf2k5uni // bootleg of kof2002
+kf10thep // bootleg of kof2002
+kof2k4se // bootleg of kof2002
+matrim // 0266 (c) 2002 Atlus
+matrimbl // bootleg
+pnyaa // 0267 (c) 2003 Aiky / Taito
+ms5pcb // 0268 (c) 2003 Playmore
+mslug5 // 0268 (c) 2003 Playmore
+mslug5h // 0268 (c) 2003 Playmore
+ms5plus // bootleg
+svcpcb // 0269 (c) 2003 Playmore / Capcom - JAMMA PCB
+svcpcba // 0269 (c) 2003 Playmore / Capcom - JAMMA PCB
+svc // 0269 (c) 2003 Playmore / Capcom
+svcboot // bootleg
+svcplus // bootleg
+svcplusa // bootleg
+svcsplus // bootleg
+samsho5 // 0270 (c) 2003 Playmore
+samsho5h // 0270 (c) 2003 Playmore
+samsho5b // bootleg
+kf2k3pcb // 0271 (c) 2003 Playmore - JAMMA PCB
+kof2003 // 0271 (c) 2003 Playmore
+kof2003h // 0271 (c) 2003 Playmore
+kf2k3bl // bootleg
+kf2k3bla // bootleg
+kf2k3pl // bootleg
+kf2k3upl // bootleg
+samsh5sp // 0272 (c) 2004 Playmore
+samsh5sph // 0272 (c) 2004 Playmore
+samsh5spn // 0272 (c) 2004 Playmore
+
+// The BrezzaSoft games don't have proper ID codes
+jockeygp
+jockeygpa
+vliner
+vlinero
+
+// Nor does Digger Man
+diggerma // No Game ID (unlicensed), (c) 2000 Kyle Hodgetts, prototype
+
+// Hyper NeoGeo 64 uses a 3 digit rom code?
+
+hng64
+roadedge // 001 1997/09/10 Roads Edge / Round Trip RV
+sams64 // 002 1997/12/19 Samurai Shodown 64 / Samurai Spirits 64
+xrally // 003 1998/05/13 Xtreme Rally / Off Beat Racer!
+bbust2 // 004 1998/09/11 Beast Busters: Second Nightmare
+sams64_2 // 005 1998/10/16 Samurai Shodown: Warrior's Rage / Samurai Spirits: Asura Zanmaden
+fatfurwa // 006 1999/01/28 Fatal Fury: Wild Ambition / Garou Densetsu: Wild Ambition
+buriki // 007 1999/05/21 Buriki One
+
+// Neo Print
+npcartv1
+98best44
+nprsp
+
+// Alpha Denshi games
+shougi // (c) 1982 (Arcade TV Game List - P.80, Left, 9 from top)
+shougi2 // (c) 1982 (Arcade TV Game List - P.80, Left, 10 from top)
+champbas // (c) 1983 Sega
+champbasj // (c) 1983 Alpha Denshi Co.
+champbasja // (c) 1983 Alpha Denshi Co.
+champbb2 // (c) 1983 Sega
+champbb2a // (c) 1983 ?
+champbb2j // (c) 1983 ?
+exctsccr // (c) 1983 Alpha Denshi Co.
+exctsccra // (c) 1983 Alpha Denshi Co.
+exctsccrj // (c) 1983 Alpha Denshi Co.
+exctsccrj2 // (c) 1983 Alpha Denshi Co.
+exctsccrb // bootleg
+exctscc2 // (c) 1984 Alpha Denshi Co.
+talbot // Volt Electronics
+equites // (c) 1984 Alpha Denshi Co.
+equitess // (c) 1984 Alpha Denshi Co./Sega
+gekisou // (c) 1985 Eastern
+bullfgtr // (c) 1984 Alpha Denshi Co.
+bullfgtrs // (c) 1984 Alpha Denshi Co./Sega
+kouyakyu // (c) 1985 Alpha Denshi Co.
+splndrbt // (c) 1985 Alpha Denshi Co.
+hvoltage // (c) 1985 Alpha Denshi Co.
+
+// SNK / Alpha 68K games
+sstingry // (c) 1986 Alpha Denshi Co.
+kyros // (c) 1987 World Games
+kyrosj // (c) 1986 Alpha Denshi Co.
+jongbou // (c) 1987 SNK
+paddlema // Alpha-68K96I 'PM' (c) 1988 SNK
+timesold // Alpha-68K96II 'BT' (c) 1987 SNK / Romstar
+timesold1 // Alpha-68K96II 'BT' (c) 1987
+btlfield // Alpha-68K96II 'BT' (c) 1987
+btlfieldb // bootleg
+skysoldr // Alpha-68K96II 'SS' (c) 1988 SNK (Romstar with dip switch)
+goldmedl // Alpha-68K96II 'GM' (c) 1988 SNK
+goldmedla // Alpha-68K96II 'GM' (c) 1988 SNK
+goldmedlb // Alpha-68K96II bootleg
+skyadvnt // Alpha-68K96V 'SA' (c) 1989 Alpha Denshi Co.
+skyadvntu // Alpha-68K96V 'SA' (c) 1989 SNK of America licensed from Alpha
+skyadvntj // Alpha-68K96V 'SA' (c) 1989 Alpha Denshi Co.
+gangwars // Alpha-68K96V (c) 1989 Alpha Denshi Co.
+gangwarsu // Alpha-68K96V (c) 1989 Alpha Denshi Co.
+sbasebal // Alpha-68K96V (c) 1989 SNK of America licensed from Alpha
+tnextspc // A8003 'NS' (c) 1989
+tnextspcj // A8003 'NS' (c) 1989
+
+meijinsn // (c) 1986 SNK
+
+// Technos games
+scregg // TA-0001 (c) 1983
+eggs // TA-0002 (c) 1983 Universal USA
+dommy // TA-00?? (c) 1983 (Arcade TV Game List - P.90, Left, 13 from top)
+bigprowr // TA-0007 (c) 1983
+tagteam // TA-0007 (c) 1983 + Data East license
+ssozumo // TA-0008 (c) 1984
+mystston // TA-0010 (c) 1984
+myststono // TA-0010 (c) 1984
+dogfgt // TA-0011 (c) 1984
+dogfgtu // TA-0011 (c) 1985 Data East USA, Inc.
+dogfgtj // TA-0011 (c) 1984
+bogeyman // -0204-0 (Data East part number) (c) 1985 (Arcade TV Game List - P.96, Right, 8 from top)
+matmania // TA-0015 (c) 1985 + Taito America license
+excthour // TA-0015 (c) 1985 + Taito license
+maniach // TA-0017 (c) 1986 + Taito America license
+maniach2 // TA-0017 (c) 1986 + Taito America license
+renegade // TA-0018 (c) 1986 + Taito America license
+kuniokun // TA-0018 (c) 1986
+kuniokunb // bootleg
+xsleena // TA-0019 (c) 1986
+xsleenab // bootleg
+solarwar // TA-0019 (c) 1986 Taito + Memetron license
+battlane // -0215, -0216 (Data East part number) (c) 1986 + Taito license
+battlane2 // -0215, -0216 (Data East part number) (c) 1986 + Taito license
+battlane3 // -0215, -0216 (Data East part number) (c) 1986 + Taito license
+ddragon // TA-0021 (c) 1987
+ddragonu // TA-0021 (c) 1987 Taito America
+ddragonua // TA-0021 (c) 1987 Taito America
+ddragonub // TA-0021 (c) 1987 Taito America
+ddragonw // TA-0021 (c) 1987 Taito
+ddragonw1 // TA-0021 (c) 1987 Taito
+ddragonb // bootleg
+ddragonba // bootleg
+ddragon6809 // bootleg
+ddragon6809a // bootleg
+ddragonb2 // bootleg
+spdodgeb // TA-0022 (c) 1987
+nkdodge // TA-0022 (c) 1987 (Japan)
+nkdodgeb // TA-0022 (c) 1987 (Japan)
+chinagat // TA-0023 (c) 1988 Taito + Romstar license (US)
+saiyugou // TA-0023 (c) 1988 (Japan)
+saiyugoub1 // bootleg
+saiyugoub2 // bootleg
+wwfsstar // TA-0024 (c) 1989 (Europe)
+wwfsstara // TA-0024 (c) 1989 (US, newer)
+wwfsstaru // TA-0024 (c) 1989 (US)
+wwfsstarj // TA-0024 (c) 1989 (Japan)
+vball // TA-0025 (c) 1988 (US)
+vball2pj // TA-0025 (c) 1988 (Japan)
+vballb // TA-0025 (c) 1988
+ddragon2 // TA-0026 (c) 1988 (World)
+ddragon2u // TA-0026 (c) 1988 (US)
+toffy // (c) 1993 Midas
+stoffy // (c) 1994 Midas + Unico
+ddungeon // Game Room
+ddungeone // East Coast Coin Company (Melbourne)
+darktowr // Game Room
+tstrike // East Coast Coin Company (Melbourne)
+tstrikea // Game Room
+ctribe // TA-0028 (c) 1990 (US)
+ctribe1 // TA-0028 (c) 1990 (US) - Set 1?
+ctribej // TA-0028 (c) 1990 (Japan)
+ctribeb // bootleg
+ctribeb2 // bootleg
+blockout // TA-0029 (c) 1989 + California Dreams
+blockout2 // TA-0029 (c) 1989 + California Dreams
+blockoutj // TA-0029 (c) 1989 + California Dreams (Japan)
+agress // TA-0029 (c) 1991 Palco
+agressb // TA-0029 (c) 1991 Palco
+ddragon3 // TA-0030 (c) 1990
+ddragon3p // TA-0030 (c) 1990
+ddragon3j // TA-0030 (c) 1990 (Japan)
+ddragon3b // bootleg
+wwfwfest // TA-0031 (c) 1991 (US)
+wwfwfesta // TA-0031 (c) 1991 + Tecmo license (US)
+wwfwfestb // bootleg
+wwfwfestj // TA-0031 (c) 1991 (Japan)
+shadfrce // TA-0032 (c) 1993 (US)
+shadfrcej // TA-0032 (c) 1993 (Japan)
+shadfrcejv2 // TA-0032 (c) 1993 (Japan)
+
+// Stern "Berzerk hardware" games
+berzerk // (c) 1980
+berzerk1 // (c) 1980
+berzerkg // (c) 1980
+frenzy // (c) 1982
+moonwarp // (c) 1982 - prototype
+
+// Stern 'Mazer Blazer hardware' games
+mazerbla // (c) 1983
+mazerblaa // (c) 1983
+greatgun // (c) 1983
+
+// Other Stern
+cliffhgr // (c) 1983
+cliffhgra // (c) 1983
+goaltogo // (c) 1983
+
+// GamePlan games
+toratora // (c) 1980 Game Plan
+megatack // (c) 1980 Centuri
+killcom // (c) 1980 Centuri
+challeng // (c) 1981 Centuri
+kaos // (c) 1981
+
+// Zaccaria games
+sia2650 // (c) 1978
+tinv2650 // (c) 1978
+dodgem // (c) 1979
+galaxia // (c) 1979
+astrowar // (c) 1980
+laserbat // (c) 1981
+lazarian // (c) 1981
+catnmous // (c) 1982
+catnmousa // (c) 1982
+monymony // (c) 1983
+jackrabt // (c) 1984
+jackrabt2 // (c) 1984
+jackrabts // (c) 1984
+
+// UPL games
+mouser // UPL-83001 (c) 1983
+mouserc // UPL-83001 (c) 1983
+nova2001 // UPL-83005 (c) 1983
+nova2001u // UPL-83005 (c) [1983] + Universal license
+ninjakun // UPL-84003 (c) 1984 Taito Corporation
+raiders5 // UPL-85004 (c) 1985
+raiders5t // UPL-85004 (c) 1985 Taito license
+pkunwar // UPL-????? (c) 1985 (Arcade Game TV List - P.98, Left, 22 from top)
+pkunwarj // UPL-????? (c) 1985 (Arcade Game TV List - P.98, Left, 22 from top)
+xxmissio // UPL-86001 [1986]
+ninjakd2 // UPL-????? (c) 1987
+ninjakd2a // UPL-????? (c) 1987
+ninjakd2b // UPL-????? (c) 1987
+rdaction // UPL-87003?(c) 1987 + World Games license
+mnight // UPL-????? (c) 1987 distributed by Kawakus
+arkarea // UPL-87007 (c) 1988 (Arcade TV Game List - P.67, Right, 2 from top)
+robokid // UPL-88013 (c) 1988
+robokidj // UPL-88013 (c) 1988
+robokidj2 // UPL-88013 (c) 1988
+omegaf // UPL-89016 (c) 1989
+omegafs // UPL-89016 (c) 1989
+
+// UPL/NMK/Banpresto games
+urashima // UPL-89052
+tharrier // UPL-89053 (c) 1989 UPL + American Sammy license
+tharrierj // UPL-89053 (c) 1989 UPL (Japan)
+mustang // UPL-90058 (c) 1990 UPL
+mustangs // UPL-90058 (c) 1990 UPL + Seoul Trading
+bioship // UPL-90062 (c) 1990 UPL + American Sammy license
+sbsgomo // UPL-90062 (c) 1990 UPL
+vandyke // UPL-90064 (c) UPL
+vandykejal // UPL-90064 (c) Jaleco
+vandykejal2 // UPL-90064 (c) Jaleco
+vandykeb // bootleg
+blkheart // UPL-91069
+blkheartj // UPL-91069
+acrobatm // UPL-91073 (c) 1991 UPL + Taito license
+strahl // UPL-91074 (c) 1992 UPL (Japan)
+strahla // UPL-91074 (c) 1992 UPL (Japan)
+bjtwin // UPL-93087 (c) 1993 NMK
+bjtwina // UPL-93087 (c) 1993 NMK
+bjtwinp // UPL-93087 (c) 1993 NMK
+tdragon2 // UPL-93091 (c) 1993 NMK
+tdragon2a // UPL-93091 (c) 1993 NMK
+bigbang // UPL-93091 (c) 1993 NMK
+tdragon // (c) 1991 NMK / Tecmo
+tdragon1 // (c) 1991 NMK / Tecmo
+hachamf // (c) 1991 NMK
+macross // (c) 1992 Banpresto
+riot // (c) 1992 NMK
+gunnail // (c) 1993 NMK / Tecmo
+macross2 // (c) 1993 Banpresto
+sabotenb // (c) 1992 NMK / Tecmo
+sabotenba // (c) 1992 NMK / Tecmo
+cactus // bootleg
+nouryoku // (c) 1995 Tecmo
+raphero // (c) 1994 Media Trading Corp
+
+// nmk16.c bootlegs using the Seibu Sound System
+mustangb // bootleg
+mustangb2 // TAB Austria bootleg
+tdragonb // bootleg
+
+// Comad games on unofficial hardware based on nmk16.c
+ssmissin // (c) 1992 Comad
+airattck // (c) 1996 Comad
+airattcka // (c) 1996 Comad
+
+// Bee-Oh games on unofficial hardware based on nmk16.c
+manybloc // (c) 1991 Bee-Oh
+
+// Jaleco Mahjong Games, Similar Hardware to the NMK ones above?
+daireika // (c) 1989 Jaleco/NMK
+mjzoomin // (c) 1990
+kakumei // (c) 1990
+kakumei2 // (c) 1992
+suchipi // (c) 1993
+
+// NMK Double Dealer, Similar Hardware to Jaleco Mahjong games above
+ddealer // (c) 1991 NMK
+
+// Based on nmk16?
+quizpani // (c) 1993 NMK
+acommand // (c) 1990
+
+// don't know what hardare Banpresto used for these games
+macrossp // (c) 1996 Banpresto
+quizmoon // (c) 1997 Banpresto
+
+// Face/NMK games
+gakupara // (c) 1991 NMK
+quizdna // (c) 1992 Face
+gekiretu // (c) 1992 Face
+cultures // (c) 1994 Face
+
+// Williams/Midway TMS games
+narc // (c) 1988 Williams
+narc3 // (c) 1988 Williams
+narc2 // (c) 1988 Williams
+trog // (c) 1990 Midway
+trog4 // (c) 1990 Midway
+trog3 // (c) 1990 Midway
+trogpa6 // (c) 1990 Midway
+trogpa4 // (c) 1990 Midway
+smashtv // (c) 1990 Williams
+smashtv6 // (c) 1990 Williams
+smashtv5 // (c) 1990 Williams
+smashtv4 // (c) 1990 Williams
+smashtv3 // (c) 1990 Williams
+hiimpact // (c) 1990 Williams
+hiimpact4 // (c) 1990 Williams
+hiimpact3 // (c) 1990 Williams
+hiimpact2 // (c) 1990 Williams
+hiimpact1 // (c) 1990 Williams
+hiimpactp // (c) 1990 Williams
+shimpact // (c) 1991 Midway
+shimpactp6 // (c) 1991 Midway
+shimpactp5 // (c) 1991 Midway
+shimpactp4 // (c) 1991 Midway
+strkforc // (c) 1991 Midway
+mk // (c) 1992 Midway
+mkr4 // (c) 1992 Midway
+mktturbo // hack
+mkyturbo // hack
+mkprot4 // (c) 1992 Midway
+mkprot8 // (c) 1992 Midway
+mkprot9 // (c) 1992 Midway
+mkla1 // (c) 1992 Midway
+mkla2 // (c) 1992 Midway
+mkla3 // (c) 1992 Midway
+mkla4 // (c) 1992 Midway
+mkyawdim // bootleg
+term2 // (c) 1992 Midway
+term2la3 // (c) 1992 Midway
+term2la2 // (c) 1992 Midway
+term2la1 // (c) 1992 Midway
+totcarn // (c) 1992 Midway
+totcarnp // (c) 1992 Midway
+mk2 // (c) 1993 Midway
+mk2r31e // (c) 1993 Midway
+mk2r32 // (c) 1993 Midway
+mk2r30 // (c) 1993 Midway
+mk2r21 // (c) 1993 Midway
+mk2r14 // (c) 1993 Midway
+mk2r11 // (c) 1993 Midway
+mk2r42 // hack
+mk2r91 // hack
+mk2chal // hack
+jdreddp // (c) 1993 Midway
+nbajam // (c) 1993 Midway
+nbajamr2 // (c) 1993 Midway
+nbajamte // (c) 1994 Midway
+nbajamt1 // (c) 1994 Midway
+nbajamt2 // (c) 1994 Midway
+nbajamt3 // (c) 1994 Midway
+revx // (c) 1994 Midway
+mk3 // (c) 1994 Midway
+mk3r20 // (c) 1994 Midway
+mk3r10 // (c) 1994 Midway
+mk3p40 // (c) 1994 Midway
+umk3 // (c) 1994 Midway
+umk3r11 // (c) 1994 Midway
+umk3r10 // (c) 1994 Midway
+wwfmania // (c) 1995 Midway
+wwfmaniab // (c) 1995 Midway
+openice // (c) 1995 Midway
+nbahangt // (c) 1996 Midway
+nbamht // (c) 1996 Midway
+nbamht1 // (c) 1996 Midway
+rmpgwt // (c) 1997 Midway
+rmpgwt11 // (c) 1997 Midway
+
+// Midway V-unit games
+crusnusa // (c) 1994 Midway
+crusnusa40 // (c) 1994 Midway
+crusnusa21 // (c) 1994 Midway
+crusnwld // (c) 1996 Midway
+crusnwld23 // (c) 1996 Midway
+crusnwld20 // (c) 1996 Midway
+crusnwld17 // (c) 1996 Midway
+crusnwld13 // (c) 1996 Midway
+offroadc // (c) 1997 Midway (v1.63)
+offroadc4 // (c) 1997 Midway (v1.40)
+offroadc3 // (c) 1997 Midway (v1.30)
+offroadc1 // (c) 1997 Midway (v1.10)
+wargods // (c) 1996 Midway
+
+// Midway Zeus games
+mk4 // (c) 1997 Midway (v3.0) Latest offical release
+mk4a // (c) 1997 Midway (v2.1)
+mk4b // (c) 1997 Midway (v1.0)
+invasnab // (c) 1999 Midway (v5.0) Latest offical release
+invasnv4 // (c) 1999 Midway (v4.0)
+crusnexo // (c) 1999 Midway (v2.4) Latest offical release
+crusnexoa // (c) 1999 Midway (v2.0)
+crusnexob // (c) 1999 Midway (v1.6)
+thegrid // (c) 2001 Midway (v1.2) Latest offical release
+thegrida // (c) 2001 Midway (v1.1)
+
+// Midway / Atari Voodoo based Hardware (Seattle, Flagstaff)
+wg3dh // (c) 1996 Atari Games
+mace // (c) 1996 Atari Games
+macea // (c) 1996 Atari Games
+sfrush // (c) 1996 Atari Games
+sfrushrk // (c) 1996 Atari Games
+calspeed // (c) 1996 Atari Games
+calspeeda // (c) 1996 Atari Games
+vaportrx // (c) 1998 Atari Games
+vaportrxp // (c) 1998 Atari Games
+carnevil // (c) 1998 Midway Games (v1.0.3)
+carnevil1 // (c) 1998 Midway Games (v1.0.1)
+biofreak // (c) 1997 Midway Games (prototype)
+blitz // (c) 1997 Midway Games
+blitz11 // (c) 1997 Midway Games
+blitz99 // (c) 1998 Midway Games
+blitz2k // (c) 1999 Midway Games
+hyprdriv // (c) 1998 Midway Games
+
+// Midway / Atari Voodoo 2 & 3 - based Hardware (Vegas, Denver, Durango)
+gauntleg // (c) 1998 Atari Games
+gauntleg12 // (c) 1998 Atari Games
+tenthdeg // (c) 1998 Atari Games (prototype)
+roadburn // (c) 1999 Atari Games
+sf2049 // (c) 1999 Atari Games
+sf2049se // (c) 1999 Atari Games
+sf2049te // (c) 1999 Atari Games
+warfa // (c) 1999 Atari Games
+nbashowt // (c) 1998 Midway Games
+nbanfl // (c) 1999 Midway Games
+gauntdl // (c) 1999 Midway Games
+gauntdl24 // (c) 1999 Midway Games
+cartfury // (c) 2000 Midway Games
+
+// Midway Quicksilver
+hydrthnd // (c) 1999 Midway Games
+offrthnd // (c) 2000 Midway Games
+
+// Midway Touchmaster / Galaxy Games
+tm // (c) 1996 Midway Games
+tmdo // (c) 1996 Midway Games
+tm2k // (c) 1996 Midway Games
+tm2ka // (c) 1996 Midway Games
+tm2kb // (c) 1996 Midway Games
+tm3k // (c) 1997 Midway Games
+tm3ka // (c) 1997 Midway Games
+tm4k // (c) 1998 Midway Games
+tm4ka // (c) 1998 Midway Games
+tm4kb // (c) 1998 Midway Games
+tm5k // (c) 1998 Midway Games
+tm5kca // (c) 1998 Midway Games
+tm5ka // (c) 1998 Midway Games
+tm7k // (c) 1999 Midway Games
+tm7ka // (c) 1999 Midway Games
+tm7keval // (c) 1999 Midway Games
+tm8k // (c) 2000 Midway Games
+tm8k902 // (c) 2000 Midway Games
+galgbios // (c) 1998 Creative Electronics & Software (CES)
+galgame2 // (c) 1998 Creative Electronics & Software (CES) / Namco
+
+// Creative Electronics & Software
+hrclass
+ccclass
+tsclass
+
+// Cinematronics raster games
+embargo
+tripool // (c) 1981 Noma (Casino Tech license)
+tripoola // (c) 1981 Noma (Costal Games license)
+unclepoo // (c) 1983 Diatec
+joinem // (c) 1986 Global
+loverboy // (c) 1983 Global
+striv // (c) 1985 Hara Industries
+jack // (c) 1982 Cinematronics
+jack2 // (c) 1982 Cinematronics
+jack3 // (c) 1982 Cinematronics
+treahunt // (c) 1982 Hara Ind.
+zzyzzyxx // (c) 1982 Cinematronics + Advanced Microcomputer Systems
+zzyzzyxx2 // (c) 1982 Cinematronics + Advanced Microcomputer Systems
+brix // (c) 1982 Cinematronics + Advanced Microcomputer Systems
+freeze // Cinematronics
+sucasino // (c) 1982 Data Amusement
+
+// Cinematronics vector games
+spacewar // (c) 1977
+spaceshp // (c) 1978 Cinematronics (Sega licence)
+barrier // (c) 1979 Vectorbeam
+starcas // (c) 1980
+starcas1 // (c) 1980
+starcasp // (c) 1980 prototype
+starcase // (c) 1980 Cinematronics (Mottoeis license)
+stellcas // bootleg
+spaceftr // (c) 1981 Zaccaria
+tailg // (c) 1979
+ripoff // (c) 1980
+armora // (c) 1980
+armorap // (c) 1980
+armorar // (c) 1980 Cinematronics (Rock-ola license)
+wotw // (c) 1981
+wotwc // (c) 1981
+warrior // (c) 1979 Vectorbeam
+starhawk // (c) 1979
+solarq // (c) 1981
+boxingb // (c) 1981
+speedfrk // (c) 1979 Vectorbeam
+sundance // (c) 1979
+demon // (c) 1982 Rock-ola
+qb3 // (c) 1982 Rock-ola - prototype
+// this one uses 68000+Z80 instead of the Cinematronics CPU
+cchasm
+cchasm1 // (c) 1983 Cinematronics / GCE
+
+// "The Pit hardware" games
+roundup // (c) 1981 Amenip/Centuri
+fitter // (c) 1981 Taito
+fitterbl // bootleg
+thepit // (c) 1982 Zilec
+thepitu1 // (c) 1982 Centuri (licensed)
+thepitu2 // (c) 1982 Centuri (licensed)
+thepitj // (c) 1982 Taito (licensed)
+thepitm // bootleg
+dockman // (c) 1982 Taito Corp.
+portman // (c) 1982 Nova Games Ltd.
+suprmous // (c) 1982 Taito
+funnymou // (c) 1982 Chuo Co. Ltd
+machomou // (c) 1982 Techstar
+intrepid // (c) 1983 Nova Games Ltd.
+intrepid2 // (c) 1983 Nova Games Ltd.
+zaryavos // (c) 1983 Nova Games of Canada (prototype)
+timelimt // (c) 1983 Chuo Co. Ltd
+progress // (c) 1984 Chuo Co. Ltd
+koroleva // (c) 1988 Terminal
+rtriv // (c) 198? Romar
+
+// TIA-MC1 hardware games
+konek // (c) 1988 Terminal
+sosterm // (c) 1988 Terminal
+bilyard // (c) 1988 Terminal
+
+// Photon hardware games
+phtetris
+phpython
+phklad
+
+// Photon IK2 hardware
+kok
+black
+brod
+
+// Valadon Automation games
+bagman // (c) 1982
+bagnard // (c) 1982
+bagnarda // (c) 1982
+bagmans // (c) 1982 + Stern license
+bagmans2 // (c) 1982 + Stern license
+pickin // (c) 1983
+supdrapo // (c) 1983 + Stern license
+supdrapoa // (c) 1983 + Jeutel license?
+supdrapob // bootleg
+sbagman // (c) 1984
+sbagmans // (c) 1984 + Stern license
+botanic // (c) 1985
+squaitsa // (c) 1985
+tankbust // (c) 1985
+
+// Seibu Denshi / Seibu Kaihatsu games
+stinger // (c) 1983 Seibu Denshi
+stinger2 // (c) 1983 Seibu Denshi
+scion // (c) 1984 Seibu Denshi
+scionc // (c) 1984 Seibu Denshi + Cinematronics license
+kungfut // (c) 1984 Seibu Kaihatsu
+kungfuta // (c) 1984 Seibu Kaihatsu
+wiz // (c) 1985 Seibu Kaihatsu
+wizt // (c) 1985 Taito Corporation
+wizta // (c) 1985 Taito Corporation
+kncljoe // (c) 1985 Taito Corporation
+kncljoea // (c) 1985 Taito Corporation
+bcrusher // bootleg
+empcity // (c) 1986 Seibu Kaihatsu (bootleg?)
+empcityu // (c) 1986 Taito (Romstar License)
+empcityj // (c) 1986 Taito Corporation (Japan)
+empcityi // (c) 1986 Seibu Kaihatsu (Eurobed license)
+stfight // (c) 1986 Seibu Kaihatsu (Germany) (bootleg?)
+stfighta // (c) 1986 Seibu Kaihatsu (bootleg?)
+darkmist // (c) 1986 Taito
+mustache // (c) 1987 March
+cshooter // (c) 1987 Taito
+cshootere // (c) 1987 JKH (bootleg)
+airraid // (c) 1987 Seibu Kaihatsu
+panicr // Seibu / Taito
+deadang // (c) 1988 Seibu Kaihatsu
+leadang // (c) 1988 Seibu Kaihatsu
+ghunter // (c) 1988 Seibu Kaihatsu + Segasa/Sonic license
+dynduke // (c) 1989 Seibu Kaihatsu + Fabtek license
+dyndukef // (c) 1989 Seibu Kaihatsu + Fabtek license
+dbldyn // (c) 1989 Seibu Kaihatsu + Fabtek license
+dbldynf // (c) 1989 Seibu Kaihatsu + Fabtek license
+raiden // (c) 1990 Seibu Kaihatsu
+raidena // (c) 1990 Seibu Kaihatsu
+raidenk // (c) 1990 Seibu Kaihatsu + IBL Corporation license
+raident // (c) 1990 Seibu Kaihatsu + Liang HWA Electronics license
+raidenu // (c) 1990 Seibu Kaihatsu + Fabtek license
+raidenua // (c) 1990 Seibu Kaihatsu + Fabtek license
+sdgndmps // (c) Banpresto / Bandai (Japan)
+dcon // (c) 1992 Success
+sengokmj // (c) 1991 Sigma
+totmejan // (c) 1991 Seibu/Tecmo
+goodejan // (c) 1991 Seibu/Tecmo
+goodejana // (c) 1991 Seibu/Tecmo
+
+
+raiden2 // (c) 1993 Seibu Kaihatsu + Fabtek license
+raiden2a // (c) 1993 Seibu Kaihatsu + Metrotainment license
+raiden2b // (c) 1993 Seibu Kaihatsu
+raiden2c // (c) 1993 Seibu Kaihatsu
+raiden2d // (c) 1993 Seibu Kaihatsu
+raiden2e // (c) 1993 Seibu Kaihatsu
+raiden2f // (c) 1993 Seibu Kaihatsu
+raidndx // (c) 1994 Seibu Kaihatsu
+raidndxj // (c) 1994 Seibu Kaihatsu
+raidndxu // (c) 1994 Seibu Kaihatsu + Fabtek license
+raidndxa1 // (c) 1994 Seibu Kaihatsu + Metrotainment license
+raidndxa2 // (c) 1994 Seibu Kaihatsu + Metrotainment license
+raidndxg // (c) 1994 Seibu Kaihatsu + Tuning license
+zeroteam // (c) 1993 Seibu Kaihatsu
+zeroteama // (c) 1993 Seibu Kaihatsu
+zeroteamb // (c) 1993 Seibu Kaihatsu
+zeroteamc // (c) 1993 Seibu Kaihatsu
+zeroteams // (c) 1993 Seibu Kaihatsu
+zeroteamsr // (c) 1993 Seibu Kaihatsu
+xsedae // (c) 1995 Dream Island
+
+// Newer V33 PCB with COP3 protection
+r2dx_v33 // (c) 1996 Seibu Kaihatsu
+nzerotea // (c) 1997 Seibu Kaihatsu
+
+// Seibu SPI System games
+
+senkyu // (c) 1995 Seibu Kaihatsu
+senkyua // (c) 1995 Seibu Kaihatsu
+batlball // (c) 1995 Seibu Kaihatsu (Tuning License)
+batlballa // (c) 1995 Seibu Kaihatsu (Metrotainment License)
+batlballu // (c) 1995 Seibu Kaihatsu (Metrotainment License)
+
+viprp1 // (c) 1995 Seibu Kaihatsu
+viprp1u // (c) 1995 Seibu Kaihatsu (Fabtek license)
+viprp1j // (c) 1995 Seibu Kaihatsu
+viprp1s // (c) 1995 Seibu Kaihatsu
+viprp1oj // (c) 1995 Seibu Kaihatsu
+viprp1ot // (c) 1995 Seibu Kaihatsu (Tuning License)
+viprp1hk // (c) 1995 Seibu Kaihatsu (Metrotainment License)
+
+ejanhs // (c) 1996 Seibu Kaihatsu
+
+rdft // (c) 1996 Seibu Kaihatsu
+rdftu // (c) 1996 Seibu Kaihatsu (Fabtek license)
+rdftau // (c) 1996 Seibu Kaihatsu
+rdftj // (c) 1996 Seibu Kaihatsu
+rdftadi // (c) 1996 Seibu Kaihatsu (Dream Island license)
+rdftam // (c) 1996 Seibu Kaihatsu (Metrotainment license)
+rdftit // (c) 1996 Seibu Kaihatsu
+rdfta // (c) 1996 Seibu Kaihatsu
+
+rdft2 // (c) 1997 Seibu Kaihatsu (Tuning License)
+rdft2a // (c) 1997 Seibu Kaihatsu (Metrotainment license)
+rdft2a2 // (c) 1997 Seibu Kaihatsu (Dream Island license)
+rdft2j // (c) 1997 Seibu Kaihatsu
+rdft2j2 // (c) 1997 Seibu Kaihatsu
+rdft2t // (c) 1997 Seibu Kaihatsu
+rdft2u // (c) 1997 Seibu Kaihatsu (Fabtek license)
+rdft2us // (c) 1997 Seibu Kaihatsu (Fabtek license)
+rdft22kc // (c) 2000 Seibu Kaihatsu
+
+rfjet // (c) 1998 Seibu Kaihatsu (Tuning License)
+rfjetu // (c) 1998 Seibu Kaihatsu (Fabtek license)
+rfjeta // (c) 1998 Seibu Kaihatsu (Dream Island license)
+rfjetj // (c) 1998 Seibu Kaihatsu
+rfjets // (c) 1998 Seibu Kaihatsu
+rfjet2kc // (c) 2000 Seibu Kaihatsu
+
+ejsakura // (c) 1999 Seibu Kaihatsu
+ejsakura12 // (c) 1999 Seibu Kaihatsu
+
+// Seibu System SH2B games
+feversoc // (c) 2000
+
+// Tad games (Tad games run on Seibu hardware)
+cabal // (c) 1988 Tad + Fabtek license
+cabala // (c) 1988 Tad + Fabtek license
+cabalbl // bootleg
+cabalbl2 // bootleg
+cabalus // (c) 1988 Tad + Fabtek license
+cabalus2 // (c) 1988 Tad + Fabtek license
+toki // (c) 1989 Tad (World)
+tokia // (c) 1989 Tad (World)
+tokiu // (c) 1989 Tad + Fabtek license (US)
+tokiua // (c) 1989 Tad + Fabtek license (US)
+tokib // bootleg
+juju // (c) 1989 Tad (Japan)
+jujub // (c) 1989 Tad (Japan)
+bloodbro // (c) 1990 Tad
+bloodbroa // (c) 1990 Tad
+bloodbrob // (c) 1990 Tad
+weststry // bootleg
+skysmash // (c) 1990 Nihon System Inc.
+legionna // (c) 1992 Tad (World)
+legionnau // (c) 1992 Tad + Fabtek license (US)
+heatbrl // (c) 1992 Tad (World version 3)
+heatbrl2 // (c) 1992 Tad (World version 2)
+heatbrlo // (c) 1992 Tad (World)
+heatbrlu // (c) 1992 Tad (US)
+godzilla // (c) 1993 Banpresto
+denjinmk // (c) 199? Banpresto
+grainbow // (c) 1993 Banpresto
+cupsoc // (c) 1992 Seibu
+cupsoca // (c) 1992 Seibu
+cupsocs // (c) 1992 Seibu
+cupsocs2 // (c) 1992 Seibu
+cupsocsb // bootleg
+cupsocsb2 // bootleg
+olysoc92 // (c) 1992 Seibu
+goal92 // bootleg
+
+// Jaleco games
+exerion // (c) 1983 Jaleco
+exeriont // (c) 1983 Jaleco + Taito America license
+exerionb // bootleg
+fcombat // (c) 1985 Jaleco
+pturn // (c) 1984 Jaleco
+ddayjlc // (c) 1984 Jaleco
+ddayjlca // (c) 1984 Jaleco
+formatz // (c) 1984 Jaleco
+aeroboto // (c) 1984 Williams
+citycon // (c) 1985 Jaleco
+citycona // (c) 1985 Jaleco
+cruisin // (c) 1985 Jaleco/Kitkorp
+momoko // (c) 1986 Jaleco
+argus // (c) 1986 Jaleco
+valtric // (c) 1986 Jaleco
+butasan // (c) 1987 Jaleco
+psychic5 // (c) 1987 Jaleco
+psychic5a // (c) 1987 Jaleco
+bombsa // (c) 1988 Jaleco
+ginganin // (c) 1987 Jaleco
+ginganina // (c) 1987 Jaleco
+skyfox // (c) 1987 Jaleco + Nichibutsu USA license
+exerizer // (c) 1987? Jaleco
+exerizerb // bootleg
+homerun // (c) 1988 Jaleco
+dynashot // (c) 1988 Jaleco
+bigrun // (c) 1989 Jaleco
+cischeat // (c) 1990 Jaleco
+f1gpstar // (c) 1991 Jaleco
+armchmp2 // (c) 1992 Jaleco
+armchmp2o // (c) 1992 Jaleco
+wildplt // (c) 1992 Jaleco
+f1gpstr2 // (c) 1993 Jaleco
+scudhamm // (c) 1994 Jaleco
+tetrisp2 // (c) 1997 Jaleco
+tetrisp2j // (c) 1997 Jaleco
+tetrisp2ja // (c) 1997 Jaleco
+nndmseal // (c) 1997 I'Max/Jaleco
+stepstag // (c) 1999 Jaleco
+step3 // (c) 1999 Jaleco
+rockn // (c) 1999 Jaleco
+rockna // (c) 1999 Jaleco
+rockn2 // (c) 1999 Jaleco
+rocknms // (c) 1999 Jaleco
+rockn3 // (c) 1999 Jaleco
+rockn4 // (c) 2000 Jaleco
+
+// Jaleco Mega System 1 games
+lomakai // (c) 1988 (World)
+makaiden // (c) 1988 (Japan)
+p47 // (c) 1988
+p47j // (c) 1988 (Japan)
+kickoff // (c) 1988 (Japan)
+tshingen // (c) 1988 (Japan)
+tshingena // (c) 1988 (Japan)
+kazan // (c) 1988 (World)
+iganinju // (c) 1988 (Japan)
+astyanax // (c) 1989
+lordofk // (c) 1989 (Japan)
+hachoo // (c) 1989
+jitsupro // (c) 1989 (Japan)
+plusalph // (c) 1989
+stdragon // (c) 1989
+rodland // (c) 1990
+rodlandj // (c) 1990 (Japan)
+rodlandjb // bootleg
+avspirit // (c) 1991
+phantasm // (c) 1991 (Japan)
+monkelf // bootleg
+edf // (c) 1991
+edfu // (c) 1991
+edfbl // (c) 1991
+64street // (c) 1991
+64streetj // (c) 1991 (Japan)
+soldam // (c) 1992
+soldamj // (c) 1992 (Japan)
+bigstrik // (c) 1992
+bigstrkb // bootleg on different hardware
+bestleag // bootleg, by Playmark?
+bestleaw // bootleg
+chimerab // (c) 1993
+cybattlr // (c) 1993
+hayaosi1 // (c) 1993
+peekaboo // (c) 1993
+
+// Jaleco Mega System 32 games
+hayaosi2 // (c) 1993
+hayaosi3 // (c) 1994
+bbbxing // (c) 1994
+47pie2 // (c) 1994
+47pie2o // (c) 1994
+desertwr // (c) 1995
+gametngk // (c) 1995
+tetrisp // (c) 1995 Jaleco / BPS
+p47aces // (c) 1995
+akiss // (c) 1995
+gratia // (c) 1996
+gratiaa // (c) 1996
+kirarast // (c) 1996
+tp2m32 // (c) 1997
+bnstars // (c) 1997
+wpksocv2 // (c) 1997
+
+f1superb // (c) 1994
+
+bnstars1 // (c) 1994
+
+// Video System Co. games
+rabiolep // (c) 1987 V-System Co. (Japan)
+rpunch // (c) 1987 V-System Co. + Bally/Midway/Sente license (US)
+svolley // (c) 1989 V-System Co. (Japan)
+svolleyk // (c) 1989 V-System Co. (Korea)
+svolleyu // (c) 1989 V-System Co. + Data East license (US)
+tail2nos // [1989] V-System Co.
+sformula // [1989] V-System Co. (Japan)
+ojankoc // [1986] V-System Co. (Japan)
+ojankoy // [1986] V-System Co. (Japan)
+ojanko2 // [1987] V-System Co. (Japan)
+ccasino // [1987] V-System Co. (Japan)
+ojankohs // [1988] V-System Co. (Japan)
+nekkyoku // [1988] Video System Co. (Japan)
+idolmj // [1988] (c) System Service (Japan)
+mjnatsu // [1989] Video System presents (Japan)
+natsuiro // [1989] Video System presents (Japan)
+mfunclub // [1989] V-System (Japan)
+daiyogen // [1990] Video System Co. (Japan)
+nmsengen // (c) 1991 Video System (Japan)
+fromance // (c) 1991 Video System Co. (Japan)
+pipedrm // (c) 1990 Video System Co. (World)
+pipedrmu // (c) 1990 Video System Co. (US)
+pipedrmj // (c) 1990 Video System Co. (Japan)
+hatris // (c) 1990 Video System Co. (US)
+hatrisj // (c) 1990 Video System Co. (Japan)
+spinlbrk // (c) 1990 V-System Co. (World)
+spinlbrku // (c) 1990 V-System Co. (US)
+spinlbrkj // (c) 1990 V-System Co. (Japan)
+pspikes // (c) 1991 Video System Co. (World)
+pspikesk // (c) 1991 Video System Co. (Korea)
+svolly91 // (c) 1991 Video System Co. (Japan)
+pspikesb // bootleg
+spikes91 // bootleg
+pspikesc // bootleg
+karatblz // (c) 1991 Video System Co.
+karatblzu // (c) 1991 Video System Co. (US)
+karatblzj // (c) 1991 Video System / Tecmo (Japan)
+turbofrc // (c) 1991 Video System Co.
+aerofgt // (c) 1992 Video System Co.
+aerofgtb // (c) 1992 Video System Co.
+aerofgtc // (c) 1992 Video System Co.
+sonicwi // (c) 1992 Video System Co. (Japan)
+aerfboot // bootleg
+aerfboo2 // bootleg
+wbbc97 // (c) 1997 Comad
+welltris // (c) 1991 Video System Co. (Japan)
+welltrisj // (c) 1991 Video System Co. (Japan)
+quiz18k // (c) 1992 EIM (Welltris hardware)
+f1gp // (c) 1991 Video System Co.
+f1gpb // bootleg
+f1gp2 // (c) 1992 Video System Co.
+crshrace // (c) 1993 Video System Co.
+crshrace2 // (c) 1993 Video System Co.
+taotaido // (c) 1993 Video System Co.
+taotaidoa // (c) 1993 Video System Co.
+gstriker // (c) [1993] Human
+gstrikera // (c) [1993] Human
+vgoalsoc // (c) 199? Temco
+vgoalsca // (c) 199? Temco
+twrldc94 // (c) 1994 Tecmo
+twrldc94a // (c) 1994 Tecmo
+suprslam // (c) 1995 Banpresto
+fromanc2 // (c) 1995 Video System Co. (Japan)
+fromancr // (c) 1995 Video System Co. (Japan)
+fromanc4 // (c) 1998 Video System Co. (Japan)
+inufuku // (c) 1998 Video System Co. (Japan)
+
+// Psikyo games
+samuraia // (c) 1993 (World)
+sngkace // (c) 1993 (Japan)
+gunbird // (c) 1994
+gunbirdk // (c) 1994
+gunbirdj // (c) 1994
+btlkroad // (c) 1994
+s1945 // (c) 1995
+s1945a // (c) 1995
+s1945j // (c) 1995
+s1945jn // (c) 1995
+s1945bl // (c) 1995 (Hong Kong bootleg)
+s1945k // (c) 1995
+tengai // (c) 1996
+tengaij // (c) 1996
+s1945ii // (c) 1997
+soldivid // (c) 1997
+sbomber // (c) 1998
+sbombera // (c) 1998
+daraku // (c) 1998
+gunbird2 // (c) 1998
+s1945iii // (c) 1999
+dragnblz // (c) 2000
+tgm2 // (c) 2000
+tgm2p // (c) 2000
+gnbarich // (c) 2001
+mjgtaste // (c) 2002
+hotgmck // (c) 1997
+hgkairak // (c) 1998
+hotgmck3 // (c) 1999
+hotgm4ev // (c) 2000
+hotgmcki // (c) 2001
+loderndf // (c) 2000
+loderndfa // (c) 2000
+hotdebut // (c) 2000
+
+// Orca games
+marineb // (c) 1982 Orca
+changes // (c) 1982 Orca
+changesa // (c) 1982 Orca + Eastern Micro Electronics license
+looper // (c) 1982 Orca
+springer // (c) 1982 Orca
+hoccer // (c) 1983 Eastern Micro Electronics, Inc.
+hoccer2 // (c) 1983 Eastern Micro Electronics, Inc.
+bcruzm12 // (c) 1983 Sigma Ent. Inc.
+hopprobo // (c) 1983 Sega
+wanted // (c) 1984 Sigma Ent. Inc.
+funkybee // (c) 1982 Orca
+funkybeeb // (c) 1982 Orca
+skylancr // (c) 1983 Orca
+skylancre // (c) 1983 Orca + Esco Trading Co license
+zodiack // (c) 1983 Orca + Esco Trading Co license
+dogfight // (c) 1983 Thunderbolt
+moguchan // (c) 1982 Orca + Eastern Commerce Inc. license (doesn't appear on screen)
+percuss // (c) 1981 Orca
+bounty // (c) 1982 Orca
+espial // (c) 1983 Thunderbolt, Orca logo is hidden in title screen
+espialu // (c) 1983 Thunderbolt, Orca logo is hidden in title screen
+netwars // (c) 1983 Orca + Esco Trading Co license
+// Vastar was made by Orca, but when it was finished, Orca had already bankrupted.
+// So they sold this game as "Made by Sesame Japan" because they couldn't use
+// the name "Orca"
+vastar // (c) 1983 Sesame Japan
+vastar2 // (c) 1983 Sesame Japan
+/*
+other Orca games:
+82 Battle Cross Kit 2P
+82 River Patrol Empire Mfg/Kerstens Ind Ded 2P HC Action
+82 Slalom Kit 2P HC Action
+83 Net Wars 2P
+83 Super Crush Kit 2P Action
+*/
+
+// Gaelco 2D games
+mastboy // (c) 1987 - No Ref on the PCB
+mastboyi // (c) 1987 - No Ref on the PCB
+xorworld // (c) 1990 - prototype
+bigkarnk // (c) 1991 - Ref 901112-1
+// Master Boy 2 // (c) 1991 - Ref ???
+splash // (c) 1992 - Ref 922804
+splash10 // (c) 1992 - Ref 922804
+paintlad // (c) 1992 - ver 1.3
+roldfrog // not a gaelco game but based on splash code
+roldfroga // not a gaelco game but based on splash code
+rebus // not a gaelco game but on similar hw to splash
+funystrp // not a gaelco game but on similar hw to splash
+puckpepl // not a gaelco game but on similar hw to splash
+thoop // (c) 1992 - Ref 922804/1
+squash // (c) 1992 - Ref 922804/2
+wrally // (c) 1993 - Ref 930705
+wrallya // (c) 1993 - Ref 930705
+wrallyb // (c) 1993 - Ref 930217
+glass // (c) 1993 - Ref 931021
+glass10 // (c) 1993 - Ref 931021
+glassbrk // (c) 1993 - Ref 931021 shows "Break Edition" on a real PCB
+targeth // (c) 1994 - Ref 940531
+targetha // (c) 1994 - Ref 940531
+thoop2 // (c) 1994 - Ref ???
+aligator // (c) 1994 - Ref 940411
+aligatorun // (c) 1994 - Ref 940411 (unprotected)
+biomtoy // (c) 1995 - Ref 922804/2 - (unprotected)
+touchgo // (c) 1995 - Ref 950906
+touchgon // (c) 1995 - Ref 950906
+touchgoe // (c) 1995 - Ref 950510-1
+wrally2 // (c) 1995 - Ref 950510
+maniacsp // (c) 1996 - Ref 922804/2 - (prototype)
+maniacsq // (c) 1996 - Ref ??? - (unprotected)
+snowboar // (c) 1996 - Ref 960419/1
+snowboara // (c) 1996 - Ref 960419/1
+bang // (c) 1998 - Ref ???
+bangj // (c) 1999 - Ref ???
+grtesoro // (c) 1999 - Ref ???
+grtesoro4 // (c) 1999 - Ref ???
+
+// Gaelco 3D games
+speedup // (c) 1996 - Ref ???
+surfplnt // (c) 1997 - Ref 971223
+surfplnt40 // (c) 1997 - Ref 970514
+radikalb // (c) 1998 - Ref ???
+
+// SH-4 hardware
+atvtrack // (c) 2002 - Ref 020419
+atvtracka // (c) 2002 - Ref 020419
+
+/*
+Remaining Gaelco Games:
+=======================
+1999: Rolling Extreme
+2000: Football Power
+2001: Smashing Drive
+*/
+
+// Galeco PC based games
+tokyocop // (c) 2003 (Arcade TV Game List - P.168, Right, 19 from bottom)
+
+// Kaneko games
+hvyunit // (c) 1988 Kaneko
+hvyunitj // (c) 1988 Kaneko
+hvyunitjo // (c) 1988 Kaneko
+hvyunitu // (c) 1988 Kaneko
+djboy // (c) 1989 Kaneko
+djboyj // (c) 1989 Kaneko
+djboya // (c) 1989 Kaneko
+airbustr // (c) 1990 Kaneko + Namco
+airbustrj // (c) 1990 Kaneko + Namco (Japan)
+airbustrb // bootleg
+galpanic // (c) 1990 Kaneko
+galpanica // (c) 1990 Kaneko
+galsnew // (c) 1990 Kaneko
+galsnewa // (c) 1990 Kaneko
+galsnewj // (c) 1990 Kaneko
+galsnewk // (c) 1990 Kaneko
+galpani2 // (c) 1993 Kaneko
+galpani2g // (c) 1993 Kaneko
+galpani2t // (c) 1993 Kaneko
+galpani2i // (c) 1993 Kaneko
+galpani2j // (c) 1993 Kaneko
+gp2quiz // (c) 1993 Kaneko
+gp2se // (c) 1994 Kaneko
+jchan // (c) 1995 Kaneko
+jchan2 // (c) 1995 Kaneko
+galpani3 // (c) 1995 Kaneko
+
+// Kaneko "AX System" games
+berlwall // (c) 1991 Kaneko
+berlwallt // (c) 1991 Kaneko
+mgcrystl // (c) 1991 Kaneko (World)
+mgcrystlo // (c) 1991 Kaneko (World)
+mgcrystlj // (c) 1991 Kaneko + distributed by Atlus (Japan)
+blazeon // (c) 1992 Atlus
+sandscrp // (c) 1992 Face
+sandscrpa // (c) 1992 Face
+sandscrpb // (c) 1992 Face
+explbrkr // (c) 1992 Kaneko
+bakubrkr // (c) 1992 Kaneko
+shogwarr // (c) 1992 Kaneko
+shogwarru // (c) 1992 Kaneko
+fjbuster // (c) 1992 Kaneko
+brapboys // (c) 1992 Kaneko
+brapboysj // (c) 1992 Kaneko
+bloodwar // (c) 1994 Kaneko
+oedfight // (c) 1994 Kaneko
+bonkadv // (c) 1994 Kaneko
+gtmr // (c) 1994 Kaneko
+gtmra // (c) 1994 Kaneko
+gtmre // (c) 1994 Kaneko
+gtmrusa // (c) 1994 Kaneko (US)
+gtmr2 // (c) 1995 Kaneko
+gtmr2a // (c) 1995 Kaneko
+gtmr2u // (c) 1995 Kaneko
+
+// Kaneko "Super Nova System" games
+skns
+galpani4 // 1996.09 (c) 1996 Kaneko (Japan)
+galpani4k // 1996.09 (c) 1996 Kaneko (Korea)
+jjparads // 1996.12 (c) 1996 Electro Design Co. (Japan)
+sarukani // 1997.01 (c) 1997 Kaneko / Mediaworks (Japan)
+vblokbrk // 1997.?? (c) 1997 Kaneko / Mediaworks (Asia)
+galpanis // 1997.04 (c) 1997 Kaneko (Japan)
+galpanisk // 1997.04 (c) 1997 Kaneko (Korea)
+sengekis // 1997.?? (c) 1997 Kaneko / Warashi (Asia)
+sengekisj // 1997.07 (c) 1997 Kaneko / Warashi (Japan)
+jjparad2 // 1997.12 (c) 1997 Electro Design Co. (Japan)
+cyvern // 1998.02 (c) 1998 Kaneko (US)
+cyvernj // 1998.02 (c) 1998 Kaneko (Japan)
+ryouran // 1998.07 (c) 1998 Electro Design Co. (Japan)
+puzzloop // 1998.?? (c) 1998 Mitchell (Europe)
+puzzloopj // 1998.12 (c) 1998 Mitchell (Japan)
+puzzloopa // 1998.?? (c) 1998 Mitchell (Asia)
+puzzloopk // 1998.?? (c) 1998 Mitchell (Korea)
+puzzloopu // 1999.05 (c) 1998 Mitchell (USA)
+galpans2 // 1999.02 (c) 1999 Kaneko (Japan)
+galpans2a // 1999.?? (c) 1999 Kaneko (Asia)
+galpansu // 1999.?? (c) 1999 Kaneko (Korea)
+senknow // 1999.04 (c) 1999 Kaneko / Kouyousha (Japan)
+panicstr // 1999.09 (c) 1999 Kaneko (Japan)
+teljan // 1999.11 (c) 1999 Electro Design Co. (Japan)
+gutsn // 2000.06 (c) 2000 Kaneko / Kouyousha (Japan)
+galpans3 // 2002.07 (c) 2002 Kaneko (Japan)
+
+// Seta games
+hanaawas // (c) SetaKikaku
+speedatk // CB-0 (c) SetaKikaku
+srmp1 // UB or UC?? (c) 1987
+srmp2 // UB or UC?? (c) 1987
+srmp3 // ZA-0? (c) 1988
+rmgoldyh // ZF-0? (c) 1988
+mjyuugi // (c) 1990 Visco
+mjyuugia // (c) 1990 Visco
+ponchin // (c) 1991 Visco
+ponchina // (c) 1991 Visco
+
+// Seta 1st Generation HW (seta.c)
+tndrcade // UA-0 (c) 1987 Taito
+tndrcadej // UA-0 (c) 1987 Taito
+twineagl // UA-2 (c) 1988 + Taito license
+downtown // UD-2 (c) 1989 + Romstar or Taito license (DSW)
+downtown2 // UD-2 (c) 1989 + Romstar or Taito license (DSW)
+downtownj // UD-2 (c) 1989 + Romstar or Taito license (DSW)
+downtownp // UD-2 (c) 1989 + Romstar or Taito license (DSW)
+usclssic // UE (c) 1989 + Romstar or Taito license (DSW)
+calibr50 // UH (c) 1989 + Romstar or Taito license (DSW)
+arbalest // UK (c) 1989 + Jordan, Romstar or Taito license (DSW)
+metafox // UP (c) 1989 + Jordan, Romstar or Taito license (DSW)
+setaroul // UF (c) 19?? Seta / Visco
+drgnunit // (c) 1989 Athena / Seta + Romstar or Taito license (DSW)
+wits // (c) 1989 Athena (Visco license)
+thunderl // (c) 1990 Seta + Romstar or Visco license (DSW)
+thunderlbl // (c) 1990 Seta + Romstar or Visco license (DSW) - bootleg with Tetris sound
+wiggie // (c) 1994 Promat (not genuine seta hardware, but based on thunderl code)
+superbar // (c) 1994 Promat (not genuine seta hardware, but based on thunderl code)
+jockeyc // (c) 1990 [Seta] (Visco license)
+rezon // (c) 1991 Allumer
+rezont // (c) 1991 Allumer / Taito
+stg // (c) 1991 Athena / Tecmo
+pairlove // (c) 1991 Athena
+blandia // (c) 1992 Allumer
+blandiap // (c) 1992 Allumer
+blockcar // (c) 1992 Visco
+qzkklogy // (c) 1992 Tecmo
+neobattl // (c) 1992 Banpresto / Sotsu Agency. Sunrise
+umanclub // (c) 1992 Tsuburaya Prod. / Banpresto
+zingzip // UY (c) 1992 Allumer + Tecmo
+zingzipbl // bootleg
+atehate // (C) 1993 Athena
+jjsquawk // (c) 1993 Athena / Able
+jjsquawkb // bootleg
+kamenrid // (c) 1993 Toei / Banpresto
+madshark // (c) 1993 Allumer
+msgundam // (c) 1993 Banpresto
+msgundam1 // (c) 1993 Banpresto
+daioh // (C) 1993 Athena
+oisipuzl // (c) 1993 SunSoft / Atlus
+triplfun // bootleg
+utoukond // (c) 1993 Banpresto + Tsuburaya Prod.
+qzkklgy2 // (c) 1993 Tecmo
+wrofaero // (c) 1993 Yang Cheng
+eightfrc // (c) 1994 Tecmo
+kiwame // (c) 1994 Athena
+krzybowl // (c) 1994 American Sammy
+orbs // (c) 1994 American Sammy
+keroppi // (c) 1993 Sammy
+extdwnhl // (c) 1995 Sammy Japan
+gundhara // (c) 1995 Banpresto
+sokonuke // (c) 1995 Sammy Industries
+zombraid // (c) 1995 American Sammy
+crazyfgt // (c) 1998 Subsino
+inttoote // (c) 1998 Coinmaster
+inttootea // (c) 1998 Coinmaster
+
+// Seta 2nd Generation HW (seta2.c)
+gundamex // (c) 1994 Banpresto
+grdians // (c) 1995 Banpresto
+mj4simai // (c) 1996 Maboroshi Ware
+myangel // (c) 1996 Namco
+myangel2 // (c) 1997 Namco
+pzlbowl // (c) 1999 Nihon System / Moss
+penbros // (c) 2000 Subsino
+deerhunt // (c) 2000 Sammy USA Corporation
+deerhunta // (c) 2000 Sammy USA Corporation
+deerhuntb // (c) 2000 Sammy USA Corporation
+deerhuntc // (c) 2000 Sammy USA Corporation
+turkhunt // (c) 2001 Sammy USA Corporation
+wschamp // (c) 2001 Sammy USA Corporation
+wschampa // (c) 2001 Sammy USA Corporation
+funcube2 // (c) 2001 Namco
+funcube4 // (c) 2001 Namco
+trophyh // (c) 2002 Sammy USA Corporation
+reelquak // (c) ???? <unknown>
+
+// SSV System (Seta, Sammy, Visco) games
+srmp4 // (c) 1993 Seta
+srmp4o // (c) 1993 Seta
+twineag2 // (c) 1994 Seta
+srmp7 // (c) 1997 Seta
+dynagear // (c) 1993 Sammy
+survarts // (c) 1993 Sammy
+survartsu // (c) 1993 Sammy (American)
+eaglshot // (c) 1994 Sammy
+hypreact // (c) 1995 Sammy
+meosism // (c) 1996?Sammy
+hypreac2 // (c) 1997 Sammy
+sxyreact // (c) 1998 Sammy
+sxyreac2 // (c) 1999 Sammy
+cairblad // (c) 1999 Sammy
+keithlcy // (c) 1993 Visco
+drifto94 // (c) 1994 Visco
+janjans1 // (c) 1996 Visco
+stmblade // (c) 1996 Visco
+jsk // (c) 1997 Visco
+koikois2 // (c) 1997 Visco
+mslider // (c) 1997 Visco / Datt Japan
+ryorioh // (c) 1998 Visco
+janjans2 // (c) 2000 Visco
+vasara // (c) 2000 Visco
+vasara2 // (c) 2001 Visco
+vasara2a // (c) 2001 Visco
+
+ultrax // (c) 1995 Banpresto
+gdfs // (c) 1995 Banpresto
+
+jclub2 // (c) 199? Seta
+jclub2o // (c) 199? Seta
+darkhors // bootleg of Jockey Club II
+
+// ST-0016 based games (ST-0016 is a SoC Z80-based HW)
+// plain ST-0016
+renju // (c) 1994 Visco
+koikois // (c) 1995 Seta
+nratechu // (c) 1996 Seta
+dcrown // 199? unknown
+// R3000 + ST-0016
+srmp5 // (c) 199? Seta
+speglsht // (c) 1994 Seta
+// V810 + ST-0016
+mayjinsn // (c) 1994 Seta
+mayjisn2 // (c) 1994 Seta
+
+// Seta System S12
+srmp6 // (c) 1996 Seta (Japan)
+
+// Seta Aleck64 and similar (N64 based)
+aleck64 // (c) 1998 Nintendo/Seta
+11beat // (c) 1998 Hudson
+mtetrisc // (c) 1998 Capcom
+starsldr // (c) 1998 Hudson/Seta
+vivdolls // (c) 1998 Visco
+srmvs // (c) 1999 Seta
+twrshaft // (c) 2003 Aruze
+hipai // (c) 2003 Seta/Aruze (Arcade TV Game List - P.92, Right, 16 from top)
+doncdoon // (c) 2003 Aruze (Arcade TV Game List - P.90, Right, 8 from bottom)
+kurufev // (c) 2003 Aruze (Arcade TV Game List - P.75, Right, 1st entry on top)
+mayjin3 // (c) 2000 Seta (Arcade TV Game List - P.101, Right, 9 from top)
+
+
+// Atlus games
+powerins // (c) 1993 Atlus (USA)
+powerinsj // (c) 1993 Atlus (Japan)
+powerinsa // (c) 1993 Atlus (bootleg of USA version)
+powerinsb // (c) 1993 Atlus (bootleg of USA version)
+ohmygod // (c) 1993 Atlus (Japan)
+naname // (c) 1994 Atlus (Japan)
+blmbycar // (c) 1994 ABM & Gecas - uses same gfx chip as powerins?
+blmbycaru // (c) 1994 ABM & Gecas - uses same gfx chip as powerins?
+watrball // (c) 1996 ABM
+
+// Sun Electronics / SunSoft games
+dai3wksi // 1979.09 Dai San Wakusei (The Third Planet)
+speakres // [Sun Electronics]
+speakresb // bootleg
+stratvox // [1980 Sun Electronics] Taito
+stratvoxb // bootleg
+spacecho // bootleg
+spacecho2 // bootleg
+route16 // (c) 1981 Tehkan/Sun + Centuri license
+route16a // (c) 1981 Tehkan/Sun + Centuri license
+route16b // bootleg
+routex // bootleg
+ttmahjng // Taito
+fnkyfish // (c) 1981 Sun Electronics
+kangaroo // (c) 1982 Sun Electronics
+kangarooa // 136008 (c) 1982 Atari
+kangaroob // (bootleg)
+arabian // TVG13 (c) 1983 Sun Electronics
+arabiana // 136019 (c) 1983 Atari
+markham // TVG14 (c) 1983 Sun Electronics
+strnskil // TVG15 (c) 1984 Sun Electronics
+guiness // TVG15 (c) 1984 Sun Electronics
+pettanp // TVG16 (c) 1984 Sun Electronics (Japan)
+banbam // TVG16 (c) 1984 Sun Electronics
+ikki // TVG17 (c) 1985 Sun Electronics (Japan)
+farmer // TVG17 (c) 1985 Sun Electronics
+shanghai // (c) 1988 Sunsoft (Sun Electronics)
+shangha2 // (c) 1989 Sunsoft (Sun Electronics)
+kothello // (c) 1990 Success
+shangha3 // (c) 1993 Sunsoft
+heberpop // (c) 1994 Sunsoft / Atlus
+blocken // (c) 1994 KID / Visco
+/*
+Other Sun games
+1978.11 (GT)Block Perfect
+1978.12 (GT)Block Challenger
+1979.04 Galaxy Force
+1979.07 Run Away
+1979.12 Warp 1
+1980.10 Cosmo Police (Cosmopolis?)
+*/
+
+// SunA games
+goindol // (c) 1987 Sun a Electronics
+goindolu // (c) 1987 Sun a Electronics
+goindolk // (c) 1987 Sun a Electronics
+rranger // (c) 1988 SunA + Sharp Image license
+sranger // (c) 1988
+srangerb // bootleg
+srangerw // (c) 1988 SunA (WDK License)
+hardhead // (c) 1988 SunA
+hardheadb // bootleg
+pop_hh // bootleg
+sparkman // (c) 1989 SunA
+sparkmana // (c) 1989 SunA
+starfigh // (c) 1990 SunA
+hardhea2 // (c) 1991 SunA
+brickzn // (c) 1992 SunA
+brickzn3 // (c) 1992 SunA
+bestbest // (c) 1994 SunA
+sunaq // (c) 1994 SunA
+bssoccer // (c) 1996 SunA
+uballoon // (c) 1996 SunA
+
+// Dooyong games
+gundealr // (c) 1990 Dooyong
+gundealra // (c) 1990 Dooyong
+gundealrt // (c) 1990 Tecmo
+yamyam // (c) 1990 Dooyong
+wiseguy // (c) 1990 Dooyong
+lastday // (c) 1990 Dooyong
+lastdaya // (c) 1990 Dooyong
+gulfstrm // (c) 1991 Dooyong
+gulfstrmm // (c) 1991 Dooyong + distributed by Media Shoji
+pollux // (c) 1991 Dooyong
+polluxa // (c) 1991 Dooyong
+polluxa2 // (c) 1991 Dooyong
+flytiger // (c) 1992 Dooyong
+bluehawk // (c) 1993 Dooyong
+bluehawkn // (c) 1993 NTC
+sadari // (c) 1993 NTC
+gundl94 // (c) 1994 Dooyong
+primella // (c) 1994 NTC
+superx // (c) 1994 NTC
+superxm // (c) 1994 Mitchell
+rshark // (c) 1995 Dooyong
+popbingo // (c) 1996 Dooyong
+
+// Tong Electronic games
+leprechn // (c) 1982
+potogold // (c) 1982
+leprechp // (c) 1982
+piratetr // (c) 1982
+beezer // (c) 1982
+beezer1 // (c) 1982
+
+// Comad games
+pushman // (c) 1990 Comad
+pushmana // (c) 1990 Comad
+pushmans // (c) 1990 Comad + American Sammy license
+pushmant // (c) 1990 Comad + Top Tronic license
+bballs // (c) 1991 Comad
+zerozone // (c) 1993 Comad
+lvgirl94 // (c) 1994 Comad
+hotpinbl // (c) 1995 Comad & New Japan System
+galspnbl // (c) 1996 Comad
+ // the following ones run on modified Gals Panic hardware
+fantasia // (c) 1994 Comad & New Japan System
+supmodel // (c) 1994 Comad & New Japan System
+newfant // (c) 1995 Comad & New Japan System
+fantsy95 // (c) 1995 Hi-max Technology Inc.
+zipzap // (c) 1995 Barko Corp
+missw96 // (c) 1996 Comad
+missmw96 // (c) 1996 Comad
+fantsia2 // (c) 1997 Comad
+fantsia2a // (c) 1997 Comad
+wownfant // (c) 2002 Comad
+galhustl // (c) 1997 ACE International
+
+// Playmark games
+sslam // (c) 1993 - hack of Namco's Super World Court
+sslama // (c) 1993 - hack of Namco's Super World Court
+powerbal // (c) 1994
+powerbals // (c) 1994
+magicstk // (c) 1995
+hotminda // (c) 1995
+bigtwin // (c) 1995
+bigtwinb // (c) 1995
+wbeachvl // (c) 1995
+wbeachvl2 // (c) 1995
+excelsr // (c) 1995
+hotmind // (c) 1995
+hrdtimes // (c) 1994
+hrdtimesa // (c) 1994
+drtomy // (c) 1993 no copyright message (1993 on pcb), some code taken from 'Big Karnak'
+sderby // (c) 1996
+pmroulet
+spacewin
+
+// Pacific Novelty games
+sharkatt // (c) 1980
+thief // (c) 1981
+natodef // (c) 1982
+natodefa // (c) 1982
+mrflea // (c) 1982
+
+// Tecfri games
+ambush // (c) 1983
+ambushj // (c) 1983 Nippon Amuse license
+ambushv // (c) 1983 Volt Electronics license
+holeland // (c) 1984
+crzrally // (c) 1985
+crzrallya // (c) 1985
+crzrallyg // (c) 1985
+speedbal // (c) 1987
+sauro // (c) 1987
+trckydoc // (c) 1987
+trckydoca // (c) 1987
+
+// Metro games
+karatour // (c) 1992 Mitchell
+ladykill // (c) 1993 Yanyaka + Mitchell license - (Arcade TV Game List - P.101, Right, 2 from Bottom)
+moegonta // (c) 1993 Yanyaka (Japan) (Arcade TV Game List - P.101, Right, 2 from Bottom)
+pangpoms // (c) 1992
+pangpomsm // (c) 1992 Mitchell / Metro
+skyalert // (c) 1992
+poitto // (c) 1993 Metro / Able Corp.
+dharma // (c) 1994
+dharmak // (c) 1994
+lastfort // (c) 1994
+lastforte // (c) 1994
+lastfortk // (c) 1994
+lastfortg // (c) 1994
+toride2g // (c) 1994
+toride2gg // (c) 1994
+toride2j // (c) 1994
+gunmast // (c) 1994
+daitorid // (c) 1995
+daitoa // (c) 1995
+dokyusei // (c) 1995 Make Software / Elf / Media Trading
+dokyusp // (c) 1995 Make Software / Elf / Media Trading
+msgogo // (c) 1995 Metro
+puzzli // (c) 1995 Metro / Banpresto
+3kokushi // (c) 1996 Mitchell
+pururun // (c) 1995 Metro / Banpresto
+balcube // (c) 1996
+mouja // (c) 1996 Etona (Japan)
+bangball // (c) 1996 Banpresto / Kunihiko Tashiro+Goodhouse
+batlbubl // (c) 1996 Banpresto / Kunihiko Tashiro+Goodhouse
+gakusai // (c) 1997 MakeSoft
+gakusai2 // (c) 1998 MakeSoft
+blzntrnd // (c) 1994 Human Amusement
+gstrik2 // (c) 1996 Human Amusement
+gstrik2j
+hyprduel // (c) 1993 Technosoft (Japan)
+hyprduel2 // (c) 1993 Technosoft (Japan)
+magerror // (c) 1994 Technosoft (Japan) (Arcade TV Game List - P.100, Left, 13 from Bottom)
+puzzlet // (c) 2000 Yunizu Corporation (Japan)
+
+// Venture Line games
+spcforce // (c) 1980 Venture Line
+spcforc2 // bootleg
+meteor // (c) 1981 Venture Line
+looping // (c) 1982 Video Games GMBH
+loopingv // (c) 1982 Video Games GMBH (Venture Line license)
+loopingva // (c) 1982 Video Games GMBH (Venture Line license)
+skybump // (c) 1982 Venture Line
+suprridr // (c) 1983 Venture Line + Taito license
+
+// Yun Sung games
+paradise // (c) >1994 Yun Sung
+paradlx // (c) >1994 Yun Sung
+para2dx // (c) >1994 Yun Sung
+tgtball // (c) 1995 Yun Sung
+tgtballa // (c) 1995 Yun Sung
+torus // (c) 1996 Yun Sung
+paprazzi // (c) 1996 Yun Sung
+madball // (c) 1998 Yun Sung
+madballn // (c) 1998 Yun Sung
+cannball // (c) 1995 Yun Sung / Soft Visio
+cannballv // (c) 1995 Yun Sung / T&K
+magix // (c) 1995 Yun Sung
+rocktris // (c) 1994? Yun Sung
+magicbub // (c) Yun Sung
+magicbuba // (c) Yun Sung
+shocking // (c) 1997 Yun Sung
+bombkick // (c) 1998 Yun Sung
+nmg5 // (c) 1998 Yun Sung
+nmg5e // (c) 1998 Yun Sung
+searchey // (c) 1999 Yun Sung
+searchp2 // (c) 1999 Yun Sung
+pclubys // (c) 2000 Yun Sung
+pclubysa // (c) 2000 Yun Sung
+garogun // (c) 2000 Yun Sung
+7ordi // (c) 2002 Yun Sung
+wondstck // (c) ???? Yun Sung
+
+// Zilec games
+blueprnt // (c) 1982 Bally Midway (Zilec in ROM 3U, and the programmer names)
+blueprntj // (c) 1982 Jaleco (Zilec in ROM 3U, and the programmer names)
+saturnzi // (c) 1983 Jaleco (Zilec in ROM R6, and the programmer names)
+
+// Fuuki FG-2 games
+gogomile // (c) 1995
+gogomilej // (c) 1995 (Japan)
+pbancho // (c) 1996 (Japan)
+
+// Fuuki FG-3 games
+asurabld // (c) 1998 (Japan)
+asurabus // (c) 2000 (Japan)
+
+// Unico games
+drgnmst // (c) 1994
+burglarx // (c) 1997
+zeropnt // (c) 1998
+zeropnta // (c) 1998
+zeropnt2 // (c) 1999
+silkroad // (c) 1999
+aoh // (c) 2001
+
+// Afega games
+twinactn // (c) 1996 - bootleg of US AFF Mustang
+stagger1 // (c) 1998
+redhawk // (c) 1997
+redhawke // (c) 1997 Excellent Co., Ltd license
+redhawki // (c) 1997 Haedong Corp. license
+redhawkb // (c) 1997
+grdnstrm // (c) 1998
+grdnstrmk // (c) 1998
+bubl2000 // (c) 1998 Tuning
+hotbubl // (c) 1998 Pandora
+popspops // (c) 1999
+firehawk // (c) 2001 ESD
+mangchi // (c) 2000
+spec2k // (c) 2000 Yonatech
+
+// ESD games
+// http://www.esdgame.co.kr/english/
+multchmp // (c) 1998 (World)
+multchmpk // (c) 1998 (Korea)
+mchampdx // (c) 1999 ESD
+mchampdxa // (c) 1999 ESD
+mchampdxb // (c) 1999 ESD
+hedpanic // (c) 2000 ESD
+hedpanicf // (c) 2000 ESD + Fuuki, Co. Ltd.
+hedpanico // (c) 1999 ESD
+tangtang // (c) 2000 ESD
+swatpolc // (c) 2001 ESD
+
+// Dyna Electronics / Dynax / Nakanihon games
+royalmj // (c) 1982 Nichibutsu
+openmj // (c) 1982 Nichibutsu
+royalmah // Falcon bootleg
+janyoup2 // Falcon bootleg
+janputer // (c) 1982 Taito
+janoh // (c) 1984 Toaplan
+janoha // (c) 1984 Toaplan
+jansou // (c) 1985 Dyna
+jansoua // (c) 1985 Dyna
+mjsiyoub // (c) 1986 Visco
+mjsenka // (c) 1986 Visco
+mjyarou // (c) 1986 Visco / Video System
+mjclub // (c) 1986 Xex
+daisyari // (c) 1989 Best System
+suzume // ?? (c) 1986 Dyna Electronics
+hnayayoi // "02" (c) 1987 Dyna Electronics
+dondenmj // "03" (c) 1986 Dyna Electronics
+ippatsu // ?? (c) 1986 Dyna Electronics
+hnfubuki // "06" (c) 1987 Dynax
+mjdiplob // "07" (c) 1987 Dynax
+untoucha // "08" (c) 1987 Dynax
+tontonb // "09" (c) 1987 Dynax
+makaijan // ?? (c) 1987 Dynax
+hanamai // "16" (c) 1988 Dynax
+majs101b // "17" (c) [1988] Dynax
+mjapinky // 1988 Dynax
+mjdejavu // 1989 Dynax
+mjdejav2 // 1989 Dynax
+hnkochou // "20" (c) 1989 Dynax
+mjderngr // "22" (c) 1989 Dynax
+hnoridur // "23" (c) 1989 Dynax
+drgpunch // "24" (c) 1989 Dynax
+mjfriday // "26" (c) [1989] Dynax
+jantouki // "27" Jantouki 1989 Dynax
+gekisha // "28" 1989 Dynax
+mjifb // "29" 1990 Dynax
+mjifb2 // "29" 1990 Dynax
+mjifb3 // "29" 1990 Dynax
+mjvegas // 1991 Dynax
+mjvegasa // 1991 Dynax
+cafetime // 1992 Dynax
+cafedoll // 1993 Dynax
+janptr96 // 1996 Dynax
+janptrsp // 1997 Dynax
+sprtmtch // "31" (c) 1989 Dynax + Fabtek license
+maya // (c) 1994 Promat
+mayaa // (c) 1994 Promat
+inca // (c) 199? ????
+blktouch // (c) Yang Gi Co Ltd.
+mcnpshnt // "33" Mahjong Campus Hunting 1990 Dynax
+7jigen // "37" 7jigen no Youseitachi 1990 Dynax
+neruton // "45" Mahjong Neruton Haikujiradan 1990 Dynax
+nerutona // "45" Mahjong Neruton Haikujiradan 1990 Dynax
+mjcomv1 // 1991 Dynax
+shpeng // (c) 1995 WSAC Systems
+tenkai // 1991 Dynax
+tenkai2b // 1991 Dynax
+tenkaibb // 1991 Dynax
+tenkaicb // 1991 Dynax
+tenkaid // 1991 Dynax
+tenkaie // 1991 Dynax
+htengoku // 1992 Dynax
+mjreach // 1994 Dynax
+mjdialq2 // "52" (c) 1991 Dynax
+yarunara // "55" Mahjong Yarunara 1991 Dynax
+mjangels // "61" Mahjong Angels 1991 Dynax
+quiztvqq // "64" Quiz TV Gassyuukoku Q&Q 1992 Dynax
+mmpanic // "70" 1992 Nakanihon/Taito
+quizchq // "73" (c) 1993 Nakanihon
+quizchql // "73" (c) 1993 Laxan
+funkyfig // "74" (c) 1993 Nakanihon + East Technology
+animaljr // "75" 1993 Nakanihon/Taito (USA)
+animaljrs // "75" 1993 Nakanihon/Taito (Spanish version)
+animaljrj // "75" 1993 Nakanihon/Taito (Japan)
+hginga // 1994 Dynax
+mjmyster // "?7" 1994 Dynax
+mjmywrld // "?7" 1994 Dynax
+mjmyornt // 1994 Dynax
+mjmyuniv // 1994 Dynax
+quiz365 // "78" (c) 1994 Nakanihon
+quiz365t // "78" (c) 1994 Nakanihon (Taiwan)
+rongrong // "80" (c) 1994 Nakanihon
+rongrongj // "80" (c) 1994 Nakanihon
+rongrongg // "80" (c) 1994 Nakanihon
+hparadis // (c) 1994 Nakanihon
+hgokou // (c) 1995 Nakanihon
+mjdchuka // (c) 1995 Nakanihon
+mjtensin // "100" 1995 Dynax
+nettoqc // "103" (c) 1995 Nakanihon
+majrjhdx // "105" 1996 Dynax
+ddenlovj // "113" (c) 1995 Dynax (Japan)
+ddenlovrk // "113" (c) 1995 Dynax (Korea)
+ddenlovr // "113" (c) 1996 Dynax (Hong Kong)
+ddenlovrb // bootleg
+hanakanz // "507" 1996 Dynax
+akamaru // "501" 1996 Dynax
+sryudens // "502" 1996 Dynax / Face
+mjflove // 1996 Dynax
+hkagerou // "510" Hana Kagerou 1996 Nakanihon
+realbrk // "600" Billiard Academy Real Break 1998 (Europe)
+realbrkk // "600" Billiard Academy Real Break 1998 (Korea)
+realbrkj // "523" Billiard Academy Real Break 1998 (Japan)
+dai2kaku // "522" DaiDaiKakumei (Japan)
+mjchuuka // "???" (c) 1998 Dynax
+mjreach1 // "526" Mahjong Reach Ippatsu 1998 Nihon System/Dynax
+cafebrk // "528" Mahjong Cafe Break (C) 1999 Nakanihon / Dynax
+jongtei // "532" Mahjong Jong-Tei (C) 1999 Dynax
+daimyojn // 2002 Dynax / Techno-Top
+
+pkgnsh // "505" Pachinko Gindama Shoubu 1998 (Japan)
+pkgnshdx // "522" Pachinko Gindama Shoubu DX 1998 (Japan)
+
+hjingi // "???" 1990 Dynax
+hanayara // "???"
+mjelctrn // "???" Mahjong Electron Base parts 2 & 4
+mjelct3 // "???" Mahjong Electron Base parts 2 & 3
+mjelct3a // "???" Mahjong Electron Base parts 2 & 3
+mjelctrb // (c) 1993 Dynax Mahjong Electron Base parts 4
+majxtal7 // "???"
+
+// Sigma games
+nyny // (c) 1980 Sigma Ent. Inc.
+nynyg // (c) 1980 Sigma Ent. Inc. + Gottlieb
+warcadia // (c) 1982 Sigma Ent. Inc.
+r2dtank // (c) 1980 Sigma Ent. Inc.
+spiders // (c) 1981 Sigma Ent. Inc.
+spiders2 // (c) 1981 Sigma Ent. Inc.
+spiders3 // (c) 1981 Sigma Ent. Inc.
+spinner // bootleg
+sub // (c) 1985 Sigma Ent. Inc.
+
+// Sigma B52
+jwildb52 // (c) 199? Sigma
+jwildb52a // (c) 199? Sigma
+jwildb52h // (c) 199? Sigma
+
+// Sigma B98 / Sammy Medal Games
+gegege // (c) 1997 Banpresto / Sigma
+sammymdl // (c) 2000-2003 Sammy
+animalc // (c) 2000 Sammy
+itazuram // (c) 2000 Sammy
+pyenaget // (c) 2000 Sammy
+tdoboon // (c) 2000 Sammy
+haekaka // (c) 2001 Sammy
+
+// IGS games ( www.igs.com.tw
+goldstar // (c) 198? IGS
+goldstbl // (c) 198? IGS
+moonlght // bootleg
+chry10 // bootleg
+chrygld // bootleg
+cabaret // (c) 1992 AMT
+cpoker // (c) 1993? IGS
+cpokert // (c) 1993? Tuning
+csk227it // (c) 198? IGS
+csk234it // (c) 198? IGS
+igs_ncs // (c) 198? IGS
+igs_ncs2 // (c) 2000 IGS
+spk115it // (c) 199? IGS
+spk116it // (c) 199? IGS
+jackie // (c) 1993 IGS
+pktet346 // (c) 199? IGS
+chleague // (c) 199? IGS
+chleagul // (c) 199? IGS
+number10 // (c) IGS (Board labeled Playmark Srl)
+numbr10l // (c) IGS (Board labeled Playmark Srl)
+cpokerpk // (c) SGS (bootleg blue board)
+cpokerpkg // (c) SGS (bootleg green board)
+citalcup // (c) SGS (bootleg of IGS v220it)
+stellecu // (c) 1998
+iqblock // (c) 1993
+grndtour // (c) 1993
+5clown // (c) IGS 1993
+5clowna // (c) IGS 1993
+5clownsp // (c) IGS 1993
+
+// IGS005 + IGS006 + IGS007 + IGS008 Games
+lordgun // (c) 1994
+aliencha // (c) 1994
+alienchac // (c) 1994
+
+// IGS009 Games
+jingbell // (c) 1995?
+gp98 // (c) 1998
+
+// IGS011 Games
+lhb // (c) 1995
+lhbv33c // (c) 1995
+ryukobou // (c) 1995
+dbc // (c) 199?
+lhb2 // (c) 1996
+xymg // (c) 1996
+wlcc // (c) 1996
+vbowl // (c) 1996
+vbowlj // (c) 1996
+drgnwrld // (c) 1997
+drgnwrldv30 // (c) 1995
+drgnwrldv21 // (c) 1995
+drgnwrldv21j // (c) 1995
+drgnwrldv20j // (c) 1995
+drgnwrldv10c // (c) 1995
+drgnwrldv11h // (c) 1995
+nkishusp // (c) 1998
+
+// IGS017 / IGS031 Games
+iqblocka // (c) 1996
+iqblockf // (c) 1996
+tjsb // (c) 1997
+sdmg2 // (c) 1997
+mgdh // (c) 1997
+mgdha // (c) 1997
+mgcs // (c) 1998
+lhzb2 // (c) 1998
+lhzb2a // (c) 1998
+slqz2 // (c) 1998
+tarzan // (c) 1999?
+tarzana // (c) 1999?
+starzan // (c) 2000?
+
+// IGS027A Games
+bigd2 // (c) 2000
+sdwx // (c) 2002
+sddz // (c) 200?
+lhzb3 // (c) 200?
+lhzb4 // (c) 200?
+klxyj // (c) 200?
+mgfx // (c) 200?
+
+// IGS PGM System Games
+pgm
+orlegend // (c) 1997
+orlegende // (c) 1997
+orlegendc // (c) 1997
+orlegendca // (c) 1997
+orlegend111c // (c) 1997
+orlegend105k // (c) 1997
+drgw2 // (c) 1997
+dw2v100x // (c) 1997
+drgw2c // (c) 1997
+drgw2j // (c) 1997
+drgw3 // (c) 1998
+drgw3105 // (c) 1998
+drgw3100 // (c) 1998
+dwex // (c) 1998
+killbld // (c) 1998
+killbld104 // (c) 1998
+kov // (c) 1999
+kovplus // (c) 1999
+kovplusa // (c) 1999
+kov115 // (c) 1999
+kov100 // (c) 1999
+kovsh // (c) 1999
+kovsh103 // (c) 1999
+kovqhsgs // bootleg
+kovlsqh2 // bootleg
+kovlsjb // bootleg
+kovlsjba // bootleg
+photoy2k // (c) 1999
+photoy2k102 // (c) 1999
+photoy2k104 // (c) 1999
+puzlstar // (c) 1999
+olds // (c) 1999
+olds100 // (c) 1999
+olds100a // (c) 1999
+kov2 // (c) 2000
+kov2106 // (c) 2000
+kov2103 // (c) 2000
+kov2102 // (c) 2000
+kov2101 // (c) 2000
+kov2100 // (c) 2000
+kov2p // (c) 2000
+kov2p205 // (c) 2000
+ddp2 // (c) 2001
+ddp2100 // (c) 2001
+ddp2101 // (c) 2001
+puzzli2 // (c) 2001
+martmast // (c) 2001
+martmastc // (c) 2001
+martmastc102 // (c) 2001
+theglad // (c) 2001
+theglada // (c) 2001
+dw2001 // (c) 2001
+py2k2 // (c) 2001
+dmnfrnt // (c) 2002
+dmnfrnta // (c) 2002
+kovshp
+oldsplus
+killbldp
+happy6
+svg
+ket
+keta
+ketb
+ddp3
+ddp3a
+ddp3b
+ddp3blk
+espgal
+orleg2 // (c) 2007
+
+// Spirit Tech. Corp.
+dunhuang // (c) 1995
+
+// RamTek games
+hitme // (c) 05/1976 Ramtek
+hitme1 // (c) 05/1976 Ramtek
+m21 // (c) 08/1976 Mirco
+barricad // (c) 1976 Ramtek
+brickyrd // (c) 1976 Ramtek
+starcrus // (c) 1977 Ramtek
+super21 // (c) 1978 Mirco
+
+// Omori games
+shuttlei // (c) 1979 Omori (Arcade Tv Game List - P.79, Left, 6 from bottom)
+skylove // (c) 1979 Omori
+battlex // (c) 1982 Omori E. Co., Ltd.
+carjmbre // (c) 1983 Omori Electric Co., Ltd.
+popper // (c) 1983 Omori Electric Co., Ltd.
+
+// TCH games
+speedspn // (c) 1994
+mstworld // (c) 1994
+
+kickgoal // (c) 1995
+actionhw // (c) 1995
+
+// U.S. Games games
+usg32 // (c) 1987
+usg82 // (c) 1988
+usg83 // (c) 1988
+usg83x // (c) 1988
+usg182 // (c) 1989
+usg185 // (c) 1991
+usg252 // (c) 1992
+
+// Sanritsu games
+mermaid // (c) 1982 Rock-ola, made by Sanritsu
+yachtmn // (c) 1982 [Sanritsu] Esco
+rougien // (c) 1982 Sanritsu
+drmicro // (c) 1983 Sanritsu
+jantotsu // (c) 1983 Sanritsu
+appoooh // (c) 1984 Sega, made by Sanritsu
+robowres // (c) 1986 Sega
+robowresb // bootleg
+bankp // (c) 1984 Sega, made by Sanritsu
+combh // (c) 1987 Sega, made by Sanritsu
+mjkjidai // (c) 1986 Sanritsu
+chinsan // (c) 1987 Sanritsu
+mayumi // (c) 1988 Victory L.L.C., made by Sanritsu
+
+// Rare games
+xtheball // (c) 1991 Rare
+btoads // (c) 1994 Rare
+kinst // (c) 1994 Rare
+kinst14 // (c) 1994 Rare
+kinst13 // (c) 1994 Rare
+kinstp // (c) 1994 Rare
+kinst2 // (c) 1995 Rare
+kinst2k4 // (c) 1995 Rare
+kinst213 // (c) 1995 Rare
+kinst2k3 // (c) 1995 Rare
+kinst211 // (c) 1995 Rare
+kinst210 // (c) 1995 Rare
+
+// Nihon System games
+gigas // (c) 1986 Sega
+gigasb // (c) 1986 bootleg
+gigasm2b // (c) 1986 bootleg
+oigas // (c) 1986 bootleg
+pbillrd // (c) 1987 Nihon System
+pbillrds // (c) 1988 Nihon System (+ optional Sega)
+freekick // (c) 1988 Nihon System (+ optional Sega)
+freekickb // (c) 1987 bootleg
+freekickb2 // (c) 1987 bootleg
+countrun // (c) 1988 Nihon System (+ optional Sega)
+countrunb // (c) 1988 bootleg
+countrunb2 // (c) 1988 bootleg
+
+// Alba games
+rmhaihai // (c) 1985 Alba
+rmhaihib // (c) 1985 Alba
+rmhaijin // (c) 1986 Alba
+rmhaisei // (c) 1986 Visco
+themj // (c) 1987 Visco
+hanaroku // (c) 1988 Alba
+yumefuda // (c) 198? Alba
+
+// Home Data games
+hourouki // (c) 1987 Home Data
+mhgaiden // (c) 1987 Home Data
+mirderby // (c) 1988 Home Data?
+mjhokite // (c) 1988 Home Data
+mjclinic // (c) 1988 Home Data
+mrokumei // (c) 1988 Home Data
+reikaids // (c) 1988 Home Data
+mjkojink // (c) 1989 Home Data
+vitaminc // (c) 1989 Home Data
+mjyougo // (c) 1989 Home Data
+lemnangl // (c) 1990 Home Data
+mjkinjas // (c) 1991 Home Data
+battlcry // (c) 1991 Home Data
+jogakuen // (c) 1992 Windom corporation
+mjikaga // (c) 1991 Mitchell
+mjprivat // (c) 1991 Matoba
+
+// Art & Magic games
+ultennis // (c) 1993
+ultennisj // (c) 1993
+cheesech // (c) 1994
+stonebal // (c) 1994
+stonebal2 // (c) 1994
+
+shtstar // (c) 1994 Nova
+
+// Dynamo games
+skeetsht // (c) 1991
+toursol // (c) 1995 Dynamo
+toursol1 // (c) 1995 Dynamo
+
+// Taiyo games
+dynamski // (c) 1984 Taiyo
+chinhero // (c) 1984 Taiyo
+chinhero2 // (c) 1984 Taiyo
+chinherot // (c) 1984 Taiyo
+shangkid // (c) 1985 Taiyo + Data East license
+hiryuken // (c) 1985 Taito
+
+// Tatsumi Games
+kingdrby // (c) 1981 Tatsumi
+tx1 // (c) 1983 Tatsumi
+tx1a // (c) 1983 Tatsumi
+// TX-1 V8 // (c) 1984 Tatsumi
+buggyboy // (c) 1985 Tatsumi
+buggyboyjr // (c) 1986 Tatsumi
+lockon // (c) 1986 Tatsumi
+lockonc // (c) 1986 Tatsumi
+// Gray-Out // (c) 1987 Tatsumi
+apache3 // (c) 1988 Tatsumi
+apache3a // (c) 1988 Tatsumi + Kana Corporation license
+roundup5 // (c) 1989 Tatsumi
+// Round Up 5 cockpit
+cyclwarr // (c) 1991 Tatsumi
+bigfight // (c) 1992 Tatsumi
+// Life // (c) 1997 Tatsumi
+
+// Electronic Devices
+mugsmash // (c) Electronic Devices (Italy) / 3D Games (England)
+stlforce // (c) 1994 Electronic Devices (Italy) / Ecogames S.L. (Spain)
+fantland // (c) 198? Electronic Devices Italy
+fantlanda // (c) 198? Electronic Devices Italy
+wheelrun // (c) 1988? International Games
+galaxygn // (c) 1989 Electronic Devices Italy
+borntofi // (c) International Games?
+diverboy // (c) 1992 Electronic Devices
+twinbrat // (c) 1995
+twinbrata // (c) 1995
+ppmast93 // (c) 1993 Electronic Devices S.R.L.
+twins // (c) 1994
+twinsa // (c) 1994
+mwarr
+pzletime
+
+// Arcadia System
+ar_bios
+ar_airh // (c) 1988
+ar_airh2 // (c) 1988
+ar_bowl // (c) 1988
+ar_dart // (c) 1987
+ar_dart2 // (c) 1987
+ar_fast // (c) 1988
+ar_ldrb // (c) 1988
+ar_ldrba // (c) 1988
+ar_ninj // (c) 1987
+ar_ninj2 // (c) 1987
+ar_rdwr // (c) 1988
+ar_sdwr // (c) 1988
+ar_sdwr2 // (c) 1988
+ar_socc // (c) 1989
+ar_spot // (c) 1990
+ar_sprg // (c) 1987
+ar_xeon // (c) 1988
+
+// Sente Super System
+mquake // (c) 1987
+
+// Other Amiga-based games
+upscope // (c) 1986 Grand products
+
+cd32 // (c) 1993
+cndypuzl // (c) 1995
+haremchl // (c) 1995
+lsrquiz // (c) 1995
+lsrquiz2 // (c) 1995
+mgprem11 // (c) 1995
+lasstixx // (c) 1995
+mgnumber // (c) 1995
+odeontw2 // (c) 1999
+
+// American Laser Games
+alg_bios
+maddoga // (c) 1990
+wsjr // (c) 1991
+wsjr15 // (c) 1991
+maddog // (c) 1990
+maddog2 // (c) 1992
+maddog22 // (c) 1992
+maddog21 // (c) 1992
+spacepir // (c) 1992
+gallgall // (c) 1992
+crimepat // (c) 1993
+crimep211 // (c) 1993
+crimep2 // (c) 1993
+lastbh // (c) 1994
+fastdraw // (c) 1995
+aplatoon // (c) 199? Nova?
+zortonbr // (c) 1993 Web Picmatic
+
+// Crystal System
+crysbios
+crysking // 2001 Brezzasoft. Crystal of the kings
+evosocc // 2001 Evoga. Evolution Soccer
+topbladv // 2002 Sonokong. Top Blade V
+officeye
+
+ddz // (c) 200?
+
+psattack // 2004 Uniana
+
+// Bell Fruit Cobra Hardware
+inquiztr // 1989 BFM
+escounts // 1990 BFM
+trebltop // 1991 BFM
+beeline // 1991 BFM
+quizvadr // 1991 BFM
+qos // 1992 BFM
+qosa // 1992 BFM
+qosb // 1992 BFM
+
+// Scorpion 2+Video Board Games
+qntoondo // 1993
+quintoon // 1993
+quintond // 1993
+quintono // 1993
+qntoond // 1993
+pokio // 1994
+slotsnl // 1995
+paradice // 1995
+pyramid // 1996
+sltblgtk // 1996
+sltblgpo // 1996
+sltblgp1 // 1996
+gldncrwn // 1997
+
+// MPU4 Diagnostic ROMs
+mpu4utst
+mpu4tst2
+mpu4met0
+
+// MPU4 Non-Video SWPs
+connect4 // Dolbeck Systems
+
+// MPU4+Video Board Games
+bctvidbs
+dealem // 1987
+adders // 1989
+timemchn // 1990
+turnover // 199?
+skiltrek // 1990
+crmaze // 1994
+crmazed // 1993
+crmazea // 1993
+crmaze2 // 1993
+crmaze2d // 1993
+crmaze2a // 1993
+crmaze3 // 1993
+crmaze3d // 1993
+crmaze3a // 1993
+
+mating // 199?
+matingd // 199?
+
+strikeit // 199?
+strikeitd // 199?
+strikeit2 // 199?
+strikeit2d // 199?
+
+quidgrid // 199?
+quidgridd // 199?
+quidgrid2 // 199?
+quidgrid2d // 199?
+
+eyesdown // 199?
+eyesdownd // 199?
+
+// BwB games
+blox // 199?
+bloxd // 199?
+bwbtetrs // 199?
+prizeinv // 199?
+vgpoker // 199?
+renoreel // 199?
+redhtpkr // 199?
+
+// ADP games
+backgamn // (c) 1990
+quickjac // (c) 1993
+skattv // (c) 1994
+skattva // (c) 1995
+fashiong // (c) 1997
+fashiong2 // (c) 1997
+fstation // (c) 2000
+
+// Other games on adp hardware
+funlddlx // (c) 1999
+
+// JPM Give us a Break hardware
+guab // (c) 1986
+guab3a // (c) 1986
+guab4 // (c) 1986
+guab6 // (c) 1986
+guab6a // (c) 1986
+guab7 // (c) 1986
+guab21 // (c) 1986
+guab43 // (c) 1986
+crisscrs // (c) 1986
+tenup // (c) 1988
+tenup3 // (c) 1988
+
+// JPM System 5 + video expansion 2 Games
+monopoly // (c) 1994
+monoplcl // (c) 1995
+monopldx // (c) 1995
+
+// JPM Impact Games
+cluedo // (c) 1995
+cluedo2c // (c) 1995
+cluedo2 // (c) 1995
+trivialp // (c) 1996
+scrabble // (c) 1997
+hngmnjpm // (c) 1998
+coronatn // (c) 1999
+
+// Other Games
+vega // (c) 19?? Olympia?
+astinvad // (c) 1980 Stern
+kosmokil // bootleg
+kamikaze // Leijac Corporation
+spcking2 // (c) 1979 Konami
+spaceint // [1980] Shoei
+spaceintj // [1980] Shoei
+spacefb // (c) [1980?] Nintendo
+spacefbu // (c) [1980?] Nintendo
+spacefbe // (c) [1980?] Nintendo
+spacefbg // 834-0031 (c) 1980 Gremlin
+spacefbb // bootleg
+spacebrd // bootleg
+spacedem // (c) 1980 Fortrek + made by Nintendo
+omegrace // (c) 1981 Midway
+omegrace2 // (c) 1981 Midway
+deltrace // bootleg
+monzagp // (c) 1981 Olympia
+dday // (c) 1982 Olympia
+ddayc // (c) 1982 Olympia + Centuri license
+stactics // [1981 Sega]
+exterm // (c) 1989 Premier Technology - a Gottlieb game
+flower // (c) 1986 Komax license
+flowerj // 834-5998 (c) 1986 Sega / Alpha license?
+kingofb // (c) 1985 Wood Place Inc.
+ringking // (c) 1985 Data East USA
+ringking2 // (c) 1985 Data East USA
+ringking3 // (c) 1985 Data East USA
+ringkingw // (c) 1985 Wood Place Inc.
+homo // bootleg
+dlair // (c) 1983 Cinematronics
+dlairf // (c) 1983 Cinematronics
+dlaire // (c) 1983 Cinematronics
+dlaird // (c) 1983 Cinematronics
+dlairc // (c) 1983 Cinematronics
+dlairb // (c) 1983 Cinematronics
+dlaira // (c) 1983 Cinematronics
+dleuro // (c) 1983 Atari
+dlital // (c) 1983 Sidam
+spaceace // (c) 1983 Cinematronics
+spaceaa2 // (c) 1983 Cinematronics
+spaceaa // (c) 1983 Cinematronics
+saeuro // (c) 1983 Atari
+aztarac // (c) 1983 Centuri (vector game)
+mole // (c) 1982 Yachiyo Electronics, Ltd.
+thehand // (c) 1981 T.I.C.
+mrjong // (c) 1983 Kiwako
+crazyblk // (c) 1983 Kiwako + ECI license
+blkbustr // (c) 1983 Kiwako + ECI license
+polyplay
+amspdwy // no copyright notice, but (c) 1987 Enerdyne Technologies, Inc.
+amspdwya // no copyright notice, but (c) 1987 Enerdyne Technologies, Inc.
+othldrby // (c) 1995 Sunwise
+quizpun2 // (c) 1989 Space Computer System of Korea
+mosaic // (c) 1990 Space
+mosaica // (c) 1990 Space + Fuuki license
+gfire2 // (c) 1992 Topis Corp
+sprcros2 // (c) 1986 GM Shoji
+sprcros2a // (c) 1986 GM Shoji
+d9final // (c) 1992 Excellent System
+lastbank // (c) 1994 Excellent System
+gcpinbal // (c) 1994 Excellent System
+vmetal // (c) 1995 Excellent System?
+vmetaln // (c) 1995 Excellent System?
+aquarium // (c) 1996 Excellent System
+policetr // (c) 1996 P&P Marketing
+policetr11 // (c) 1996 P&P Marketing
+policetr10 // (c) 1996 P&P Marketing
+policetr13a // (c) 1996 P&P Marketing
+policetr13b // (c) 1996 P&P Marketing
+sshooter // (c) 1998 P&P Marketing
+sshooter12 // (c) 1998 P&P Marketing
+sshooter11 // (c) 1998 P&P Marketing
+pass // (c) 1992 Oksan
+news // "Virus"??? ((c) 1993 Poby in ROM VIRUS.4)
+newsa // "Jeansole / Poby
+taxidrvr // [1984 Graphic Techno]
+xyonix // [1989 Philko]
+gt507uk // (c) 1986 Grayhound Electronics
+gt5 // (c) 1984 Grayhound Electronics
+gtsers8 // (c) 1984 Greyhound Electronics
+gtsers9 // (c) 1984 Greyhound Electronics
+gtsers10 // (c) 1984 Greyhound Electronics
+gtsers11 // (c) 1984 Greyhound Electronics
+gt103a1 // (c) 1984 Greyhound Electronics
+gt103a2 // (c) 1984 Greyhound Electronics
+gt103a3 // (c) 1984 Greyhound Electronics
+gt103aa // (c) 1984 Greyhound Electronics
+gt103asx // (c) 1984 Greyhound Electronics
+reelfun // (c) 1986 Grayhound Electronics
+reelfun1 // (c) 1986 Grayhound Electronics
+findout // (c) 1987 [Elettronolo]
+quizvid // (c) 1986 Greyhound Electronics
+quiz // (c) 1986 Italian bootleg
+quiz211 // (c) 1986 Italian bootleg
+jokpoker // (c) 1982 Greyhound Electronics
+jokpokera // (c) 1982 Greyhound Electronics
+jokpokerb
+jokpokerc
+superbwl // (c) 1982 Greyhound Electronics
+amuse // (c) 1982 Greyhound Electronics
+amuse1 // (c) 1982 Greyhound Electronics
+gs4002 // (c) 1982 G.E.I.
+gs4002a // (c) 1982 G.E.I.
+gepoker // (c) 1984 Greyhound Electronics
+gepoker1 // (c) 1984 Greyhound Electronics
+gepoker2 // (c) 1984 Greyhound Electronics
+gtsers1 // (c) 1984 Greyhound Electronics
+gtsers2 // (c) 1984 Greyhound Electronics
+gtsers3 // (c) 1984 Greyhound Electronics
+gtsers4 // (c) 1984 Greyhound Electronics
+gtsers5 // (c) 1985 Greyhound Electronics
+gtsers7 // (c) 1985 Greyhound Electronics
+gtsersa // (c) 1985 Greyhound Electronics
+gtsersb // (c) 1985 Greyhound Electronics
+sextriv1 // (c) 1985 Kinky Kit and Game Co.
+sextriv2 // (c) 1985 Kinky Kit and Game Co.
+geimulti // (c) 1992 Grayhound Electronics
+sprtauth // (c) 1982 Classic Games
+suprpokr // (c) 1986 Grayhound Electronics
+suprpkr1 // (c) 1986 Grayhound Electronics
+dribling // (c) 1983 Model Racing
+driblingo // (c) 1983 Olympia
+ace // [1976 Allied Leisure]
+clayshoo // [1979 Allied Leisure]
+pirates // (c) 1994 NIX
+genix // (c) 199? NIX
+fitfight // bootleg of Art of Fighting
+histryma // bootleg of Fighter's History
+bbprot // unfinished prototype
+beaminv // (c) 1979 Tekunon Kougyou (Arcade TV Game List - P.95, Left, 9 from top)
+beaminva // (c) 1979 Tekunon Kougyou (Arcade TV Game List - P.95, Left, 9 from top)
+mcatadv // (c) 1993 Wintechno
+mcatadvj // (c) 1993 Wintechno
+catt // (c) 1993 Wintechno
+nost // (c) 1993 Face
+nostj // (c) 1993 Face
+nostk // (c) 1993 Face
+4enraya // (c) 1990 IDSA
+oneshot // no copyright notice
+maddonna // (c) 1995 Tuning
+maddonnb // (c) 1995 Tuning
+tugboat // (c) 1982 ETM
+noahsark // (c) 1983 Enter-Tech
+berenstn // (c) 1984 Enter-Tech
+gotcha // (c) 1997 Dongsung + "presented by Para"
+ppchamp // (c) 1997 Dongsung + "presented by Para"
+amerdart // (c) 1989 Ameri Corporation
+amerdart2 // (c) 1989 Ameri Corporation
+amerdart3 // (c) 1989 Ameri Corporation
+coolpool // (c) 1992 Catalina Games
+9ballsht // (c) 1993 E-Scape EnterMedia + "marketed by Bundra Games"
+9ballsht2 // (c) 1993 E-Scape EnterMedia + "marketed by Bundra Games"
+9ballsht3 // (c) 1993 E-Scape EnterMedia + "marketed by Bundra Games"
+9ballshtc // (c) 1993 E-Scape EnterMedia + "marketed by Bundra Games"
+gumbo // (c) 1994 Min Corp.
+mspuzzleg // (c) 1994 Min Corp.
+mspuzzle // (c) 1994 Min Corp.
+mspuzzlen // (c) 1994 Min Corp.
+msbingo // (C) 1994 Min Corp.
+dblpoint // (c) 1995 Min Corp.
+dblpointd // (c) 1995 Dong Bang Electron
+statusbj // (c) 1981 Status Games
+tripdraw // (c) 1981 Status Games
+funcsino // (c) 1981 Status Games
+hangman // (c) 1984 Status Games
+trivquiz // (c) 1984 Status Games
+statriv2 // (c) 1984 Status Games
+statriv2v // (c) 1984 Status Games
+statriv4 // (c) 1985 Status Games
+sextriv // (c) 1985 Status Games
+quaquiz2 // (c) 1985 Status Games
+supertr2 // (c) 1986 Status Games
+supertr3 // (c) 1986 Status Games
+cstripxi // (c) 1981 Status Games
+tickee // (c) 1994 Raster Elite
+ghoshunt // (c) 1995? Hanaho Games
+tutstomb // (c) 199?? Island Design
+mouseatk // (c) 1996 ICE
+rapidfir // (c) 1998 Hanaho Games
+rapidfire // (c) 1998 Hanaho Games
+maletmad // (c) 1999 Hanaho Games, licensed to Capcom
+crgolf // (c) 1984 Nasco Japan
+crgolfa // (c) 1984 Nasco Japan
+crgolfb // (c) 1984 Nasco Japan
+crgolfc // (c) 1984 Nasco Japan
+crgolfbt // bootleg
+crgolfhi // (c) 1984 Nasco Japan
+truco // (c) 198? Playtronic SRL
+thedeep // (c) 1987 Wood Place
+rundeep // (c) 1988 Cream (bootleg?)
+wallc // (c) 1984 Midcoin
+wallca // (c) 1984 Midcoin
+wink // (c) 1985 Midcoin
+winka // (c) 1985 Midcoin
+skyarmy // (c) 1982 Shoei
+lethalj // (c) 1996 The Game Room
+eggventr // (c) 1997 The Game Room
+eggventr8 // (c) 1997 The Game Room
+eggventr7 // (c) 1997 The Game Room
+eggventra // (c) 1997 The Game Room (Allied Leisure license)
+eggventrd // (c) 1997 The Game Room
+calchase // (c) 1999 The Game Room
+ripribit // (c) 1997 LAI Games
+cfarm // (c) 1999 LAI Games
+cclownz // (c) 1999 LAI Games
+rotaryf
+portrait // (c) 1983 Olympia
+portraita // (c) 1983 Olympia
+enigma2 // (c) 1981 Game Plan (Zilec Electronics license)
+enigma2a // (c) 1984 Zilec Electronics (bootleg?)
+enigma2b // (c) 1981 Zilec Electronics
+ltcasino // (c) 1982 Digital Controls Inc
+mv4in1 // (c) 1983 Entertainment Enterprises
+ltcasinn // (c) 1984 Digital Controls Inc
+coolmini // (c) 1999 SemiCom
+luplup // (c) 1999 Omega System
+luplup29 // (c) 1999 Omega System
+puzlbang // (c) 1999 Omega System
+suplup // (c) 1999 Omega System
+jmpbreak // (c) 1999 F2 System
+vamphalf // (c) 1999 DanBi & F2 System
+vamphalfk // (c) 1999 DanBi & F2 System
+dquizgo2 // (c) 2000 Semicom
+misncrft // (c) 2000 Sun
+mrdig // (c) 2000 Sun
+hidnctch // (c) 1998 Eolith
+ironfort // (c) 1998 Eolith
+ironfortj // (c) 1998 Eolith
+puzzlekg // (c) 1998 Eolith
+hidctch2 // (c) 1999 Eolith
+hidctch2a // (c) 1999 Eolith
+nhidctch // (c) 1999 Eolith
+landbrk // (c) 1999 Eolith
+landbrka // (c) 1999 Eolith
+penfan // (c) 1999 Eolith
+raccoon // (c) 1999 Eolith
+fort2b // (c) 2001 Eolith
+fort2ba // (c) 2001 Eolith
+klondkp // (c) 1999 Eolith
+hidctch3 // (c) 2000 Eolith
+crazywar // (c) 2002 Eolith
+bballoon // (c) 2003 Eolith
+hapytour // (c) 2005 GAV Company (on Eolith's Ghost hardware)
+funkball // (c) 1998 dgPIX Entertainment Inc
+xfiles // (c) 1999 dgPIX Entertainment Inc
+kdynastg // (c) 1999 EZ Graphics
+fmaniac3 // (c) 2002 Saero Entertainment
+promutrv // (c) 1985 Enerdyne Technologies Inc
+promutrva // (c) 1985 Enerdyne Technologies Inc
+promutrvb // (c) 1985 Enerdyne Technologies Inc
+promutrvc // (c) 1985 Enerdyne Technologies Inc
+strvmstr // (c) 1986 Enerdyne Technologies Inc
+dorachan // (c) 1980 Craul Denshi
+ladyfrog // (c) 1990 Mondial Games
+toucheme
+rabbit // (c) 1997 Electronic Arts
+tmmjprd // (c) 1997 Media / Sonnet
+tmpdoki // (c) 1998 Media Syouji
+malzak // (c) 1980? Kitronix
+malzak2 // (c) 1980? Kitronix
+supertnk // (c) 1981 VIDEO GAMES GmbH, W.-GERMANY
+crospang // (c) 1998 F2 System
+heuksun // (c) 1998 Oksan / F2 System
+bestri // (c) F2 System
+funybubl // (c) 1999 In Chang Electronic Co
+funybublc // (c) 1999 Comad Industries
+dcheese // (c) 1993 HAR
+lottof2 // (c) 1993 HAR
+fredmem // (c) 1994 Coastal Amusements
+fredmemus // (c) 1994 Coastal Amusements
+fredmemuk // (c) 1994 Coastal Amusements
+fredmemj // (c) 1994 Coastal Amusements
+fredmemc // (c) 1994 Coastal Amusements
+fredmesp // (c) 1994 Coastal Amusements
+cecmatch // (c) 1993 Coastal Amusements
+f15se // (c) 1991 Microprose Games Inc.
+f15se21 // (c) 1991 Microprose Games Inc.
+botss // (c) 1992 Microprose Games Inc.
+botssa // (c) 1992 Microprose Games Inc.
+tankbatl // (c) 1992 Microprose Games Inc.
+dynadice // ?
+atamanot // (c) 1983 Yachiyo Denki / Uni Enterprize
+ssingles // Yachiyo?
+tcl // (c) 1995 Uniwang
+othello // (c) 1984 Success
+sothello // (c) 1986 Success / Fujiwara
+quake // (c) 19?? Lazer-Tron / iD Software
+majorpkr // (c) 1994 PAL System.
+
+// Multi Amenity Cassette System
+macsbios
+mac2bios
+kisekaem // (c) 1995 I'Max
+kisekaeh // (c) 1995 I'Max
+cultname // (c) 1995 I'Max
+yuka // (c) 1999 Yubis
+yujan // (C) 1999 Yubis
+
+onetwo // (c) 1997 Barko
+onetwoe // (c) 1997 Barko
+1945kiii // (c) 2000 Oriental
+witch // (c) 1992 Sega / Vic Tokai / Excellent Systems
+pbchmp95 // (c) 1995 Veltmeijer Automaten
+cardline // (c) 199? Veltmeijer
+bmcbowl // (c) 1994 BMC
+koftball // (c) 1995 BMC
+mpoker // (c) 1983 Merit
+pitboss // (c) 1983 Merit
+pitbossa // (c) 1983 Merit
+pitbossb // (c) 1983 Merit
+pitbossc // (c) 1983 Merit
+casino5 // (c) 1983 Merit
+trvwzh // (c) 1985 Merit
+trvwzha // (c) 1985 Merit
+trvwzhb // (c) 1985 Merit
+trvwzv // (c) 1985 Merit
+trvwzva // (c) 1985 Merit
+trvwz2 // (c) 1985 Merit
+trvwz2a // (c) 1985 Merit
+trvwz3h // (c) 1985 Merit
+trvwz3ha // (c) 1985 Merit
+trvwz3v // (c) 1985 Merit
+trvwz4 // (c) 1985 Merit
+trvwz4a // (c) 1985 Merit
+dtrvwz5 // (c) 1987 Merit
+tictac // (c) 1985 Merit
+tictacv // (c) 1985 Merit
+phrcraze // (c) 1986 Merit
+phrcrazea // (c) 1986 Merit
+phrcrazeb // (c) 1986 Merit
+phrcrazec // (c) 1986 Merit
+phrcrazev // (c) 1986 Merit
+bigappg // (c) 1986 Merit
+dodge // (c) 1986 Merit
+couple // (c) 1988 Merit
+couplep // (c) 1988 Merit
+couplei // (c) 1988 Merit
+pitboss2 // (c) 1988 Merit
+spitboss // (c) 1988 Merit
+pitbosss // (c) 1990 Merit
+pitbossm // (c) 1994 Merit
+pitbossma // (c) 1994 Merit
+pbst30 // (c) 1994 Merit
+pbst30b // (c) 1993 Merit
+megat2 // (c) 1994 Merit
+megat2ca // (c) 1994 Merit
+megat3 // (c) 1996 Merit
+megat3a // (c) 1996 Merit
+megat3ca // (c) 1996 Merit
+megat3cb // (c) 1995 Merit
+megat3nj // (c) 1995 Merit
+megat3te // (c) 1996 Merit
+megat4 // (c) 1996 Merit
+megat4a // (c) 1996 Merit
+megat4b // (c) 1996 Merit
+megat4s // (c) 1996 Merit
+megat4sn // (c) 1996 Merit
+megat4te // (c) 1996 Merit
+megat4tea // (c) 1996 Merit
+megat4st // (c) 1996 Merit
+megat4stg // (c) 1996 Merit
+megat5 // (c) 1997 Merit
+megat5a // (c) 1997 Merit
+megat5nj // (c) 1997 Merit
+megat5tg // (c) 1997 Merit
+megat6 // (c) 1998 Merit
+suprgolf // (c) 1989 Nasco
+hotblock // (c) 1993 Nics? / Nix?
+pntnpuzl // Century?
+trucocl // (c) 1991 Miky SRL
+ertictac // (c) 1992 Sisteme
+poizone // (c) 1990 Sisteme
+ssfindo // (c) 1999 Icarus
+ppcar // (c) 1999 Icarus
+tetfight // (c) 2001 Sego
+imolagp // (c) 1981 Leante Games
+dambustr // (c) 1981 South West Research
+dambustra // (c) 1981 South West Research
+dambustruk // (c) 1981 South West Research
+gunpey // (c) 2000 Banpresto
+spaceg // (c) 19??
+wldarrow // (c) 1982
+unkmeyco // (c) 198?
+mdrawpkr // (c) 19??
+mdrawpkra // (c) 19??
+laserbas // (c) 1981 Amstar/HOEI
+laserbasa // (c) 1981 Amstar/HOEI
+futflash // (c) 1981 HOEI (Arcade TV Game List - P.96, Right, 18 from top)
+turbosub // (c) 1985 Entertainment Sciences
+turbosub7 // (c) 1985 Entertainment Sciences
+turbosub6 // (c) 1985 Entertainment Sciences
+pipeline // (c) 1990 Daehyun Electronics
+ttchamp
+ttchampa
+dreamwld // (c) 2000 SemiCom
+cybertnk // (c) 1990 Coreland
+cubeqst // (c) 1983 Simutrek Inc.
+cubeqsta // (c) 1983 Simutrek Inc.
+pkscram // (c) 1993 Cosmo Electronics Corporation
+
+// Impera CD-I based
+magicard // (c) 199? Impera
+magicarda // (c) 199? Impera
+magicardb // (c) 199? Impera
+magicardj // (c) 1998 Impera
+magicle // (c) 1998 Impera
+
+// Funworld
+jollycrd // (c) 1985 TAB-Austria
+jolyc3x3 // (c) 1985 TAB-Austria
+jolycmzs // (c) 1993 MZS Tech
+jolyc980 // (c) 2000 Spale-Soft
+jolycdev // (c) 1998 TAB/Evona
+jolyccra // (c) 1985 TAB-Austria
+jolyccrb // (c) 1993 Soft Design
+jolycdit // 199? bootleg
+jolycdib // 1990 bootleg
+sjcd2kx3 // (c) 1985 M.P.
+jolycdab // (c) 1986 Inter Games
+bigdeal // (c) 1986 Funworld
+bigdealb // (c) 1986 Funworld
+jolycdat // (c) 1986 Funworld
+cuoreuno // (c) 1996 C.M.C.
+elephfam // (c) 1997 C.M.C.
+elephfmb // (c) 1996 C.M.C.
+pool10 // (c) 1996 C.M.C.
+pool10b // (c) 1996 C.M.C.
+pool10c // (c) 1996 C.M.C.
+pool10d // (c) 1997 C.M.C.
+tortufam // (c) 1997 C.M.C.
+potgame // (c) 1996 C.M.C.
+bottle10 // (c) 1996 C.M.C.
+bottl10b // (c) 1996 C.M.C.
+royalcrd // (c) 1991 TAB-Austria
+royalcrda // (c) 1991 TAB-Austria
+royalcrdb // (c) 1991 TAB-Austria
+royalcrdc // (c) 1991 TAB-Austria
+royalcrdd // (c) 1991 TAB-Austria
+royalcrde // (c) 1991 TAB-Austria
+royalcrdf // (c) 1991 Evona Electronic
+royalcrdt // (c) 1991 TAB-Austria orig
+royalcrdp // (c) 1993 Digital Dreams
+lluck3x3 // (c) 1991 TAB-Austria
+lluck4x1 // (c) 1991 TAB-Austria
+magicrd2 // (c) 1996 Impera
+magicd2a // (c) 1996 Impera
+magicd2b // (c) 1996 Impera
+vegasslw // (c) 1993 Funworld
+vegasfst // (c) 1993 Soft Design
+vegasfte // (c) 1993 Soft Design
+vegasmil // (c) 1993 Mile
+jolyjokr // (c) 198? Impera
+jolyjokra // (c) 198? Impera
+jolyjokrb // (c) 198? Impera
+multiwin // (c) 1992 Funworld
+jokercrd // (c) 1993 Vesely Svet
+mongolnw // 199? bootleg
+soccernw // 199? bootleg
+saloon // 199? unknown
+funquiz // (c) 198? Funworld
+witchryl // (c) 199? Video Klein
+photoply
+
+// Sandii'
+snookr10 // (c) 1998 Sandii'
+apple10 // (c) 1998 Sandii'
+tenballs // 1997 unknown
+
+// Game-A-Tron
+gotya // (c) 1981 Game-A-Tron
+sbugger // (c) 1981 Game-A-Tron
+sbuggera // (c) 1981 Game-A-Tron
+poker41 // (c) 1983 Game-A-Tron
+pulltabs // (c) 1983 Game-A-Tron
+
+vroulet // (c) 1989 World Game
+rcasino // (c) 1984 Dyna Electronics
+ampoker2 // (c) 1990 Novomatic
+piccolop // (c) 1990 Admiral - Novomatic
+ampkr2b1 // 1990 bootleg
+ampkr2b2 // 1990 bootleg
+ampkr2b3 // 1994 bootleg
+ampkr2b4 // 1994 bootleg
+ampkr228 // 1990 bootleg
+pkrdewin // 1990 bootleg
+ampkr95 // 1995 bootleg
+videomat // 1990 bootleg
+rabbitpk // 1990 bootleg
+sigmapkr // (c) 1995 Sigma
+sigma2k // (c) 2000 Sigma
+sidewndr // (c) 1981? ACE
+spellbnd // (c) 1981? ACE
+starspnr // (c) 1982? ACE
+acefruit // (c) 1982? ACE
+attckufo // (c) 1980 Ryoto Electric Co.
+fortecar
+jackpool // (c) 1997 Electronic Projects
+murogem // ???
+murogema // ???
+murogmbl // ???
+lasvegas // hack
+quizmstr // (c) 1985 Coinmaster
+trailblz // (c) 1987 Coinmaster
+supnudg2 // (c) 1989 Coinmaster
+pokeroul // (c) 1990 Coinmaster
+egghunt // (c) 1995 Invi Image
+magic10 // (c) 1995 A.W.P. Games
+magic10a // (c) 1995 A.W.P. Games
+magic10b // (c) 1995 A.W.P. Games
+magic102 // (c) 1997 ABM Games
+suprpool // (c) 1997 ABM Games
+hotslot // (c) 1996 ABM Electronics
+mcolors // 1999 unknown
+sgsafari // (c) 1996 New Impeuropex Corp.
+musicsrt // (c) 1995 ABM Games
+galaxi // (c) 2000 BRL S.R.L. Bologna
+magjoker // (c) 2000 BRL S.R.L. Bologna
+dwarfd // (c) 198? Electro-Sports
+quarterh // (c) 1983 Electro-Sports
+quarterha // (c) 1983 Electro-Sports
+quarterhb // (c) 1983 Electro-Sports
+qc // (c) 1995 ArJay Exports/Prestige Games
+trvquest // (c) 1984 Sunn / Techstar
+wheelfir // (c) 199? TCH
+littlerb // (c) 1993 TCH
+tattack // (c) 198? Shonan
+mosaicf2 // (c) 1999 F2 System
+finalgdr // (c) 2001 Semicom
+mrkicker // (c) 2001 Semicom
+wyvernwg // (c) 2001 Semicom / Game Vision
+rbmk // (c) 1995 GMS
+go2000 // (c) 2000 SA
+mirax // (c) 1985 Current Technologies
+miraxa // (c) 1985 Current Technologies
+
+// Subsino
+victor5 // (c) 1990 Subsino
+victor21 // (c) 1990 Subsino
+crsbingo // (c) 1991 Subsino
+tisub // (c) 1992 Subsino
+tisuba // (c) 1992 Subsino
+stisub // (c) 1995 Subsino (Alpha license)
+victor6 // (c) 1995 Subsino (Alpha license)
+victor6a // (c) 1995 Subsino (Alpha license)
+victor6b // (c) 1995 Subsino (Alpha license)
+mtrain // (c) 1996 Subsino
+mtrainnv // (c) 1996 Subsino
+sharkpy // (c) 1996 Subsino
+sharkpya // (c) 1996 Subsino
+sharkpye // (c) 1996 Subsino (Alpha license)
+smoto20 // (c) 1996 Subsino
+smoto16 // (c) 1996 Subsino
+wtrnymph // (c) 1996 Subsino
+expcard // (c) 1998 American Alpha
+saklove // (c) 1998 Subsino
+bishjan // (c) 1999 Subsino
+xtrain // (c) 1999 Subsino
+lastfght // (c) 2000 Subsino
+xplan // (c) 2006 Subsino
+
+sliver // (c) 1996 Hollow Corp
+intrscti // ????
+pasha2 // (c) 1998 Dong Sung
+trvmadns // (c) 1985 Thunderhead Inc.
+rcorsair // (c) 1984 Nakasawa
+pzlestar // (c) 199? Sang Ho Soft
+sexyboom // (c) 1992 Sang Ho Soft
+sfkick // (c) 1988 Haesung/HJ Corp
+sfkicka // (c) 198? Haesung
+spinkick // (c) 1988 Haesung/Seojin
+7mezzo // (c) 198? Unknown
+magicfly // (c) 198? P&A GAMES
+dynabomb // (c) 2000 Limenko
+legendoh // (c) 2000 Limenko
+sb2003 // (c) 2003 Limenko
+sb2003a // (c) 2003 Limenko
+spotty // (c) 2001 Prince Co.
+carrera // (c) 19?? BS Electronics
+
+// Golden Poker / Potten's Poker / Witch Card hardware
+goldnpkr // (c) 1981 Bonanza
+goldnpkb // (c) 1981 Bonanza
+pottnpkr // Bootleg
+potnpkra // Bootleg in Coinmaster H/W
+potnpkrb // Bootleg
+potnpkrc // Bootleg
+potnpkrd // Bootleg
+potnpkre // Bootleg
+goodluck // Unknown
+superdbl // 198? Karateco
+ngold // 198? Unknown
+ngolda // 198? Unknown
+ngoldb // 198? Unknown
+witchcrd // (c) 1991, Video Klein
+witchcda // 1991, Unknown
+witchcdb // 1991, Unknown
+witchcdc // 1991, Unknown
+witchcdd // 1991, Unknown
+witchcdf // (c) 1991, PlayMan
+witchcdg // (c) 199?, Falcon
+witchcdh // (c) 1991, TV Game Elektronik - Proma
+witchgme // (c) 1991 Video Klein
+witchjol // 1994, Unknown
+wldwitch // 1994, Video Klein
+falcnwld // 1991, TVG
+falcnwlda // (c) 1990, Video Klein
+falcnwldb // (c) 1983, Falcon
+bsuerte // 1990, Unknown
+bsuertea // 1991, Unknown
+bsuerteb // 1991, Unknown
+bsuertec // 1991, Unknown
+bsuerted // 1991, Unknown
+bsuertee // 1991, Unknown
+bsuertef // 1991, Unknown
+bsuerteg // 1991, Unknown
+bsuerteh // 1991, Unknown
+bsuertei // 1991, Unknown
+bsuertej // 1991, Unknown
+bsuertek // 1991, Unknown
+bsuertel // 1991, Unknown
+bsuertem // 1991, Unknown
+bsuerten // 1991, Unknown
+bsuerteo // 1991, Unknown
+bsuertep // 1991, Unknown
+bsuerteq // 1991, Unknown
+bsuerter // 1991, Unknown
+bsuertes // 1991, Unknown
+bsuertet // 1991, Unknown
+bsuerteu // 1991, Unknown
+pmpoker // (c) 1981 PlayMan
+royale // Unknown
+royalea // Unknown
+sloco93 // 1993, Unknown
+sloco93a // 1993, Unknown
+maverik // 198?, Unknown
+brasil86 // 1986, Unknown
+brasil87 // 1987, Unknown
+brasil89 // 1989, Unknown
+brasil89a // 1989, Unknown
+brasil93 // 1993, Unknown
+poker91 // 1991, Unknown
+genie // (c) 198? Video Fun Games Ltd.
+silverga // 1983, Unknown
+pokerdub // 198?, Unknown
+pokerduc // 198?, Unknown
+
+// Cal Omega
+comg074 // (c) 1981 Cal Omega Inc.
+comg076 // (c) 1981 Cal Omega Inc.
+comg079 // (c) 1981 Cal Omega Inc.
+comg080 // (c) 1981 Cal Omega Inc.
+comg094 // (c) 1981 Cal Omega Inc.
+comg107 // (c) 1982 Cal Omega Inc.
+comg123 // (c) 1982 Cal Omega Inc.
+comg125 // (c) 1982 Cal Omega Inc.
+comg127 // (c) 1982 Cal Omega Inc.
+comg128 // (c) 1982 Cal Omega Inc.
+comg134 // (c) 1982 Cal Omega Inc.
+comg145 // (c) 1982 Cal Omega Inc.
+comg157 // (c) 1983 Cal Omega Inc.
+comg159 // (c) 1983 Cal Omega Inc.
+comg164 // (c) 1983 Cal Omega Inc.
+comg168 // (c) 1983 Cal Omega Inc.
+comg172 // (c) 1983 Cal Omega Inc.
+comg175 // (c) 1984 Cal Omega / Casino Electronics Inc.
+comg176 // (c) 1982 Cal Omega Inc.
+comg181 // (c) 1983 Cal Omega Inc.
+comg183 // (c) 1983 Cal Omega Inc.
+comg185 // (c) 1983 Cal Omega Inc.
+comg186 // (c) 1983 Cal Omega Inc.
+comg187 // (c) 1983 Cal Omega Inc.
+comg204 // (c) 1984 Cal Omega Inc.
+comg208 // (c) 1984 Cal Omega Inc.
+comg227 // (c) 1984 Cal Omega Inc.
+comg230 // (c) 1984 Cal Omega Inc.
+comg236 // (c) 1984 Cal Omega Inc.
+comg239 // (c) 1985 Cal Omega / Casino Electronics Inc.
+comg240 // (c) 1985 Cal Omega / Casino Electronics Inc.
+comg246 // (c) 1985 Cal Omega Inc.
+comg272a // (c) 1985 Cal Omega Inc.
+comg272b // (c) 1985 Cal Omega Inc.
+comg5108 // (c) 1985 Cal Omega Inc.
+comg903d // (c) 198? Cal Omega Inc.
+comg905d // (c) 198? Cal Omega Inc.
+elgrande // (c) 1982 Tuni Electro Service / E.T. Marketing
+jjpoker // (c) 1983 Enter-Tech
+jjpokerb // (c) 1983 Enter-Tech
+ssipkr24 // (c) 1988 SSI
+ssipkr30 // (c) 1988 SSI
+ssipkr40 // (c) 1990 SSI
+
+altair // (c) 1981 Cidelsa
+destryer // (c) 1981 Cidelsa
+destryera // (c) 1981 Cidelsa
+draco // (c) 1981 Cidelsa
+rockduck // (c) 1983 Datel SAS
+tetriskr // (c) 1988? bootleg
+trvhang // (c) 1984 SMS MFG CORP
+trvhanga // (c) 1984 SMS MFG CORP
+sureshot // (c) 1985 SMS MFG CORP
+secondch // (c) 1985 SMS MFG CORP
+skylncr // (c) 1995 Bordun International
+butrfly // (c) 1995 Bordun International
+madzoo // (c) 1995 Bordun International
+leader // Bootleg?
+livequiz // (c) 1999 Andamiro
+hammer // (c) 2000 Andamiro
+cowrace // (c) 20?? hack
+kingdrbb // (c) 199? hack
+discoboy // (c) 1993 Soft Art Co.
+pangofun // (c) 1995 InfoCube
+2mindril // (c) 1993 Taito
+koikoi // (c) 1983 Kiwako
+good // (c) 1983 Kiwako
+filetto // (c) 1990 Novamatic
+quizo // (c) 1985 Seoul Coin Corp.
+quizoa // (c) 1985 Seoul Coin Corp.
+gstream // (c) 2002, Oriental Soft Japan
+miniboy7 // (c) 1983, Bonanza Enterprises
+miniboy7a // (c) 1983, Bonanza Enterprises
+39in1 // MAME based bootleg
+48in1 // MAME based bootleg
+48in1a // MAME based bootleg
+kingpin // (c) 1983 American Communications Laboratories Inc.
+kingpinm // (c) 1983 American Communications Laboratories Inc.
+thayers // (c) 1983 RDI Video Systems
+thayersa // (c) 1983 RDI Video Systems
+istellar // (c) 1983 Funai / Gakken
+esh // (c) 1984 Funai / Gakken
+esha // (c) 1984 Funai / Gakken
+eshb // (c) 1984 Funai / Gakken
+comebaby // (c) 2000 ExPotato
+peset038 // (c) 1987 IGT - International Gaming Technology
+pepp0043 // (c) 1987 IGT - International Gaming Technology
+pepp0065 // (c) 1987 IGT - International Gaming Technology
+pepp0158 // (c) 1987 IGT - International Gaming Technology
+pepp0188 // (c) 1987 IGT - International Gaming Technology
+pepp0250 // (c) 1987 IGT - International Gaming Technology
+pepp0447 // (c) 1987 IGT - International Gaming Technology
+pepp0516 // (c) 1987 IGT - International Gaming Technology
+pebe0014 // (c) 1994 IGT - International Gaming Technology
+peke1012 // (c) 1994 IGT - International Gaming Technology
+peps0014 // (c) 1996 IGT - International Gaming Technology
+peps0022 // (c) 1996 IGT - International Gaming Technology
+peps0043 // (c) 1996 IGT - International Gaming Technology
+peps0045 // (c) 1996 IGT - International Gaming Technology
+peps0308 // (c) 1996 IGT - International Gaming Technology
+peps0615 // (c) 1996 IGT - International Gaming Technology
+peps0716 // (c) 1996 IGT - International Gaming Technology
+pex2069p // (c) 1995 IGT - International Gaming Technology
+pexp0019 // (c) 1995 IGT - International Gaming Technology
+pexp0112 // (c) 1995 IGT - International Gaming Technology
+pexs0006 // (c) 1997 IGT - International Gaming Technology
+pexmp006 // (c) 1997 IGT - International Gaming Technology
+pexmp017 // (c) 1997 IGT - International Gaming Technology
+pexmp024 // (c) 1997 IGT - International Gaming Technology
+mirage // (c) 1994 Mitchell
+dominob // (c) 1996 Wonwoo Systems
+dominobv2 // (c) 1996 Wonwoo Systems
+jongkyo // (c) 1985 Kiwako
+gamecstl // MAME based bootleg
+gamecst2 // MAME based bootleg, version 2.613
+drw80pkr // (c) 1982 IGT
+drw80pk2 // (c) 1983 IGT
+fortune1 // (c) 1984 IGT
+blazlaz // (c) 1989 Hudson Soft
+ggconnie // (c) ???? Capcom
+paranoia // (c) 1990 Naxat Soft
+vcombat // (c) 1993 VR8 Inc.
+shadfgtr // (c) 1993 DUTECH Inc.
+skimaxx // (c) 1996 Kyle Hodgetts/ICE
+blackt96 // (c) 1996 D.G.R.M. of Korea
+magictg // (c) 199? Acclaim
+magictga // (c) 199? Acclaim
+re900 // (c) 1993 Entretenimientos GEMINIS
+bs94 // (c) 1994 Entretenimientos GEMINIS
+jokrwild // (c) 1988 Sigma
+pesadelo // (c) 1989 Forte II Games
+pengadvb // (c) 1988 Screen
+spool99 // (c) 1998 Electronic Projects
+spool99a // (c) 1998 Electronic Projects
+vcarn // (c) 1999 Electronic Projects
+4roses // (c) 1999 Unknown
+4rosesa // (c) 1999 Unknown
+big10 // (c) 198? Unknown
+bingor1 // (c) 2002 Unknown
+bingor2 // (c) 2002 Unknown
+bingor3 // (c) 2002 Unknown
+bingor4 // (c) 2002 Unknown
+bingor5 // (c) 2002 Unknown
+
+// InterFlip / Recreativos Franco
+videopkr // (c) 1984 InterFlip
+blckjack // (c) 1984 InterFlip
+videodad // (c) 1987 InterFlip
+videocba // (c) 1987 InterFlip
+babypkr // (c) 1987 Recreativos Franco
+babydad // (c) 1987 Recreativos Franco
+
+// H8/3048 italian gambling games
+laperla // (c) 2002 Nazionale Elettronica
+laperlag // (c) 2001 Nazionale Elettronica
+capunc // (c) 2000 Nazionale Elettronica
+capcor // (c) 2001 Nazionale Elettronica
+euro2k2 // (c) 2001 Nazionale Elettronica
+euro2k2a // (c) 2001 Nazionale Elettronica
+euro2k2s // (c) 2002 Nazionale Elettronica
+mnumber // (c) 200? M.M. - B.R.L.
+abacus // (c) 200? unknown
+bookthr // (c) 200? unknown
+
+// H8/3337 italian gambling games
+ntcash // (c) 1999 unknown
+wizard // (c) 1999 A.A.
+trstar2k // (c) 1999 A.M.
+laser2k1 // (c) 2001 unknown
+mdrink // (c) 2001 unknown
+te0144 // (c) 2001 unknown
+cmagica // (c) 200? unknown
+millsun // (c) 200? unknown
+sspac2k1 // (c) 200? unknown
+elvis // (c) 200? unknown
+sstar // (c) 200? unknown
+pirati // (c) 2001 Cin
+mnumitg // (c) 200? unknown
+mclass // (c) 200? unknown
+europass // (c) 200? unknown
+
+// Intel 8086-based italian gambling games
+newmcard // (c) 19?? unknown
+brasil // (c) 2000 unknown
+fashion // (c) 2000 unknown
+ciclone // (c) 2000 unknown
+
+// V30-based italian gambling games
+tour4000 // (c) 2000 High Video
+cfever40 // (c) 2000 High Video
+cfever50 // (c) 2000 High Video
+tour4010 // (c) 2000 High Video
+cfever51 // (c) 2000 High Video
+cfever61 // (c) 2000 High Video
+cfever1k // (c) 2000 High Video
+girotutt // (c) 2000 High Video
+
+// Sure games
+mil4000 // (c) 2000 Sure Milano
+mil4000a // (c) 2000 Sure Milano
+mil4000b // (c) 2000 Sure Milano
+mil4000c // (c) 2000 Sure Milano
+
+// Mitsubishi/Renesas M16/62A italian gambling games
+ejollyx5 // (c) 200? Solar Games
+grandprx // (c) 200? 4fun
+supjolly // (c) 200? unknown
+x5jokers // (c) 200? Electronic Projects
+
+// Astro Corp.
+showhand // (c) 2000 Astro Corp.
+showhanc // (c) 2000 Astro Corp.
+skilldrp // (c) 2002 Astro Corp.
+speeddrp // (c) 2003 Astro Corp.
+winbingo // (c) 2005? Astro Corp.
+winbingoa // (c) 2005? Astro Corp.
+zoo // (c) 2005? Astro Corp.
+westvent // (c) 2007? Astro Corp.
+
+// Dyna
+ncb3 // (c) 199? Dyna Electronics
+cb3a // (c) 199? Dyna Electronics
+cb3 // (c) 199? Dyna Electronics
+cb3b // (c) 199? Dyna Electronics
+cb3c // (c) 199? Dyna Electronics
+cb3d // (c) 199? Dyna Electronics
+chryangl // (c) 199? Dyna Electronics
+cmv801 // (c) 198? Corsica
+cmv4 // (c) 1992 Dyna Electronics
+cmv4a // (c) 1992 Dyna Electronics
+cmwm // (c) 199? Dyna Electronics
+cmfun // (c) 1995 Dyna Electronics
+cmaster // (c) 1991 Dyna Electronics
+cmasterb // (c) 1991 Dyna Electronics
+cmezspin // (c) 1991 Dyna Electronics
+cmasterc // (c) 1991 Dyna Electronics
+cmasterbv // (c) 1991 Dyna Electronics / Gerald Duhamel?
+cmasterd // (c) 1991 Dyna Electronics
+cmastere // (c) 1991 Dyna Electronics
+cmasterf // (c) 1991 Dyna Electronics
+cmast91 // (c) 1991 Dyna Electronics
+cmast92 // (c) 1992 Dyna Electronics
+
+tonypok // (c) 1991 Corsica
+jkrmast // (c) 199? unknown
+pkrmast // (c) 199? unknown
+pkrmasta // (c) 199? unknown
+
+cb2001 // (c) 2001 Dyna Electronics
+scherrym // (c) 2001? Dyna Electronics
+
+// STG?
+queen
+
+// Aristocrat
+86lions // (c) 1985?
+caswin // (c) 1985
+
+// Aristocrat Mk4 hardware
+gtroppo // (c) 1986 Ainsworth Nominees P.L.
+clkwise // (c) 1986 Ainsworth Nominees P.L.
+gldnpkr // (c) 1986 Ainsworth Nominees P.L.
+3bagflvt // (c) 1994
+3bagflnz // (c) 1994
+eforest // (c) 1994
+eforesta // (c) 1995
+eforestb // (c) 1996
+cgold2 // (c) 1995
+blkrhino // (c) 1996
+goldenc // (c) 1996
+kgbird // (c) 1996
+kgbirda // (c) 1996
+topgear // (c) 1996
+wtigernz // (c) 1996
+fhunter // (c) 1996
+fhuntera // (c) 1996
+arcwins // (c) 1996
+wildone // (c) 1997
+phantomp // (c) 1998
+swtht2nz // (c) 1998
+ffortune // (c) 1998
+autmoon // (c) 1999
+coralr2 // (c) 2002
+
+// Aristocrat Mk5 hardware
+aristmk5 // (c) 1995
+
+swthrt2v // (c) 1995
+enchfrst // (c) 1995
+dolphntr // (c) 1996
+dolphtra // (c) 1996
+dmdtouch // (c) 1997
+goldprmd // (c) 1997
+qotn // (c) 1997
+adonis // (c) 1998
+reelrock // (c) 1998
+indiandr // (c) 1998
+magicmsk // (c) 2000
+margmgc // (c) 2000
+geishanz // (c) 2001
+wtiger // (c) 2001
+
+// Eagle
+janshi
+ronjan
+pinkiri8
+
+// Wing
+slotcarn // (c) 1985 Wing Co. Ltd
+lucky74 // (c) 1988 Wing Co. Ltd
+lucky74a // (c) 1988 Wing Co. Ltd
+lucky8 // (c) 1989 Wing Co. Ltd
+lucky8a // (c) 1989 Wing Co. Ltd
+lucky8b // (c) 1989 Wing Co. Ltd
+luckgrln // (c) 1991 Wing Co. Ltd
+luckylad // (c) 1985 Wing Co. Ltd
+
+skill98 // (c) 1998 Amcoe
+match98 // (c) 1998 Amcoe
+schery97 // (c) 1998 Amcoe
+schery97a // (c) 1998 Amcoe
+roypok96 // (c) 1996 Amcoe
+roypok96a // (c) 1996 Amcoe
+roypok96b // (c) 1996 Amcoe
+pokonl97 // (c) 1997 Amcoe
+nc96 // (c) 1996 Amcoe
+nc96a // (c) 1996 Amcoe
+nc96b // (c) 1996 Amcoe
+nc96c // (c) 1996 Amcoe
+nc96txt // (c) 2000 Amcoe
+nfb96 // (c) 1996 Amcoe
+nfb96a // (c) 1996 Amcoe
+nfb96b // (c) 1996 Amcoe
+nfb96c // (c) 1996 Amcoe
+nfb96txt // (c) 2000 Amcoe
+nfb96se // bootleg
+nfb96sea // bootleg
+nfb96seb // bootleg
+carb2002 // bootleg
+carb2003 // bootleg
+nfm // bootleg
+unkch1 // bootleg
+unkch2 // bootleg
+unkch3 // bootleg
+unkch4 // bootleg
+
+ns8lines // unknown
+ns8linew // unknown
+ladylinr // (c) 198? TAB Austria
+kkojnoli // 198? south korean hack
+wcat3
+magodds // 198? (c) Micro Manufacturing Ltd.
+magoddsa // 198? (c) Micro Manufacturing Ltd.
+magoddsb // 198? (c) Micro Manufacturing Ltd.
+magoddsc // 198? (c) Micro Manufacturing Ltd.
+magoddsd // 198? (c) Micro Manufacturing Ltd.
+
+sfbonus // (c) 2003 Amcoe - Skill Fruit Bonus
+sfbonusd1 // (c) 2003 Amcoe
+sfbonusv1 // (c) 2003 Amcoe
+sfbonuso // (c) 2003 Amcoe
+sfbonuso2 // (c) 2003 Amcoe
+parrot3 // (c) 2003 Amcoe - Parrot Poker III
+parrot3b1 // (c) 2004 Amcoe
+parrot3d1 // (c) 2004 Amcoe
+parrot3v1 // (c) 2004 Amcoe
+parrot3o // (c) 2004 Amcoe
+hldspin1 // (c) 2000 Amcoe - Hold & Spin I
+hldspin1dt // (c) 2000 Amcoe
+hldspin1vt // (c) 2000 Amcoe
+hldspin1o // (c) 2000 Amcoe
+hldspin2 // (c) 2000 Amcoe - Hold & Spin II
+hldspin2d1 // (c) 2000 Amcoe
+hldspin2v1 // (c) 2000 Amcoe
+hldspin2o // (c) 2000 Amcoe
+fcnudge // (c) 2003 Amcoe - Fruit Carnival Nudge
+fcnudgeo // (c) 2003 Amcoe
+fcnudgeo2 // (c) 2003 Amcoe
+fcnudgeo3 // (c) 2003 Amcoe
+pickwin // (c) 2001 Amcoe - Pick 'n Win
+pickwinb1 // (c) 2001 Amcoe
+pickwind1 // (c) 2001 Amcoe
+pickwinv1 // (c) 2001 Amcoe
+pickwinbt // (c) 2001 Amcoe
+pickwindt // (c) 2001 Amcoe
+pickwinvt // (c) 2001 Amcoe
+pickwino // (c) 2001 Amcoe
+pickwino2 // (c) 2001 Amcoe
+tighook // (c) 2004 Amcoe - Tiger Hook
+tighookc1 // (c) 2004 Amcoe
+tighookd1 // (c) 2004 Amcoe
+tighookv1 // (c) 2004 Amcoe
+tighookc2 // (c) 2004 Amcoe
+tighookd2 // (c) 2004 Amcoe
+tighookv2 // (c) 2004 Amcoe
+tighooko // (c) 2004 Amcoe
+tighooko2 // (c) 2004 Amcoe
+robadv // (c) 2004 Amcoe - Robin's Adventure
+robadvc1 // (c) 2004 Amcoe
+robadvd1 // (c) 2004 Amcoe
+robadvv1 // (c) 2004 Amcoe
+robadvo // (c) 2004 Amcoe
+robadv2 // (c) 2004 Amcoe - Robin's Adventure 2
+robadv2c1 // (c) 2004 Amcoe
+robadv2d1 // (c) 2004 Amcoe
+robadv2v1 // (c) 2004 Amcoe
+robadv2c2 // (c) 2004 Amcoe
+robadv2d2 // (c) 2004 Amcoe
+robadv2v2 // (c) 2004 Amcoe
+robadv2c3 // (c) 2004 Amcoe
+robadv2d3 // (c) 2004 Amcoe
+robadv2v3 // (c) 2004 Amcoe
+robadv2o // (c) 2004 Amcoe
+robadv2o2 // (c) 2004 Amcoe
+pirpok2 // (c) 2003 Amcoe - Pirate Poker II
+pirpok2b1 // (c) 2003 Amcoe
+pirpok2d1 // (c) 2003 Amcoe
+pirpok2v1 // (c) 2003 Amcoe
+pirpok2o // (c) 2003 Amcoe
+anibonus // (c) 2003 Amcoe - Animal Bonus
+anibonusv1 // (c) 2003 Amcoe
+anibonusv2 // (c) 2003 Amcoe
+anibonusb1 // (c) 2003 Amcoe
+anibonusd1 // (c) 2003 Amcoe
+anibonusb2 // (c) 2003 Amcoe
+anibonusd2 // (c) 2003 Amcoe
+anibonuso // (c) 2003 Amcoe
+anibonuso2 // (c) 2003 Amcoe
+anibonuso3 // (c) 2003 Amcoe
+anibonusxo // (c) 2003 Amcoe
+anibonusxo2 // (c) 2003 Amcoe
+anibonusxo3 // (c) 2003 Amcoe
+abnudge // (c) 2003 Amcoe - Animal Bonus Nudge
+abnudgeb // (c) 2003 Amcoe
+abnudged // (c) 2003 Amcoe
+abnudgeo // (c) 2003 Amcoe
+dblchal // (c) 2003 Amcoe - Double Challenge
+dblchalc1 // (c) 2003 Amcoe
+dblchald1 // (c) 2003 Amcoe
+dblchalv1 // (c) 2003 Amcoe
+dblchalo // (c) 2003 Amcoe
+anithunt // (c) 2003 Amcoe - Animal Treasure Hunt
+anithuntd1 // (c) 2003 Amcoe
+anithuntv1 // (c) 2003 Amcoe
+anithunto // (c) 2003 Amcoe
+anithunto2 // (c) 2003 Amcoe
+sfruitb // (c) 2002 Amcoe - Super Fruit Bonus
+sfruitbb1 // (c) 2002 Amcoe
+sfruitbd1 // (c) 2002 Amcoe
+sfruitbv1 // (c) 2002 Amcoe
+sfruitbb2 // (c) 2002 Amcoe
+sfruitbd2 // (c) 2002 Amcoe
+sfruitbv2 // (c) 2002 Amcoe
+sfruitbo // (c) 2002 Amcoe
+sfruitbo2 // (c) 2002 Amcoe
+sfruitbh // (c) 2002 Amcoe
+sfruitbbh // (c) 2002 Amcoe
+sfruitbdh // (c) 2002 Amcoe
+sfruitbvh // (c) 2002 Amcoe
+sfruitboh // (c) 2002 Amcoe
+fb2gen // (c) 2004 Amcoe - Fruit Bonus 2nd Generation
+fb2genc1 // (c) 2004 Amcoe
+fb2gend1 // (c) 2004 Amcoe
+fb2genv1 // (c) 2004 Amcoe
+fb2genc2 // (c) 2004 Amcoe
+fb2gend2 // (c) 2004 Amcoe
+fb2genv2 // (c) 2004 Amcoe
+fb2geno // (c) 2004 Amcoe
+fb2geno2 // (c) 2004 Amcoe
+fb2nd // (c) 2004 Amcoe - Fruit Bonus 2nd Edition
+fb2ndd1 // (c) 2004 Amcoe
+fb2ndv1 // (c) 2004 Amcoe
+fb2ndc2 // (c) 2004 Amcoe
+fb2ndd2 // (c) 2004 Amcoe
+fb2ndv2 // (c) 2004 Amcoe
+fb2ndo // (c) 2004 Amcoe
+fb4 // (c) 2004 Amcoe - Fruit Bonus 2004
+fb4c1 // (c) 2004 Amcoe
+fb4d1 // (c) 2004 Amcoe
+fb4v1 // (c) 2004 Amcoe
+fb4exp // (c) 2004 Amcoe
+fb4b2 // (c) 2004 Amcoe
+fb4c2 // (c) 2004 Amcoe
+fb4d2 // (c) 2004 Amcoe
+fb4v2 // (c) 2004 Amcoe
+fb4o // (c) 2004 Amcoe
+fb4o2 // (c) 2004 Amcoe
+fb5 // (c) 2005 Amcoe - Fruit Bonus 2005
+fb5c // (c) 2005 Amcoe
+fb5d // (c) 2005 Amcoe
+fb5v // (c) 2005 Amcoe
+fb6 // (c) 2006 Amcoe - Fruit Bonus '06 - 10th anniversary
+fb6v // (c) 2006 Amcoe
+fb6d1 // (c) 2006 Amcoe
+fb6s1 // (c) 2006 Amcoe
+fb6v1 // (c) 2006 Amcoe
+fb6d2 // (c) 2006 Amcoe
+fb6s2 // (c) 2006 Amcoe
+fb6v2 // (c) 2006 Amcoe
+fb6s3 // (c) 2006 Amcoe
+fb6se // (c) 2006 Amcoe - Fruit Bonus 2006 Special Edition
+fb6sev // (c) 2006 Amcoe
+fb6sed1 // (c) 2006 Amcoe
+fb6sev1 // (c) 2006 Amcoe
+fb6sed2 // (c) 2006 Amcoe
+fb6sev2 // (c) 2006 Amcoe
+version4 // (c) 2006 Amcoe - Version 4 ?
+bugfever // (c) 2006 Amcoe - Bug Fever
+bugfevero // (c) 2006 Amcoe
+bugfeverd // (c) 2006 Amcoe
+bugfeverv // (c) 2006 Amcoe
+bugfeverv2 // (c) 2006 Amcoe
+funriver // (c) 2005 Amcoe - Fun River
+funriverv // (c) 2005 Amcoe
+dvisland // (c) 2006 Amcoe - Devil's Island
+dvislando // (c) 2006 Amcoe
+atworld // (c) 2007 Amcoe - Around The World
+atworldd1 // (c) 2007 Amcoe
+amclink // (c) 200? Amcoe - Amcoe Link Control Box?
+fbdeluxe // (c) 200? Amcoe - Amcoe Link Control Box?
+
+act2000 // (c) 1999 Amcoe - Action 2000
+act2000v1 // (c) 1999 Amcoe
+act2000d1 // (c) 1999 Amcoe
+act2000b1 // (c) 1999 Amcoe
+act2000vx // (c) 1999 Amcoe
+act2000dx // (c) 1999 Amcoe
+act2000bx // (c) 1999 Amcoe
+act2000o // (c) 1999 Amcoe
+act2000o2 // (c) 1999 Amcoe
+act2000o3 // (c) 1999 Amcoe
+ch2000 // (c) 2000 Amcoe - Fruit Bonus 2000 / New Cherry 2000
+ch2000b1 // (c) 2000 Amcoe
+ch2000c1 // (c) 2000 Amcoe
+ch2000d1 // (c) 2000 Amcoe
+ch2000v1 // (c) 2000 Amcoe
+ch2000b2 // (c) 2000 Amcoe
+ch2000c2 // (c) 2000 Amcoe
+ch2000d2 // (c) 2000 Amcoe
+ch2000v2 // (c) 2000 Amcoe
+ch2000o // (c) 2000 Amcoe
+ch2000o2 // (c) 2000 Amcoe
+ch2000o3 // (c) 2000 Amcoe
+pir2001 // (c) 2001 Amcoe - Pirate 2001
+pir2001b1 // (c) 2001 Amcoe
+pir2001d1 // (c) 2001 Amcoe
+pir2001v1 // (c) 2001 Amcoe
+pir2001bx // (c) 2001 Amcoe
+pir2001dx // (c) 2001 Amcoe
+pir2001vx // (c) 2001 Amcoe
+pir2001o // (c) 2001 Amcoe
+pir2001o2 // (c) 2001 Amcoe
+pir2001o3 // (c) 2001 Amcoe
+pir2002 // (c) 2001 Amcoe - Pirate 2002
+pir2002b1 // (c) 2001 Amcoe
+pir2002d1 // (c) 2001 Amcoe
+pir2002v1 // (c) 2001 Amcoe
+pir2002bx // (c) 2001 Amcoe
+pir2002dx // (c) 2001 Amcoe
+pir2002vx // (c) 2001 Amcoe
+pir2002o // (c) 2001 Amcoe
+pir2002o2 // (c) 2001 Amcoe
+pir2002o3 // (c) 2001 Amcoe
+classice // (c) 2004 Amcoe - Classic Edition
+classicev // (c) 2004 Amcoe
+classice1 // (c) 2004 Amcoe
+classiced1 // (c) 2004 Amcoe
+classicev1 // (c) 2004 Amcoe
+classice2 // (c) 2004 Amcoe
+classiced2 // (c) 2004 Amcoe
+classicev2 // (c) 2004 Amcoe
+seawld // (c) 200? Amcoe - Sea World
+seawldd1 // (c) 200? Amcoe
+moneymac // (c) 200? Amcoe - Money Machine
+moneymacd1 // (c) 200? Amcoe
+moneymacv1 // (c) 200? Amcoe
+moneymacd2 // (c) 200? Amcoe
+moneymacv2 // (c) 200? Amcoe
+
+
+chsuper3 // unknown
+chsuper2 // unknown
+chmpnum // unknown
+3super8 // unknown
+buster // (c) 1987 Marian Electronics Ltd.
+spielbud // (c) 1985 ADP
+
+// Hi-Soft
+himesiki // (c) 1989 Hi-Soft
+
+// Draw Poker HI-LO based (z80)
+norautp // (c) 1988 Noraut Ltd.
+norautdx // (c) 198? Noraut Ltd.
+norautpn // (c) 199? unknown
+norautjo // (c) 198? Noraut Ltd.
+norautpl // (c) 198? Prologic / Noraut Ltd.
+norautjp // (c) 198? Noraut Ltd.
+norautrh // (c) 198? Noraut Ltd.
+norautra // (c) 198? Noraut Ltd.
+norautu // (c) 198? Noraut Ltd.
+noraut3a // (c) 2002 Noraut Ltd.
+noraut3b // (c) 2003 Noraut Ltd.
+norautua // (c) 198? Noraut Ltd.
+norautub // (c) 198? Noraut Ltd.
+mainline // (c) Mainline London
+df_djpkr // (c) DellFern Ltd.
+ndxron10 // 2005, unknown
+cgip30cs // (c) 1999, CGI
+kimblz80 // (c) 198?, Kimble Ireland
+pma // 1983, PMA
+bjpoker // (c) M. Kramer Inc.
+
+// Draw Poker HI-LO based (8080)
+dphl // (c) 1983 M. Kramer Inc.
+dphla // unknown
+dphljp // unknown
+kimbldhl // (c) 198?, Kimble Ireland
+gtipoker // (c) 1983 GTI Inc
+smshilo // (c) 1983 SMS Manufacturing Corp.
+drhl // (c) 1986 Drew, Inc.
+drhla // (c) 1986 Drew, Inc.
+tpoker2 // (c) 1993 Micro Manufacturing, Inc.
+ssjkrpkr // (c) 1982 Southern Systems & Assembly, Ltd.
+fastdrwp // Stern?
+dphlunka // SMS Manufacturing Corp?
+dphlunkb // SMS Manufacturing Corp?
+
+
+// Sanki Denshi Kogyo
+pachifev // (c) 1983?
+
+// New Image Technologies
+bonanza // (c) 1993
+bonanzar2 // (c) 1993
+streetg // (c) 1993
+streetgr3 // (c) 1993
+streetg2 // (c) 1993
+streetg2r5 // (c) 1993
+
+// Micro Manufacturing
+magtouch // (c) 1995
+
+// Coinmaster-Gaming VGA based
+colorama // (c) 2001 Coinmaster-Gaming, Ltd.
+cmrltv75 // (c) 2001 Coinmaster-Gaming, Ltd.
+cmkenosp // (c) 2000 Coinmaster-Gaming, Ltd.
+cmkenospa // (c) 2000 Coinmaster-Gaming, Ltd.
+
+// Igrosoft Original sets
+// Multifish
+//mfish // (c) 2002
+//mfish_2 // (c) 2002
+//mfish_4 // (c) 2002
+//mfish_5 // (c) 2002
+//mfish_7 // (c) 2002
+//mfish_8 // (c) 2002
+//mfish_9 // (c) 2002
+//mfish_10 // (c) 2002
+//mfish_13 // (c) 2002
+mfish_3 // (c) 2002
+mfish_6 // (c) 2002
+mfish_11 // (c) 2002
+mfish_12 // (c) 2002
+mfish_13 // (c) 2002
+
+// Crazy Monkey
+//crzmon // (c) 2003
+//crzmon_2 // (c) 2003
+//crzmon_3 // (c) 2003
+//crzmon_4 // (c) 2003
+//crzmon_5 // (c) 2003
+//crzmon_6 // (c) 2003
+crzmon_5 // (c) 2003
+crzmon_7 // (c) 2003
+crzmon_8 // (c) 2003
+crzmon_9 // (c) 2003
+
+// Fruit Cocktail
+//fcockt // (c) 2003
+//fcockt_2 // (c) 2003
+fcockt_3 // (c) 2003
+//fcockt_4 // (c) 2003
+fcockt_5 // (c) 2003
+fcockt_6 // (c) 2003
+fcockt_7 // (c) 2003
+fcockt_8 // (c) 2003
+fcockt_9 // (c) 2003
+fcockt_10 // (c) 2003
+fcockt_11 // (c) 2003
+fcockt_12 // (c) 2003
+
+// Lucky Haunter
+//lhaunt // (c) 2003
+lhaunt_2 // (c) 2003
+//lhaunt_3 // (c) 2003
+lhaunt_4 // (c) 2003
+lhaunt_5 // (c) 2003
+lhaunt_6 // (c) 2003
+lhaunt_7 // (c) 2003
+lhaunt_8 // (c) 2003
+
+// Rollfruit
+//rollfr // (c) 2003
+rollfr_2 // (c) 2003
+
+// Garage
+//garage // (c) 2004
+//garage_2 // (c) 2004
+//garage_3 // (c) 2004
+garage_4 // (c) 2004
+garage_5 // (c) 2004
+garage_6 // (c) 2004
+garage_7 // (c) 2004
+
+// Rock Climber
+//rclimb_2 // (c) 2004
+rclimb // (c) 2004
+rclimb_3 // (c) 2004
+rclimb_4 // (c) 2004
+rclimb_5 // (c) 2004
+
+// Sweet Life
+sweetl // (c) 2004
+sweetl_2 // (c) 2004
+
+// Resident
+resdnt // (c) 2004
+resdnt_2 // (c) 2004
+resdnt_3 // (c) 2004
+
+// Island
+island // (c) 2005
+island_2 // (c) 2005
+
+// Pirate
+//pirate // (c) 2005
+pirate_2 // (c) 2005
+pirate_3 // (c) 2005
+pirate_4 // (c) 2005
+
+// Island 2
+island2 // (c) 2006
+island2_3 // (c) 2006
+island2_4 // (c) 2006
+
+// Pirate 2
+pirate2 // (c) 2006
+pirate2_2 // (c) 2006
+
+// Keks
+keks // (c) 2006
+keks_2 // (c) 2006
+keks_3 // (c) 2006
+
+// Gnome
+gnome // (c) 2007
+gnome_2 // (c) 2007
+
+// Sweet Life 2
+sweetl2 // (c) 2007
+
+// Igrosoft bootleg sets
+
+mfish_3a // bootleg - Multifish
+mfish_12a // bootleg
+crzmon_7a // bootleg - Crazy Monkey
+crzmon_7b // bootleg
+crzmon_8a // bootleg
+crzmon_8b // bootleg
+crzmon_8c // bootleg
+crzmon_8d // bootleg
+crzmon_8e // bootleg
+crzmon_8f // bootleg
+crzmon_9a // bootleg
+crzmon_9b // bootleg
+crzmon_9c // bootleg
+fcockt_6a // bootleg - Fruit Cocktail
+fcockt_6b // bootleg
+fcockt_6c // bootleg
+fcockt_6d // bootleg
+fcockt_7a // bootleg
+fcockt_7b // bootleg
+fcockt_7c // bootleg
+fcockt_7d // bootleg
+fcockt_7e // bootleg
+fcockt_7f // bootleg
+fcockt_7g // bootleg
+fcockt_7h // bootleg
+fcockt_8a // bootleg
+fcockt_8b // bootleg
+lhaunt_4a // bootleg - Lucky Haunter
+lhaunt_5a // bootleg
+lhaunt_6a // bootleg
+lhaunt_6b // bootleg
+lhaunt_6c // bootleg
+lhaunt_6d // bootleg
+lhaunt_6e // bootleg
+lhaunt_6f // bootleg
+garage_4a // bootleg - Garage
+garage_4b // bootleg
+garage_4c // bootleg
+garage_5a // bootleg
+garage_5b // bootleg
+garage_5c // bootleg
+garage_5d // bootleg
+garage_5e // bootleg
+rclimb_3a // bootleg - Rock Climber
+rclimb_3b // bootleg
+rclimb_3c // bootleg
+rclimb_3d // bootleg
+rclimb_3e // bootleg
+sweetla // bootleg - Sweet Life
+sweetlb // bootleg
+resdnt_2a // bootleg - Resident
+resdnt_2b // bootleg
+resdnt_2c // bootleg
+resdnt_2d // bootleg
+resdnt_2e // bootleg
+resdnt_2f // bootleg
+resdnt_2g // bootleg
+islanda // bootleg - Island
+islandb // bootleg
+islandc // bootleg
+island2a // bootleg - Island 2
+island2b // bootleg
+island2c // bootleg
+island2_3a // bootleg
+island2_4a // bootleg
+pirate2a // bootleg - Pirate 2
+pirate2b // bootleg
+pirate2c // bootleg
+pirate2d // bootleg
+pirate2e // bootleg
+pirate2f // bootleg
+pirate2g // bootleg
+pirate2h // bootleg
+pirate2_2a // bootleg
+keksa // bootleg - Keks
+keksb // bootleg
+keksc // bootleg
+keks_2a // bootleg
+keks_2b // bootleg
+keks_2c // bootleg
+keks_2d // bootleg
+keks_2e // bootleg
+keks_2f // bootleg
+keks_2g // bootleg
+keks_3a // bootleg
+keks_3b // bootleg
+gnomea // bootleg - Gnome
+gnomeb // bootleg
+gnomec // bootleg
+gnomed // bootleg
+gnomee // bootleg
+gnome_2a // bootleg
+
+// Disney
+cdimono1 // Base unit
+quizard // (c) Disney 1996
+quizrd22 // (c) Disney 1995
+quizrd17 // (c) Disney 1996
+quizrd12 // (c) Disney 1996
+quizrr42 // (c) Disney 1998
+quizrr41 // (c) Disney 1998
+
+/* Drivers below are mechanical games, usually with no video display, requiring external artwork to function.
+ These are currently mostly 'fruit machine' style games, although this may later be extended to system logic
+ emulation for pinball machiens.
+
+ the m_ prefix is used to identify them as many have very generic names.
+
+*/
+
+// Scorpion 2
+m_brkfst
+m_brkfs1
+m_brkfs2
+m_brkfs3
+m_brkfs4
+m_brkfs5
+
+m_bdrwho
+m_bdrwh1
+m_bdrwh2
+m_bdrwh3
+m_bdrwh4
+m_bdrwh5
+m_bdrwh6
+m_bdrwh7
+m_bdrwh8
+m_bdrwh9
+m_bdrw10
+m_bdrw11
+m_bdrw12
+m_bdrw13
+m_bdrw14
+m_bdrw15
+m_bdrw16
+m_bdrw17
+
+m_bfocus
+m_bcgslm
+m_luvjub
+m_cpeno1
+
+// System85 games
+m_supcrd // (c) 198? BFM
+
+// JPM Impact games
+m_tbirds
+
+// Scorpion1 games
+m_lotsse // (c) 198? BFM Dutch ROMS, prelim
+m_roulet // (c) 198? BFM Dutch ROMS, prelim
+m_clattr // (c) 1990 BFM, Game Card 39-370-196
+m_tppokr // (c) 1996 BFM/ELAM,Game Card 95-750-899, uses Adder board for feature gfx
+
+// Maygay Machines Ltd.
+m_sptlgt
+
+screenpl
+screenp1
+screenp2
+
+// MPU4
+m_oldtmr // Barcrest - highly prelim
+m_ccelbr
+m_gmball
+m_grtecp // 199?
+m_blsbys // BwB
+
+// MPU5
+m_honmon
+
+// Leisure Ent.
+roul // (c) 1990
+
+// Accept LTD.
+hitpoker // (c) 1997
+
+// Videotronics
+vpoker // (c) 198?
+5acespkr // (c) 198?
+
+// Play Mechanix
+jnero // (c) 2004
+
+// Amatic Trading GMBH
+am_uslot // (c) 1996 Amatic
+am_mg24 // (c) 2000 Amatic
+am_mg3 // (c) 2000 Amatic
+
+neptunp2
+rgum
+
+// Extrema Systems International Ltd.
+poker72
+
+chkun
+
+// Blitz System Inc.
+megadpkr // (c) 1990 Blitz System Inc
+megadpkrb // (c) 1990 Blitz System Inc
+
+// Blitz System Inc. 68k + Blitter Hardware
+megadblj // (c) 1990 Blitz Systems Inc.
+megadble // (c) 1990 Blitz Systems Inc.
+maxidbl // (c) 1992 Blitz Systems Inc.
+bankrob // (c) 1993 Entertainment Technology Corp.
+bankroba // (c) 1993 Entertainment Technology Corp.
+poker52 // (c) 1993 Blitz Systems Inc. ?
+steaser // (c) 1993 unknown
+dualgame // (c) 1995 Labtronix Technologies
+hermit // (c) 1995 Dugamex
+deucesw2 // (c) 1997
+cjffruit // (c) 1998 Cadillac Jack
+ilpag // (c) 199? unknown
+
+// Olympic Video Gaming
+hotstuff
+
+// Interactive Light
+savquest
+
+// Jamie System Development
+xtom3d
+
+// Jubilee
+jubileep
+
+// Golden Games / C+M Technics AG
+swisspkr // (c) 1990 Golden Games
+moviecrd // (c) 1998 Golden Games
+
+// NSM
+nsmpoker
+
+// Advanced Video Technologies
+avtsym14 // (c) 1985 AVT
+avtsym25 // (c) 1985 AVT
+avtbingo // (c) 1985 AVT
+avtnfl // (c) 1989 AVT
+
+// Corona hardware
+winner81 // (c) 1981 Corona Co, Ltd.
+winner81b // (c) 1981 Corona Co, Ltd.
+winner82 // (c) 1982 Corona Co, Ltd.
+re800ea // (c) 1991 Entretenimientos GEMINIS
+re800v1 // (c) 1991 Entretenimientos GEMINIS
+re800v3 // (c) 1992 Entretenimientos GEMINIS
+rcirulet // (c) 199? Entretenimientos GEMINIS
+luckyrlt // (c) 1990 unknown
+
+dfruit
+
+// allied.c
+allied
+suprpick
+royclark
+thndbolt
+hoedown
+takefive
+heartspd
+foathens
+disco79
+erosone
+circa33
+starshot
+
+
+// alvg.c
+agsoccer
+wrldtour
+wrldtour2
+usafootb
+mystcast
+pstlpkr
+punchy
+dinoeggs
+
+/*
+ Atari Generation/System 1
+*/
+atarians
+time2000
+aavenger
+midearth
+spcrider
+/*
+ Atari Generation/System 2
+*/
+supermap
+hercules
+/*
+ Atari Generation/System 3
+*/
+roadrunr
+
+// bingo.c
+cntinntl
+goldgame
+goldgam2
+
+/*
+ Bally MPU AS-2518-17
+*/
+blackjck
+bowarrow
+eightbll
+evelknie
+freedom
+matahari
+nightrdr
+nightr20
+pwerplay
+stk_sprs
+
+/*
+ Bally MPU AS-2518-35
+*/
+bullseye
+blakpyra
+bmx
+centaur
+cosflash
+cybrnaut
+dollyptn
+eballdlx
+eballd14
+elektra
+embryon
+fathom
+fbclass
+fball_ii
+flashgdn
+flashgdnf
+flashgdnv
+frontier
+futurspa
+goldball
+goldballn
+granslam
+granslam4
+hglbtrtr
+hotdoggn
+kosteel
+kiss
+lostwrlp
+medusa
+m_mpac
+mystic
+myststar
+newwave
+ngndshkr
+paragon
+playboy
+rapidfip
+rollston
+saturn2
+slbmania
+skatebll
+spacehaw
+spaceinv
+speakesy
+speakesy4p
+spectrm
+spectrm4
+spyhuntr
+startrep
+sst
+smman
+tigerrag
+vector
+viking
+voltan
+xsandos
+xenon
+xenonf
+worlddef
+darkshad
+skflight
+cobrap
+futrquen
+f1gpp
+toppin
+uboat65
+bbbowlin
+monrobwl
+mdntmrdr
+blbeauty
+suprbowl
+
+/*
+ Bally Kiss 8035 prototype
+*/
+kissp
+
+/*
+ Bally MPU A084-91786-AH06 (6803)
+*/
+atlantip
+beatclck
+blackblt
+black100
+black100s
+cityslck
+dungdrag
+eballchp
+esclwrld
+esclwrldg
+hardbody
+hardbodyg
+hvymetap
+ladyluck
+motrdome
+prtyanim
+specforc
+strngsci
+trucksp3
+trucksp2
+
+/*
+ Bally MPU AS-2518-133
+*/
+babypac
+granny
+
+// by68701.c
+flashgdnp1
+flashgdnp2
+eballdlxp1
+eballdlxp2
+eballdlxp3
+eballdlxp4
+
+// capcom.c
+abv106
+abv106r
+bbb109
+bbb108
+bsv103
+bsv100r
+bsv102r
+bsb105
+ffv104
+ffv101
+kpv106
+pmv112
+pmv112r
+ghv101
+
+
+// de_1.c
+lwar_a83
+lwar_e90
+
+
+// de_2.c
+mnfb_c27
+poto_a32
+play_a24
+robo_a34
+ssvc_a26
+tmac_a24
+tmac_a18
+torp_e21
+
+
+// de_3.c
+rab_320
+rab_130
+rab_103
+aar_101
+bttf_a27
+bttf_a20
+bttf_a21
+bttf_g27
+btmn_103
+btmn_101
+btmn_g13
+btmn_106
+ckpt_a17
+gnr_300
+hook_408
+hook_401
+hook_404
+jupk_513
+jupk_501
+jupk_g51
+lah_112
+lah_l104
+lah_l108
+lah_110
+lw3_208
+lw3_207
+lw3_205
+lw3_200
+trek_201
+trek_200
+trek_120
+trek_110
+trek_11a
+stwr_103
+stwr_g11
+stwr_a14
+stwr_102
+stwr_e12
+tftc_303
+tftc_300
+tftc_200
+tftc_104
+tmnt_104
+tmnt_103
+simp_a27
+simp_a20
+tomy_400
+tomy_h30
+wwfr_106
+wwfr_103
+
+
+// de_3b.c
+batmanf
+batmanf3
+bmf_uk
+bmf_cn
+bmf_no
+bmf_sv
+bmf_at
+bmf_ch
+bmf_de
+bmf_be
+bmf_fr
+bmf_nl
+bmf_it
+bmf_sp
+bmf_jp
+bmf_time
+baywatch
+frankst
+frankstg
+mav_402
+mav_401
+mav_400
+mav_100
+detest
+ctcheese
+
+
+// flicker.c
+flicker
+
+
+// g627.c
+rotation
+
+
+// gp_1.c
+gp_110
+blvelvet
+camlight
+chucklck
+famlyfun
+foxylady
+real
+rio
+startrip
+
+
+// gp_2.c
+agent777
+andromep
+andromepa
+attila
+cpthook
+cyclopes
+gwarfare
+ladyshot
+mbossy
+coneyis
+lizard
+sshootr2
+sshootep
+suprnova
+vegasgp
+
+
+// gts1.c
+gts1
+gts1s
+astannie
+buckrgrs
+charlies
+cleoptra
+closeenc
+countdwn
+dragon
+geniep
+jokrpokr
+pinpool
+roldisco
+sinbad
+sinbadn
+solaride
+hulk
+torch
+totem
+hexagone
+sys1test
+
+
+// gts3.c
+barbwire
+bellring
+brooks
+cactjack
+carhop
+ccruise
+clas1812
+cueball
+deadweap
+bighurt
+freddy
+freddy4
+gladiatp
+hoops
+lca
+lca2
+andretti
+andretti4
+nudgeit
+opthund
+rescu911
+shaqattq
+shaqattq2
+silvslug
+stargatp
+stargatp1
+stargatp2
+stargatp3
+stargatp4
+sfight2
+sfight2a
+sfight2b
+smb
+smb1
+smb2
+smb3
+smbmush
+surfnsaf
+teedoffp
+teedoffp1
+teedoffp3
+tfight
+vegas
+waterwld
+waterwld2
+wipeout
+wcsoccer
+wcsoccerd2
+tt_game
+snspares
+snspares1
+
+
+// gts80.c
+blckhole
+blckhole2
+blckhols
+circusp
+cntforce
+eclipse
+forceii
+hh
+hh_1
+jamesb
+jamesb2
+marsp
+panthera
+pnkpnthr
+starrace
+spidermn
+timeline
+vlcno_ax
+vlcno_1b
+vlcno_1a
+s80tst
+
+
+// gts80a.c
+alienstr
+amazonh
+caveman
+cavemana
+dvlsdre
+dvlsdre2
+eldorado
+goinnuts
+icefever
+jack2opn
+krullp
+punk
+qbquest
+rackempp
+raimfire
+rocky
+rflshdlx
+spirit
+striker
+sorbit
+thegames
+touchdn
+
+
+// gts80b.c
+arena
+badgirls
+bighouse
+bonebstr
+bountyh
+triplay
+diamondp
+excalibr
+genesisp
+goldwing
+hlywoodh
+hotshots
+mntecrlo
+nmoves
+raven
+robowars
+rock
+rock_enc
+sprbreak
+sprbreaks
+tagteamp
+tagteamp2
+txsector
+victoryp
+
+
+// hankin.c
+fjholden
+howzat
+orbit1
+shark
+empsback
+
+
+// icecold.c
+icecold
+
+// inder.c
+ind250cc
+atleta
+brvteam
+canasta
+pinclown
+corsario
+lapbylap
+
+
+// jp.c
+america
+aqualand
+faeton
+lortium
+petaco
+petaco2
+olympus
+
+
+// jvh.c
+escape
+movmastr
+
+
+// ltd.c
+alcapone
+atla_ltd
+bhol_ltd
+columbia
+cowboy
+pecmen
+zephy
+
+// micropin.c
+pentacup
+pentacup2
+
+// mephisto.c
+mephistp
+mephistp1
+
+// mrgame.c
+dakar
+motrshow
+motrshowa
+macattck
+wcup90
+
+
+// nsm.c
+firebird
+
+
+// peyper.c
+odisea
+wolfman
+odin_dlx
+solarwap
+poleposn
+sonstwar
+
+
+// play_1.c
+bigtown
+chance
+lastlap
+spcgambl
+party
+
+
+// play_2.c
+antar
+antar2
+evlfight
+attack
+blkfever
+cerberup
+madrace
+
+
+// play_3.c
+megaaton
+
+
+// play_5.c
+spain82
+ufo_x
+kz26
+rock2500
+starfirp
+trailer
+
+// rowamet.c
+heavymtl
+
+
+// s11.c
+gmine_l2
+grand_l4
+hs_l4
+hs_l3
+rdkng_l4
+rdkng_l1
+rdkng_l2
+rdkng_l3
+tdawg_l1
+shfin_l1
+
+
+// s11a.c
+f14_l1
+f14_p3
+f14_p4
+fire_l3
+milln_l3
+pb_l5
+pb_l2
+pb_l3
+
+
+// s11b.c
+bcats_l5
+bcats_l2
+bnzai_l3
+bnzai_g3
+bnzai_l1
+bnzai_pa
+bguns_l8
+bguns_l7
+bguns_la
+bguns_p1
+bk2k_l4
+bk2k_lg1
+bk2k_lg3
+bk2k_pu1
+cycln_l5
+cycln_l4
+esha_la3
+esha_ma3
+esha_pr4
+esha_lg1
+esha_lg2
+esha_la1
+esha_pa1
+eatpm_l4
+eatpm_l1
+eatpm_l2
+eatpm_4g
+eatpm_4u
+eatpm_p7
+jokrz_l6
+jokrz_l3
+mousn_l4
+mousn_l1
+mousn_lu
+mousn_lx
+polic_l4
+polic_l3
+polic_l2
+spstn_l5
+swrds_l2
+taxi_l4
+taxi_l3
+taxi_lg1
+tsptr_l3
+whirl_l3
+whirl_l2
+whirl_lg3
+
+
+// s11c.c
+bbnny_l2
+bbnny_lu
+diner_l4
+diner_l3
+diner_l1
+dd_l2
+dd_p6
+pool_l7
+pool_l6
+pool_le2
+pool_p7
+radcl_l1
+radcl_g1
+radcl_p3
+rvrbt_l3
+rollr_l2
+rollr_ex
+rollr_e1
+rollr_p2
+rollr_l3
+rollr_g3
+gs_l3
+gs_l4
+strax_p7
+
+
+// s3.c
+httip_l1
+lucky_l1
+wldcp_l1
+cntct_l1
+disco_l1
+
+
+// s4.c
+flash_l1
+flash_t1
+phnix_l1
+pkrno_l1
+stlwr_l2
+pomp_l1
+arist_l1
+topaz_l1
+taurs_l1
+kingt_l1
+omni_l1
+bstrk_l1
+tstrk_l1
+
+
+// s6.c
+blkou_l1
+blkou_t1
+blkou_f1
+frpwr_l6
+frpwr_t6
+frpwr_l2
+grgar_l1
+grgar_t1
+lzbal_l2
+lzbal_t2
+tmwrp_l2
+tmwrp_t2
+scrpn_l1
+scrpn_t1
+trizn_l1
+trizn_t1
+
+
+// s6a.c
+algar_l1
+alpok_l6
+alpok_l2
+alpok_f6
+
+
+// s7.c
+vrkon_l1
+barra_l1
+bk_l4
+bk_f4
+bk_l3
+csmic_l1
+dfndr_l4
+fpwr2_l2
+hypbl_l4
+jst_l2
+jngld_l2
+lsrcu_l2
+pharo_l2
+solar_l2
+strlt_l1
+tmfnt_l5
+wrlok_l3
+thund_p1
+ratrc_l1
+
+
+// s8.c
+pfevr_l2
+pfevr_p3
+
+
+// s9.c
+comet_l4
+comet_l5
+sorcr_l1
+sorcr_l2
+sshtl_l7
+alcat_l7
+szone_l5
+szone_l2
+
+
+// sleic.c
+sleicpin
+
+
+// spinb.c
+bushido
+bushidoa
+jolypark
+mach2
+
+
+// st_mp100.c
+princess
+dracula
+hothand
+lectrono
+magic
+memlane
+nugent
+pinball
+stars
+stingray
+trident
+wildfyre
+
+
+// st_mp200.c
+ali
+biggame
+catacomp
+cheetah
+dragfist
+flight2k
+freefall
+galaxypi
+ironmaid
+lazrlord
+lightnin
+meteorp
+nineball
+orbitor1
+quicksil
+seawitch
+splitsec
+stargzr
+viperp
+gamatron
+blkshpsq
+st_game
+
+
+// taito.c
+taitest
+cavnegro
+cavnegro1
+cavnegro2
+cosmic
+drakor
+fireact
+fireactd
+gemini2k
+gemini2k1
+gork
+hawkman
+hawkman1
+ladylukt
+lunelle
+meteort
+mrblack
+mrblack1
+obaoba
+obaoba1
+polar
+rally
+sharkt
+shock
+snake
+sshuttle
+sshuttle1
+stest
+sureshop
+titan
+titan1
+vegast
+voleybal
+vortexp
+zarza
+zarza1
+mrblkz80
+
+
+// techno.c
+xforce
+
+
+// vd.c
+break
+
+
+// whitestar.c
+apollo13
+aust301
+aust300
+aust201
+austin
+austnew
+austinf
+austing
+austini
+godzillp
+gldneye
+goldcue
+harl_a13
+harl_a10
+harl_f13
+harl_g13
+harl_i13
+harl_l13
+harl_a30
+harl_f30
+harl_g30
+harl_i30
+harl_l30
+harl_a18
+harl_f18
+harl_g18
+harl_i18
+harl_l18
+hirolcas
+hirolcas_210
+hironew
+hirolcat
+hirol_fr
+hirol_gr
+hirol_gr_210
+hirol_it
+id4
+lostspc
+monopolp
+monop303
+monop301
+monop251
+monop233
+monopolf
+monopolg
+monopoli
+monopoll
+mononew
+nfl
+playboys
+playboys_401
+playboys_303
+playboys_300
+playboys_203
+playnew
+playboyf
+playboyf_401
+playboyf_303
+playboyf_300
+playboyf_203
+playboyg
+playboyg_401
+playboyg_303
+playboyg_300
+playboyg_203
+playboyi
+playboyi_401
+playboyi_303
+playboyi_300
+playboyi_203
+playboyl
+playboyl_401
+playboyl_303
+playboyl_300
+playboyl_203
+rctycn
+rctycn_701
+rctycn_600
+rctycn_400
+rctnew
+rctycng
+rctycng_701
+rctycng_400
+rctycnf
+rctycnf_701
+rctycnf_600
+rctycnf_400
+rctycni
+rctycni_701
+rctycni_600
+rctycni_400
+rctycnl
+rctycnl_701
+rctycnl_600
+rctycnl_400
+shrkysht
+shrky_207
+shrknew
+shrkygr
+shrkygr_207
+shrkyfr
+shrkyfr_207
+shrkyit
+shrkyit_207
+sprk_103
+sprk_090
+spacejam
+spacejmg
+spacejmf
+spacejmi
+swtril43
+swtril41
+startrp
+strikext
+strknew
+strxt_uk
+strxt_gr
+strxt_fr
+strxt_it
+strxt_sp
+term3
+term3_205
+t3new
+term3g
+term3l
+term3l_205
+term3f
+term3f_205
+term3i
+term3i_205
+jplstw22
+jplstw20
+simpprty
+simpprty_400
+simpprty_204
+simpnew
+simpprtg
+simpprtg_400
+simpprtl
+simpprtl_400
+simpprtl_204
+simpprtf
+simpprtf_400
+simpprtf_204
+simpprti
+simpprti_400
+simpprti_204
+xfilesp
+xfiles2
+twst_405
+twst_404
+twst_300
+viprsega
+ctchzdlx
+titanic
+monopred
+wackadoo
+
+
+// white_mod.c
+elvisp
+elvisp4
+elvisp303
+elvisp302
+elvisl
+elvisl4
+elvisl303
+elvisl302
+elvisg
+elvisg4
+elvisg303
+elvisg302
+elvisf
+elvisf4
+elvisf303
+elvisf302
+elvisi
+elvisi4
+elvisi303
+elvisi302
+gprix
+gprix_400
+gprix_340
+gprix_301
+gprixg
+gprixg_400
+gprixg_340
+gprixg_301
+gprixl
+gprixl_400
+gprixl_340
+gprixl_301
+gprixf
+gprixf_400
+gprixf_340
+gprixf_301
+gprixi
+gprixi_400
+gprixi_340
+gprixi_301
+nascar
+nascar_400
+nascar_350
+nascar_340
+nascar_301
+nascarl
+nascarl_400
+nascarl_340
+nascarl_301
+ripleys
+rip310
+rip302
+rip300
+ripleysf
+ripf310
+ripf302
+ripf300
+ripleysg
+ripg310
+ripg302
+ripg300
+ripleysi
+ripi310
+ripi302
+ripi300
+ripleysl
+ripl310
+ripl302
+ripl300
+lotr
+lotr9
+lotr8
+lotr7
+lotr401
+lotr_le
+lotr_sp
+lotr_sp9
+lotr_sp8
+lotr_sp7
+lotr_sp401
+lotr_gr
+lotr_gr9
+lotr_gr8
+lotr_gr7
+lotr_gr401
+lotr_fr
+lotr_fr9
+lotr_fr8
+lotr_fr7
+lotr_fr401
+lotr_it
+lotr_it9
+lotr_it8
+lotr_it7
+lotr_it401
+sopranos
+sopranos_300
+sopranos_204
+sopranog
+sopranog_300
+sopranog_107
+sopranof
+sopranof_300
+sopranof_107
+sopranol
+sopranol_300
+sopranol_107
+sopranoi
+sopranoi_300
+sopranoi_107
+
+
+// wico.c
+aftor
+
+
+// wpc_95.c
+tf95_12
+afm_113
+afm_113b
+afm_11
+afm_11u
+afm_10
+cc_12
+cc_13
+cv_14
+cv_20h
+cv_10
+cv_11
+cv_13
+congo_21
+congo_20
+jy_12
+jy_11
+jy_03
+mm_10
+mm_10u
+mm_109
+mm_109b
+mm_109c
+mm_05
+mb_10
+mb_106
+mb_106b
+nbaf_31
+nbaf_31a
+nbaf_11s
+nbaf_11
+nbaf_11a
+nbaf_115
+nbaf_21
+nbaf_22
+nbaf_23
+ngg_13
+ngg_p06
+ngg_10
+sc_18
+sc_18n
+sc_18s2
+sc_17
+sc_17n
+sc_14
+ss_15
+ss_14
+ss_12
+ss_03
+totan_14
+totan_13
+totan_12
+totan_04
+cp_16
+cp_15
+ttt_10
+
+
+// wpc_an.c
+tfa_13
+dd_p7
+dd_p06
+fh_l9
+fh_l9b
+fh_905h
+fh_l3
+fh_l4
+fh_l5
+hd_l3
+hd_l1
+bop_l7
+bop_l6
+bop_l5
+bop_l4
+bop_l3
+bop_l2
+
+
+// wpc_dcs.c
+dm_lx4
+dm_pa2
+dm_px5
+dm_la1
+dm_lx3
+dm_h5
+dm_h6
+ij_l7
+ij_lg7
+ij_l6
+ij_l5
+ij_l4
+ij_l3
+jd_l7
+jd_l1
+jd_l6
+pop_lx5
+pop_pa3
+sttng_l7
+sttng_x7
+sttng_p5
+sttng_s7
+sttng_g7
+sttng_l1
+sttng_l2
+afv_l4
+
+
+// wpc_dot.c
+tfdmd_l3
+gi_l9
+gi_l3
+gi_l4
+gi_l6
+hshot_p8
+hurr_l2
+pz_f4
+pz_l1
+pz_l2
+pz_l3
+sf_l1
+t2_l8
+t2_l6
+t2_p2f
+t2_l4
+t2_l3
+t2_l2
+
+
+// wpc_flip1.c
+taf_l5
+taf_p2
+taf_l1
+taf_l2
+taf_l3
+taf_l4
+taf_l7
+taf_l6
+taf_h4
+
+
+// wpc_flip2.c
+br_l4
+br_p17
+br_l1
+br_l3
+drac_l1
+drac_p11
+cftbl_l3
+cftbl_l4
+dw_l2
+dw_l1
+dw_p5
+ft_l5
+ft_l3
+ft_l4
+ft_p4
+tafg_lx3
+tafg_h3
+tafg_la2
+tafg_la3
+gw_l5
+gw_pc
+gw_l1
+gw_l2
+gw_l3
+gw_p7
+tz_92
+tz_94h
+tz_94ch
+tz_pa1
+tz_p3
+tz_p4
+tz_l1
+tz_l2
+tz_ifpa
+tz_l3
+tz_l4
+tz_h7
+tz_h8
+ww_l5
+ww_lh6
+ww_lh5
+ww_l4
+ww_l3
+ww_l2
+ww_p8
+ww_p1
+strik_l4
+lc_11
+
+
+// wpc_s.c
+corv_21
+corv_px4
+corv_lx1
+dh_lx2
+i500_11r
+i500_11b
+jb_10r
+jb_10b
+jm_12r
+jm_12b
+nf_23x
+nf_23
+nf_23f
+nf_22
+nf_20
+rs_l6
+rs_la5
+rs_lx5
+rs_la4
+rs_lx4
+rs_lx3
+rs_lx2
+fs_lx5
+fs_lx2
+fs_sp2
+fs_lx4
+ts_lx5
+ts_lh6
+ts_lx4
+ts_la4
+ts_la2
+ts_pa1
+ts_lf6
+ts_lm6
+tom_13
+tom_14h
+tom_12
+tom_06
+wd_12
+wd_12g
+wd_11
+wd_10r
+wd_10g
+wd_10f
+wd_03r
+wd_048r
+wcs_l2
+wcs_p2
+wcs_p3
+tfs_12
+
+
+// zac_1.c
+ewf
+firemntn
+futurwld
+hotwheel
+hod
+locomotp
+strapids
+sshtlzac
+stargod
+stargoda
+wsports
+
+
+// zac_2.c
+bbeltzac
+clown
+dvlrider
+dvlrideri
+dvlriderg
+farfalla
+farfallai
+farfallag
+mcastle
+mcastlei
+mcastleg
+mcastlef
+mexico
+nstrphnx
+pinchamp
+pinchampg
+pinchampi
+pinchamp7
+pinchamp7g
+pinchamp7i
+poolcham
+poolchami
+poolchama
+robot
+roboti
+robotg
+robotf
+scram_tp
+socrking
+socrkingi
+socrkingg
+spookyp
+spookyi
+strsphnx
+tmachzac
+tmachzacg
+tmachzacf
+zankor
+
+
+// zac_proto.c
+skijump
+spacecty
+strike
diff --git a/src/mame/mame.mak b/src/mame/mame.mak
index 1af71a30831..befdd3d3fe6 100644
--- a/src/mame/mame.mak
+++ b/src/mame/mame.mak
@@ -235,11 +235,6 @@ SOUNDS += MAS3507D
# the list of drivers
#-------------------------------------------------
-ifeq ($(TARGET),mame)
-DRVLIBS += \
- $(MAMEOBJ)/mamedriv.o
-endif
-
DRVLIBS += \
$(MAMEOBJ)/alba.a \
$(MAMEOBJ)/alliedl.a \
diff --git a/src/mame/mamedriv.c b/src/mame/mamedriv.c
deleted file mode 100644
index 17610a1ed76..00000000000
--- a/src/mame/mamedriv.c
+++ /dev/null
@@ -1,12225 +0,0 @@
-/******************************************************************************
-
- mamedriv.c
-
- Copyright Nicola Salmoria and the MAME Team.
- Visit http://mamedev.org for licensing and usage restrictions.
-
- The list of all available drivers. Drivers have to be included here to be
- recognized by the executable.
-
- To save some typing, we use a hack here. This file is recursively #included
- twice, with different definitions of the DRIVER() macro. The first one
- declares external references to the drivers; the second one builds an array
- storing all the drivers.
-
-******************************************************************************/
-
-#include "emu.h"
-
-#ifndef DRIVER_RECURSIVE
-#include "pinball.lh"
-
-#define DRIVER_RECURSIVE
-
-/* step 1: declare all external references */
-#define DRIVER(NAME) GAME_EXTERN(NAME);
-#include "mamedriv.c"
-
-/* step 2: define the drivers[] array */
-#undef DRIVER
-#define DRIVER(NAME) &GAME_NAME(NAME),
-const game_driver * const drivers[] =
-{
-#include "mamedriv.c"
- 0 /* end of array */
-};
-
-#else /* DRIVER_RECURSIVE */
-
- /* "Pacman hardware" games */
- DRIVER( puckman ) /* (c) 1980 Namco */
- DRIVER( puckmana ) /* (c) 1980 Namco */
- DRIVER( puckmanf ) /* hack */
- DRIVER( puckmanh ) /* hack */
- DRIVER( pacman ) /* (c) 1980 Midway */
- DRIVER( pacmanf ) /* hack */
- DRIVER( puckmod ) /* (c) 1981 Namco */
- DRIVER( pacmod ) /* (c) 1981 Midway */
- DRIVER( newpuc2 ) /* hack */
- DRIVER( newpuc2b ) /* hack */
- DRIVER( newpuckx ) /* hack */
- DRIVER( pacheart ) /* hack */
- DRIVER( bucaner ) /* hack */
- DRIVER( hangly ) /* hack */
- DRIVER( hangly2 ) /* hack */
- DRIVER( hangly3 ) /* hack */
- DRIVER( popeyeman ) /* hack */
- DRIVER( piranhah ) /* hack */
- DRIVER( abscam ) /* hack */
- DRIVER( crush ) /* (c) 1981 Kural Samno Electric Ltd */
- DRIVER( crushbl ) /* bootleg */
- DRIVER( crushbl2 ) /* bootleg 2*/
- DRIVER( crush2 ) /* (c) 1981 Kural Esco Electric Ltd - bootleg? */
- DRIVER( crush3 ) /* Kural Electric Ltd - bootleg? */
- DRIVER( crush4 ) /* Kural TWT */
- DRIVER( maketrax ) /* (c) 1981 Williams, high score table says KRL (fur Kural) */
- DRIVER( maketrxb ) /* (c) 1981 [Kural] (Williams license) */
- DRIVER( korosuke ) /* (c) 1981 Kural Electric */
- DRIVER( mbrush ) /* 1981 bootleg */
- DRIVER( paintrlr ) /* 1981 bootleg */
- DRIVER( crushs ) /* 1981 bootleg */
- DRIVER( pacplus ) /* (c) 1982 Namco (Midway license) */
- DRIVER( joyman ) /* hack */
- DRIVER( ctrpllrp ) /* hack */
- DRIVER( eyes ) /* (c) 1982 Digitrex Techstar + "Rockola presents" */
- DRIVER( eyes2 ) /* (c) 1982 Techstar + "Rockola presents" */
- DRIVER( eyeszac ) /* (c) 1982 Zaccaria / bootleg */
- DRIVER( mrtnt ) /* (c) 1983 Telko */
- DRIVER( gorkans ) /* (c) 1984 Techstar */
- DRIVER( eggor ) /* (c) 1983 Telko */
- DRIVER( jumpshot ) /* (c) 1985 Bally Midway */
- DRIVER( jumpshotp ) /* (c) 1985 Bally Midway */
- DRIVER( shootbul ) /* (c) 1985 Bally Midway */
- DRIVER( piranha ) /* GL */
- DRIVER( piranhao ) /* GL */
- DRIVER( nmouse ) /* (c) 1981 Amenip (Palcom Queen River) */
- DRIVER( nmouseb ) /* (c) 1981 Amenip Nova Games Ltd. */
- DRIVER( mspacman ) /* (c) 1981 Midway */ /* made by General Computer */
- DRIVER( mspacmnf ) /* hack */
- DRIVER( mspacmat ) /* hack */
- DRIVER( woodpeck ) /* (c) 1981 Amenip (Palcom Queen River) */
- DRIVER( woodpeca ) /* (c) 1981 Amenip Nova Games Ltd. */
- DRIVER( mspacmab ) /* bootleg */
- DRIVER( mspacmbe ) /* bootleg */
- DRIVER( pacgal ) /* hack */
- DRIVER( mspacpls ) /* hack */
- DRIVER( ponpoko ) /* (c) 1982 Sigma Ent. Inc. */
- DRIVER( ponpokov ) /* (c) 1982 Sigma Ent. Inc. + Venture Line license */
- DRIVER( lizwiz ) /* (c) 1985 Techstar + "Sunn presents" */
- DRIVER( alibaba ) /* (c) 1982 Sega */
- DRIVER( dremshpr ) /* (c) 1982 Sanritsu */
- DRIVER( vanvan ) /* (c) 1983 Sanritsu */
- DRIVER( vanvank ) /* (c) 1983 Karateco (bootleg?) */
- DRIVER( vanvanb ) /* (c) 1983 Karateco (bootleg?) */
- DRIVER( bwcasino ) /* (c) 1983 Epos Coropration */
- DRIVER( acitya ) /* (c) 1983 Epos Corporation */
- DRIVER( theglobp ) /* (c) 1983 Epos Corporation */
- DRIVER( sprglobp ) /* (c) 1983 Epos Corporation */
- DRIVER( sprglbpg ) /* German bootleg */
- DRIVER( beastf ) /* (c) 1984 Epos Corporation */
- DRIVER( rocktrv2 ) /* (c) 1986 Triumph Software Inc */
- DRIVER( bigbucks ) /* (c) 1986 Dynasoft Inc. */
- DRIVER( mschamp ) /* hack by RAYGLO MFG "Zola-Puc" (c) 1992/1993 */
- DRIVER( mschamps ) /* hack (hack of the Rayglo hack?) */
- DRIVER( cannonbp ) /* hack */
-
- /* S2650 Pacman Kits */
- DRIVER( drivfrcp ) /* (c) 1984 Shinkai Inc. (Magic Eletronics Inc. license) */
- DRIVER( 8bpm ) /* (c) 1985 Seatongrove Ltd (Magic Eletronics USA license) */
- DRIVER( porky ) /* (c) 1985 Shinkai Inc. (Magic Eletronics Inc. license) */
-
- DRIVER( pengo ) /* 834-0386 (c) 1982 Sega */
- DRIVER( pengo2 ) /* 834-0386 (c) 1982 Sega */
- DRIVER( pengo2u ) /* 834-0386 (c) 1982 Sega */
- DRIVER( pengo3u ) /* 834-0386 (c) 1982 Sega */
- DRIVER( pengo4 ) /* 834-0386 (c) 1982 Sega */
- DRIVER( pengob ) /* bootleg */
- DRIVER( penta ) /* bootleg */
- DRIVER( jrpacmbl ) /* bootleg on Pengo HW */
-
- DRIVER( jrpacman ) /* (c) 1983 Midway */
-
- /* Epos games */
- DRIVER( megadon ) /* (c) 1982 */
- DRIVER( catapult ) /* (c) 1982 */
- DRIVER( suprglob ) /* (c) 1983 */
- DRIVER( theglob ) /* (c) 1983 */
- DRIVER( theglob2 ) /* (c) 1983 */
- DRIVER( theglob3 ) /* (c) 1983 */
- DRIVER( igmo ) /* (c) 1984 */
- DRIVER( dealer ) /* (c) 198? */
- DRIVER( revenger ) /* (c) 1984 */
-
- /* "Galaxian hardware" games */
- DRIVER( galaxian ) /* (c) Namco */
- DRIVER( galaxiana ) /* (c) Namco */
- DRIVER( galaxianm ) /* (c) Midway */
- DRIVER( galaxianmo )/* (c) Midway */
- DRIVER( galaxiant ) /* (c) Taito */
- DRIVER( superg ) /* hack */
- DRIVER( galapx ) /* hack */
- DRIVER( moonaln ) /* [Nichibutsu] (Karateco license) or hack */
- DRIVER( galap1 ) /* hack */
- DRIVER( galap4 ) /* hack */
- DRIVER( galturbo ) /* hack */
- DRIVER( swarm ) /* hack */
- DRIVER( zerotime ) /* hack */
- DRIVER( starfght ) /* hack */
- DRIVER( galaxbsf ) /* hack */
- DRIVER( kamakazi3 ) /* Video Games (UK) Ltd., hack or bootleg? */
- DRIVER( tst_galx ) /* Galaxian Test ROM */
- DRIVER( gmgalax ) /* bootleg */
- DRIVER( pisces ) /* Subelectro */
- DRIVER( piscesb ) /* bootleg */
- DRIVER( omni ) /* bootleg */
- DRIVER( uniwars ) /* (c) Irem */
- DRIVER( gteikoku ) /* (c) Irem */
- DRIVER( gteikokb ) /* bootleg */
- DRIVER( gteikob2 ) /* bootleg */
- DRIVER( spacbatt ) /* bootleg */
- DRIVER( spacbat2 ) /* bootleg */
- DRIVER( spacempr ) /* bootleg */
- DRIVER( skyraidr ) /* bootleg */
- DRIVER( batman2 ) /* bootleg */
- DRIVER( warofbug ) /* (c) 1981 Armenia */
- DRIVER( warofbugg ) /* German Version */
- DRIVER( redufo ) /* (c) Artic */
- DRIVER( redufob ) /* bootleg */
- DRIVER( exodus ) /* Subelectro - bootleg? */
- DRIVER( streakng ) /* [1980] Shoei */
- DRIVER( streaknga ) /* [1980] Shoei */
- DRIVER( pacmanbl ) /* bootleg */
- DRIVER( pacmanbla ) /* bootleg */
- DRIVER( phoenxp2 ) /* bootleg */
- DRIVER( atlantisb ) /* bootleg */
- DRIVER( tenspot ) /* (c) 1982 Thomas Automatics */
- DRIVER( devilfsg ) /* (c) 1984 Vision / Artic (bootleg?) */
- DRIVER( zigzag ) /* (c) 1982 LAX */
- DRIVER( zigzag2 ) /* (c) 1982 LAX */
- DRIVER( jumpbug ) /* (c) 1981 Rock-ola */
- DRIVER( jumpbugb ) /* (c) 1981 Sega */
- DRIVER( levers ) /* (c) 1983 Rock-ola */
- DRIVER( azurian ) /* (c) 1982 Rait Electronics Ltd */
- DRIVER( orbitron ) /* (c) 1982 Signatron USA (Arcade Tv Game List - P.160, Left, 22 from top) */
- DRIVER( mooncrgx ) /* bootleg */
- DRIVER( mooncrst ) /* (c) 1980 Nichibutsu */
- DRIVER( mooncrstu ) /* (c) 1980 Nichibutsu USA */
- DRIVER( mooncrsto ) /* (c) 1980 Nichibutsu */
- DRIVER( mooncrstg ) /* (c) 1980 Gremlin */
- DRIVER( mooncrstuk )/* (c) 1980 Nichibutsu UK */
- DRIVER( smooncrs ) /* Gremlin */
- DRIVER( sstarcrs ) /* Taito (Brazil) */
- DRIVER( mooncmw ) /* bootleg */
- DRIVER( mooncrsb ) /* bootleg */
- DRIVER( mooncrs2 ) /* bootleg */
- DRIVER( spcdrag ) /* bootleg */
- DRIVER( stera ) /* bootleg */
- DRIVER( spcdraga ) /* bootleg */
- DRIVER( mooncrs3 ) /* bootleg */
- DRIVER( fantazia ) /* bootleg */
- DRIVER( moonqsr ) /* (c) 1980 Nichibutsu */
- DRIVER( mshuttle ) /* (c) 1981 Nichibutsu */
- DRIVER( mshuttle2 ) /* (c) 1981 Nichibutsu */
- DRIVER( mshuttlej ) /* (c) 1981 Nichibutsu */
- DRIVER( mshuttlej2 )/* (c) 1981 Nichibutsu */
- DRIVER( moonal2 ) /* [1980] Nichibutsu */
- DRIVER( moonal2b ) /* [1980] Nichibutsu */
- DRIVER( supergx ) /* [1980] Nichibutsu */
- DRIVER( eagle ) /* [1980] Centuri */
- DRIVER( eagle2 ) /* [1980] Centuri */
- DRIVER( eagle3 ) /* [1980] Centuri */
- DRIVER( spctbird ) /* (c) Fortrek */
- DRIVER( skybase ) /* (c) 1982 Omori Electric Co., Ltd. */
- DRIVER( checkman ) /* (c) 1982 Zilec-Zenitone */
- DRIVER( checkmanj ) /* (c) 1982 Jaleco (Zenitone/Zilec in ROM CM4, and the programmer names) */
- DRIVER( dingo ) /* (c) 1983 Ashby Computers and Graphics LTD. + Jaleco license */
- DRIVER( dingoe ) /* (c) 1983 Ashby Computers and Graphics LTD. + Jaleco license */
- DRIVER( blkhole ) /* TDS (Tokyo Denshi Sekkei) */
- DRIVER( kingball ) /* (c) 1980 Namco */
- DRIVER( kingballj ) /* (c) 1980 Namco */
- DRIVER( scorpionmc )/* bootleg */
- DRIVER( frogg ) /* bootleg */
- DRIVER( 4in1 ) /* (c) 1981 Armenia / Food and Fun */
- DRIVER( bagmanmc ) /* bootleg */
- DRIVER( dkongjrm ) /* bootleg */
- DRIVER( ozon1 ) /* (c) 1983 Proma */
- DRIVER( ladybugg ) /* bootleg */
- DRIVER( vpool ) /* bootleg */
- DRIVER( drivfrcg ) /* [1984] Shinkai (Magic Electronics USA license) */
- DRIVER( drivfrcb ) /* bootleg */
- DRIVER( bongo ) /* (c) 1983 Jetsoft */
- DRIVER( hunchbkg ) /* (c) 1983 Century */
- DRIVER( harem ) /* [1983] I.G.R. */
- DRIVER( tazzmang ) /* bootleg */
- DRIVER( racknrol ) /* (c) 1986 Status (Shinkia license) (Senko Kit) */
- DRIVER( hexpool ) /* (c) 1986 Shinkia (Senko Kit) */
- DRIVER( hexpoola ) /* (c) 1986 Shinkia (Senko Kit) */
- DRIVER( trvchlng ) /* [1985] Joyland (Senko license) */
- DRIVER( luctoday ) /* 1980 Sigma */
- DRIVER( chewing ) /* ?? unknown */
- DRIVER( catacomb ) /* 1982 MTM Games */
- DRIVER( ckongg ) /* 1981 bootleg */
- DRIVER( ckongmc ) /* 1981 bootleg */
- DRIVER( porter ) /* 1982 bootleg (Arcade TV Game List - P.98, Left, 15 from bottom) */
- DRIVER( vstars ) /* 19?? Competitive Video? */
- DRIVER( tdpgal ) /* 1983 Design Labs / Thomas Automatics */
-
- /* Has some similarities with Moon Cresta but Board is very different */
- DRIVER( rockclim ) /* (c)1981 Taito */
-
- /* "Scramble hardware" (and variations) games */
- DRIVER( scramble ) /* GX387 (c) 1981 Konami */
- DRIVER( scrambles ) /* GX387 (c) 1981 Stern */
- DRIVER( scramblebf )/* bootleg */
- DRIVER( scramblebb )/* bootleg? */
- DRIVER( scramblb ) /* bootleg */
- DRIVER( scramb2 ) /* bootleg */
- DRIVER( explorer ) /* bootleg */
- DRIVER( strfbomb ) /* bootleg */
- DRIVER( atlantis ) /* (c) 1981 Comsoft */
- DRIVER( atlantis2 ) /* (c) 1981 Comsoft */
- DRIVER( theend ) /* (c) 1980 Konami */
- DRIVER( theends ) /* (c) 1980 Stern */
- DRIVER( omega ) /* bootleg */
- DRIVER( ckongs ) /* bootleg */
- DRIVER( froggers ) /* bootleg */
- DRIVER( frogf ) /* bootleg */
- DRIVER( amidars ) /* GX337 (c) 1982 Konami */
- DRIVER( triplep ) /* (c) 1982 KKI */ /* made by Sanritsu? */
- DRIVER( knockout ) /* (c) 1982 KKK */
- DRIVER( mariner ) /* (c) 1981 Amenip */
- DRIVER( 800fath ) /* (c) 1981 Amenip + U.S. Billiards license */
- DRIVER( mars ) /* (c) 1981 Artic */
- DRIVER( devilfsh ) /* (c) 1982 Artic */
- DRIVER( newsin7 ) /* (c) 1983 ATW USA, Inc. */
- DRIVER( mrkougar ) /* (c) 1984 ATW */
- DRIVER( mrkougar2 ) /* (c) 1984 ATW */
- DRIVER( mrkougb ) /* bootleg */
- DRIVER( mrkougb2 ) /* bootleg */
- DRIVER( hotshock ) /* (c) 1982 E.G. Felaco (Domino license) */
- DRIVER( hotshockb ) /* bootleg */
- DRIVER( conquer ) /* (c) 1982 ???? */
- DRIVER( hunchbks ) /* (c) 1983 Century */
- DRIVER( hncholms ) /* (c) 1984 Century */
- DRIVER( cavelon ) /* (c) 1983 Jetsoft */
- DRIVER( sfx ) /* (c) 1983 Nichibutsu */
- DRIVER( skelagon ) /* (c) 1983 Nichibutsu USA */
- DRIVER( monsterz ) /* (c) 1982 Nihon (Arcade TV Game List - P.102, Left, 20 from top) */
- DRIVER( mimonscr ) /* (c) 1982 Universal Video Games (US Copyright Office info - http://cocatalog.loc.gov)*/
- DRIVER( mimonkey ) /* (c) 1982 bootleg */
- DRIVER( mimonsco ) /* (c) 1982 bootleg */
- DRIVER( scobra ) /* GX316 (c) 1981 Konami */
- DRIVER( scobras ) /* GX316 (c) 1981 Stern */
- DRIVER( scobrase ) /* GX316 (c) 1981 Stern */
- DRIVER( scobrab ) /* GX316 (c) 1981 Karateco (bootleg?) */
- DRIVER( suprheli ) /* bootleg */
- DRIVER( stratgyx ) /* GX306 (c) 1981 Konami */
- DRIVER( stratgys ) /* GX306 (c) 1981 Stern */
- DRIVER( strongx ) /* bootleg */
- DRIVER( armorcar ) /* (c) 1981 Stern */
- DRIVER( armorcar2 ) /* (c) 1981 Stern */
- DRIVER( moonwar ) /* (c) 1981 Stern */
- DRIVER( moonwara ) /* (c) 1981 Stern */
- DRIVER( spdcoin ) /* (c) 1984 Stern */
- DRIVER( darkplnt ) /* (c) 1982 Stern */
- DRIVER( tazmania ) /* (c) 1982 Stern */
- DRIVER( tazmani2 ) /* (c) 1982 Stern */
- DRIVER( calipso ) /* (c) 1982 Tago */
- DRIVER( anteater ) /* (c) 1982 Tago */
- DRIVER( anteaterg ) /* (c) 1983 TV-Tuning (F.E.G. license) */
- DRIVER( anteateruk )/* (c) 1983 Free Enterprise Games */
- DRIVER( rescue ) /* (c) 1982 Stern */
- DRIVER( aponow ) /* bootleg */
- DRIVER( minefld ) /* (c) 1983 Stern */
- DRIVER( losttomb ) /* (c) 1982 Stern */
- DRIVER( losttombh ) /* (c) 1982 Stern */
- DRIVER( superbon ) /* bootleg */
- DRIVER( hustler ) /* GX343 (c) 1981 Konami */
- DRIVER( hustlerd ) /* GX343 (c) 1981 Konami + Dynamo Games license */
- DRIVER( billiard ) /* bootleg */
- DRIVER( hustlerb ) /* bootleg */
- DRIVER( hustlerb2 ) /* bootleg */
- DRIVER( frogger ) /* GX392 (c) 1981 Konami */
- DRIVER( froggers1 ) /* (c) 1981 Sega */
- DRIVER( froggers2 ) /* 834-0068 (c) 1981 Sega */
- DRIVER( froggermc ) /* 800-3110 (c) 1981 Sega */
- DRIVER( amidar ) /* GX337 (c) 1981 Konami */
- DRIVER( amidaru ) /* GX337 (c) 1982 Konami + Stern license */
- DRIVER( amidaro ) /* GX337 (c) 1982 Konami + Olympia license */
- DRIVER( amidarb ) /* bootleg */
- DRIVER( amigo ) /* bootleg */
- DRIVER( turtles ) /* (c) 1981 Stern */
- DRIVER( turpin ) /* (c) 1981 Sega */
- DRIVER( 600 ) /* GX353 (c) 1981 Konami */
- DRIVER( flyboy ) /* (c) 1982 Kaneko */
- DRIVER( flyboyb ) /* bootleg */
- DRIVER( fastfred ) /* 136009 (c) 1982 Atari */
- DRIVER( jumpcoas ) /* (c) 1983 Kaneko */
- DRIVER( jumpcoast ) /* (c) 1983 Taito */
- DRIVER( boggy84 ) /* (c) 1984 Kaneko */
- DRIVER( boggy84b ) /* bootleg */
- DRIVER( redrobin ) /* (c) 1986 Elettronolo */
- DRIVER( imago ) /* (c) 1984 Acom */
- DRIVER( imagoa ) /* (c) 1983 Acom */
- DRIVER( scorpion ) /* (c) 1982 Zaccaria */
- DRIVER( scorpiona ) /* (c) 1982 Zaccaria */
- DRIVER( scorpionb ) /* (c) 1982 Zaccaria */
- DRIVER( aracnis ) /* bootleg */
- DRIVER( ad2083 ) /* (c) 1983 Midcoin */
- DRIVER( turpins ) /* (c) 1981 bootleg */
-
- /* "Crazy Climber hardware" games */
- DRIVER( cclimber ) /* (c) 1980 Nichibutsu */
- DRIVER( cclimberj ) /* (c) 1980 Nichibutsu */
- DRIVER( ccboot ) /* bootleg */
- DRIVER( ccboot2 ) /* bootleg */
-
- DRIVER( ckong ) /* (c) 1981 (Falcon?) */
- DRIVER( ckongo ) /* bootleg (Orca) */
- DRIVER( ckongalc ) /* bootleg (Alca) */
- DRIVER( bigkong ) /* bootleg */
- DRIVER( monkeyd ) /* bootleg */
-
- DRIVER( ckongpt2 ) /* (c) 1981 Falcon */
- DRIVER( ckongpt2a ) /* (c) 1981 Falcon */
- DRIVER( ckongpt2j ) /* (c) 1981 Falcon */
- DRIVER( ckongpt2jeu ) /* bootleg (Jeutel) */
- DRIVER( ckongpt2b ) /* bootleg */
-
- DRIVER( rpatrol ) /* Orca, from a suspicious set */
- DRIVER( rpatrolb ) /* bootleg */
- DRIVER( silvland ) /* Falcon */
- DRIVER( yamato ) /* (c) 1983 Sega */
- DRIVER( yamato2 ) /* (c) 1983 Sega */
- DRIVER( toprollr ) /* (c) 1983 Jaleco */
- DRIVER( swimmer ) /* (c) 1982 Tehkan */
- DRIVER( swimmera ) /* (c) 1982 Tehkan */
- DRIVER( swimmerb ) /* (c) 1982 Tehkan */
- DRIVER( guzzler ) /* (c) 1983 Tehkan */
- DRIVER( cannonb ) /* (c) 1985 Soft */
- DRIVER( cannonb2 ) /* (c) 1985 TV Game Gruenberg */
- DRIVER( cannonb3 ) /* (c) 1985 Soft */
- DRIVER( bagmanf ) /* bootleg on Falcon FCK-00 (Falcon Crazy Kong) PCB */
-
- /* Nichibutsu games */
- DRIVER( gomoku ) /* (c) 1981 */
- DRIVER( wiping ) /* (c) 1982 */
- DRIVER( rugrats ) /* (c) 1983 */
- DRIVER( dacholer ) /* (c) 1983 */
- DRIVER( kickboy ) /* (c) 1983 */
- DRIVER( friskyt ) /* (c) 1981 */
- DRIVER( friskyta ) /* (c) 1981 */
- DRIVER( radrad ) /* (c) 1982 Nichibutsu USA */
- DRIVER( seicross ) /* (c) 1984 + Alice */
- DRIVER( sectrzon ) /* (c) 1984 + Alice */
- DRIVER( firebatl ) /* (c) 1984 Taito */
- DRIVER( clshroad ) /* (c) 1986 Wood Place Inc. */
- DRIVER( clshroads ) /* (c) 1986 Wood Place Inc. (Status Games license) */
- DRIVER( clshroadd ) /* (c) 1986 Wood Place Inc. (Data East license) */
- DRIVER( tubep ) /* (c) 1984 + Fujitek */
- DRIVER( tubepb ) /* (c) 1984 + bootleg */
- DRIVER( rjammer ) /* (c) 1984 + Alice */
- DRIVER( magmax ) /* (c) 1985 */
- DRIVER( cop01 ) /* (c) 1985 */
- DRIVER( cop01a ) /* (c) 1985 */
- DRIVER( mightguy ) /* (c) 1986 */
- DRIVER( terracre ) /* (c) 1985 */
- DRIVER( terracreo ) /* (c) 1985 */
- DRIVER( terracrea ) /* (c) 1985 */
- DRIVER( terracren ) /* (c) 1985 */
- DRIVER( amazon ) /* (c) 1986 */
- DRIVER( amatelas ) /* (c) 1986 */
- DRIVER( horekid ) /* (c) 1987 */
- DRIVER( horekidb ) /* bootleg */
- DRIVER( boobhack ) /* bootleg */
- DRIVER( galivan ) /* (c) 1985 */
- DRIVER( galivan2 ) /* (c) 1985 */
- DRIVER( dangar ) /* (c) 1986 */
- DRIVER( dangar2 ) /* (c) 1986 */
- DRIVER( dangarb ) /* bootleg */
- DRIVER( ninjemak ) /* (c) 1986 (US?) */
- DRIVER( youma ) /* (c) 1986 (Japan) */
- DRIVER( youma2 ) /* (c) 1986 (Japan) */
- DRIVER( youmab ) /* bootleg */
- DRIVER( youmab2 ) /* bootleg */
- DRIVER( legion ) /* (c) 1986 */
- DRIVER( legiono ) /* (c) 1986 */
- DRIVER( terraf ) /* (c) 1987 */
- DRIVER( terrafb ) /* (c) 1987 */
- DRIVER( terrafa ) /* (c) 1987 */
- DRIVER( terrafu ) /* (c) 1987 Nichibutsu USA */
- DRIVER( kodure ) /* (c) 1987 (Japan) */
- DRIVER( armedf ) /* (c) 1988 */
- DRIVER( armedff ) /* (c) 1988 Fillmore license */
- DRIVER( cclimbr2 ) /* (c) 1988 (Japan) */
- DRIVER( cclimbr2a ) /* (c) 1988 (Japan) */
- DRIVER( skyrobo ) /* (c) 1989 */
- DRIVER( bigfghtr ) /* (c) 1989 */
-
- /* Nichibutsu Mahjong games */
- DRIVER( hyhoo ) /* (c) 1987 */
- DRIVER( hyhoo2 ) /* (c) 1987 */
-
- DRIVER( jangou ) /* (c) 1983 */
- DRIVER( macha ) /* (c) 1983 Logitec */
- /* Jangou Night *//* (c) 1983 */
- DRIVER( jngolady ) /* (c) 1984 */
- DRIVER( cntrygrl ) /* (c) 1984 Royal Denshi */
- DRIVER( cntrygrla ) /* (c) 1984 */
- DRIVER( roylcrdn ) /* (c) 1985 */
- DRIVER( fruitbun ) /* (c) 1984 */
- DRIVER( luckygrl ) /* (c) 1984 Wing? */
- DRIVER( nightgal ) /* (c) 1984 */
- DRIVER( ngtbunny ) /* (c) 1984 */
- DRIVER( royalngt ) /* (c) 1984 Royal Denshi */
- DRIVER( royalqn )
- DRIVER( sexygal ) /* (c) 1985 */
- DRIVER( sweetgal ) /* (c) 1985 */
- DRIVER( ngalsumr ) /* (c) 1985 */
-
- DRIVER( pastelg ) /* (c) 1985 */
- DRIVER( 3ds ) /* (c) 1985 */
- DRIVER( galds ) /* (c) 1985 */
-
- DRIVER( crystalg ) /* (c) 1986 */
- DRIVER( crystal2 ) /* (c) 1986 */
- DRIVER( nightlov ) /* (c) 1986 */
- DRIVER( citylove ) /* (c) 1986 */
- DRIVER( mcitylov ) /* (c) 1986 */
- DRIVER( apparel ) /* (c) 1986 Central Denshi */
- DRIVER( secolove ) /* (c) 1986 */
- DRIVER( barline ) /* (c) 1986?*/
- DRIVER( housemnq ) /* (c) 1987 */
- DRIVER( housemn2 ) /* (c) 1987 */
- DRIVER( livegal ) /* (c) 1987 */
- DRIVER( seiha ) /* (c) 1987 */
- DRIVER( seiham ) /* (c) 1987 */
- DRIVER( mjgaiden ) /* (c) 1987 Central Denshi */
- DRIVER( bijokkoy ) /* (c) 1987 */
- DRIVER( iemoto ) /* (c) 1987 */
- DRIVER( iemotom ) /* (c) 1987 */
- DRIVER( ryuuha ) /* (c) 1987 */
- DRIVER( ojousan ) /* (c) 1987 */
- DRIVER( ojousanm ) /* (c) 1987 */
- DRIVER( bijokkog ) /* (c) 1988 */
- DRIVER( orangec ) /* (c) 1988 Daiichi Denshi */
- DRIVER( orangeci ) /* (c) 1988 Daiichi Denshi */
- DRIVER( vipclub ) /* (c) 1988 Daiichi Denshi */
- DRIVER( korinai ) /* (c) 1988 */
- DRIVER( korinaim ) /* (c) 1988 */
- DRIVER( kaguya ) /* (c) 1988 MIKI SYOUJI */
- DRIVER( kaguya2 ) /* (c) 1989 MIKI SYOUJI */
- DRIVER( kaguya2f ) /* (c) 1989 MIKI SYOUJI */
- DRIVER( otonano ) /* (c) 1988 Apple */
- DRIVER( kanatuen ) /* (c) 1988 Panac */
- DRIVER( kyuhito ) /* (c) 1988 ROLLER TRON */
- DRIVER( mjsikaku ) /* (c) 1988 */
- DRIVER( mjsikakb ) /* (c) 1988 */
- DRIVER( mjsikakc ) /* (c) 1988 */
- DRIVER( mjsikakd ) /* (c) 1988 */
- DRIVER( mmsikaku ) /* (c) 1988 */
- DRIVER( mjcamera ) /* (c) 1988 MIKI SYOUJI */
- DRIVER( mmcamera ) /* (c) 1988 MIKI SYOUJI */
-
- DRIVER( msjiken ) /* (c) 1988 */
- DRIVER( hanamomo ) /* (c) 1988 */
- DRIVER( hanamomb ) /* (c) 1988 */
- DRIVER( telmahjn ) /* (c) 1988 */
- DRIVER( taiwanmb ) /* (c) 1988 */
- DRIVER( gionbana ) /* (c) 1989 */
- DRIVER( idhimitu ) /* (c) 1989 Digital Soft */
- DRIVER( mgion ) /* (c) 1989 */
- DRIVER( mjcamerb ) /* (c) 1989 MIKI SYOUJI */
- DRIVER( omotesnd ) /* (c) 1989 */
- DRIVER( abunai ) /* (c) 1989 */
- DRIVER( mjfocus ) /* (c) 1989 */
- DRIVER( mjfocusm ) /* (c) 1989 */
- DRIVER( peepshow ) /* (c) 1989 AC */
- DRIVER( scandal ) /* (c) 1989 */
- DRIVER( scandalm ) /* (c) 1989 */
- DRIVER( mgmen89 ) /* (c) 1989 */
- DRIVER( mjnanpas ) /* (c) 1989 BROOKS */
- DRIVER( mjnanpaa ) /* (c) 1989 BROOKS */
- DRIVER( mjnanpau ) /* (c) 1989 BROOKS */
- DRIVER( pairsnb ) /* (c) 1989 */
- DRIVER( pairsten ) /* (c) 1989 System Ten */
- DRIVER( bananadr ) /* (c) 1989 DIGITAL SOFT */
- DRIVER( mladyhtr ) /* (c) 1990 */
- DRIVER( chinmoku ) /* (c) 1990 */
- DRIVER( maiko ) /* (c) 1990 */
- DRIVER( mmaiko ) /* (c) 1990 */
- DRIVER( hnageman ) /* (c) 1990 Nichibutsu/AV Japan */
- DRIVER( hnxmasev ) /* (c) 1990 Nichibutsu/AV Japan */
- DRIVER( club90s ) /* (c) 1990 */
- DRIVER( club90sa ) /* (c) 1990 */
- DRIVER( lovehous ) /* (c) 1990 */
- DRIVER( hanaoji ) /* (c) 1991 */
-
- DRIVER( pstadium ) /* (c) 1990 */
- DRIVER( triplew1 ) /* (c) 1989 */
- DRIVER( triplew2 ) /* (c) 1990 */
- DRIVER( ntopstar ) /* (c) 1990 */
- DRIVER( mjlstory ) /* (c) 1991 */
- DRIVER( vanilla ) /* (c) 1991 */
- DRIVER( finalbny ) /* (c) 1991 */
- DRIVER( qmhayaku ) /* (c) 1991 */
- DRIVER( mjgottub ) /* (c) 1991 */
- DRIVER( galkoku ) /* (c) 1989 Nichibutsu/T.R.TEC */
- DRIVER( hyouban ) /* (c) 1989 Nichibutsu/T.R.TEC */
- DRIVER( galkaika ) /* (c) 1989 Nichibutsu/T.R.TEC */
- DRIVER( tokyogal ) /* (c) 1989 */
- DRIVER( tokimbsj ) /* (c) 1989 */
- DRIVER( mcontest ) /* (c) 1989 */
- DRIVER( uchuuai ) /* (c) 1989 */
- DRIVER( av2mj1bb ) /* (c) 1991 MIKI SYOUJI/AV JAPAN */
- DRIVER( av2mj2rg ) /* (c) 1991 MIKI SYOUJI/AV JAPAN */
-
- DRIVER( ohpaipee ) /* (c) 1990 Nichibutsu */
- DRIVER( togenkyo ) /* (c) 1990 Nichibutsu */
-
- DRIVER( mjuraden ) /* (c) 1992 Nichibutsu/Yubis */
- DRIVER( koinomp ) /* (c) 1992 */
- DRIVER( patimono ) /* (c) 1992 */
- DRIVER( janbari ) /* (c) 1992 Nichibutsu/Yubis/AV JAPAN */
- DRIVER( mjanbari ) /* (c) 1992 Nichibutsu/Yubis/AV JAPAN */
- DRIVER( ultramhm ) /* (c) 1993 Apple */
- DRIVER( gal10ren ) /* (c) 1993 FUJIC */
- DRIVER( renaiclb ) /* (c) 1993 FUJIC */
- DRIVER( mjlaman ) /* (c) 1993 Nichibutsu/AV JAPAN */
- DRIVER( mkeibaou ) /* (c) 1993 */
- DRIVER( pachiten ) /* (c) 1993 Nichibutsu/MIKI SYOUJI/AV JAPAN */
- DRIVER( sailorws ) /* (c) 1993 */
- DRIVER( sailorwa ) /* (c) 1993 */
- DRIVER( sailorwr ) /* (c) 1993 */
- DRIVER( wcatcher ) /* (c) 1993 */
- DRIVER( jituroku ) /* (c) 1993 Windom */
- DRIVER( yosimoto ) /* (c) 1994 Nichibutsu/Yoshimoto Kougyou */
- DRIVER( psailor1 ) /* (c) 1994 SPHINX */
- DRIVER( psailor2 ) /* (c) 1994 SPHINX */
- DRIVER( otatidai ) /* (c) 1995 SPHINX */
- DRIVER( ngpgal ) /* (c) 1991 */
- DRIVER( mjgottsu ) /* (c) 1991 */
- DRIVER( bakuhatu ) /* (c) 1991 */
- DRIVER( cmehyou ) /* (c) 1992 Nichibutsu/Kawakusu */
- DRIVER( mmehyou ) /* (c) 1992 Nichibutsu/Kawakusu */
- DRIVER( mjkoiura ) /* (c) 1992 */
- DRIVER( mkoiuraa ) /* (c) 1992 */
- DRIVER( imekura ) /* (c) 1994 SPHINX/AV JAPAN */
- DRIVER( mscoutm ) /* (c) 1994 SPHINX/AV JAPAN */
- DRIVER( mjegolf ) /* (c) 1994 FUJIC/AV JAPAN */
-
- DRIVER( mhhonban ) /* (c) 199? */
- DRIVER( 4psimasy ) /* (c) 1994 */
- DRIVER( musobana ) /* (c) 1995 */
- DRIVER( niyanpai ) /* (c) 1996 */
-
- DRIVER( jyunai ) /* (c) 1998 */
- DRIVER( csplayh5 ) /* (c) 1998 */
- DRIVER( bikiniko ) /* (c) 1999 */
-
- /* "Phoenix hardware" (and variations) games */
- DRIVER( safarir ) /* Shin Nihon Kikaku (SNK) */
- DRIVER( phoenix ) /* (c) 1980 Amstar */
- DRIVER( phoenixa ) /* (c) 1980 Amstar + Centuri license */
- DRIVER( phoenixb ) /* (c) 1980 Amstar + Centuri license */
- DRIVER( phoenixt ) /* (c) 1980 Taito */
- DRIVER( phoenixj ) /* (c) 1980 Taito */
- DRIVER( phoenix3 ) /* bootleg */
- DRIVER( phoenixc ) /* bootleg */
- DRIVER( condor ) /* bootleg */
- DRIVER( fenix ) /* bootleg */
- DRIVER( falcon ) /* bootleg */
- DRIVER( vautour ) /* bootleg (Jeutel) */
- DRIVER( falconz ) /* bootleg */
- DRIVER( vautourz ) /* bootleg */
- DRIVER( griffon ) /* bootleg (Videotron) */
- DRIVER( nextfase ) /* bootleg */
- DRIVER( pleiads ) /* (c) 1981 Tehkan */
- DRIVER( pleiadbl ) /* bootleg */
- DRIVER( pleiadce ) /* (c) 1981 Centuri + Tehkan */
- DRIVER( capitol ) /* bootleg? */
- DRIVER( survival ) /* (c) 1982 Rock-ola */
- DRIVER( naughtyb ) /* (c) 1982 Jaleco */
- DRIVER( naughtyba ) /* bootleg */
- DRIVER( naughtybc ) /* (c) 1982 Jaleco + Cinematronics */
- DRIVER( popflame ) /* (c) 1982 Jaleco */
- DRIVER( popflamea ) /* (c) 1982 Jaleco */
- DRIVER( popflameb ) /* (c) 1982 Jaleco */
- DRIVER( popflamen ) /* (c) 1982 Jaleco */
- DRIVER( trvmstr ) /* (c) 1985 Enerdyne Technologies Inc. */
- DRIVER( trvmstra ) /* (c) 1985 Enerdyne Technologies Inc. */
- DRIVER( trvmstrb ) /* (c) 1985 Enerdyne Technologies Inc. */
- DRIVER( trvmstrc ) /* (c) 1985 Enerdyne Technologies Inc. */
- DRIVER( trvgns ) /* bootleg */
-
-
-
- /* Namco games (plus some intruders on similar hardware) */
- DRIVER( geebee ) /* [1978] Namco */
- DRIVER( geebeeb ) /* [1978] Namco (F.lli Bertolino license) */
- DRIVER( geebeeg ) /* [1978] Gremlin */
- DRIVER( bombbee ) /* [1979] Namco */
- DRIVER( cutieq ) /* (c) 1979 Namco */
- DRIVER( navarone ) /* (c) 1980 Namco */
- DRIVER( kaitein ) /* [1980] Namco */
- DRIVER( kaitei ) /* [1980] K.K. Tokki */
- DRIVER( sos ) /* [1980] Namco */
- DRIVER( tankbatt ) /* (c) 1980 Namco */
- DRIVER( warpwarp ) /* (c) 1981 Namco */
- DRIVER( warpwarpr ) /* (c) 1981 [Namco] (Rock-ola license) */
- DRIVER( warpwarpr2 )/* (c) 1981 [Namco] (Rock-ola license) */
- DRIVER( rallyx ) /* (c) 1980 Namco */
- DRIVER( rallyxa ) /* (c) 1980 Namco */
- DRIVER( rallyxm ) /* (c) 1980 Midway */
- DRIVER( nrallyx ) /* (c) 1981 Namco */
- DRIVER( nrallyxb ) /* (c) 1981 Namco */
- DRIVER( jungler ) /* GX327 (c) 1981 Konami */
- DRIVER( junglers ) /* GX327 (c) 1981 Stern */
- DRIVER( tactcian ) /* GX335 (c) 1982 Sega */
- DRIVER( tactcian2 ) /* GX335 (c) 1981 Sega */
- DRIVER( locomotn ) /* GX359 (c) 1982 Konami + Centuri license */
- DRIVER( gutangtn ) /* GX359 (c) 1982 Konami + Sega license */
- DRIVER( cottong ) /* bootleg */
- DRIVER( locoboot ) /* bootleg */
- DRIVER( commsega ) /* (c) 1983 Sega */
- /* the following ones all have a custom I/O chip */
- DRIVER( bosco ) /* (c) 1981 */
- DRIVER( boscoo ) /* (c) 1981 */
- DRIVER( boscoo2 ) /* (c) 1981 */
- DRIVER( boscomd ) /* (c) 1981 Midway */
- DRIVER( boscomdo ) /* (c) 1981 Midway */
- DRIVER( galaga ) /* (c) 1981 */
- DRIVER( galagao ) /* (c) 1981 */
- DRIVER( galagamw ) /* (c) 1981 Midway */
- DRIVER( galagamk ) /* (c) 1981 Midway */
- DRIVER( galagamf ) /* (c) 1981 Midway / hack */
- DRIVER( gallag ) /* bootleg */
- DRIVER( gatsbee ) /* (c) 1984 Uchida / hack */
- DRIVER( digdug ) /* (c) 1982 */
- DRIVER( digdug1 ) /* (c) 1982 */
- DRIVER( digdugat ) /* 136007 (c) 1982 Atari */
- DRIVER( digdugat1 ) /* 136007 (c) 1982 Atari */
- DRIVER( dzigzag ) /* bootleg */
- DRIVER( digsid ) /* bootleg */
- DRIVER( xevious ) /* (c) 1982 */
- DRIVER( xeviousa ) /* 136018 (c) 1982 + Atari license */
- DRIVER( xeviousb ) /* 136018 (c) 1982 + Atari license */
- DRIVER( xeviousc ) /* 136018 (c) 1982 + Atari license */
- DRIVER( xevios ) /* bootleg */
- DRIVER( battles ) /* bootleg */
- DRIVER( sxevious ) /* (c) 1984 */
- DRIVER( sxeviousj ) /* (c) 1984 */
- DRIVER( superpac ) /* (c) 1982 */
- DRIVER( superpacm ) /* (c) 1982 Midway */
- DRIVER( pacnpal ) /* (c) 1983 */
- DRIVER( pacnpal2 ) /* (c) 1983 */
- DRIVER( pacnchmp ) /* (c) 1983 */
- DRIVER( phozon ) /* (c) 1983 */
- DRIVER( mappy ) /* (c) 1983 */
- DRIVER( mappyj ) /* (c) 1983 */
- DRIVER( digdug2 ) /* (c) 1985 */
- DRIVER( digdug2o ) /* (c) 1985 */
- DRIVER( todruaga ) /* (c) 1984 */
- DRIVER( todruagao ) /* (c) 1984 */
- DRIVER( todruagas ) /* (c) 1984 pcb manufactured by Sidam */
- DRIVER( motos ) /* (c) 1985 */
- DRIVER( grobda ) /* (c) 1984 */
- DRIVER( grobda2 ) /* (c) 1984 */
- DRIVER( grobda3 ) /* (c) 1984 */
- DRIVER( gaplus ) /* (c) 1984 */
- DRIVER( gaplusa ) /* (c) 1984 */
- DRIVER( gapluso ) /* (c) 1984 */
- DRIVER( galaga3 ) /* (c) 1984 */
- DRIVER( galaga3m ) /* (c) 1984 */
- DRIVER( galaga3a ) /* (c) 1984 */
- /* Libble Rabble board (first Japanese game using a 68000) */
- DRIVER( liblrabl ) /* (c) 1983 */
- DRIVER( toypop ) /* (c) 1986 */
- /* Z8000 games */
- DRIVER( polepos ) /* (c) 1982 */
- DRIVER( poleposa ) /* 136014 (c) 1982 + Atari license */
- DRIVER( polepos1 ) /* 136014 (c) 1982 Atari */
- DRIVER( topracer ) /* bootleg */
- DRIVER( topracera ) /* bootleg */
- DRIVER( topracern ) /* bootleg */
- DRIVER( polepos2 ) /* (c) 1983 */
- DRIVER( polepos2a ) /* 136014 (c) 1983 + Atari license */
- DRIVER( polepos2b ) /* bootleg */
- DRIVER( polepos2bi )/* bootleg */
- /* no custom I/O in the following, HD63701 (or compatible) microcontroller instead */
- DRIVER( pacland ) /* (c) 1984 */
- DRIVER( paclandj ) /* (c) 1984 */
- DRIVER( paclandjo ) /* (c) 1984 */
- DRIVER( paclandjo2 )/* (c) 1984 */
- DRIVER( paclandm ) /* (c) 1984 Midway */
- DRIVER( drgnbstr ) /* (c) 1984 */
- DRIVER( skykid ) /* (c) 1985 */
- DRIVER( skykido ) /* (c) 1985 */
- DRIVER( skykidd ) /* (c) 1985 */
- DRIVER( skykids ) /* (c) 1985 */
- DRIVER( aliensec ) /* (c) 1985 */
- DRIVER( baraduke ) /* (c) 1985 */
- DRIVER( metrocrs ) /* (c) 1985 */
- DRIVER( metrocrsa ) /* (c) 1985 */
-
- /* Namco System 86 games */
- DRIVER( hopmappy ) /* (c) 1986 */
- DRIVER( skykiddx ) /* (c) 1986 */
- DRIVER( skykiddxo ) /* (c) 1986 */
- DRIVER( roishtar ) /* (c) 1986 */
- DRIVER( genpeitd ) /* (c) 1986 */
- DRIVER( rthunder ) /* (c) 1986 new version */
- DRIVER( rthundero ) /* (c) 1986 old version */
- DRIVER( wndrmomo ) /* (c) 1987 */
-
- /* Thunder Ceptor HW */
- DRIVER( tceptor ) /* (c) 1986 */
- DRIVER( tceptor2 ) /* (c) 1986 */
-
- DRIVER( kungfur ) /* (c) 1987 */
-
- /* Namco System 1 games */
- DRIVER( shadowld ) /* (c) 1987 */
- DRIVER( youkaidk ) /* (c) 1987 (Japan new version) */
- DRIVER( youkaidko ) /* (c) 1987 (Japan old version) */
- DRIVER( dspirit ) /* (c) 1987 (Japan new version) */
- DRIVER( dspirito ) /* (c) 1987 (Japan old version) */
- DRIVER( dspirita ) /* (c) 1987 (Atari license) */
- DRIVER( blazer ) /* (c) 1987 (Japan) */
- DRIVER( quester ) /* (c) 1987 (Japan) */
- DRIVER( questers ) /* (c) 1987 (Japan) */
- DRIVER( pacmania ) /* (c) 1987 */
- DRIVER( pacmaniaj ) /* (c) 1987 (Japan) */
- DRIVER( galaga88 ) /* (c) 1987 */
- DRIVER( galaga88j ) /* (c) 1987 (Japan) */
- DRIVER( ws ) /* (c) 1988 (Japan) */
- DRIVER( berabohm ) /* (c) 1988 (Japan) */
- DRIVER( berabohmo ) /* (c) 1988 (Japan) */
- /* 1988 Alice in Wonderland (English version of Marchen maze) */
- DRIVER( mmaze ) /* (c) 1988 (Japan) */
- DRIVER( bakutotu ) /* (c) 1988 (Japan) */
- DRIVER( wldcourt ) /* (c) 1988 (Japan) */
- DRIVER( splatter ) /* (c) 1988 (World) */
- DRIVER( splattero ) /* (c) 1988 (World) */
- DRIVER( splatterj ) /* (c) 1988 (Japan) */
- DRIVER( faceoff ) /* (c) 1988 (Japan) */
- DRIVER( rompers ) /* (c) 1989 (Japan) */
- DRIVER( romperso ) /* (c) 1989 (Japan) */
- DRIVER( blastoff ) /* (c) 1989 (Japan) */
- DRIVER( ws89 ) /* (c) 1989 (Japan) */
- DRIVER( dangseed ) /* (c) 1989 (Japan) */
- DRIVER( ws90 ) /* (c) 1990 (Japan) */
- DRIVER( pistoldm ) /* (c) 1990 (Japan) */
- DRIVER( boxyboy ) /* (c) 1990 (US) */
- DRIVER( soukobdx ) /* (c) 1990 (Japan) */
- DRIVER( puzlclub ) /* (c) 1990 (Japan) */
- DRIVER( tankfrce ) /* (c) 1991 (US, 2 Player) */
- DRIVER( tankfrce4 ) /* (c) 1991 (US, 4 Player) */
- DRIVER( tankfrcej ) /* (c) 1991 (Japan) */
-
- /* Namco System 2 games */
- DRIVER( finallap ) /* 87.12 Final Lap */
- DRIVER( finallapd ) /* 87.12 Final Lap */
- DRIVER( finallapc ) /* 87.12 Final Lap */
- DRIVER( finallapjc )/* 87.12 Final Lap */
- DRIVER( finallapjb )/* 87.12 Final Lap */
- DRIVER( assault ) /* (c) 1988 */
- DRIVER( assaultj ) /* (c) 1988 (Japan) */
- DRIVER( assaultp ) /* (c) 1988 (Japan) */
- DRIVER( metlhawk ) /* (c) 1988 */
- DRIVER( metlhawkj ) /* (c) 1988 */
- DRIVER( ordyne ) /* (c) 1988 */
- DRIVER( ordynej ) /* (c) 1988 */
- DRIVER( mirninja ) /* (c) 1988 (Japan) */
- DRIVER( phelios ) /* (c) 1988 (Japan) */
- DRIVER( dirtfoxj ) /* (c) 1989 (Japan) */
- DRIVER( fourtrax ) /* 89.11 */
- DRIVER( valkyrie ) /* (c) 1989 (Japan) */
- DRIVER( finehour ) /* (c) 1989 (Japan) */
- DRIVER( burnforc ) /* (c) 1989 (Japan) */
- DRIVER( burnforco ) /* (c) 1989 (Japan) */
- DRIVER( marvland ) /* (c) 1989 (US) */
- DRIVER( marvlandj ) /* (c) 1989 (Japan) */
- DRIVER( kyukaidk ) /* (c) 1990 (Japan) */
- DRIVER( kyukaidko ) /* (c) 1990 (Japan) */
- DRIVER( dsaber ) /* (c) 1990 */
- DRIVER( dsaberj ) /* (c) 1990 (Japan) */
- DRIVER( finalap2 ) /* 90.8 Final Lap 2 */
- DRIVER( finalap2j ) /* 90.8 Final Lap 2 (Japan) */
- DRIVER( gollygho ) /* 91.7 Golly Ghost */
- DRIVER( rthun2 ) /* (c) 1990 */
- DRIVER( rthun2j ) /* (c) 1990 (Japan) */
- DRIVER( sgunner ) /* (c) 1990 */
- DRIVER( sgunnerj ) /* (c) 1990 */
- DRIVER( sgunner2 ) /* (c) 1991 (US) */
- DRIVER( sgunner2j ) /* (c) 1991 (Japan) */
- DRIVER( cosmogng ) /* (c) 1991 (US) */
- DRIVER( cosmogngj ) /* (c) 1991 (Japan) */
- DRIVER( bubbletr ) /* (c) 1992 */
- DRIVER( finalap3 ) /* 92.9 Final Lap 3 */
- DRIVER( finalap3a ) /* 92.9 Final Lap 3 */
- DRIVER( finalap3j ) /* 92.9 Final Lap 3 */
- DRIVER( finalap3jc )/* (c) 1992 */
- DRIVER( luckywld ) /* (c) 1992 */
- DRIVER( luckywldj ) /* (c) 1992 */
- DRIVER( suzuka8h ) /* (c) 1992 (World) */
- DRIVER( suzuka8hj ) /* (c) 1992 (Japan) */
- DRIVER( sws ) /* (c) 1992 (Japan) */
- DRIVER( sws92 ) /* (c) 1992 (Japan) */
- DRIVER( sws92g ) /* (c) 1992 (Japan) */
- DRIVER( suzuk8h2 ) /* (c) 1993 (World) */
- DRIVER( sws93 ) /* (c) 1993 (Japan) */
-
- /* Namco FL games */
- DRIVER( speedrcr ) /* (c) 1995 */
- DRIVER( finalapr ) /* (c) 1995 */
- DRIVER( finalaprj ) /* (c) 1995 */
- DRIVER( finalapro ) /* (c) 1995 */
-
- /* Namco NA-1 / NA-2 System games */
- DRIVER( bkrtmaq ) /* (c) 1992 (Japan) */
- DRIVER( cgangpzl ) /* (c) 1992 (US) */
- DRIVER( cgangpzlj ) /* (c) 1992 (Japan) */
- DRIVER( exvania ) /* (c) 1992 (Japan) */
- DRIVER( fghtatck ) /* (c) 1992 (US) */
- DRIVER( fa ) /* (c) 1992 (Japan) */
- DRIVER( knckhead ) /* (c) 1992 (World) */
- DRIVER( knckheadj ) /* (c) 1992 (Japan) */
- DRIVER( swcourt ) /* (c) 1992 (Japan) */
- DRIVER( swcourtj ) /* (c) 1992 (Japan) */
- DRIVER( emeralda ) /* (c) 1993 (Japan) */
- DRIVER( emeraldaj ) /* (c) 1993 (Japan) */
- DRIVER( emeraldaja ) /* (c) 1993 (Japan) */
- DRIVER( numanath ) /* (c) 1993 (World) */
- DRIVER( numanathj ) /* (c) 1993 (Japan) */
- DRIVER( quiztou ) /* (c) 1993 (Japan) */
- DRIVER( tinklpit ) /* (c) 1993 (Japan) */
- DRIVER( xday2 ) /* (c) 1995 (Japan) */
-
- /* Namco NB-1 / NB-2 System games */
- DRIVER( nebulray ) /* (c) 1994 (World) */
- DRIVER( nebulrayj ) /* (c) 1994 (Japan) */
- DRIVER( ptblank ) /* (c) 1994 (GN2 World) */
- DRIVER( gunbuletj ) /* (c) 1994 (GN1 Japan) */
- DRIVER( gunbuletw ) /* (c) 1994 (GN3 World) */
- DRIVER( gslugrsj ) /* (c) 1993 (Japan) */
- DRIVER( gslgr94u ) /* (c) 1994 */
- DRIVER( gslgr94j ) /* (c) 1994 (Japan) */
- DRIVER( sws95 ) /* (c) 1995 (Japan) */
- DRIVER( sws96 ) /* (c) 1996 (Japan) */
- DRIVER( sws97 ) /* (c) 1997 (Japan) */
- DRIVER( vshoot ) /* (c) 1994 */
- DRIVER( outfxies ) /* (c) 1994 (World) */
- DRIVER( outfxiesj ) /* (c) 1994 (Japan) */
- DRIVER( machbrkr ) /* (c) 1995 (Japan) */
-
- /* Namco ND-1 games */
- DRIVER( ncv1 ) /* (c) 1995 */
- DRIVER( ncv1j ) /* (c) 1995 (Japan) */
- DRIVER( ncv1j2 ) /* (c) 1995 (Japan) */
- DRIVER( ncv2 ) /* (c) 1996 */
- DRIVER( ncv2j ) /* (c) 1996 (Japan) */
-
- /* Namco System 21 games */
- DRIVER( winrun ) /* (c) 1988 */
- /* 1989, Winning Run Suzuka Grand Prix */
- DRIVER( winrun91 ) /* (c) 1991 */
- DRIVER( solvalou ) /* (c) 1991 (Japan) */
- DRIVER( starblad ) /* (c) 1991 */
- DRIVER( driveyes ) /* (c) 1992? */
- /* 1992, ShimDrive */
- DRIVER( aircomb ) /* (c) 1992 (US) */
- DRIVER( aircombj ) /* (c) 1992 (Japan) */
- DRIVER( cybsled ) /* (c) 1993 */
- DRIVER( cybsledj ) /* (c) 1993 */
-
- /* Galaxian 3 HW */
- DRIVER( gal3 ) /* (c) 1992 (Arcade TV Game List - P.73, Right, 6 from top) */
-
- /* Namco System 22 games */
- DRIVER( ridgerac ) /* (c) 1993 */
- DRIVER( ridgeracb ) /* (c) 1993 */
- DRIVER( ridgeracj ) /* (c) 1993 */
- DRIVER( ridgerac3 ) /* (c) 1993 */
- DRIVER( rrf ) /* (c) 1993 */
- DRIVER( acedrvrw ) /* (c) 1994 */
- DRIVER( alpinerd ) /* (c) 1994 */
- DRIVER( alpinerc ) /* (c) 1994 */
- DRIVER( ridgera2 ) /* (c) 1994 */
- DRIVER( ridgera2j ) /* (c) 1994 */
- DRIVER( ridgera2ja )/* (c) 1994 */
- DRIVER( raveracw ) /* (c) 1995 */
- DRIVER( raveracj ) /* (c) 1995 */
- DRIVER( raveracja ) /* (c) 1995 */
- DRIVER( airco22b ) /* (c) 1995 */
- DRIVER( alpinr2b ) /* (c) 1995 */
- DRIVER( alpinr2a ) /* (c) 1995 */
- DRIVER( cybrcomm ) /* (c) 1995 */
- DRIVER( cybrcycc ) /* (c) 1995 */
- DRIVER( timecris ) /* (c) 1995 */
- DRIVER( timecrisa ) /* (c) 1995 */
- DRIVER( dirtdash ) /* (c) 1995 */
- DRIVER( victlapw ) /* (c) 1996 */
- DRIVER( alpinesa ) /* (c) 1996 */
- DRIVER( propcycl ) /* (c) 1996 */
- DRIVER( tokyowar ) /* (c) 1996 */
- DRIVER( aquajet ) /* (c) 1996 */
-
- /* Namco System 23 */
- DRIVER( finlflng ) /* July 1997 */
- DRIVER( motoxgo ) /* November 1997 */
- DRIVER( rapidrvr ) /* December 1997 */
- DRIVER( rapidrvr2 ) /* December 1997 */
- DRIVER( downhill ) /* March 1998 */
- DRIVER( timecrs2 ) /* April 1998 */
- DRIVER( timecrs2b ) /* April 1998 */
- DRIVER( timecrs2c ) /* April 1998 */
- DRIVER( panicprk ) /* May 1998 */
- DRIVER( raceon ) /* Race On - September 1998 */
- DRIVER( gunwars ) /* September 1998 */
- /* Angler King - March 1999 */
- DRIVER( 500gp ) /* March 1999 */
- DRIVER( finfurl2 ) /* March 1999 */
- DRIVER( finfurl2j ) /* March 1999 */
- /* Guitar Jam - July 1999 */
- DRIVER( crszone ) /* Crisis Zone - December 1999 */
- DRIVER( crszonea ) /* Crisis Zone - December 1999 */
- DRIVER( crszoneb ) /* Crisis Zone - December 1999 */
-
- /* Namco System 246 */
- DRIVER( sys246 )
- DRIVER( rrvac )
- DRIVER( dragchrn )
- DRIVER( netchu02 )
- DRIVER( scptour )
- DRIVER( soulclb2 )
- DRIVER( soulcl2a )
- DRIVER( soulcl2b )
- DRIVER( tekken4 )
- DRIVER( tekken4a )
- DRIVER( tekken4b )
- DRIVER( timecrs3 )
- DRIVER( zgundm )
- DRIVER( fghtjam )
- DRIVER( sukuinuf )
- DRIVER( zgundmdx )
- DRIVER( gundzaft )
- DRIVER( soulclb3 )
-
- /* Namco System 256 */
- DRIVER( sys256 )
- DRIVER( tekken51 )
- DRIVER( kinniku )
- DRIVER( taiko9 )
- DRIVER( taiko10 )
-
- /* Misc Namco games */
- DRIVER( 25pacman ) /* (c) 2005 Ver 2.0 - Same hardware as 20pacgal */
- DRIVER( 20pacgal ) /* (c) 2000 Ver 1.08 */
- DRIVER( 20pacgalr4 ) /* (c) 2000 Ver 1.04 */
- DRIVER( 20pacgalr3 ) /* (c) 2000 Ver 1.03 */
- DRIVER( 20pacgalr2 ) /* (c) 2000 Ver 1.02 */
- DRIVER( 20pacgalr1 ) /* (c) 2000 Ver 1.01 */
- DRIVER( 20pacgalr0 ) /* (c) 2000 Ver 1.00 */
- DRIVER( turrett ) /* (c) 2001 licensed from Dell Electronics */
-
- /* Universal games */
- DRIVER( cosmicg ) /* 7907 (c) 1979 */
- DRIVER( cosmica ) /* 7910-AII (c) [1979] */
- DRIVER( cosmica1 ) /* 7910-A (c) [1979] */
- DRIVER( cosmica2 ) /* 7910 (c) 1979 */
- DRIVER( nomnlnd ) /* 8003 (c) [1980?] */
- DRIVER( nomnlndg ) /* 8003 (c) [1980?] + Gottlieb */
- DRIVER( magspot ) /* ???? (c) [1980] */
- DRIVER( magspot2 ) /* 8013 (c) [1980] */
- DRIVER( panic ) /* 8015 (c) 1980 */
- DRIVER( panic2 ) /* 8015 (c) 1980 */
- DRIVER( panic3 ) /* 8015 (c) 1980 */
- DRIVER( panich ) /* 8015 (c) 1980 */
- DRIVER( panicger ) /* 8015 (c) 1980 */
- DRIVER( devzone ) /* 8022 (c) [1980] */
- DRIVER( devzone2 ) /* 8022 (c) [1980] */
- DRIVER( cheekyms ) /* 8004 (c) [1980?] */
- DRIVER( zerohour ) /* 8011 (c) Universal */
- DRIVER( zerohoura ) /* 8011 (c) Universal */
- DRIVER( redclash ) /* (c) 1981 Tehkan */
- DRIVER( redclasha ) /* (c) 1981 Tehkan */
- DRIVER( redclashk ) /* (c) Kaneko (bootleg?) */
- DRIVER( cavenger ) /* 8106 (c) 1981 */
- DRIVER( ladybug ) /* 8110 (c) 1981 */
- DRIVER( ladybugb ) /* bootleg */
- DRIVER( ladybgb2 ) /* bootleg */
- DRIVER( snapjack ) /* ???? (c) */
- DRIVER( sraider ) /* ???? (c) 1982 Universal */
- DRIVER( dorodon ) /* Falcon */
- DRIVER( dorodon2 ) /* Falcon */
- DRIVER( mrdo ) /* 8201 (c) 1982 */
- DRIVER( mrdoy ) /* 8201 (c) 1982 */
- DRIVER( mrdot ) /* 8201 (c) 1982 + Taito license */
- DRIVER( mrdofix ) /* 8201 (c) 1982 + Taito license */
- DRIVER( mrlo ) /* bootleg */
- DRIVER( mrdu ) /* bootleg */
- DRIVER( yankeedo ) /* bootleg */
- DRIVER( docastle ) /* 8302 (c) 1983 */
- DRIVER( docastle2 ) /* 8302 (c) 1983 */
- DRIVER( docastleo ) /* 8302 (c) 1983 */
- DRIVER( douni ) /* 8302 (c) 1983 */
- DRIVER( dorunrun ) /* ???? (c) 1984 */
- DRIVER( dorunrun2 ) /* ???? (c) 1984 */
- DRIVER( dorunrunc ) /* ???? (c) 1984 */
- DRIVER( dorunrunca )/* ???? (c) 1984 */
- DRIVER( spiero ) /* ???? (c) 1987 */
- DRIVER( dowild ) /* ???? (c) 1984 */
- DRIVER( jjack ) /* ???? (c) 1984 */
- DRIVER( kickridr ) /* ???? (c) 1984 */
- DRIVER( idsoccer ) /* ???? (c) 1985 */
- DRIVER( idsoccera ) /* ???? (c) 1985 */
- DRIVER( asoccer ) /* 8461 (c) 1987 */
- DRIVER( superdq ) /* ???? (c) 1984 */
- DRIVER( superdqs ) /* ???? (c) 1984 */
- DRIVER( superdqa ) /* ???? (c) 1984 */
-
- /* Nintendo games */
- DRIVER( spacefev ) /* (c) 1979 Nintendo */
- DRIVER( spacefevo ) /* (c) 1979 Nintendo */
- DRIVER( spacefevo2 )/* (c) 1979 Nintendo */
- DRIVER( highsplt ) /* (c) 1979 Nintendo */
- DRIVER( highsplta ) /* (c) 1979 Nintendo */
- DRIVER( highspltb ) /* (c) 1979 Nintendo */
- DRIVER( spacelnc ) /* (c) 1979 Nintendo */
- DRIVER( sheriff ) /* (c) 1979 Nintendo */
- DRIVER( bandido ) /* (c) 1980 Exidy */
- DRIVER( helifire ) /* (c) 1980 Nintendo */
- DRIVER( helifirea ) /* (c) 1980 Nintendo */
- DRIVER( radarscp ) /* (c) 1980 Nintendo */
- DRIVER( radarscp1 ) /* (c) 1980 Nintendo */
- DRIVER( dkong ) /* (c) 1981 Nintendo of America */
- DRIVER( dkongo ) /* (c) 1981 Nintendo */
- DRIVER( dkongj ) /* (c) 1981 Nintendo */
- DRIVER( dkongjo ) /* (c) 1981 Nintendo */
- DRIVER( dkongjo1 ) /* (c) 1981 Nintendo */
- DRIVER( dkongf ) /* hack from Jeff's Romhack */
- DRIVER( dkongx ) /* hack */
- DRIVER( dkongx11 ) /* hack */
- DRIVER( dkongjr ) /* (c) 1982 Nintendo of America */
- DRIVER( dkongjrj ) /* (c) 1982 Nintendo */
- DRIVER( dkongjnrj ) /* (c) 1982 Nintendo */
- DRIVER( dkongjrb ) /* bootleg */
- DRIVER( jrking ) /* bootleg */
- DRIVER( dkongjre ) /* (c) 1982 Nintendo of America */
- DRIVER( dkong3 ) /* (c) 1983 Nintendo of America */
- DRIVER( dkong3j ) /* (c) 1983 Nintendo */
- DRIVER( dkong3b ) /* bootleg */
- DRIVER( mario ) /* (c) 1983 Nintendo of America */
- DRIVER( marioe ) /* (c) 1983 Nintendo of America */
- DRIVER( marioo ) /* (c) 1983 Nintendo of America */
- DRIVER( marioj ) /* (c) 1983 Nintendo */
- DRIVER( masao ) /* bootleg */
- DRIVER( pestplce ) /* bootleg on donkey kong hw */
- DRIVER( spclforc ) /* (c) 1985 Senko Industries (Magic Eletronics Inc. license) */
- DRIVER( spcfrcii ) /* (c) 1985 Senko Industries (Magic Eletronics Inc. license) */
- DRIVER( 8ballact ) /* (c) 1984 Seatongrove Ltd (Magic Eletronics USA license) */
- DRIVER( 8ballact2 ) /* (c) 1984 Seatongrove Ltd (Magic Eletronics USA license) */
- DRIVER( shootgal ) /* (c) 1984 Seatongrove Ltd (Zaccaria license) */
- DRIVER( drakton ) /* (c) 1984 Epos Corporation */
- DRIVER( drktnjr ) /* (c) 1984 Epos Corporation */
- DRIVER( strtheat ) /* (c) 1985 Epos Corporation */
- DRIVER( hunchbkd ) /* (c) 1983 Century */
- DRIVER( sbdk ) /* (c) 1984 Century */
- DRIVER( herbiedk ) /* (c) 1984 CVS */
- DRIVER( herodk ) /* (c) 1984 Seatongrove + Crown license */
- DRIVER( herodku ) /* (c) 1984 Seatongrove + Crown license */
- DRIVER( skyskipr ) /* (c) 1981 */
- DRIVER( popeye ) /* (c) 1982 */
- DRIVER( popeyeu ) /* (c) 1982 */
- DRIVER( popeyef ) /* (c) 1982 */
- DRIVER( popeyebl ) /* bootleg */
- DRIVER( punchout ) /* (c) 1984 */
- DRIVER( punchita ) /* bootleg */
- DRIVER( spnchout ) /* (c) 1984 */
- DRIVER( spnchoutj ) /* (c) 1984 (Japan) */
- DRIVER( armwrest ) /* (c) 1985 */
-
- /* Nintendo Playchoice 10 games */
- DRIVER( playch10 )
- DRIVER( pc_tenis ) /* (c) 1983 Nintendo */
- DRIVER( pc_mario ) /* (c) 1983 Nintendo */
- DRIVER( pc_bball ) /* (c) 1984 Nintendo of America */
- DRIVER( pc_bfght ) /* (c) 1984 Nintendo */
- DRIVER( pc_ebike ) /* (c) 1984 Nintendo */
- DRIVER( pc_golf ) /* (c) 1984 Nintendo */
- DRIVER( pc_kngfu ) /* (c) 1984 Irem (Nintendo license) */
- DRIVER( pc_1942 ) /* (c) 1985 Capcom */
- DRIVER( pc_smb ) /* (c) 1985 Nintendo */
- DRIVER( pc_vball ) /* (c) 1986 Nintendo */
- DRIVER( pc_duckh ) /* (c) 1984 Nintendo */
- DRIVER( pc_hgaly ) /* (c) 1984 Nintendo */
- DRIVER( pc_wgnmn ) /* (c) 1984 Nintendo */
- DRIVER( pc_grdus ) /* (c) 1986 Konami */
- DRIVER( pc_grdue ) /* (c) 1986 Konami */
- DRIVER( pc_tkfld ) /* (c) 1987 Konami (Nintendo of America license) */
- DRIVER( pc_pwrst ) /* (c) 1986 Nintendo */
- DRIVER( pc_trjan ) /* (c) 1986 Capcom USA (Nintendo of America license) */
- DRIVER( pc_cvnia ) /* (c) 1987 Konami (Nintendo of America license) */
- DRIVER( pc_dbldr ) /* (c) 1987 Konami (Nintendo of America license) */
- DRIVER( pc_rnatk ) /* (c) 1987 Konami (Nintendo of America license) */
- DRIVER( pc_rygar ) /* (c) 1987 Tecmo (Nintendo of America license) */
- DRIVER( pc_cntra ) /* (c) 1988 Konami (Nintendo of America license) */
- DRIVER( pc_goons ) /* (c) 1986 Konami */
- DRIVER( pc_mtoid ) /* (c) 1986 Nintendo */
- DRIVER( pc_radrc ) /* (c) 1987 Square */
- DRIVER( pc_miket ) /* (c) 1987 Nintendo */
- DRIVER( pc_rcpam ) /* (c) 1987 Rare */
- DRIVER( pc_ngaid ) /* (c) 1989 Tecmo (Nintendo of America license) */
- DRIVER( pc_tmnt ) /* (c) 1989 Konami (Nintendo of America license) */
- DRIVER( pc_ftqst ) /* (c) 1989 Sunsoft (Nintendo of America license) */
- DRIVER( pc_bstar ) /* (c) 1989 SNK (Nintendo of America license) */
- DRIVER( pc_tbowl ) /* (c) 1989 Tecmo (Nintendo of America license) */
- DRIVER( pc_drmro ) /* (c) 1990 Nintendo */
- DRIVER( pc_ynoid ) /* (c) 1990 Capcom USA (Nintendo of America license) */
- DRIVER( pc_rrngr ) /* (c) Capcom USA (Nintendo of America license) */
- DRIVER( pc_ddrgn ) /* (c) 1988 Technos */
- DRIVER( pc_gntlt ) /* (c) 1985 Atari/Tengen (Nintendo of America license) */
- DRIVER( pc_smb2 ) /* (c) 1988 Nintendo */
- DRIVER( pc_smb3 ) /* (c) 1988 Nintendo */
- DRIVER( pc_mman3 ) /* (c) 1990 Capcom USA (Nintendo of America license) */
- DRIVER( pc_radr2 ) /* (c) 1990 Square (Nintendo of America license) */
- DRIVER( pc_suprc ) /* (c) 1990 Konami (Nintendo of America license) */
- DRIVER( pc_tmnt2 ) /* (c) 1990 Konami (Nintendo of America license) */
- DRIVER( pc_wcup ) /* (c) 1990 Technos (Nintendo license) */
- DRIVER( pc_ngai2 ) /* (c) 1990 Tecmo (Nintendo of America license) */
- DRIVER( pc_ngai3 ) /* (c) 1991 Tecmo (Nintendo of America license) */
- DRIVER( pc_pwbld ) /* (c) 1991 Taito (Nintendo of America license) */
- DRIVER( pc_rkats ) /* (c) 1991 Atlus (Nintendo of America license) */
- DRIVER( pc_pinbt ) /* (c) 1988 Rare (Nintendo of America license) */
- DRIVER( pc_cshwk ) /* (c) 1989 Rare (Nintendo of America license) */
- DRIVER( pc_sjetm ) /* (c) 1990 Rare */
- DRIVER( pc_moglf ) /* (c) 1991 Nintendo */
-
- /* Nintendo VS games */
- DRIVER( btlecity ) /* (c) 1985 Namco */
- DRIVER( starlstr ) /* (c) 1985 Namco */
- DRIVER( cstlevna ) /* (c) 1987 Konami */
- DRIVER( cluclu ) /* (c) 1984 Nintendo */
- DRIVER( drmario ) /* (c) 1990 Nintendo */
- DRIVER( duckhunt ) /* (c) 1985 Nintendo */
- DRIVER( excitebk ) /* (c) 1984 Nintendo */
- DRIVER( excitebkj ) /* (c) 1984 Nintendo */
- DRIVER( goonies ) /* (c) 1986 Konami */
- DRIVER( hogalley ) /* (c) 1985 Nintendo */
- DRIVER( iceclimb ) /* (c) 1984 Nintendo */
- DRIVER( iceclimbj ) /* (c) 1984 Nintendo */
- DRIVER( ladygolf ) /* (c) 1984 Nintendo */
- DRIVER( ladygolfe ) /* (c) 1984 Nintendo */
- DRIVER( machridr ) /* (c) 1985 Nintendo */
- DRIVER( machridrj ) /* (c) 1985 Nintendo */
- DRIVER( rbibb ) /* (c) 1987 Namco */
- DRIVER( rbibba ) /* (c) 1987 Namco */
- DRIVER( suprmrio ) /* (c) 1986 Nintendo */
- DRIVER( suprmrioa ) /* (c) 1986 Nintendo */
- DRIVER( suprmriobl ) /* bootleg */
- DRIVER( suprmriobl2 )/* bootleg */
- DRIVER( skatekds ) /* (c) 1988 (hack) */
- DRIVER( vsskykid ) /* (c) 1986 Namco */
- DRIVER( tkoboxng ) /* (c) 1987 Data East */
- DRIVER( smgolf ) /* (c) 1984 Nintendo */
- DRIVER( smgolfj ) /* (c) 1984 Nintendo */
- DRIVER( vspinbal ) /* (c) 1984 Nintendo */
- DRIVER( vspinbalj ) /* (c) 1984 Nintendo */
- DRIVER( vsslalom ) /* (c) 1986 Nintendo */
- DRIVER( vssoccer ) /* (c) 1985 Nintendo */
- DRIVER( vssoccerj ) /* (c) 1985 Nintendo */
- DRIVER( vsgradus ) /* (c) 1986 Konami */
- DRIVER( platoon ) /* (c) 1987 Ocean */
- DRIVER( vstetris ) /* (c) 1988 Atari */
- DRIVER( mightybj ) /* (c) 1986 Tecmo */
- DRIVER( jajamaru ) /* (c) 1985 Jaleco */
- DRIVER( topgun ) /* (c) 1987 Konami */
- DRIVER( bnglngby ) /* (c) 1985 Nintendo / Broderbund Software Inc. */
- DRIVER( vstennis ) /* (c) 1984 Nintendo */
- DRIVER( vstennisj ) /* (c) 1984 Nintendo */
- DRIVER( wrecking ) /* (c) 1984 Nintendo */
- DRIVER( balonfgt ) /* (c) 1984 Nintendo */
- DRIVER( vsmahjng ) /* (c) 1984 Nintendo */
- DRIVER( vsbball ) /* (c) 1984 Nintendo */
- DRIVER( vsbballj ) /* (c) 1984 Nintendo */
- DRIVER( vsbballja ) /* (c) 1984 Nintendo */
- DRIVER( vsbballjb ) /* (c) 1984 Nintendo */
- DRIVER( iceclmrj ) /* (c) 1984 Nintendo */
- DRIVER( vsgshoe ) /* (c) 1986 Nintendo */
- DRIVER( supxevs ) /* (c) 1986 Nintendo */
- DRIVER( vsfdf ) /* (c) 1986 Sunsoft */
- DRIVER( smgolfb ) /* (c) 1985 Nintendo */
-
- /* NES-based hacks */
- DRIVER( multigam ) /* 1992 */
- DRIVER( multigmb ) /* 1992 */
- DRIVER( multigm2 ) /* 1992 */
- DRIVER( multigm3 ) /* 19?? */
- DRIVER( multigmt )
- DRIVER( supergm3 ) /* 1996 */
- DRIVER( cham24 ) /* 2002 */
-
- /* Famicom Box */
- DRIVER( famibox ) /* 1986 */
-
- /* Nintendo Super System Games */
- DRIVER( nss )
- DRIVER( nss_ssoc ) /* 1992 Human Inc. */
- DRIVER( nss_actr ) /* 1992 Enix */
- DRIVER( nss_con3 ) /* 1992 Konami */
- DRIVER( nss_adam ) /* 1992 Ocean */
- DRIVER( nss_aten ) /* 1992 Absolute Entertainment Inc. */
- DRIVER( nss_rob3 ) /* 1992 Ocean */
- DRIVER( nss_ncaa ) /* 1992 Sculptured Software Inc. */
- DRIVER( nss_skin ) /* 1992 Irem */
- DRIVER( nss_lwep ) /* 1992 Nintendo */
- DRIVER( nss_smw ) /* 1991 Nintendo */
- DRIVER( nss_fzer ) /* 1991 Nintendo */
- DRIVER( nss_sten ) /* 199? Nintendo */
-
- /* Super Famicom Box Games */
- DRIVER( sfcbox )
- //pss61 - Super Mario Kart / Super Mario Collection / Star Fox
- DRIVER( pss62 ) /* 199? T & E Soft / I'Max */
- //pss63 - Super Donkey Kong / Super Tetris 2 + Bombliss
- //pss64 - Super Donkey Kong / Super Bomberman 2
-
- /* SNES-based hacks */
- DRIVER( kinstb ) /* bootleg */
- DRIVER( ffight2b ) /* bootleg */
- DRIVER( sblast2b ) /* bootleg */
- DRIVER( iron ) /* bootleg */
- DRIVER( endless ) /* bootleg */
- DRIVER( denseib ) /* bootleg */
-
-
- /* Midway 8080 b/w games */
- DRIVER( seawolf ) /* 596 [1976] */
- DRIVER( seawolfo ) /* 596 [1976] */
- DRIVER( gunfight ) /* 597 [1975] */
- DRIVER( gunfighto ) /* 597 [1975] */
- /* 603 - Top Gun [1976] */
- DRIVER( tornbase ) /* 605 [1976] */
- DRIVER( 280zzzap ) /* 610 [1976] */
- DRIVER( maze ) /* 611 [1976] */
- DRIVER( boothill ) /* 612 [1977] */
- DRIVER( checkmat ) /* 615 [1977] */
- DRIVER( desertgu ) /* 618 [1977] */
- DRIVER( roadrunm ) /* 618 [1977] */
- DRIVER( dplay ) /* 619 [1977] */
- DRIVER( lagunar ) /* 622 [1977] */
- DRIVER( gmissile ) /* 623 [1977] */
- DRIVER( m4 ) /* 626 [1977] */
- DRIVER( clowns ) /* 630 [1978] */
- DRIVER( clowns1 ) /* 630 [1978] */
- DRIVER( spacwalk ) /* 640 [1978] */
- DRIVER( einning ) /* 642 [1978] Midway */
- DRIVER( shuffle ) /* 643 [1978] */
- DRIVER( dogpatch ) /* 644 [1977] */
- DRIVER( spcenctr ) /* 645 (c) 1980 Midway */
- DRIVER( phantom2 ) /* 652 [1979] */
- DRIVER( bowler ) /* 730 [1978] Midway */
- DRIVER( invaders ) /* 739 [1979] */
- DRIVER( blueshrk ) /* 742 [1978] */
- DRIVER( invad2ct ) /* 851 (c) 1980 Midway */
- DRIVER( invadpt2 ) /* 852 [1980] Taito */
- DRIVER( invaddlx ) /* 852 [1980] Midway */
- DRIVER( vortex ) /* 852 [1980] Zilec Electronics Ltd. */
- DRIVER( moonbase ) /* Taito */
- DRIVER( moonbasea ) /* Zeta - Nichibutsu */
- /* 870 - Space Invaders Deluxe cocktail */
- DRIVER( searthin ) /* bootleg */
- DRIVER( searthina ) /* bootleg */
- DRIVER( invadrmr ) /* (c) 1978 Model Racing */
- DRIVER( modelr ) /* (c) 19?? Model Racing */
- DRIVER( spaceatt ) /* (c) 1978 Video Games GMBH */
- DRIVER( spaceat2 ) /* (c) 1980 Zenitone-Microsec Ltd */
- DRIVER( sinvzen ) /* Zenitone-Microsec Ltd */
- DRIVER( superinv ) /* bootleg */
- DRIVER( invasion ) /* Sidam */
- DRIVER( invasiona ) /* bootleg */
- DRIVER( invasionb ) /* bootleg */
- DRIVER( invasionrz ) /* bootleg */
- DRIVER( invasionrza )/* bootleg */
- DRIVER( sstrangr ) /* (c) 1978 Yachiyo Electronics, Ltd. */
- DRIVER( sstrangr2 ) /* (c) 1979 Yachiyo Electronics, Ltd. */
- DRIVER( sinvemag ) /* Zenitone-Microsec Ltd. */
- DRIVER( jspecter ) /* (c) 1979 Jatre */
- DRIVER( jspecter2 ) /* (c) 1979 Jatre */
- DRIVER( invrvnge ) /* Zenitone-Microsec Ltd. */
- DRIVER( invrvngea ) /* Zenitone-Microsec Ltd. (Dutchford license) */
- DRIVER( galxwars ) /* (c) 1979 Universal */
- DRIVER( galxwars2 ) /* (c) 1979 Universal */
- DRIVER( galxwarst ) /* (c) 1979 Taito? */
- DRIVER( starw ) /* bootleg */
- DRIVER( lrescue ) /* LR (c) 1979 Taito */
- DRIVER( mlander ) /* (c) 1980 Leisure Time Electronics */
- DRIVER( lrescuem ) /* Model Racing bootleg */
- DRIVER( grescue ) /* bootleg? */
- DRIVER( desterth ) /* bootleg */
- DRIVER( cosmicmo ) /* Universal */
- DRIVER( cosmicm2 ) /* Universal */
- DRIVER( rollingc ) /* Nichibutsu */
- DRIVER( ozmawars ) /* Shin Nihon Kikaku (SNK) */
- DRIVER( ozmawars2 ) /* Shin Nihon Kikaku (SNK) */
- DRIVER( solfight ) /* bootleg */
- DRIVER( spaceph ) /* Zilec Games */
- DRIVER( galactic ) /* (c) 19?? Taito */
- DRIVER( spacmiss ) /* bootleg? */
- DRIVER( schaser ) /* RT Taito */
- DRIVER( schasercv ) /* RT Taito */
- DRIVER( lupin3 ) /* LP (c) 1980 Taito */
- DRIVER( lupin3a ) /* LP (c) 1980 Taito */
- DRIVER( intruder ) /* (c) 1980 GamePlan (Taito) */
- DRIVER( spclaser ) /* (c) 1980 GamePlan (Taito) */
- DRIVER( laser ) /* (c) 1980 Leisure Time Electronics Inc. */
- DRIVER( spcewarl ) /* (c) 1979 Leijac Corporation (Konami) */
- DRIVER( polaris ) /* PS (c) 1980 Taito */
- DRIVER( polarisa ) /* PS (c) 1980 Taito */
- DRIVER( polariso ) /* PS (c) 1980 Taito */
- DRIVER( ballbomb ) /* TN (c) 1980 Taito */
- DRIVER( indianbt ) /* (c) 1980 Taito */
- DRIVER( steelwkr ) /* (c) 1980 Taito */
- DRIVER( m79amb ) /* (c) 1977 RamTek */
- DRIVER( alieninv ) /* Margamatics */
- DRIVER( alieninvp2 ) /* bootleg */
- DRIVER( tst_invd ) /* Test ROM */
- DRIVER( sitv ) /* (c) 1979 Taito */
- DRIVER( sicv ) /* (c) 1979 Taito */
- DRIVER( sisv ) /* (c) 1978 Taito */
- DRIVER( sisv2 ) /* (c) 1978 Taito */
- DRIVER( spacewr3 ) /* bootleg */
- DRIVER( invaderl ) /* bootleg */
- DRIVER( invader4 ) /* bootleg */
- DRIVER( yosakdon ) /* (c) 1979 Yosaku To Donbei */
- DRIVER( yosakdona ) /* (c) 1979 Yosaku To Donbei */
- DRIVER( spceking ) /* (c) 1978 Leijac Corporation (Konami) */
- DRIVER( spcewars ) /* (c) 1978 Sanritsu */
- DRIVER( astropal ) /* (c) 19?? Sidam */
- DRIVER( cosmo ) /* TDS+Mints */
- DRIVER( darthvdr ) /* bootleg */
-
- DRIVER( 18w ) /* 653 (c) 1979 Midway */
- DRIVER( 18w2 ) /* 653 (c) 1979 Midway */
- DRIVER( sspeedr ) /* 1979 Midway */
-
- /* Similar but with a M6800 instead of an 8080 */
- DRIVER( sflush ) /* (c)1979 Taito */
-
- /* Meadows S2650 games */
- DRIVER( lazercmd ) /* [1976?] */
- DRIVER( bbonk ) /* [1976?] */
- DRIVER( deadeye ) /* [1978?] */
- DRIVER( bowl3d ) /* [1978?] */
- DRIVER( gypsyjug ) /* [1978?] */
- DRIVER( minferno ) /* [1978?] */
- DRIVER( medlanes ) /* [1977?] */
-
- /* CVS games */
- DRIVER( cosmos ) /* (c) 1981 Century */
- DRIVER( darkwar ) /* (c) 1981 Century */
- DRIVER( spacefrt ) /* (c) 1981 Century */
- DRIVER( 8ball ) /* (c) 1982 Century */
- DRIVER( 8ball1 ) /* (c) 1982 Century */
- DRIVER( logger ) /* (c) 1982 Century */
- DRIVER( dazzler ) /* (c) 1982 Century */
- DRIVER( diggerc ) /* (c) 1982 Century */
- DRIVER( wallst ) /* (c) 1982 Century */
- DRIVER( radarzon ) /* (c) 1982 Century */
- DRIVER( radarzon1 ) /* (c) 1982 Century */
- DRIVER( radarzont ) /* (c) 1982 Tuni Electro Service */
- DRIVER( outline ) /* (c) 1982 Century */
- DRIVER( goldbug ) /* (c) 1982 Century */
- DRIVER( heartatk ) /* (c) 1983 Century Electronics */
- DRIVER( hunchbak ) /* (c) 1983 Century */
- DRIVER( hunchbaka ) /* (c) 1983 Century */
- DRIVER( superbik ) /* (c) 1983 Century */
- DRIVER( raiders ) /* (c) 1983 Century Electronics UK */
- DRIVER( hero ) /* (c) 1983 Seatongrove (c) 1984 CVS */
- DRIVER( huncholy ) /* (c) 1984 Seatongrove (c) CVS */
-
- /* Zaccaria Hardware (similar to CVS) */
- DRIVER( quasar ) /* (c) 1980 Zelco Games Italy */
- DRIVER( quasara ) /* (c) 1980 Zelco Games Italy */
-
- /* Midway "Astrocade" games */
- DRIVER( seawolf2 ) /* (c) 1978 */
- DRIVER( spacezap ) /* (c) 1980 */
- DRIVER( ebases ) /* (c) 1980 */
- DRIVER( wow ) /* (c) 1980 */
- DRIVER( wowg ) /* (c) 1980 */
- DRIVER( gorf ) /* (c) 1981 */
- DRIVER( gorfpgm1 ) /* (c) 1981 */
- DRIVER( gorfpgm1g ) /* (c) 1981 */
- DRIVER( robby ) /* (c) 1981 Bally Midway */
- DRIVER( demndrgn ) /* (c) 1982 Bally Midway */
- DRIVER( profpac ) /* (c) 1983 Bally Midway */
- DRIVER( tenpindx ) /* (c) 1983 Bally Midway */
-
- /* Bally Midway MCR games */
- /* MCR1 */
- DRIVER( solarfox ) /* (c) 1981 */
- DRIVER( kick ) /* (c) 1981 */
- DRIVER( kickman ) /* (c) 1981 */
- DRIVER( kickc ) /* (c) 1981 */
- /* MCR2 */
- DRIVER( shollow ) /* (c) 1981 */
- DRIVER( shollow2 ) /* (c) 1981 */
- DRIVER( tron ) /* (c) 1982 */
- DRIVER( tron2 ) /* (c) 1982 */
- DRIVER( tron3 ) /* (c) 1982 */
- DRIVER( tron4 ) /* (c) 1982 */
- DRIVER( kroozr ) /* (c) 1982 */
- DRIVER( domino ) /* (c) 1982 */
- DRIVER( wacko ) /* (c) 1982 */
- DRIVER( twotiger ) /* (c) 1984 */
- DRIVER( twotigerc ) /* (c) 1984 */
- /* MCR2 + MCR3 sprites */
- DRIVER( journey ) /* (c) 1983 */
- /* MCR3 */
- DRIVER( tapper ) /* (c) 1983 */
- DRIVER( tappera ) /* (c) 1983 */
- DRIVER( sutapper ) /* (c) 1983 */
- DRIVER( rbtapper ) /* (c) 1984 */
- DRIVER( timber ) /* (c) 1984 */
- DRIVER( dotron ) /* (c) 1983 */
- DRIVER( dotrona ) /* (c) 1983 */
- DRIVER( dotrone ) /* (c) 1983 */
- DRIVER( nflfoot ) /* (c) 1983 + laserdisk */
- DRIVER( demoderb ) /* (c) 1984 */
- DRIVER( demoderm ) /* (c) 1984 */
- DRIVER( sarge ) /* (c) 1985 */
- DRIVER( rampage ) /* (c) 1986 */
- DRIVER( rampage2 ) /* (c) 1986 */
- DRIVER( powerdrv ) /* (c) 1986 */
- DRIVER( stargrds ) /* (c) 1987 */
- DRIVER( maxrpm ) /* (c) 1986 */
- DRIVER( spyhunt ) /* (c) 1983 */
- DRIVER( spyhuntp ) /* (c) 1983 */
- DRIVER( turbotag ) /* (c) 1985 */
- DRIVER( crater ) /* (c) 1984 */
- /* MCR 68000 */
- DRIVER( zwackery ) /* (c) 1984 */
- DRIVER( xenophob ) /* (c) 1987 */
- DRIVER( spyhunt2 ) /* (c) 1987 */
- DRIVER( spyhunt2a ) /* (c) 1987 */
- DRIVER( intlaser ) /* (c) 1987 */
- DRIVER( blasted ) /* (c) 1988 */
- DRIVER( archrivl ) /* (c) 1989 */
- DRIVER( archrivl2 ) /* (c) 1989 */
- DRIVER( trisport ) /* (c) 1989 */
- DRIVER( pigskin ) /* (c) 1990 */
- DRIVER( pigskina ) /* (c) 1990 */
-
- /* Bally / Sente games */
- DRIVER( sentetst )
- DRIVER( cshift ) /* (c) 1984 */
- DRIVER( gghost ) /* (c) 1984 */
- DRIVER( hattrick ) /* (c) 1984 */
- DRIVER( otwalls ) /* (c) 1984 */
- DRIVER( snakepit ) /* (c) 1984 */
- DRIVER( snakjack ) /* (c) 1984 */
- DRIVER( stocker ) /* (c) 1984 */
- DRIVER( triviag1 ) /* (c) 1984 */
- DRIVER( trivia12 ) /* (c) 1984 */
- DRIVER( triviag2 ) /* (c) 1984 */
- DRIVER( triviasp ) /* (c) 1984 */
- DRIVER( triviayp ) /* (c) 1984 */
- DRIVER( triviabb ) /* (c) 1984 */
- DRIVER( triviaes ) /* (c) 1984 */
- DRIVER( gimeabrk ) /* (c) 1985 */
- DRIVER( minigolf ) /* (c) 1985 */
- DRIVER( minigolf2 ) /* (c) 1985 */
- DRIVER( toggle ) /* (c) 1985 */
- DRIVER( nametune ) /* (c) 1986 */
- DRIVER( nametune2 ) /* (c) 1986 */
- DRIVER( nstocker ) /* (c) 1986 */
- DRIVER( nstocker2 ) /* (c) 1986 */
- DRIVER( sfootbal ) /* (c) 1986 */
- DRIVER( spiker ) /* (c) 1986 */
- DRIVER( stompin ) /* (c) 1986 */
- DRIVER( rescraid ) /* (c) 1987 */
- DRIVER( rescraida ) /* (c) 1987 */
- DRIVER( grudge ) /* prototype - Bally/Midway */
- DRIVER( shrike ) /* (c) 1987 */
- DRIVER( gridlee ) /* [1983 Videa] prototype - no copyright notice */
-
- /* Irem games */
- /* trivia: IREM means "International Rental Electronics Machines" */
- DRIVER( andromed ) /* (c) 1979 */
- DRIVER( ipminvad ) /* M10 no copyright notice (Arcade TV Game List - P.67, Left, 26 from top) */
- DRIVER( ipminvad1 ) /* M10 incomplete dump */
- DRIVER( ptrmj ) /* M14 (c) 1979 */
- DRIVER( skychut ) /* Irem [1980] */
- DRIVER( spacbeam ) /* M15 no copyright notice */
- DRIVER( greenber ) /* Irem */
- DRIVER( headoni ) /* Irem no copyright notice (1979 - Arcade TV Game List - P.98, Left, 7 from top ) */
-
- DRIVER( panther ) /* M27 no copyright notice */
- DRIVER( redalert ) /* M27 (c) 1981 + "GDI presents" */
- DRIVER( demoneye ) /* M27 (c) 1981 */
- DRIVER( ww3 ) /* M27 (c) 1981 */
-
- DRIVER( olibochu ) /* M47 (c) 1981 + "GDI presents" */
- DRIVER( mpatrol ) /* M52 (c) 1982 */
- DRIVER( mpatrolw ) /* M52 (c) 1982 + Williams license */
- DRIVER( alpha1v ) /* Vision Electronics */
- DRIVER( troangel ) /* (c) 1983 */
- DRIVER( newtangl ) /* (c) 1983 */
- DRIVER( 10yard ) /* (c) 1983 */
- DRIVER( 10yardj ) /* (c) 1983 */
- DRIVER( vs10yard ) /* (c) 1983/1984 */
- DRIVER( vs10yardj ) /* (c) 1983/1984 */
- DRIVER( vs10yardu ) /* (c) 1983/1984 */
- DRIVER( 10yard85 ) /* (c) 1985 */
- DRIVER( travrusa ) /* (c) 1983 */
- DRIVER( motorace ) /* (c) 1983 Williams license */
- DRIVER( shtrider ) /* (c) 1984 Seibu Kaihatsu */
- DRIVER( shtridera ) /* (c) 1984 Seibu Kaihatsu */
- DRIVER( wilytowr ) /* M63 (c) 1984 */
- DRIVER( atomboy ) /* M63 (c) 1985 Irem + Memetron license */
- DRIVER( atomboya ) /* M63 (c) 1985 Irem + Memetron license */
- DRIVER( fghtbskt ) /* (c) 1984 Paradise Co. Ltd. */
- /* M62 */
- DRIVER( kungfum ) /* (c) 1984 */
- DRIVER( kungfumd ) /* (c) 1984 + Data East license */
- DRIVER( spartanx ) /* (c) 1984 (Japan) */
- DRIVER( kungfub ) /* bootleg */
- DRIVER( kungfub2 ) /* bootleg */
- DRIVER( battroad ) /* (c) 1984 */
- DRIVER( ldrun ) /* (c) 1984 licensed from Broderbund */
- DRIVER( ldruna ) /* (c) 1984 licensed from Broderbund */
- DRIVER( ldrun2 ) /* (c) 1984 licensed from Broderbund */
- DRIVER( ldrun3 ) /* (c) 1985 licensed from Broderbund */
- DRIVER( ldrun3j ) /* (c) 1985 licensed from Broderbund */
- DRIVER( ldrun4 ) /* (c) 1986 licensed from Broderbund */
- DRIVER( lotlot ) /* (c) 1985 licensed from Tokuma Shoten */
- DRIVER( kidniki ) /* (c) 1986 + Data East USA license */
- DRIVER( kidnikiu ) /* (c) 1986 + Data East USA license */
- DRIVER( yanchamr ) /* (c) 1986 (Japan) */
- DRIVER( lithero ) /* bootleg */
- DRIVER( spelunkr ) /* (c) 1985 licensed from Broderbund */
- DRIVER( spelunkrj ) /* (c) 1985 licensed from Broderbund */
- DRIVER( spelunk2 ) /* (c) 1986 licensed from Broderbund */
- DRIVER( horizon ) /* (c) 1985 */
- DRIVER( youjyudn ) /* (c) 1986 (Japan) */
-
- DRIVER( vigilant ) /* (c) 1988 (World) */
- DRIVER( vigilant1 ) /* (c) 1988 (World) */
- DRIVER( vigilantu ) /* (c) 1988 (US) */
- DRIVER( vigilantj ) /* (c) 1988 (Japan) */
- DRIVER( kikcubic ) /* (c) 1988 (Japan) */
- DRIVER( kikcubicb ) /* bootleg */
- DRIVER( buccanrs ) /* (c) 1989 Duintronic */
- DRIVER( buccanrsa ) /* (c) 1989 Duintronic */
- /* M72 (and derivatives) */
- DRIVER( rtype ) /* (c) 1987 (Japan) */
- DRIVER( rtypej ) /* (c) 1987 (Japan) */
- DRIVER( rtypejp ) /* (c) 1987 (Japan) */
- DRIVER( rtypeu ) /* (c) 1987 + Nintendo USA license (US) */
- DRIVER( rtypeb ) /* bootleg */
- DRIVER( bchopper ) /* (c) 1987 */
- DRIVER( mrheli ) /* (c) 1987 (Japan) */
- DRIVER( nspirit ) /* (c) 1988 */
- DRIVER( nspiritj ) /* (c) 1988 (Japan) */
- DRIVER( imgfight ) /* (c) 1988 (Japan) */
- DRIVER( imgfighto ) /* (c) 1988 (Japan) */
- DRIVER( loht ) /* (c) 1989 */
- DRIVER( lohtj ) /* (c) 1989 (Japan) */
- DRIVER( lohtb ) /* (c) 1989 (bootleg) */
- DRIVER( lohtb2 ) /* (c) 1989 (bootleg) */
- DRIVER( xmultipl ) /* (c) 1989 (Japan) */
- DRIVER( xmultiplm72 ) /* (c) 1989 (Japan) */
- DRIVER( dbreed ) /* (c) 1989 */
- DRIVER( dbreedm72 ) /* (c) 1989 */
- DRIVER( rtype2 ) /* (c) 1989 */
- DRIVER( rtype2j ) /* (c) 1989 (Japan) */
- DRIVER( rtype2jc ) /* (c) 1989 (Japan) */
- DRIVER( majtitle ) /* (c) 1990 (World) */
- DRIVER( majtitlej ) /* (c) 1990 (Japan) */
- DRIVER( hharry ) /* (c) 1990 (World) */
- DRIVER( hharryu ) /* (c) 1990 Irem America (US) */
- DRIVER( dkgensan ) /* (c) 1990 (Japan) */
- DRIVER( dkgensanm72 ) /* (c) 1990 (Japan) */
- DRIVER( poundfor ) /* (c) 1990 (World) */
- DRIVER( poundforj ) /* (c) 1990 (Japan) */
- DRIVER( poundforu ) /* (c) 1990 Irem America (US) */
- DRIVER( airduel ) /* (c) 1990 (Japan) */
- DRIVER( cosmccop ) /* (c) 1991 (World) */
- DRIVER( gallop ) /* (c) 1991 (Japan) */
- DRIVER( kengo ) /* (c) 1991 */
- /* not M72, but same sound hardware */
- DRIVER( sichuan2 ) /* (c) 1989 Tamtex */
- DRIVER( sichuan2a ) /* (c) 1989 Tamtex */
- DRIVER( shisen ) /* (c) 1989 Tamtex */
- DRIVER( matchit ) /* (c) 1989 Tamtex */
- /* M90 */
- DRIVER( hasamu ) /* (c) 1991 Irem (Japan) */
- DRIVER( dynablst ) /* (c) 1991 Irem (World) */
- DRIVER( dynablstb ) /* bootleg */
- DRIVER( bombrman ) /* (c) 1991 Irem (Japan) */
- DRIVER( atompunk ) /* (c) 1991 Irem America (licensed from Hudson Soft) */
- /* M97 */
- DRIVER( bbmanw ) /* (c) 1992 Irem (World) */
- DRIVER( bbmanwj ) /* (c) 1992 Irem (Japan) */
- DRIVER( bomblord ) /* bootleg */
- DRIVER( newapunk ) /* (c) 1992 Irem America (US) */
- DRIVER( quizf1 ) /* (c) 1992 Irem (Japan) */
- DRIVER( riskchal ) /* (c) 1993 Irem */
- DRIVER( gussun ) /* (c) 1993 Irem (Japan) */
- DRIVER( matchit2 ) /* (c) 1993 Tamtex */
- DRIVER( shisen2 ) /* (c) 1993 Tamtex */
- /* M92 */
- DRIVER( gunforce ) /* (c) 1991 Irem (World) */
- DRIVER( gunforceu ) /* (c) 1991 Irem America (US) */
- DRIVER( gunforcej ) /* (c) 1991 Irem (Japan) */
- DRIVER( bmaster ) /* (c) 1991 Irem */
- DRIVER( crossbld ) /* (c) 1991 Irem (Japan) */
- DRIVER( lethalth ) /* (c) 1991 Irem (World) */
- DRIVER( thndblst ) /* (c) 1991 Irem (Japan) */
- DRIVER( uccops ) /* (c) 1992 Irem (World) */
- DRIVER( uccopsu ) /* (c) 1992 Irem (US) */
- DRIVER( uccopsar ) /* (c) 1992 Irem (World) */
- DRIVER( uccopsj ) /* (c) 1992 Irem (Japan) */
- DRIVER( mysticri ) /* (c) 1992 Irem (World) */
- DRIVER( mysticrib ) /* bootleg? */
- DRIVER( gunhohki ) /* (c) 1992 Irem (Japan) */
- DRIVER( majtitl2 ) /* (c) 1992 Irem (World) */
- DRIVER( majtitl2j ) /* (c) 1992 Irem (Japan) */
- DRIVER( skingame ) /* (c) 1992 Irem America (US) */
- DRIVER( skingame2 ) /* (c) 1992 Irem America (US) */
- DRIVER( hook ) /* (c) 1992 Irem (World) */
- DRIVER( hooku ) /* (c) 1992 Irem America (US) */
- DRIVER( hookj ) /* (c) 1992 Irem (Japan) */
- DRIVER( ppan ) /* bootleg */
- DRIVER( rtypeleo ) /* (c) 1992 Irem (World) */
- DRIVER( rtypeleoj ) /* (c) 1992 Irem (Japan) */
- DRIVER( inthunt ) /* (c) 1993 Irem (World) */
- DRIVER( inthuntu ) /* (c) 1993 Irem (US) */
- DRIVER( kaiteids ) /* (c) 1993 Irem (Japan) */
- DRIVER( nbbatman ) /* (c) 1993 Irem America (US) */
- DRIVER( leaguemn ) /* (c) 1993 Irem (Japan) */
- DRIVER( ssoldier ) /* (c) 1993 Irem America (US) */
- DRIVER( psoldier ) /* (c) 1993 Irem (Japan) */
- DRIVER( dsoccr94j ) /* (c) 1994 Irem (Japan) */
- DRIVER( gunforc2 ) /* (c) 1994 Irem */
- DRIVER( geostorm ) /* (c) 1994 Irem (Japan) */
- /* M107 */
- DRIVER( firebarr ) /* (c) 1993 Irem (Japan) */
- DRIVER( dsoccr94 ) /* (c) 1994 Irem (Data East Corporation license) */
- DRIVER( kftgoal ) /* (c) 1994 Jaleco */
- DRIVER( wpksoc ) /* (c) 1995 Jaleco */
-
- /* Gottlieb/Mylstar games (Gottlieb became Mylstar in 1983) */
- DRIVER( reactor ) /* GV-100 (c) 1982 Gottlieb */
- DRIVER( mplanets ) /* GV-102 (c) 1983 Gottlieb */
- DRIVER( mplanetsuk )/* GV-102 (c) 1983 Gottlieb */
- DRIVER( qbert ) /* GV-103 (c) 1982 Gottlieb */
- DRIVER( qberta ) /* GV-103 (c) 1982 Gottlieb */
- DRIVER( qbertj ) /* GV-103 (c) 1982 Gottlieb + Konami license */
- DRIVER( myqbert ) /* GV-103?(c) 1982 Gottlieb */
- DRIVER( qberttst ) /* GV-103 (c) 1982 Gottlieb */
- DRIVER( qbtrktst ) /* GV-103 (c) 1982 Gottlieb */
- DRIVER( insector ) /* GV-??? (c) 1982 Gottlieb - never released */
- DRIVER( tylz ) /* GV-??? (c) 1982 Gottlieb - never released */
- DRIVER( argusg ) /* GV-??? (c) 1982 Gottlieb - never released */
- DRIVER( krull ) /* GV-105 (c) 1983 Gottlieb */
- DRIVER( kngtmare ) /* GV-??? (c) 1983 Gottlieb - never released */
- DRIVER( sqbert ) /* GV-??? (c) 1983 Mylstar - never released */
- DRIVER( mach3 ) /* GV-109 (c) 1983 Mylstar */
- DRIVER( cobram3 ) /* ...... (c) 1984 Data East */
- DRIVER( usvsthem ) /* GV-??? (c) 198? Mylstar */
- DRIVER( 3stooges ) /* GV-113 (c) 1984 Mylstar */
- DRIVER( qbertqub ) /* GV-119 (c) 1983 Mylstar */
- DRIVER( screwloo ) /* GV-123 (c) 1983 Mylstar - never released */
- DRIVER( curvebal ) /* GV-134 (c) 1984 Mylstar */
- DRIVER( vidvince ) /* GV-??? (c) 1984 Mylstar - never released */
- DRIVER( wizwarz ) /* GV-??? (c) 1984 Mylstar - never released */
-
- /* Taito "Qix hardware" games */
- DRIVER( qix ) /* LK (c) 1981 Taito America Corporation */
- DRIVER( qixa ) /* LK (c) 1981 Taito America Corporation */
- DRIVER( qixb ) /* LK (c) 1981 Taito America Corporation */
- DRIVER( qixo ) /* LK (c) 1981 Taito America Corporation */
- DRIVER( qix2 ) /* ?? (c) 1981 Taito America Corporation */
- DRIVER( sdungeon ) /* SD (c) 1981 Taito America Corporation */
- DRIVER( elecyoyo ) /* YY (c) 1982 Taito America Corporation */
- DRIVER( elecyoyo2 ) /* YY (c) 1982 Taito America Corporation */
- DRIVER( kram ) /* KS (c) 1982 Taito America Corporation */
- DRIVER( kram2 ) /* KS (c) 1982 Taito America Corporation */
- DRIVER( kram3 ) /* KS (c) 1982 Taito America Corporation */
- DRIVER( zookeep ) /* ZA (c) 1982 Taito America Corporation */
- DRIVER( zookeep2 ) /* ZA (c) 1982 Taito America Corporation */
- DRIVER( zookeep3 ) /* ZA (c) 1982 Taito America Corporation */
- DRIVER( slither ) /* (c) 1982 Century II */
- DRIVER( slithera ) /* (c) 1982 Century II */
- DRIVER( complexx ) /* CX (c) 1984 Taito America Corporation */
-
- /* Taito SJ System games */
- DRIVER( spaceskr ) /* EB (c) 1981 Taito Corporation */
- DRIVER( spacecr ) /* CG (c) 1981 Taito Corporation */
- DRIVER( junglek ) /* KN (c) 1982 Taito Corporation */
- DRIVER( junglekj2 ) /* KN (c) 1982 Taito Corporation */
- DRIVER( jungleh ) /* KN (c) 1982 Taito America Corporation */
- DRIVER( junglehbr ) /* KN (c) 1982 Taito do Brasil */
- DRIVER( piratpet ) /* KN (c) 1982 Taito America Corporation */
- DRIVER( jungleby ) /* bootleg */
- DRIVER( alpine ) /* RH (c) 1982 Taito Corporation */
- DRIVER( alpinea ) /* RH (c) 1982 Taito Corporation */
- DRIVER( timetunl ) /* UN (c) 1982 Taito Corporation */
- DRIVER( wwestern ) /* WW (c) 1982 Taito Corporation */
- DRIVER( wwestern1 ) /* WW (c) 1982 Taito Corporation */
- DRIVER( frontlin ) /* FL (c) 1982 Taito Corporation */
- DRIVER( elevator ) /* EA (c) 1983 Taito Corporation */
- DRIVER( elevatorb ) /* bootleg */
- DRIVER( tinstar ) /* A10 (c) 1983 Taito Corporation */
- DRIVER( tinstar2 ) /* A10 (c) 1983 Taito Corporation */
- DRIVER( waterski ) /* A03 (c) 1983 Taito Corporation */
- DRIVER( bioatack ) /* AA8 (c) 1983 Taito Corporation + Fox Video Games license */
- DRIVER( hwrace ) /* AC4 (c) 1983 Taito Corporation */
- DRIVER( sfposeid ) /* A14 (c) 1984 Taito Corporation */
- DRIVER( kikstart ) /* A20 (c) 1984 Taito Corporation */
-
- /* other Taito games */
- DRIVER( fgoal ) /* TF (c) 1979 Taito Corporation */
- DRIVER( fgoala ) /* MF (c) 1979 Taito Corporation */
- DRIVER( crbaloon ) /* CL (c) 1980 Taito Corporation */
- DRIVER( crbaloon2 ) /* CL (c) 1980 Taito Corporation */
- DRIVER( sbowling ) /* KB (c) 1982 Taito Corporation */
- DRIVER( grchamp ) /* GM (c) 1981 Taito Corporation */
- DRIVER( marinedt ) /* MG (c) 1981 Taito Corporation */
- DRIVER( changela ) /* ??? (c) 1983 Taito Corporation */
- DRIVER( fspiderb ) /* bootleg */
- DRIVER( jollyjgr ) /* KD (c) 1982 Taito Corporation */
- DRIVER( bking ) /* DM (c) 1982 Taito Corporation */
- DRIVER( bking2 ) /* AD6 (c) 1983 Taito Corporation */
- DRIVER( bking3 ) /* A24 (c) 1984 Taito Corporation */
- DRIVER( chaknpop ) /* A04 (c) 1983 Taito Corporation */
- DRIVER( josvolly ) /* AA (c) 1983 Taito Corporation */
- DRIVER( gsword ) /* AC (c) 1984 Taito Corporation */
- DRIVER( gsword2 ) /* AC (c) 1984 Taito Corporation */
- DRIVER( cyclemb ) /* P0 (c) 1984 Taito Corporation [+ Seta] */
- DRIVER( pitnrun ) /* PR (c) 1984 Taito Corporation */
- DRIVER( pitnruna ) /* PR (c) 1984 Taito Corporation */
- DRIVER( lkage ) /* A54 (c) 1984 Taito Corporation */
- DRIVER( lkageo ) /* A54 (c) 1984 Taito Corporation */
- DRIVER( lkageoo ) /* A54 (c) 1984 Taito Corporation */
- DRIVER( lkageb ) /* bootleg */
- DRIVER( lkageb2 ) /* bootleg */
- DRIVER( lkageb3 ) /* bootleg */
- DRIVER( bygone ) /* prototype ? A53 (c) 1985 Taito Corporation */
- DRIVER( msisaac ) /* A34 (c) 1985 Taito Corporation */
- DRIVER( retofinv ) /* A37 (c) 1985 Taito Corporation */
- DRIVER( retofinv1 ) /* bootleg */
- DRIVER( retofinv2 ) /* bootleg */
- DRIVER( fightrol ) /* (c) 1983 Taito */
- DRIVER( rollace ) /* (c) 1983 Williams */
- DRIVER( rollace2 ) /* (c) 1983 Williams */
- DRIVER( lgp ) /* (c) 1983 Taito */
- DRIVER( vsgongf ) /* (c) 1984 Kaneko */
- DRIVER( ringfgt ) /* (c) 1984 Taito */
- DRIVER( ringfgt2 ) /* (c) 1984 Taito */
- DRIVER( fieldday ) /* A23 (c) 1984 Taito */
- DRIVER( undoukai ) /* A17 (c) 1984 Taito */
- DRIVER( 40love ) /* A30 (c) 1984 Taito */
- DRIVER( tsamurai ) /* A35 (c) 1985 Taito */
- DRIVER( tsamurai2 ) /* A35 (c) 1985 Taito */
- DRIVER( tsamuraih ) /* bootleg */
- DRIVER( ladymstr ) /* A49 (c) 1985 Taito */
- DRIVER( nunchaku ) /* ??? (c) 1985 Taito */
- DRIVER( yamagchi ) /* A38 (c) 1985 Taito */
- DRIVER( m660 ) /* ??? (c) 1986 Taito America Corporation */
- DRIVER( m660j ) /* ??? (c) 1986 Taito Corporation (Japan) */
- DRIVER( m660b ) /* bootleg */
- DRIVER( alphaxz ) /* AZ (c) 1986 Ed/Wood Place */
- DRIVER( buggychl ) /* A22 (c) 1984 Taito Corporation */
- DRIVER( buggychlt ) /* A22 (c) 1984 Taito Corporation + Tefri license */
- DRIVER( ssrj ) /* A40 (c) 1985 Taito Corporation */
- DRIVER( bigevglf ) /* A67 (c) 1986 Taito America Corporation (US) */
- DRIVER( bigevglfj ) /* A67 (c) 1986 Taito Corporation (Japan) */
- DRIVER( flstory ) /* A45 (c) 1985 Taito Corporation */
- DRIVER( flstoryj ) /* A45 (c) 1985 Taito Corporation (Japan) */
- DRIVER( onna34ro ) /* A52 (c) 1985 Taito Corporation (Japan) */
- DRIVER( onna34roa ) /* A52 (c) 1985 Taito Corporation (Japan) */
- DRIVER( victnine ) /* A16 (c) 1985 Taito Corporation (Japan) */
- DRIVER( rumba ) /* A23 (c) 1985 Taito Corporation (Japan) */
- DRIVER( gladiatr ) /* QB (c) 1986 Taito America Corporation (US) */
- DRIVER( ogonsiro ) /* QB (c) 1986 Taito Corporation (Japan) */
- DRIVER( greatgur ) /* QB (c) 1986 Taito Corporation (Japan?) */
- DRIVER( ppking ) /* QO (c) 1985 Taito America Corporation (US) */
- DRIVER( nycaptor ) /* A50 (c) 1985 Taito Corporation */
- DRIVER( cyclshtg ) /* A97 (c) 1986 Taito Corporation */
- DRIVER( bronx ) /* bootleg */
- DRIVER( colt ) /* bootleg */
- DRIVER( ksayakyu ) /* ??? (c) 1985 Taito Corporation */
- DRIVER( benberob ) /* A26 */
- DRIVER( halleys ) /* A62 (c) 1986 Taito America Corporation + Coin It (US) */
- DRIVER( halleysc ) /* A62 (c) 1986 Taito Corporation (Japan) */
- DRIVER( halleycj ) /* A62 (c) 1986 Taito Corporation (Japan) */
- DRIVER( halley87 ) /* A62 (c) 1986 Taito Corporation (Japan) */
- DRIVER( lsasquad ) /* A64 (c) 1986 Taito Corporation / Taito America (dip switch) */
- DRIVER( storming ) /* A64 (c) 1986 Taito Corporation */
- DRIVER( daikaiju ) /* A74 (c) 1986 Taito */
- DRIVER( tokio ) /* A71 1986 */
- DRIVER( tokioo ) /* A71 1986 */
- DRIVER( tokiou ) /* A71 1986 */
- DRIVER( tokiob ) /* bootleg */
- DRIVER( bublbobl ) /* A78 (c) 1986 Taito Corporation */
- DRIVER( bublbobl1 ) /* A78 (c) 1986 Taito Corporation */
- DRIVER( bublboblr ) /* A78 (c) 1986 Taito America Corporation + Romstar license */
- DRIVER( bublboblr1 )/* A78 (c) 1986 Taito America Corporation + Romstar license */
- DRIVER( boblbobl ) /* bootleg */
- DRIVER( sboblboa ) /* bootleg */
- DRIVER( sboblbob ) /* bootleg */
- DRIVER( bub68705 ) /* bootleg */
- DRIVER( dland ) /* bootleg */
- DRIVER( missb2 ) /* bootleg on enhanced hardware */
- DRIVER( bublpong ) /* bootleg on enhanced hardware */
- DRIVER( kikikai ) /* A85 (c) 1986 Taito Corporation */
- DRIVER( knightb ) /* bootleg */
- DRIVER( kicknrun ) /* A87 (c) 1986 Taito Corporation */
- DRIVER( kicknrunu ) /* A87 (c) 1986 Taito Corporation */
- DRIVER( mexico86 ) /* bootleg (Micro Research) */
- DRIVER( darius ) /* A96 (c) 1986 Taito Corporation Japan (World) */
- DRIVER( dariusj ) /* A96 (c) 1986 Taito Corporation (Japan) */
- DRIVER( dariuso ) /* A96 (c) 1986 Taito Corporation (Japan) */
- DRIVER( dariuse ) /* A96 (c) 1986 Taito Corporation (Japan) */
- DRIVER( rastan ) /* B04 (c) 1987 Taito Corporation Japan (World) */
- DRIVER( rastanu ) /* B04 (c) 1987 Taito America Corporation (US) */
- DRIVER( rastanu2 ) /* B04 (c) 1987 Taito America Corporation (US) */
- DRIVER( rastsaga ) /* B04 (c) 1987 Taito Corporation (Japan)*/
- DRIVER( rastsaga1 ) /* B04 (c) 1987 Taito Corporation (Japan)*/
- DRIVER( topspeed ) /* B14 (c) 1987 Taito Corporation Japan (World) */
- DRIVER( topspeedu ) /* B14 (c) 1987 Taito America Corporation (US) */
- DRIVER( fullthrl ) /* B14 (c) 1987 Taito Corporation (Japan) */
- DRIVER( opwolf ) /* B20 (c) 1987 Taito Corporation Japan (World) */
- DRIVER( opwolfa ) /* B20 (c) 1987 Taito Corporation Japan (World) */
- DRIVER( opwolfj ) /* B20 (c) 1987 Taito Corporation (Japan) */
- DRIVER( opwolfu ) /* B20 (c) 1987 Taito America Corporation (US) */
- DRIVER( opwolfb ) /* bootleg */
- DRIVER( othunder ) /* B67 (c) 1988 Taito Corporation Japan (World) */
- DRIVER( othunderu ) /* B67 (c) 1988 Taito America Corporation (US) */
- DRIVER( othunderuo ) /* B67 (c) 1988 Taito America Corporation (US) */
- DRIVER( othunderj ) /* B67 (c) 1988 Taito Corporation (Japan) */
- DRIVER( rainbow ) /* B22 (c) 1987 Taito Corporation */
- DRIVER( rainbowo ) /* B22 (c) 1987 Taito Corporation */
- DRIVER( rainbowe ) /* B39 (c) 1988 Taito Corporation */
- DRIVER( jumping ) /* bootleg */
- DRIVER( arkanoid ) /* A75 (c) 1986 Taito Corporation Japan (World) */
- DRIVER( arkanoidu ) /* A75 (c) 1986 Taito America Corporation + Romstar license (US) */
- DRIVER( arkanoiduo ) /* A75 (c) 1986 Taito America Corporation + Romstar license (US) */
- DRIVER( arkanoidj ) /* A75 (c) 1986 Taito Corporation (Japan) */
- DRIVER( arkmcubl ) /* bootleg */
- DRIVER( ark1ball ) /* bootleg */
- DRIVER( arkangc ) /* bootleg */
- DRIVER( arkangc2 ) /* bootleg */
- DRIVER( arkblock ) /* bootleg */
- DRIVER( arkbloc2 ) /* bootleg */
- DRIVER( arkbloc3 ) /* bootleg */
- DRIVER( arkgcbl ) /* bootleg */
- DRIVER( arkgcbla ) /* bootleg */
- DRIVER( paddle2 ) /* bootleg */
- DRIVER( block2 ) /* bootleg */
- DRIVER( arkatayt ) /* bootleg */
- DRIVER( arktayt2 ) /* bootleg */
- DRIVER( arkatour ) /* ??? (c) 1987 Taito America Corporation + Romstar license (US) */
- DRIVER( tetrsark ) /* ??? (c) D.R.Korea */
- DRIVER( hexa ) /* D. R. Korea */
- DRIVER( sqix ) /* B03 1987 */
- DRIVER( sqixr1 ) /* B03 1987 */
- DRIVER( sqixu ) /* B03 1987 */
- DRIVER( sqixb1 ) /* bootleg? but (c) 1987 */
- DRIVER( sqixb2 ) /* bootleg? but (c) 1987 */
- DRIVER( perestro ) /* (c) 1994 Promat */
- DRIVER( perestrof ) /* (c) 1993 Promat / Fuuki */
- DRIVER( pbillian ) /* (c) 1986 Taito */
- DRIVER( hotsmash ) /* B18 (c) 1987 Taito */
- DRIVER( exzisus ) /* B12 (c) 1987 Taito Corporation (Japan) */
- DRIVER( exzisusa ) /* B23 (c) 1987 Taito Corporation (Japan) */
- DRIVER( minivadr ) /* D26 cabinet test board */
- DRIVER( volfied ) /* C04 (c) 1989 Taito Corporation Japan (World) */
- DRIVER( volfiedu ) /* C04 (c) 1989 Taito America Corporation (US) */
- DRIVER( volfiedj ) /* C04 (c) 1989 Taito Corporation (Japan) */
- DRIVER( volfiedjo ) /* C04 (c) 1989 Taito Corporation (Japan) */
- DRIVER( bonzeadv ) /* B41 (c) 1988 Taito Corporation Japan (World) */
- DRIVER( bonzeadvo ) /* B41 (c) 1988 Taito Corporation Japan (World) */
- DRIVER( bonzeadvu ) /* B41 (c) 1988 Taito America Corporation (US) */
- DRIVER( jigkmgri ) /* B41 (c) 1988 Taito Corporation (Japan)*/
- DRIVER( asuka ) /* B68 (c) 1988 Taito Corporation (World) */
- DRIVER( asukaj ) /* B68 (c) 1988 Taito Corporation (Japan) */
- DRIVER( mofflott ) /* C17 (c) 1989 Taito Corporation (Japan) */
- DRIVER( cadash ) /* C21 (c) 1989 Taito Corporation Japan */
- DRIVER( cadashj ) /* C21 (c) 1989 Taito Corporation */
- DRIVER( cadashu ) /* C21 (c) 1989 Taito America Corporation */
- DRIVER( cadashi ) /* C21 (c) 1989 Taito Corporation Japan */
- DRIVER( cadashf ) /* C21 (c) 1989 Taito Corporation Japan */
- DRIVER( cadashg ) /* C21 (c) 1989 Taito Corporation Japan */
- DRIVER( parentj ) /* C42 (c) 199? Taito */
- DRIVER( galmedes ) /* (c) 1992 Visco (Japan) */
- DRIVER( earthjkr ) /* (c) 1993 Visco (Japan) */
- DRIVER( eto ) /* (c) 1994 Visco (Japan) */
- DRIVER( wgp ) /* C32 (c) 1989 Taito America Corporation (US) */
- DRIVER( wgpj ) /* C32 (c) 1989 Taito Corporation (Japan) */
- DRIVER( wgpjoy ) /* C32 (c) 1989 Taito Corporation (Japan) */
- DRIVER( wgpjoya ) /* C32 (c) 1989 Taito Corporation (Japan) */
- DRIVER( wgp2 ) /* C73 (c) 1990 Taito Corporation (Japan) */
- DRIVER( galastrm ) /* C99 (c) 1992 Taito Corporation */
- DRIVER( slapshot ) /* D71 (c) 1994 Taito Corporation (Japan) */
- DRIVER( opwolf3 ) /* D74 (c) 1994 Taito */
- DRIVER( opwolf3u ) /* D74 (c) 1994 Taito */
- DRIVER( scessjoe ) /* ??? (c) 1990 Wave / Taito */
- DRIVER( ashnojoe ) /* ??? (c) 1990 Wave / Taito */
-
- /* Taito multi-screen games */
- DRIVER( ninjaw ) /* B31 (c) 1987 Taito Corporation Japan (World) */
- DRIVER( ninjawj ) /* B31 (c) 1987 Taito Corporation (Japan) */
- DRIVER( darius2 ) /* C07 (c) 1989 Taito Corporation (Japan) */
- DRIVER( darius2d ) /* C07 (c) 1989 Taito Corporation (Japan) */
- DRIVER( darius2do ) /* C07 (c) 1989 Taito Corporation (Japan) */
- DRIVER( warriorb ) /* D24 (c) 1991 Taito Corporation (Japan) */
-
- /* Taito "X"-system games */
- DRIVER( superman ) /* B61 (c) 1988 Taito Corporation */
- DRIVER( supermanj ) /* B61 (c) 1988 Taito Corporation */
- DRIVER( twinhawk ) /* B87 (c) 1989 Taito Corporation Japan (World) */
- DRIVER( twinhawku ) /* B87 (c) 1989 Taito America Corporation (US) */
- DRIVER( daisenpu ) /* B87 (c) 1989 Taito Corporation (Japan) */
- DRIVER( gigandes ) /* (c) 1989 East Technology */
- DRIVER( gigandesj ) /* (c) 1989 East Technology */
- DRIVER( kyustrkr ) /* (c) 1989 East Technology */
- DRIVER( ballbros ) /* no copyright notice */
-
- /* Taito "tnzs" (Seta) hardware */
- DRIVER( plumppop ) /* A98 (c) 1987 Taito Corporation (Japan) */
- DRIVER( jpopnics ) /* (c)1992 NICs, based on Plump Pop code */
- DRIVER( extrmatn ) /* B06 (c) 1987 Taito Corporation Japan (World) */
- DRIVER( extrmatnu ) /* B06 (c) 1987 World Games */
- DRIVER( extrmatnj ) /* B06 (c) 1987 Taito Corporation (Japan)*/
- DRIVER( arknoid2 ) /* B08 (c) 1987 Taito Corporation Japan (World) */
- DRIVER( arknoid2u ) /* B08 (c) 1987 Taito America Corporation + Romstar license (US) */
- DRIVER( arknoid2j ) /* B08 (c) 1987 Taito Corporation (Japan) */
- DRIVER( drtoppel ) /* B19 (c) 1987 Taito Corporation Japan (World) */
- DRIVER( drtoppelu ) /* B19 (c) 1987 Taito Corporation (US) */
- DRIVER( drtoppelj ) /* B19 (c) 1987 Taito Corporation (Japan) */
- DRIVER( kageki ) /* B35 (c) 1988 Taito America Corporation + Romstar license (US) */
- DRIVER( kagekij ) /* B35 (c) 1988 Taito Corporation (Japan) */
- DRIVER( kagekih ) /* B35 (c) 1992 (hack) */
- DRIVER( chukatai ) /* B44 (c) 1988 Taito Corporation Japan (World) */
- DRIVER( chukataiu ) /* B44 (c) 1988 Taito Corporation (US) */
- DRIVER( chukataij ) /* B44 (c) 1988 Taito Corporation (Japan) */
- DRIVER( kabukiz ) /* B50 (c) 1988 Taito Corporation Japan (World) */
- DRIVER( kabukizj ) /* B50 (c) 1988 Taito Corporation (Japan) */
- DRIVER( tnzs ) /* B53 (c) 1988 Taito Corporation Japan (World) (new logo) */
- DRIVER( tnzsj ) /* B53 (c) 1988 Taito Corporation (Japan) (new logo) */
- DRIVER( tnzsjo ) /* B53 (c) 1988 Taito Corporation (Japan) (new logo) */
- DRIVER( tnzso ) /* B53 (c) 1988 Taito Corporation Japan (World) (old logo) */
- DRIVER( tnzsop ) /* B53?(c) 1988 Taito Corporation Japan (World) (old logo) */
- DRIVER( insectx ) /* B97 (c) 1989 Taito Corporation Japan (World) */
- DRIVER( insectxj ) /* B97 (c) 1989 Taito Corporation (Japan) */
- DRIVER( cchance ) /* (c)1987 Taito? */
- DRIVER( champbwl ) /* (c)1989 Romstar. not Taito, but the same Seta video chips */
-
- /* Taito L-System games */
- DRIVER( raimais ) /* B36 (c) 1988 Taito Corporation (Japan) */
- DRIVER( raimaisj ) /* B36 (c) 1988 Taito Corporation */
- DRIVER( raimaisjo ) /* B36 (c) 1988 Taito Corporation */
- DRIVER( kurikint ) /* B42 (c) 1988 Taito Corporation Japan (World) */
- DRIVER( kurikintu ) /* B42 (c) 1988 Taito America Corporation (US) */
- DRIVER( kurikintj ) /* B42 (c) 1988 Taito Corporation (Japan) */
- DRIVER( kurikinta ) /* B42 (c) 1988 Taito Corporation Japan (World) */
- DRIVER( evilston ) /* C67 (c) 1990 Spacy Industrial, Ltd */
- DRIVER( fhawk ) /* B70 (c) 1988 Taito Corporation Japan (World) */
- DRIVER( fhawkj ) /* B70 (c) 1988 Taito Corporation (Japan) */
- DRIVER( plotting ) /* B96 (c) 1989 Taito Corporation Japan (World) */
- DRIVER( plottingu ) /* B96 (c) 1989 Taito Corporation Japan (US) */
- DRIVER( plottinga ) /* B96 (c) 1989 Taito Corporation Japan (World) */
- DRIVER( plottingb ) /* B96 (c) 1989 Taito Corporation Japan (World) */
- DRIVER( flipull ) /* B96 (c) 1989 Taito Corporation Japan (World) */
- DRIVER( champwr ) /* C01 (c) 1989 Taito Corporation Japan (World) */
- DRIVER( champwru ) /* C01 (c) 1989 Taito America Corporation (US) */
- DRIVER( champwrj ) /* C01 (c) 1989 Taito Corporation (Japan) */
- DRIVER( puzznic ) /* C20 (c) 1989 Taito Corporation (Japan) */
- DRIVER( puzznicj ) /* C20 (c) 1989 Taito Corporation (Japan) */
- DRIVER( puzznici ) /* C20 (c) 1989 Taito Corporation (Japan) */
- DRIVER( horshoes ) /* C47 (c) 1990 Taito America Corporation (US) */
- DRIVER( palamed ) /* C63 (c) 1990 Taito Corporation (Japan) */
- DRIVER( cachat ) /* ??? (c) 1993 Taito Corporation (Japan) */
- DRIVER( tubeit ) /* ??? no copyright message */
- DRIVER( cubybop ) /* ??? no copyright message */
- DRIVER( plgirls ) /* (c) 1992 Hot-B. */
- DRIVER( plgirls2 ) /* (c) 1993 Hot-B. */
- DRIVER( lagirl ) /* plgirls bootleg? */
-
- /* Taito H-System games */
- DRIVER( syvalion ) /* B51 (c) 1988 Taito Corporation (Japan) */
- DRIVER( recordbr ) /* B56 (c) 1988 Taito Corporation Japan (World) */
- DRIVER( gogold ) /* B56 (c) 1988 Taito Corporation (Japan) */
- DRIVER( dleague ) /* C02 (c) 1990 Taito Corporation (Japan) */
-
- /* Taito B-System games */
- DRIVER( masterw ) /* B72 (c) 1989 Taito Corporation Japan (World) */
- DRIVER( masterwu ) /* B72 (c) 1989 Taito America Corporation (US) */
- DRIVER( masterwj ) /* B72 (c) 1989 Taito Corporation (Japan) */
- DRIVER( nastar ) /* B81 (c) 1988 Taito Corporation Japan (World) */
- DRIVER( nastarw ) /* B81 (c) 1988 Taito America Corporation (US) */
- DRIVER( rastsag2 ) /* B81 (c) 1988 Taito Corporation (Japan) */
- DRIVER( rambo3 ) /* B93 (c) 1989 Taito Europe Corporation (Europe) */
- DRIVER( rambo3ae ) /* B93 (c) 1989 Taito Europe Corporation (Europe) */
- DRIVER( rambo3a ) /* B93 (c) 1989 Taito America Corporation (US) */
- DRIVER( crimec ) /* B99 (c) 1989 Taito Corporation Japan (World) */
- DRIVER( crimecu ) /* B99 (c) 1989 Taito America Corporation (US) */
- DRIVER( crimecj ) /* B99 (c) 1989 Taito Corporation (Japan) */
- DRIVER( tetrist ) /* C12 (c) 1989 Sega Enterprises,Ltd. (Japan) */
- DRIVER( tetrista ) /* C35 (c) 1989 Sega Enterprises,Ltd. (Japan) */
- DRIVER( viofight ) /* C16 (c) 1989 Taito Corporation Japan (World) */
- DRIVER( viofightu ) /* C16 (c) 1989 Taito America Corporation (US) */
- DRIVER( viofightj ) /* C16 (c) 1989 Taito Corporation (Japan) */
- DRIVER( ashura ) /* C43 (c) 1990 Taito Corporation Japan (World) */
- DRIVER( ashuraj ) /* C43 (c) 1990 Taito Corporation (Japan) */
- DRIVER( ashurau ) /* C43 (c) 1990 Taito America Corporation (US) */
- DRIVER( hitice ) /* C59 (c) 1990 Williams (US) */
- DRIVER( hiticej ) /* C59 (c) 1990 Midway/Taito Corporation (Japan) */
- DRIVER( sbm ) /* C69 (c) 1990 Taito Corporation (Japan) */
- DRIVER( selfeena ) /* ??? (c) 1991 East Technology */
- DRIVER( silentd ) /* ??? (c) 1992 Taito Corporation Japan (World) */
- DRIVER( silentdu ) /* ??? (c) 1992 Taito Corporation Japan (World) */
- DRIVER( silentdj ) /* ??? (c) 1992 Taito Corporation (Japan) */
- DRIVER( ryujin ) /* ??? (c) 1993 Taito Corporation (Japan) */
- DRIVER( qzshowby ) /* D72 (c) 1993 Taito Corporation (Japan) */
- DRIVER( pbobble ) /* ??? (c) 1994 Taito Corporation (Japan) */
- DRIVER( spacedx ) /* D89 (c) 1994 Taito Corporation (US) */
- DRIVER( spacedxj ) /* D89 (c) 1994 Taito Corporation (Japan) */
- DRIVER( spacedxo ) /* D89 (c) 1994 Taito Corporation (Japan) */
-
- /* Taito Z-System games */
- DRIVER( contcirc ) /* B33 (c) 1987 Taito Corporation Japan (World) */
- DRIVER( contcircu ) /* B33 (c) 1987 Taito America Corporation (US) */
- DRIVER( contcircua ) /* B33 (c) 1987 Taito America Corporation (US) */
- DRIVER( chasehq ) /* B52 (c) 1988 Taito Corporation Japan (World) */
- DRIVER( chasehqj ) /* B52 (c) 1988 Taito Corporation (Japan) */
- DRIVER( chasehqu ) /* B52 (c) 1988 Taito America Corporation (US) */
- DRIVER( enforce ) /* B58 (c) 1988 Taito Corporation (Japan) */
- DRIVER( nightstr ) /* B91 (c) 1989 Taito Corporation Japan (World) */
- DRIVER( nightstrj ) /* B91 (c) 1989 Taito Corporation (Japan) */
- DRIVER( nightstru ) /* B91 (c) 1989 Taito America Corporation (US) */
- DRIVER( sci ) /* C09 (c) 1989 Taito Corporation Japan (World) */
- DRIVER( scia ) /* C09 (c) 1989 Taito Corporation Japan (World) */
- DRIVER( scij ) /* C09 (c) 1989 Taito Corporation Japan (World) */
- DRIVER( sciu ) /* C09 (c) 1989 Taito America Corporation (US) */
- DRIVER( scin ) /* C09 (c) 1991 Taito Corporation Japan (Negro Torino hack) */
- DRIVER( bshark ) /* C34 (c) 1989 Taito America Corporation (US) */
- DRIVER( bsharkj ) /* C34 (c) 1989 Taito Corporation (Japan) */
- DRIVER( aquajack ) /* B77 (c) 1990 Taito Corporation Japan (World) */
- DRIVER( aquajackj ) /* B77 (c) 1990 Taito Corporation (Japan) */
- DRIVER( spacegun ) /* C57 (c) 1990 Taito Corporation Japan (World) */
- DRIVER( dblaxle ) /* C78 (c) 1991 Taito America Corporation (US) */
- DRIVER( pwheelsj ) /* C78 (c) 1991 Taito Corporation (Japan) */
- DRIVER( racingb ) /* C84 (c) 1991 Taito Coropration .. */
-
- /* Taito Air System games */
- DRIVER( topland ) /* B62 (c) 1988 Taito Coporation Japan (World) */
- DRIVER( ainferno ) /* C45 (c) 1990 Taito America Corporation (US) */
-
- DRIVER( mlanding ) /* ??? (c) 1990 Taito America Corporation (US) */
-
- /* enhanced Z-System hardware games */
- DRIVER( gunbustr ) /* D27 (c) 1992 Taito Corporation (Japan) */
- DRIVER( superchs ) /* D46 (c) 1992 Taito America Corporation (US) */
- DRIVER( groundfx ) /* D51 (c) 1992 Taito Coporation */
- DRIVER( undrfire ) /* D67 (c) 1993 Taito Coporation Japan (World) */
- DRIVER( undrfireu ) /* D67 (c) 1993 Taito America Corporation (US) */
- DRIVER( undrfirej ) /* D67 (c) 1993 Taito Coporation (Japan) */
- DRIVER( cbombers )
-
- /* Taito F2 games */
- DRIVER( finalb ) /* 1989.?? B82 (c) 1988 Taito Corporation Japan (World) */
- DRIVER( finalbj ) /* 1989.04 B82 (c) 1988 Taito Corporation (Japan) */
- DRIVER( finalbu ) /* 1989.06 B82 (c) 1988 Taito America Corporation (US) */
- DRIVER( dondokod ) /* 1989.?? B95 (c) 1989 Taito Corporation Japan (World) */
- DRIVER( dondokodu ) /* 1989.?? B95 (c) 1989 Taito America Corporation (US) */
- DRIVER( dondokodj ) /* 1989.07 B95 (c) 1989 Taito Corporation (Japan) */
- DRIVER( megablst ) /* 1989.?? C11 (c) 1989 Taito Corporation Japan (World) */
- DRIVER( megablstu ) /* 1989.?? C11 (c) 1989 Taito America Corporation (US) */
- DRIVER( megablstj ) /* 1989.11 C11 (c) 1989 Taito Corporation (Japan) */
- DRIVER( thundfox ) /* 1990.?? C28 (c) 1990 Taito Corporation Japan (World) */
- DRIVER( thundfoxu ) /* 1990.06 C28 (c) 1990 Taito America Corporation (US) */
- DRIVER( thundfoxj ) /* 1990.07 C28 (c) 1990 Taito Corporation (Japan) */
- DRIVER( cameltry ) /* 1990.?? C38 (c) 1989 Taito America Corporation (US) */
- DRIVER( cameltrya ) /* 1990.?? C38 (c) 1989 Taito America Corporation (US) */
- DRIVER( cameltryau ) /* 1990.?? C38 (c) 1989 Taito America Corporation (US) */
- DRIVER( cameltryj ) /* 1990.04 C38 (c) 1989 Taito Corporation (Japan) */
- DRIVER( qtorimon ) /* 1990.02 C41 (c) 1990 Taito Corporation (Japan) */
- DRIVER( liquidk ) /* 1990.?? C49 (c) 1990 Taito Corporation Japan (World) */
- DRIVER( liquidku ) /* 1990.?? C49 (c) 1990 Taito America Corporation (US) */
- DRIVER( mizubaku ) /* 1990.08 C49 (c) 1990 Taito Corporation (Japan) */
- DRIVER( quizhq ) /* 1990.07 C53 (c) 1990 Taito Corporation (Japan) */
- DRIVER( ssi ) /* 1990.?? C64 (c) 1990 Taito Corporation Japan (World) */
- DRIVER( ssia ) /* 1990.?? C64 (c) 1990 Taito Corporation Japan (World) */
- DRIVER( majest12 ) /* 1990.11 C64 (c) 1990 Taito Corporation (Japan) */
- /* 1990.12 C64 (US) */
- DRIVER( gunfront ) /* 1991.?? C71 (c) 1990 Taito Corporation Japan (World) */
- DRIVER( gunfrontj ) /* 1991.01 C71 (c) 1990 Taito Corporation (Japan) */
- DRIVER( growl ) /* 1991.?? C74 (c) 1990 Taito Corporation Japan (World) */
- DRIVER( growlu ) /* 1991.02 C74 (c) 1990 Taito America Corporation (US) */
- DRIVER( runark ) /* 1991.02 C74 (c) 1990 Taito Corporation (Japan) */
- DRIVER( mjnquest ) /* 1991.05 C77 (c) 1990 Taito Corporation (Japan) */
- DRIVER( mjnquestb ) /* 1991.05 C77 (c) 1990 Taito Corporation (Japan) */
- DRIVER( footchmp ) /* 1991.?? C80 (c) 1990 Taito Corporation Japan (World) */
- DRIVER( footchmpbl )/* bootleg */
- DRIVER( hthero ) /* 1991.03 C80 (c) 1990 Taito Corporation (Japan) */
- DRIVER( euroch92 ) /* 1991.?? (c) 1992 Taito Corporation Japan (World) */
- DRIVER( koshien ) /* 1991.04 C81 (c) 1990 Taito Corporation (Japan) */
- DRIVER( yuyugogo ) /* 1991.03 C83 (c) 1990 Taito Corporation (Japan) */
- DRIVER( ninjak ) /* 1991.?? C85 (c) 1990 Taito Corporation Japan (World) */
- DRIVER( ninjakj ) /* 1991.04 C85 (c) 1990 Taito Corporation (Japan) */
- DRIVER( ninjaku ) /* 1991.03 C85 (c) 1990 Taito Corporation (Japan) */
- DRIVER( solfigtr ) /* 1991.?? C91 (c) 1991 Taito Corporation Japan (World) */
- DRIVER( qzquest ) /* 1991.07 C92 (c) 1991 Taito Corporation (Japan) */
- DRIVER( pulirula ) /* 1991.?? C98 (c) 1991 Taito Corporation Japan (World) */
- DRIVER( pulirulaj ) /* 1991.11 C98 (c) 1991 Taito Corporation (Japan) */
- DRIVER( metalb ) /* 1991.?? D16? (c) 1991 Taito Corporation Japan (World) */
- DRIVER( metalbj ) /* 1991.11 D12 (c) 1991 Taito Corporation (Japan) */
- DRIVER( qzchikyu ) /* 1992.02 D19 (c) 1991 Taito Corporation (Japan) */
- DRIVER( yesnoj ) /* 1992.03 D20 (c) 1992 Taito Corporation (Japan) */
- DRIVER( deadconx ) /* 1992.?? D28 (c) 1992 Taito Corporation Japan (World) */
- DRIVER( deadconxj ) /* 1992.08 D28 (c) 1992 Taito Corporation (Japan) */
- DRIVER( dinorex ) /* 1992.?? D39 (c) 1992 Taito Corporation Japan (World) */
- DRIVER( dinorexj ) /* 1992.11 D39 (c) 1992 Taito Corporation (Japan) */
- DRIVER( dinorexu ) /* 1992.?? D39 (c) 1992 Taito America Corporation (US) */
- DRIVER( qjinsei ) /* 1993.03 D48 (c) 1992 Taito Corporation (Japan) */
- DRIVER( qcrayon ) /* 1993.08 D55 (c) 1993 Taito Corporation (Japan) */
- DRIVER( qcrayon2 ) /* 1994.01 D63 (c) 1993 Taito Corporation (Japan) */
- DRIVER( driftout ) /* 1991.10 (c) 1991 Visco */
- DRIVER( driveout ) /* bootleg */
-
- /* Taito F3 games */
- DRIVER( ringrage ) /* 1992.?? D21 (c) 1992 Taito Corporation Japan (World) */
- DRIVER( ringragej ) /* 1992.09 D21 (c) 1992 Taito Corporation (Japan) */
- DRIVER( ringrageu ) /* 1992.02 D21 (c) 1992 Taito America Corporation (US) */
- DRIVER( arabianm ) /* 1992.?? D29 (c) 1992 Taito Corporation Japan (World) */
- DRIVER( arabianmj ) /* 1992.09 D29 (c) 1992 Taito Corporation (Japan) */
- DRIVER( arabianmu ) /* 1992.10 D29 (c) 1992 Taito America Corporation (US) */
- DRIVER( ridingf ) /* 1992.?? D34 (c) 1992 Taito Corporation Japan (World) */
- DRIVER( ridingfj ) /* 1992.12 D34 (c) 1992 Taito Corporation (Japan) */
- DRIVER( ridingfu ) /* 1992.?? D34 (c) 1992 Taito America Corporation (US) */
- DRIVER( gseeker ) /* 1992.?? D40 (c) 1992 Taito Corporation Japan (World) */
- DRIVER( gseekerj ) /* 1992.12 D40 (c) 1992 Taito Corporation (Japan) */
- DRIVER( gseekeru ) /* 1992.?? D40 (c) 1992 Taito America Corporation (US) */
- DRIVER( hthero93 ) /* 1993.03 D49 (c) 1992 Taito Corporation (Japan) */
- /* 1993.04 D49 (US) */
- DRIVER( cupfinal ) /* 1993.?? D49 (c) 1993 Taito Corporation Japan (World) */
- DRIVER( trstar ) /* 1993.?? D53 (c) 1993 Taito Corporation Japan (World) */
- DRIVER( trstarj ) /* 1993.07 D53 (c) 1993 Taito Corporation (Japan) */
- DRIVER( prmtmfgt ) /* 1993.08 D53 (c) 1993 Taito Corporation (US) */
- DRIVER( prmtmfgto ) /* 1993.08 D53 (c) 1993 Taito Corporation (US) */
- DRIVER( trstaro ) /* 1993.?? D53 (c) 1993 Taito Corporation (World) */
- DRIVER( trstaroj ) /* 1993.07 D53 (c) 1993 Taito Corporation (Japan) */
- DRIVER( gunlock ) /* 1994.?? D66 (c) 1993 Taito Corporation Japan (World) */
- DRIVER( rayforcej ) /* 1994.02 D66 (c) 1993 Taito Corporation (Japan) */
- DRIVER( rayforce ) /* 1994.?? D66 (c) 1993 Taito America Corporation (US) */
- DRIVER( scfinals ) /* 1994.?? D68 (c) 1993 Taito Corporation Japan (World) */
- DRIVER( intcup94 ) /* 1994.?? D78 (c) 1994 Taito (World) */
- DRIVER( hthero94 ) /* 1994.09 D78 (c) 1994 Taito (US) */
- DRIVER( lightbr ) /* 1994.03 D69 (c) 1993 Taito Corporation Japan (World) */
- DRIVER( lightbrj ) /* 1994.03 D69 (c) 1993 Taito Corporation (Japan) */
- DRIVER( dungeonm ) /* 1994.?? D69 (c) 1993 Taito Corporation Japan (World) */
- DRIVER( dungeonmu ) /* 1994.?? D69 (c) 1993 Taito America Corporation (US) */
- DRIVER( kaiserkn ) /* 1994.?? D84 (c) 1994 Taito Corporation Japan (World) */
- DRIVER( kaiserknj ) /* 1994.08 D84 (c) 1994 Taito Corporation (Japan) */
- DRIVER( gblchmp ) /* 1994.10 D84 (c) 1994 Taito America Corporation (US) */
- DRIVER( dankuga ) /* 1994.?? D84? (c) 1994 Taito Corporation (Japan) */
- DRIVER( dariusg ) /* 1994.?? D87 (c) 1994 Taito Corporation Japan (World) */
- DRIVER( dariusgj ) /* 1994.09 D87 (c) 1994 Taito Corporation (Japan) */
- DRIVER( dariusgu ) /* 1994.11 D87 (c) 1994 Taito America Corporation (US) */
- DRIVER( dariusgx ) /* 1994.?? D87 (c) 1994 Taito Corporation */
- DRIVER( bublbob2 ) /* 1994.?? D90 (c) 1994 Taito Corporation Japan (World) */
- DRIVER( bubsymphe ) /* 1994.?? D90 (c) 1994 Taito Corporation Japan (Europe) */
- DRIVER( bubsymphu ) /* 1994.10 D90 (c) 1994 Taito America Corporation (US) */
- DRIVER( bubsymphj ) /* 1994.10 D90 (c) 1994 Taito Corporation (Japan) */
- DRIVER( bubsymphb ) /* bootleg */
- DRIVER( spcinvdj ) /* 1994.09 D93 (c) 1994 Taito Corporation (Japan) */
- DRIVER( pwrgoal ) /* 1994.?? D94 (c) 1995 Taito Corporation Japan (World) */
- DRIVER( hthero95 ) /* 1994.11 D94 (c) 1995 Taito Corporation (Japan) */
- DRIVER( hthero95u ) /* 1995.05 D94 (c) 1995 Taito America Corporation (US) */
- DRIVER( qtheater ) /* 1995.01 D95 (c) 1994 Taito Corporation (Japan) */
- DRIVER( elvactr ) /* 1995.?? E02 (c) 1994 Taito Corporation Japan (World) */
- DRIVER( elvactrj ) /* 1995.03 E02 (c) 1994 Taito Corporation (Japan) */
- DRIVER( elvact2u ) /* 1995.05 E02 (c) 1994 Taito America Corporation (US) */
- DRIVER( spcinv95 ) /* 1995.?? E06 (c) 1995 Taito Corporation Japan (World) */
- DRIVER( spcinv95u ) /* 1995.05 E06 (c) 1995 Taito America Corporation (US) */
- DRIVER( akkanvdr ) /* 1995.07 E06 (c) 1995 Taito Corporation (Japan) */
- DRIVER( twinqix ) /* 1995.03 ??? (c) 1995 Taito America Corporation (US) */
- DRIVER( quizhuhu ) /* 1995.07 E08 (c) 1995 Taito Corporation (Japan) */
- DRIVER( pbobble2 ) /* 1995.?? E10 (c) 1995 Taito Corporation Japan (World) */
- DRIVER( pbobble2o ) /* 1995.?? E10 (c) 1995 Taito Corporation Japan (World) */
- DRIVER( pbobble2j ) /* 1995.09 E10 (c) 1995 Taito Corporation (Japan) */
- DRIVER( pbobble2u ) /* 1995.11 E10 (c) 1995 Taito America Corporation (US) */
- DRIVER( pbobble2x ) /* 1995.12 E10 (c) 1995 Taito Corporation (Japan) */
- DRIVER( gekiridn ) /* 1995.11 E11 (c) 1995 Taito Corporation Japan (World) */
- DRIVER( gekiridnj ) /* 1995.11 E11 (c) 1995 Taito Corporation (Japan) */
- DRIVER( tcobra2 ) /* 1996.?? E15 (c) 1995 Taito Corporation (World) */
- DRIVER( tcobra2u ) /* 1996.?? E15 (c) 1995 Taito Corporation (US) */
- DRIVER( ktiger2 ) /* 1996.02 E15 (c) 1995 Taito Corporation (Japan) */
- DRIVER( bubblem ) /* 1996.?? E21 (c) 1995 Taito Corporation Japan (World) */
- DRIVER( bubblemj ) /* 1996.04 E21 (c) 1995 Taito Corporation (Japan) */
- DRIVER( cleopatr ) /* 1996.10 E28 (c) 1996 Taito Corporation (Japan) */
- DRIVER( pbobble3 ) /* 1996.?? E29 (c) 1996 Taito Corporation (World) */
- DRIVER( pbobble3u ) /* 1996.11 E29 (c) 1996 Taito Corporation (US) */
- DRIVER( pbobble3j ) /* 1996.11 E29 (c) 1996 Taito Corporation (Japan) */
- DRIVER( arkretrn ) /* 1997.03 E36 (c) 1997 Taito Corporation (Japan) */
- DRIVER( kirameki ) /* 1997.09 E44 (c) 1997 Taito Corporation (Japan) */
- DRIVER( puchicar ) /* 1997.?? E46 (c) 1997 Taito Corporation (World) */
- DRIVER( puchicarj ) /* 1997.12 E46 (c) 1997 Taito Corporation (Japan) */
- DRIVER( pbobble4 ) /* 1998.?? E49 (c) 1997 Taito Corporation (World) */
- DRIVER( pbobble4j ) /* 1998.02 E49 (c) 1997 Taito Corporation (Japan) */
- DRIVER( pbobble4u ) /* 1998.?? E49 (c) 1997 Taito Corporation (US) */
- DRIVER( popnpop ) /* 1998.?? E51 (c) 1997 Taito Corporation (World) */
- DRIVER( popnpopj ) /* 1998.03 E51 (c) 1997 Taito Corporation (Japan) */
- DRIVER( popnpopu ) /* 1998.?? E51 (c) 1997 Taito Corporation (US) */
- DRIVER( landmakr ) /* 1998.08 E61 (c) 1998 Taito Corporation (Japan) */
- DRIVER( landmakrp ) /* 1998.?? E61 (c) 1998 Taito Corporation (World, prototype) */
- DRIVER( recalh ) /* prototype */
- DRIVER( commandw ) /* prototype */
-
- /* Taito JC System */
- DRIVER( dangcurv ) /* 1995.?? E09 (c) 1995 Taito Corporation */
- /* 1995.07 (Japan) */
- /* 1995.10 (US) */
- DRIVER( landgear ) /* 1996.?? E17 (c) 1995 Taito Corporation Japan (World) */
- /* 1996.03 (Japan) */
- DRIVER( sidebs ) /* 1996.07 E23 (c) 1996 Taito Corporation (Japan) */
- DRIVER( dendeg ) /* 1997.03 E35 (c) 1996 Taito Corporation (Japan) */
- DRIVER( sidebs2j ) /* 1997.07 E38 (c) 1997 Taito Corporation (Japan) */
- DRIVER( sidebs2 ) /* 1997.?? E38 (c) 1997 Taito Corporation (Japan) */
- DRIVER( dendegx ) /* 1997.09 E35 (c) 1996 Taito Corporation (Japan) */
- DRIVER( dendeg2 ) /* 1998.03 E52 (c) 1998 Taito Corporation (Japan) */
- DRIVER( dendeg2x ) /* 1998.08 E52 (c) 1998 Taito Corporation (Japan) */
-
- /* Taito "Wolf" System */
- DRIVER( pf2012 ) /* E59 (c) 1997 Taito */
-
- /* Taito PPC JC System */
- DRIVER( optiger ) /* 1998.09 E63 (c) 1998 Taito */
-
- /* Taito Type-Zero System */
- DRIVER( taitotz )
- DRIVER( batlgear ) /* E68 (c) 1999 Taito */
- DRIVER( landhigh ) /* E82 (c) 1999 Taito */
- DRIVER( batlgr2 ) /* E87 (c) 2000 Taito */
-
- /* Toaplan games */
- DRIVER( perfrman ) /* (c) 1985 Data East Corporation (Japan) */
- DRIVER( perfrmanu ) /* (c) 1985 Data East USA (US) */
- DRIVER( tigerh ) /* A47 (c) 1985 Taito America Corporation GX-551 [not a Konami board!] */
- DRIVER( tigerhj ) /* A47 (c) 1985 Taito Corporation GX-551 [not a Konami board!] */
- DRIVER( tigerhb1 ) /* bootleg but (c) 1985 Taito Corporation */
- DRIVER( tigerhb2 ) /* bootleg but (c) 1985 Taito Corporation */
- DRIVER( tigerhb3 ) /* bootleg but (c) 1985 Taito Corporation */
- DRIVER( alcon ) /* A77 / TP-??? */
- DRIVER( slapfigh ) /* A77 / TP-??? */
- DRIVER( slapfigha ) /* A76 / TP-??? */
- DRIVER( slapfighb1 ) /* bootleg but (c) 1986 Taito Corporation */
- DRIVER( slapfighb2 ) /* bootleg but (c) 1986 Taito Corporation */
- DRIVER( slapfighb3 ) /* bootleg but (c) 1986 Taito Corporation */
- DRIVER( getstar ) /* A68 (c) 1986 Taito Corporation */
- DRIVER( getstarj ) /* A68 (c) 1986 Taito Corporation */
- DRIVER( gtstarb1 ) /* GX-006 bootleg but (c) 1986 Taito Corporation */
- DRIVER( gtstarb2 ) /* GX-006 bootleg but (c) 1986 Taito Corporation */
- DRIVER( mjsister ) /* (c) 1986 Toaplan */
-
- DRIVER( fshark ) /* B02 / TP-007 (c) 1987 Taito Corporation (World) */
- DRIVER( skyshark ) /* B02 / TP-007 (c) 1987 Taito America Corporation + Romstar license (US) */
- DRIVER( hishouza ) /* B02 / TP-007 (c) 1987 Taito Corporation (Japan) */
- DRIVER( fsharkbt ) /* bootleg */
- DRIVER( wardner ) /* B25 / TP-009 (c) 1987 Taito Corporation Japan (World) */
- DRIVER( pyros ) /* B25 / TP-009 (c) 1987 Taito America Corporation (US) */
- DRIVER( wardnerj ) /* B25 / TP-009 (c) 1987 Taito Corporation (Japan) */
- DRIVER( twincobr ) /* B30 / TP-011 (c) 1987 Taito Corporation (World) */
- DRIVER( twincobru ) /* B30 / TP-011 (c) 1987 Taito America Corporation + Romstar license (US) */
- DRIVER( ktiger ) /* B30 / TP-011 (c) 1987 Taito Corporation (Japan) */
- DRIVER( gulfwar2 ) /* (c) 1991 Comad */
-
- DRIVER( rallybik ) /* B45 / TP-O12 (c) 1988 Taito */
- DRIVER( truxton ) /* B65 / TP-O13B (c) 1988 Taito */
- DRIVER( hellfire ) /* B90 / TP-??? (c) 1989 Toaplan + Taito license */
- DRIVER( hellfire1 ) /* B90 / TP-??? (c) 1989 Toaplan + Taito license */
- DRIVER( hellfire2 ) /* B90 / TP-??? (c) 1989 Toaplan + Taito license */
- DRIVER( hellfire3 ) /* B90 / TP-??? (c) 1989 Toaplan + Taito license */
- DRIVER( zerowing ) /* TP-O15 (c) 1989 Toaplan */
- DRIVER( zerowing2 ) /* TP-O15 (c) 1989 Toaplan */
- DRIVER( demonwld ) /* TP-O16 (c) 1990 Toaplan (+ Taito license when set to Japan) */
- DRIVER( demonwld1 ) /* TP-O16 (c) 1989 Toaplan + Taito license */
- DRIVER( demonwld2 ) /* TP-O16 (c) 1989 Toaplan */
- DRIVER( demonwld3 ) /* TP-O16 (c) 1989 Toaplan */
- DRIVER( demonwld4 ) /* TP-O16 (c) 1989 Toaplan */
- DRIVER( fireshrk ) /* TP-O17 (c) 1990 Toaplan */
- DRIVER( fireshrkd ) /* TP-O17 (c) 1990 Toaplan */
- DRIVER( fireshrkdh ) /* TP-O17 (c) 1990 Toaplan */
- DRIVER( samesame ) /* TP-O17 (c) 1989 Toaplan */
- DRIVER( samesame2 ) /* TP-O17 (c) 1989 Toaplan */
- DRIVER( outzone ) /* TP-O18 (c) 1990 Toaplan */
- DRIVER( outzonea ) /* TP-O18 (c) 1990 Toaplan */
- DRIVER( outzoneb ) /* TP-O18 (c) 1990 Toaplan */
- DRIVER( outzonec ) /* TP-O18 (c) 1990 Toaplan */
- DRIVER( outzoned ) /* TP-O18 (c) 1990 Toaplan */
- DRIVER( vimana ) /* TP-O19 (c) 1991 Toaplan (+ Tecmo license when set to Japan) */
- DRIVER( vimana1 ) /* TP-O19 (c) 1991 Toaplan (+ Tecmo license when set to Japan) */
- DRIVER( vimanan ) /* TP-O19 (c) 1991 Toaplan (+ Nova Apparate GMBH & Co license) */
- DRIVER( snowbros ) /* MIN16-02 (c) 1990 Toaplan + Romstar license */
- DRIVER( snowbrosa ) /* MIN16-02 (c) 1990 Toaplan + Romstar license */
- DRIVER( snowbrosb ) /* MIN16-02 (c) 1990 Toaplan + Romstar license */
- DRIVER( snowbrosc ) /* MIN16-02 (c) 1990 Toaplan + Romstar license */
- DRIVER( snowbrosj ) /* MIN16-02 (c) 1990 Toaplan */
- DRIVER( snowbrosd ) /* MIN16-02 (c) 1990 Toaplan + Dooyong license */
- DRIVER( wintbob ) /* bootleg */
- DRIVER( honeydol ) /* (c) 1995 Barko Corp */
- DRIVER( twinadv ) /* (c) 1995 Barko Corp */
- DRIVER( twinadvk ) /* (c) 1995 Barko Corp */
- /* SemiCom games on snowbros like hardware */
- DRIVER( hyperpac ) /* (c) 1995 SemiCom */
- DRIVER( hyperpacb ) /* bootleg */
- DRIVER( toppyrap ) /* (c) 1996 SemiCom */
- DRIVER( cookbib2 ) /* (c) 1996 SemiCom */
- DRIVER( cookbib3 ) /* (c) 1997 SemiCom */
- DRIVER( twinkle ) /* (c) 1997 SemiCom */
- DRIVER( pzlbreak ) /* (c) 1997 SemiCom */
- DRIVER( 3in1semi ) /* (c) 1998 SemiCom */
- DRIVER( moremore ) /* (c) 1999 SemiCom + Exit */
- DRIVER( moremorp ) /* (c) 1999 SemiCom + Exit */
- DRIVER( 4in1boot ) /* (c) 2002 but bootleg of 1999 release? */
- DRIVER( snowbros3 ) /* (c) 2002 but hack / bootleg of snowbros? */
- DRIVER( finalttr ) /* (c) 1993 Jeil Computer System */
-
- /* More Toaplan Games */
- DRIVER( tekipaki ) /* TP-020 (c) 1991 Toaplan */
- DRIVER( ghox ) /* TP-021 (c) 1991 Toaplan */
- DRIVER( ghoxj ) /* TP-021 (c) 1991 Toaplan */
- DRIVER( dogyuun ) /* TP-022 (c) 1992 Toaplan */
- DRIVER( dogyuuna ) /* TP-022 (c) 1992 Toaplan */
- DRIVER( dogyuunt ) /* TP-022 (c) 1992 Toaplan */
- DRIVER( kbash ) /* TP-023 (c) 1993 Toaplan */
- DRIVER( kbash2 ) /* bootleg */
- DRIVER( truxton2 ) /* TP-024 (c) 1992 Toaplan */
- DRIVER( pipibibs ) /* TP-025 */
- DRIVER( pipibibsa ) /* TP-025 */
- DRIVER( whoopee ) /* TP-025 */
- DRIVER( pipibibsbl )/* (c) 1991 Ryouta Kikaku (bootleg) */
- DRIVER( fixeight ) /* TP-026 (c) 1992 + Taito license */
- DRIVER( fixeightt )
- DRIVER( fixeightkt )
- DRIVER( fixeightk )
- DRIVER( fixeightht )
- DRIVER( fixeighth )
- DRIVER( fixeighttwt )
- DRIVER( fixeighttw )
- DRIVER( fixeightat )
- DRIVER( fixeighta )
- DRIVER( fixeightu )
- DRIVER( fixeightut )
- DRIVER( fixeightj )
- DRIVER( fixeightjt )
- DRIVER( fixeightbl ) /* bootleg */
- DRIVER( grindstm ) /* TP-027 (c) 1993 Toaplan + Unite Trading license (Korea) */
- DRIVER( grindstma ) /* TP-027 (c) 1993 Toaplan + Unite Trading license (Korea) */
- DRIVER( vfive ) /* TP-027 (c) 1993 Toaplan (Japan) */
- DRIVER( batsugun ) /* TP-030 (c) 1993 Toaplan */
- DRIVER( batsuguna ) /* TP-030 (c) 1993 Toaplan */
- DRIVER( batsugunsp )/* TP-??? (c) 1993 Toaplan */
- DRIVER( snowbro2 ) /* TP-??? (c) 1994 Hanafram */
- DRIVER( sstriker ) /* (c) 1993 Raizing */
- DRIVER( sstrikera ) /* (c) 1993 Raizing */
- DRIVER( mahoudai ) /* (c) 1993 Raizing + Able license */
- DRIVER( kingdmgp ) /* (c) 1994 Raizing/8ing */
- DRIVER( shippumd ) /* (c) 1994 Raizing/8ing */
- DRIVER( bgaregga ) /* (c) 1996 Raizing/8ing */
- DRIVER( bgareggahk ) /* (c) 1996 Raizing/8ing */
- DRIVER( bgareggatw ) /* (c) 1996 Raizing/8ing */
- DRIVER( bgaregganv ) /* (c) 1996 Raizing/8ing */
- DRIVER( bgareggat2 ) /* (c) 1996 Raizing/8ing */
- DRIVER( bgareggacn ) /* (c) 1996 Raizing/8ing */
- DRIVER( batrider ) /* (c) 1998 Raizing/8ing */
- DRIVER( batrideru ) /* (c) 1998 Raizing/8ing */
- DRIVER( batriderc ) /* (c) 1998 Raizing/8ing */
- DRIVER( batriderj ) /* (c) 1998 Raizing/8ing */
- DRIVER( batriderk ) /* (c) 1998 Raizing/8ing */
- DRIVER( batriderja ) /* (c) 1998 Raizing/8ing */
- DRIVER( batridert ) /* (c) 1998 Raizing/8ing */
- DRIVER( bbakraid ) /* (c) 1999 8ing */
- DRIVER( bbakraidj ) /* (c) 1999 8ing */
- DRIVER( bbakraidja ) /* (c) 1999 8ing */
-
-/*
-Toa Plan's board list
-(translated from http://www.aianet.ne.jp/~eisetu/rom/rom_toha.html)
-
-Title ROMno. Remark(1) Remark(2)
---------------------------------------------------
-Tiger Heli A47 GX-551
-Hishouzame B02 TP-007
-Kyukyoku Tiger B30 TP-011
-Dash Yarou B45 TP-012
-Tatsujin B65 TP-013B M6100649A
-Zero Wing O15 TP-015
-Horror Story O16 TP-016
-Same!Same!Same! O17 TP-017
-Out Zone TP-018
-Vimana TP-019
-Teki Paki O20 TP-020
-Ghox TP-21 TP-021
-Dogyuun TP-022
-Tatsujin Oh TP-024 *1
-Fixeight TP-026
-V-V TP-027
-
-*1 There is a doubt this game uses TP-024 board and TP-025 romsets.
-
- 86 Mahjong Sisters Kit 2P 8W+2B HC Mahjong TP-
- 88 Dash Kit 2P 8W+2B TP-
- 89 Fire Shark Kit 2P 8W+2B VC Shooter TP-017
- 89 Twin Hawk Kit 2P 8W+2B VC Shooter TP-
- 91 Whoopie Kit 2P 8W+2B HC Action
- 92 Teki Paki Kit 2P TP-020
- 92 Ghox Kit 2P Paddle+1B VC Action TP-021
-10/92 Dogyuun Kit 2P 8W+2B VC Shooter TP-022
-92/93 Knuckle Bash Atari Games Kit 2P 8W+2B HC Action TP-023
-10/92 Tatsujin II/Truxton II Taito Kit 2P 8W+2B VC Shooter TP-024
-10/92 Truxton II/Tatsujin II Taito Kit 2P 8W+2B VC Shooter TP-024
- Pipi & Bipi TP-025
- 92 Fix Eight Kit 2P 8W+2B VC Action TP-026
-12/92 V - V (5)/Grind Stormer Kit 2P 8W+2B VC Shooter TP-027
- 1/93 Grind Stormer/V - V (Five) Kit 2P 8W+2B VC Shooter TP-027
- 2/94 Batsugun Kit 2P 8W+2B VC TP-
- 4/94 Snow Bros. 2 Kit 2P 8W+2B HC Action TP-
-*/
-
- /* Cave games */
- /* Cave was formed in 1994 from the ruins of Toaplan, like Raizing was. */
- DRIVER( pwrinst2 ) /* (c) 1994 Atlus */
- DRIVER( pwrinst2j ) /* (c) 1994 Atlus */
- DRIVER( plegends ) /* (c) 1994 Atlus */
- DRIVER( plegendsj ) /* (c) 1994 Atlus */
- DRIVER( mazinger ) /* (c) 1994 Banpresto (country is in EEPROM) */
- DRIVER( mazingerj ) /* (c) 1994 Banpresto (country is in EEPROM) */
- DRIVER( donpachi ) /* (c) 1995 Atlus/Cave */
- DRIVER( donpachij ) /* (c) 1995 Atlus/Cave */
- DRIVER( donpachikr ) /* (c) 1995 Atlus/Cave */
- DRIVER( donpachihk ) /* (c) 1995 Atlus/Cave */
- DRIVER( metmqstr ) /* (c) 1995 Banpresto / Pandorabox */
- DRIVER( nmaster ) /* (c) 1995 Banpresto / Pandorabox */
- DRIVER( sailormn ) /* (c) 1995 Banpresto (country is in EEPROM) */
- DRIVER( sailormnu ) /* (c) 1995 Banpresto (country is in EEPROM) */
- DRIVER( sailormnj ) /* (c) 1995 Banpresto (country is in EEPROM) */
- DRIVER( sailormnk ) /* (c) 1995 Banpresto (country is in EEPROM) */
- DRIVER( sailormnt ) /* (c) 1995 Banpresto (country is in EEPROM) */
- DRIVER( sailormnh ) /* (c) 1995 Banpresto (country is in EEPROM) */
- DRIVER( sailormno ) /* (c) 1995 Banpresto (country is in EEPROM) */
- DRIVER( sailormnou )/* (c) 1995 Banpresto (country is in EEPROM) */
- DRIVER( sailormnoj )/* (c) 1995 Banpresto (country is in EEPROM) */
- DRIVER( sailormnok )/* (c) 1995 Banpresto (country is in EEPROM) */
- DRIVER( sailormnot )/* (c) 1995 Banpresto (country is in EEPROM) */
- DRIVER( sailormnoh )/* (c) 1995 Banpresto (country is in EEPROM) */
- DRIVER( agallet ) /* (c) 1996 Banpresto / Gazelle (country is in EEPROM) */
- DRIVER( agalletu ) /* (c) 1996 Banpresto / Gazelle (country is in EEPROM) */
- DRIVER( agalletj ) /* (c) 1996 Banpresto / Gazelle (country is in EEPROM) */
- DRIVER( agalletk ) /* (c) 1996 Banpresto / Gazelle (country is in EEPROM) */
- DRIVER( agallett ) /* (c) 1996 Banpresto / Gazelle (country is in EEPROM) */
- DRIVER( agalleth ) /* (c) 1996 Banpresto / Gazelle (country is in EEPROM) */
- DRIVER( hotdogst ) /* (c) 1996 Marble */
- DRIVER( pacslot ) /* (c) 1996 Namco */
- DRIVER( ddonpach ) /* (c) 1997 Atlus/Cave */
- DRIVER( ddonpachj ) /* (c) 1997 Atlus/Cave */
- DRIVER( dfeveron ) /* (c) 1998 Cave + Nihon System license */
- DRIVER( feversos ) /* (c) 1998 Cave + Nihon System license */
- DRIVER( esprade ) /* (c) 1998 Atlus/Cave */
- DRIVER( espradej ) /* (c) 1998 Atlus/Cave (Japan) */
- DRIVER( espradejo ) /* (c) 1998 Atlus/Cave (Japan) */
- DRIVER( uopoko ) /* (c) 1998 Cave + Jaleco license */
- DRIVER( uopokoj ) /* (c) 1998 Cave + Jaleco license */
- DRIVER( guwange ) /* (c) 1999 Atlus/Cave */
- DRIVER( gaia ) /* (c) 1999 Noise Factory */
- DRIVER( theroes ) /* (c) 2001 Primetek Investments */
- DRIVER( korokoro ) /* (c) 1999 Takumi */
- DRIVER( crusherm ) /* (c) 1999 Takumi */
- DRIVER( tjumpman ) /* (c) 1999 Namco */
-
- /* Kyugo games */
- /* Kyugo only made four games: Repulse, Flash Gal, SRD Mission and Air Wolf. */
- /* Gyrodine was made by Crux. Crux was antecedent of Toa Plan, and spin-off from Orca. */
- DRIVER( gyrodine ) /* (c) 1984 Crux */
- DRIVER( gyrodinet ) /* (c) 1984 Crux (Taito Corporation license) */
- DRIVER( buzzard ) /* (c) 1984 Crux */
- DRIVER( repulse ) /* (c) 1985 Sega */
- DRIVER( 99lstwar ) /* (c) 1985 Proma */
- DRIVER( 99lstwara ) /* (c) 1985 Proma */
- DRIVER( 99lstwark ) /* (c) 1985 Kyugo */
- DRIVER( sonofphx ) /* bootleg */
- DRIVER( flashgal ) /* (c) 1985 Sega */
- DRIVER( flashgala ) /* (c) 1985 Sega */
- DRIVER( srdmissn ) /* (c) 1986 Taito Corporation */
- DRIVER( fx ) /* bootleg */
- DRIVER( legend ) /* no copyright notice [1986 Sega/Coreland] (Arcade TV Game List - P.104, Left, 14 from top) */
- DRIVER( legendb ) /* no copyright notice [1986 Sega/Coreland] (Arcade TV Game List - P.104, Left, 14 from top) */
- DRIVER( airwolf ) /* (c) 1987 Kyugo */
- DRIVER( airwolfa ) /* (c) 1987 Kyugo */
- DRIVER( skywolf ) /* bootleg */
- DRIVER( skywolf2 ) /* bootleg */
- DRIVER( skywolf3 ) /* bootleg */
-
- /* Williams games */
- DRIVER( defender ) /* (c) 1980 */
- DRIVER( defenderg ) /* (c) 1980 */
- DRIVER( defenderb ) /* (c) 1980 */
- DRIVER( defenderw ) /* (c) 1980 */
- DRIVER( defndjeu ) /* bootleg */
- DRIVER( tornado1 ) /* bootleg */
- DRIVER( tornado2 ) /* bootleg */
- DRIVER( zero ) /* bootleg */
- DRIVER( zero2 ) /* bootleg */
- DRIVER( defcmnd ) /* bootleg */
- DRIVER( defence ) /* bootleg */
- DRIVER( startrkd ) /* bootleg */
- DRIVER( mayday ) /* bootleg */
- DRIVER( maydaya ) /* bootleg */
- DRIVER( maydayb ) /* bootleg */
- DRIVER( colony7 ) /* (c) 1981 Taito */
- DRIVER( colony7a ) /* (c) 1981 Taito */
- DRIVER( jin ) /* Falcon bootleg/hack */
- DRIVER( stargate ) /* (c) 1981 */
- DRIVER( robotron ) /* (c) 1982 */
- DRIVER( robotronyo )/* (c) 1982 */
- DRIVER( joust ) /* (c) 1982 */
- DRIVER( joustr ) /* (c) 1982 */
- DRIVER( joustwr ) /* (c) 1982 */
- DRIVER( bubbles ) /* (c) 1982 */
- DRIVER( bubblesr ) /* (c) 1982 */
- DRIVER( bubblesp ) /* (c) 1982 */
- DRIVER( splat ) /* (c) 1982 */
- DRIVER( sinistar ) /* (c) 1982 */
- DRIVER( sinistar1 ) /* (c) 1982 */
- DRIVER( sinistar2 ) /* (c) 1982 */
- DRIVER( playball ) /* (c) 1983 */
- DRIVER( blaster ) /* (c) 1983 */
- DRIVER( blaster30 ) /* (c) 1983 */
- DRIVER( blasterkit ) /* (c) 1983 */
- DRIVER( spdball ) /* (c) 1985 */
- DRIVER( alienar ) /* (c) 1985 Duncan Brown */
- DRIVER( alienaru ) /* (c) 1985 Duncan Brown */
- DRIVER( mysticm ) /* (c) 1983 */
- DRIVER( tshoot ) /* (c) 1984 */
- DRIVER( inferno ) /* (c) 1984 */
- DRIVER( joust2 ) /* (c) 1986 */
- DRIVER( lottofun ) /* (c) 1987 H.A.R. Management */
-
- /* Capcom games */
- /* The following is a COMPLETE list of the Capcom games up to 1997, as shown on */
- /* their web site. The list is sorted by production date. */
- /* A comprehensive list of Capcom games with board info can be found here: */
- /* http://www.arcadeflyers.com/strider/capcom_list.html */
- DRIVER( vulgus ) /* 5/1984 (c) 1984 */
- DRIVER( vulgus2 ) /* 5/1984 (c) 1984 */
- DRIVER( vulgusj ) /* 5/1984 (c) 1984 */
- DRIVER( sonson ) /* 7/1984 (c) 1984 */
- DRIVER( sonsonj ) /* 7/1984 (c) 1984 (Japan) */
- DRIVER( higemaru ) /* 9/1984 (c) 1984 */
- DRIVER( 1942 ) /* 12/1984 (c) 1984 */
- DRIVER( 1942a ) /* 12/1984 (c) 1984 */
- DRIVER( 1942abl ) /* bootleg */
- DRIVER( 1942b ) /* 12/1984 (c) 1984 */
- DRIVER( 1942w ) /* 12/1984 (c) 1984 + Williams Electronics license (c) 1985 */
- DRIVER( exedexes ) /* 2/1985 (c) 1985 */
- DRIVER( savgbees ) /* 2/1985 (c) 1985 + Memetron license */
- DRIVER( commando ) /* 5/1985 (c) 1985 (World) */
- DRIVER( commandou ) /* 5/1985 (c) 1985 + Data East license (US) */
- DRIVER( commandoj ) /* 5/1985 (c) 1985 (Japan) */
- DRIVER( commandob ) /* bootleg */
- DRIVER( sinvasn ) /* Europe original? */
- DRIVER( sinvasnb ) /* bootleg */
- DRIVER( gng ) /* 9/1985 (c) 1985 */
- DRIVER( gnga ) /* 9/1985 (c) 1985 */
- DRIVER( gngbl ) /* bootleg */
- DRIVER( gngblita ) /* bootleg */
- DRIVER( gngc ) /* 9/1985 (c) 1985 */
- DRIVER( gngt ) /* 9/1985 (c) 1985 */
- DRIVER( makaimur ) /* 9/1985 (c) 1985 */
- DRIVER( makaimurc ) /* 9/1985 (c) 1985 */
- DRIVER( makaimurg ) /* 9/1985 (c) 1985 */
- DRIVER( diamond ) /* (c) 1989 KH Video (NOT A CAPCOM GAME but runs on GnG hardware) */
- DRIVER( gunsmoke ) /* 11/1985 (c) 1985 (World) */
- DRIVER( gunsmokeu ) /* 11/1985 (c) 1985 + Romstar (US) */
- DRIVER( gunsmokeua )/* 11/1985 (c) 1985 (US) */
- DRIVER( gunsmokej ) /* 11/1985 (c) 1985 (Japan) */
- DRIVER( sectionz ) /* 12/1985 (c) 1985 */
- DRIVER( sectionza ) /* 12/1985 (c) 1985 */
- DRIVER( trojan ) /* 4/1986 (c) 1986 (US) */
- DRIVER( trojanr ) /* 4/1986 (c) 1986 + Romstar */
- DRIVER( trojanj ) /* 4/1986 (c) 1986 (Japan) */
- DRIVER( srumbler ) /* 9/1986 (c) 1986 */
- DRIVER( srumbler2 ) /* 9/1986 (c) 1986 */
- DRIVER( rushcrsh ) /* 9/1986 (c) 1986 */
- DRIVER( lwings ) /* 11/1986 (c) 1986 */
- DRIVER( lwings2 ) /* 11/1986 (c) 1986 */
- DRIVER( lwingsj ) /* 11/1986 (c) 1986 */
- DRIVER( lwingsb ) /* 11/1986 (c) 1986 (bootleg)*/
- DRIVER( sidearms ) /* 12/1986 (c) 1986 (World) */
- DRIVER( sidearmsr ) /* 12/1986 (c) 1986 + Romstar license (US) */
- DRIVER( sidearmsj ) /* 12/1986 (c) 1986 (Japan) */
- DRIVER( turtship ) /* (c) 1988 Philco (NOT A CAPCOM GAME but runs on modified Sidearms hardware) */
- DRIVER( turtshipj ) /* (c) 1988 Philco (NOT A CAPCOM GAME but runs on modified Sidearms hardware) */
- DRIVER( turtshipk ) /* (c) 1988 Philco (NOT A CAPCOM GAME but runs on modified Sidearms hardware) */
- DRIVER( dyger ) /* (c) 1989 Philco (NOT A CAPCOM GAME but runs on modified Sidearms hardware) */
- DRIVER( dygera ) /* (c) 1989 Philco (NOT A CAPCOM GAME but runs on modified Sidearms hardware) */
- DRIVER( twinfalc ) /* (c) 1989 Philko (Poara Enterprises license) (NOT A CAPCOM GAME but runs on modified Sidearms hardware) */
- DRIVER( whizz ) /* (c) 1989 Philco (NOT A CAPCOM GAME but runs on modified Sidearms hardware) */
- DRIVER( avengers ) /* 2/1987 (c) 1987 (US) */
- DRIVER( avengers2 ) /* 2/1987 (c) 1987 (US) */
- DRIVER( buraiken ) /* 2/1987 (c) 1987 (Japan) */
- DRIVER( bionicc ) /* 3/1987 (c) 1987 (Euro) */
- DRIVER( bionicc1 ) /* 3/1987 (c) 1987 (US) */
- DRIVER( bionicc2 ) /* 3/1987 (c) 1987 (US) */
- DRIVER( topsecrt ) /* 3/1987 (c) 1987 (Japan) */
- DRIVER( 1943 ) /* 6/1987 (c) 1987 (Euro) */
- DRIVER( 1943u ) /* 6/1987 (c) 1987 (US) */
- DRIVER( 1943j ) /* 6/1987 (c) 1987 (Japan) */
- DRIVER( 1943b ) /* bootleg */
- DRIVER( blktiger ) /* 8/1987 (c) 1987 (US) */
- DRIVER( blktigera ) /* 8/1987 (c) 1987 (US) */
- DRIVER( blktigerb1 )/* bootleg */
- DRIVER( blktigerb2 )/* bootleg */
- DRIVER( blkdrgon ) /* 8/1987 (c) 1987 (Japan) */
- DRIVER( blkdrgonb ) /* bootleg, hacked to say Black Tiger */
- DRIVER( sf ) /* 8/1987 (c) 1987 (World) */
- DRIVER( sfu ) /* 8/1987 (c) 1987 (US) */
- DRIVER( sfua ) /* 8/1987 (c) 1987 (US) */
- DRIVER( sfj ) /* 8/1987 (c) 1987 (Japan) */
- DRIVER( sfp ) /* 8/1987 (c) 1987 */
- DRIVER( tigeroad ) /* 11/1987 (c) 1987 + Romstar (US) */
- DRIVER( toramich ) /* 11/1987 (c) 1987 (Japan) */
- DRIVER( tigeroadb ) /* bootleg */
- DRIVER( f1dream ) /* 4/1988 (c) 1988 + Romstar */
- DRIVER( f1dreamb ) /* bootleg */
- DRIVER( 1943kai ) /* 6/1988 (c) 1987 (Japan) */
- DRIVER( lastduel ) /* 7/1988 (c) 1988 (US) */
- DRIVER( lastduelo ) /* 7/1988 (c) 1988 (US) */
- DRIVER( lastduelj ) /* 7/1988 (c) 1988 (Japan) */
- DRIVER( lastduelb ) /* bootleg */
- DRIVER( madgear ) /* 2/1989 (c) 1989 (US) */
- DRIVER( madgearj ) /* 2/1989 (c) 1989 (Japan) */
- DRIVER( ledstorm ) /* 1988 (c) 1988 (US) */
- DRIVER( ledstorm2 ) /* 1988 (c) 1988 (US) */
- /* 3/1989 Dokaben (baseball) - see below among "Mitchell" games */
- /* 8/1989 Dokaben 2 (baseball) - see below among "Mitchell" games */
- /* 10/1989 Capcom Baseball - see below among "Mitchell" games */
- /* 11/1989 Capcom World - see below among "Mitchell" games */
- /* 3/1990 Adventure Quiz 2 Hatena no Dai-Bouken - see below among "Mitchell" games */
- /* 1/1991 Quiz Tonosama no Yabou - see below among "Mitchell" games */
- /* 4/1991 Ashita Tenki ni Naare (golf) - see below among "Mitchell" games */
- /* 5/1991 Ataxx - see below among "Leland" games */
- /* 6/1991 Quiz Sangokushi - see below among "Mitchell" games */
- /* 10/1991 Block Block - see below among "Mitchell" games */
- /* 6/1995 Street Fighter - the Movie - see below among "Incredible Technologies" games */
-
-
- /* Capcom CPS1 games */
- DRIVER( forgottn ) /* 7/1988 (c) 1988 (World) */
- DRIVER( forgottnu ) /* 7/1988 (c) 1988 (USA) */
- DRIVER( forgottnua ) /* 7/1988 (c) 1988 (USA) */
- DRIVER( lostwrld ) /* 7/1988 (c) 1988 (Japan) */
- DRIVER( lostwrldo ) /* 7/1988 (c) 1988 (Japan) */
- DRIVER( ghouls ) /* 12/1988 (c) 1988 (World) */
- DRIVER( ghoulsu ) /* 12/1988 (c) 1988 (USA) */
- DRIVER( daimakai ) /* 12/1988 (c) 1988 (Japan) */
- DRIVER( daimakair ) /* 12/1988 (c) 1988 (Japan) */
- DRIVER( strider ) /* 3/1989 (c) 1989 (not explicitly stated but should be USA) */
- DRIVER( striderua ) /* 3/1989 (c) 1989 (not explicitly stated but should be USA) */
- DRIVER( striderj ) /* 3/1989 (c) 1989 (Japan) */
- DRIVER( striderjr ) /* 3/1989 (c) 1989 (Japan) */
- DRIVER( dynwar ) /* 4/1989 (c) 1989 (USA) */
- DRIVER( dynwara ) /* 4/1989 (c) 1989 (USA) */
- DRIVER( dynwarj ) /* 4/1989 (c) 1989 (Japan) */
- DRIVER( dynwarjr ) /* 4/1989 (c) 1989 (Japan) */
- DRIVER( willow ) /* 6/1989 (c) 1989 (USA) */
- DRIVER( willowo ) /* 6/1989 (c) 1989 (USA) */
- DRIVER( willowj ) /* 6/1989 (c) 1989 (Japan) */
- DRIVER( unsquad ) /* 8/1989 (c) 1989 (USA) */
- DRIVER( area88 ) /* 8/1989 (c) 1989 (Japan) */
- DRIVER( area88r ) /* 8/1989 (c) 1989 (Japan) */
- DRIVER( ffight ) /* 12/1989 (c) 1989 (World) */
- DRIVER( ffightu ) /* 12/1989 (c) 1989 (USA) */
- DRIVER( ffightua ) /* 12/01/1990 (c) 1989 (USA) */
- DRIVER( ffightub ) /* 13/06/1990 (c) 1989 (USA) */
- DRIVER( ffightj ) /* 12/1989 (c) 1989 (Japan) */
- DRIVER( ffightj1 ) /* 12/01/1990 (c) 1989 (Japan) */
- DRIVER( ffightj2 ) /* 05/03/1990 (c) 1989 (Japan) */
- DRIVER( ffightjh ) /* hack */
- DRIVER( 1941 ) /* 2/1990 (c) 1990 (World) */
- DRIVER( 1941u ) /* 27/02/1990 (c) 1990 (USA) */
- DRIVER( 1941j ) /* 2/1990 (c) 1990 (Japan) */
- DRIVER( mercs ) /* 02/03/1990 (c) 1990 (World) */
- DRIVER( mercsu ) /* 08/06/1990 (c) 1990 (USA) */
- DRIVER( mercsur1 ) /* 02/03/1990 (c) 1990 (USA) */
- DRIVER( mercsj ) /* 02/03/1990 (c) 1990 (Japan) */
- DRIVER( mtwins ) /* 19/06/1990 (c) 1990 (World) */
- DRIVER( chikij ) /* 19/06/1990 (c) 1990 (Japan) */
- DRIVER( msword ) /* 25/07/1990 (c) 1990 (World) */
- DRIVER( mswordr1 ) /* 23/06/1990 (c) 1990 (World) */
- DRIVER( mswordu ) /* 25/07/1990 (c) 1990 (USA) */
- DRIVER( mswordj ) /* 23/06/1990 (c) 1990 (Japan) */
- DRIVER( cawing ) /* 12/10/1990 (c) 1990 (World) */
- DRIVER( cawingr1 ) /* 09/10/1990 (c) 1990 (World) */
- DRIVER( cawingu ) /* 12/10/1990 (c) 1990 (USA) */
- DRIVER( cawingj ) /* 12/10/1990 (c) 1990 (Japan) */
- DRIVER( nemo ) /* 30/11/1990 (c) 1990 (World) */
- DRIVER( nemoj ) /* 20/11/1990 (c) 1990 (Japan) */
- DRIVER( sf2 ) /* 22/05/1991 (c) 1991 (World) */
- DRIVER( sf2eb ) /* 14/02/1991 (c) 1991 (World) */
- DRIVER( sf2ee ) /* 28/02/1991 (c) 1991 (World) */
- DRIVER( sf2ebbl ) /* 14/02/1991 (c) 1991 (World, bootleg) */
- DRIVER( sf2ua ) /* 06/02/1991 (c) 1991 (USA) */
- DRIVER( sf2ub ) /* 14/02/1991 (c) 1991 (USA) */
- DRIVER( sf2ud ) /* 18/03/1991 (c) 1991 (USA) */
- DRIVER( sf2ue ) /* 28/02/1991 (c) 1991 (USA) */
- DRIVER( sf2uf ) /* 11/04/1991 (c) 1991 (USA) */
- DRIVER( sf2ui ) /* 22/05/1991 (c) 1991 (USA) */
- DRIVER( sf2uk ) /* 01/11/1991 (c) 1991 (USA) */
- DRIVER( sf2j ) /* 10/12/1991 (c) 1991 (Japan) */
- DRIVER( sf2ja ) /* 14/02/1991 (c) 1991 (Japan) */
- DRIVER( sf2jc ) /* 06/03/1991 (c) 1991 (Japan) */
- DRIVER( sf2qp1 ) /* hack */
- DRIVER( sf2thndr ) /* hack */
- DRIVER( 3wonders ) /* 20/05/1991 (c) 1991 (World) */
- DRIVER( 3wondersu ) /* 20/05/1991 (c) 1991 (USA) */
- DRIVER( wonder3 ) /* 20/05/1991 (c) 1991 (Japan) */
- DRIVER( 3wondersh ) /* hack */
- DRIVER( kod ) /* 05/08/1991 (c) 1991 (World) */
- DRIVER( kodr1 ) /* 11/07/1991 (c) 1991 (World) */
- DRIVER( kodu ) /* 10/09/1991 (c) 1991 (USA) */
- DRIVER( kodj ) /* 05/08/1991 (c) 1991 (Japan) */
- DRIVER( kodja ) /* 05/08/1991 (c) 1991 (Japan) */
- DRIVER( kodb ) /* bootleg */
- DRIVER( captcomm ) /* 02/12/1991 (c) 1991 (World) */
- DRIVER( captcommr1 ) /* 14/10/1991 (c) 1991 (World) */
- DRIVER( captcommu ) /* 28/09/1991 (c) 1991 (USA) */
- DRIVER( captcommj ) /* 02/12/1991 (c) 1991 (Japan) */
- DRIVER( captcommjr1 ) /* 28/09/1991 (c) 1991 (Japan) */
- DRIVER( captcommb ) /* bootleg */
- DRIVER( knights ) /* 27/11/1991 (c) 1991 (World) */
- DRIVER( knightsu ) /* 27/11/1991 (c) 1991 (USA) */
- DRIVER( knightsj ) /* 27/11/1991 (c) 1991 (Japan) */
- DRIVER( knightsja ) /* 27/11/1991 (c) 1991 (Japan) */
- DRIVER( knightsb ) /* bootleg */
- DRIVER( sf2ce ) /* 13/05/1992 (c) 1992 (World) */
- DRIVER( sf2ceea ) /* 13/03/1992 (c) 1992 (World) */
- DRIVER( sf2ceua ) /* 13/03/1992 (c) 1992 (USA) */
- DRIVER( sf2ceub ) /* 13/05/1992 (c) 1992 (USA) */
- DRIVER( sf2ceuc ) /* 03/08/1992 (c) 1992 (USA) */
- DRIVER( sf2cej ) /* 13/05/1992 (c) 1992 (Japan) */
- DRIVER( sf2rb ) /* hack */
- DRIVER( sf2rb2 ) /* hack */
- DRIVER( sf2rb3 ) /* hack */
- DRIVER( sf2red ) /* hack */
- DRIVER( sf2v004 ) /* hack */
- DRIVER( sf2acc ) /* hack */
- DRIVER( sf2accp2 ) /* hack */
- DRIVER( sf2dkot2 ) /* hack */
- DRIVER( sf2m1 ) /* hack */
- DRIVER( sf2m2 ) /* hack */
- DRIVER( sf2m3 ) /* hack */
- DRIVER( sf2m4 ) /* hack */
- DRIVER( sf2m5 ) /* hack */
- DRIVER( sf2m6 ) /* hack */
- DRIVER( sf2m7 ) /* hack */
- DRIVER( sf2yyc ) /* hack */
- DRIVER( sf2koryu ) /* hack */
- DRIVER( sf2mdt ) /* bootleg */
- DRIVER( cworld2j ) /* 11/06/1992 (c) 1992 (Japan) */
- DRIVER( varth ) /* 14/07/1992 (c) 1992 (World) */
- DRIVER( varthr1 ) /* 12/06/1992 (c) 1992 (World) */
- DRIVER( varthu ) /* 12/06/1992 (c) 1992 (USA) */
- DRIVER( varthj ) /* 14/07/1992 (c) 1992 (Japan) */
- DRIVER( qad ) /* 01/07/1992 (c) 1992 (USA) */
- DRIVER( qadj ) /* 21/09/1994 (c) 1994 (Japan) */
- DRIVER( wof ) /* 02/10/1992 (c) 1992 (World) (CPS1 + QSound) */
- DRIVER( wofu ) /* 31/10/1992 (c) 1992 (USA) (CPS1 + QSound) */
- DRIVER( wofa ) /* 05/10/1992 (c) 1992 (Asia) (CPS1 + QSound) */
- DRIVER( wofj ) /* 31/10/1992 (c) 1992 (Japan) (CPS1 + QSound) */
- DRIVER( wofhfh ) /* bootleg */
- DRIVER( sf2hf ) /* 09/12/1992 (c) 1992 (World) */
- DRIVER( sf2hfu ) /* 09/12/1992 (c) 1992 (USA) */
- DRIVER( sf2hfj ) /* 09/12/1992 (c) 1992 (Japan) */
- DRIVER( dino ) /* 01/02/1993 (c) 1993 (World) (CPS1 + QSound) */
- DRIVER( dinou ) /* 01/02/1993 (c) 1993 (USA) (CPS1 + QSound) */
- DRIVER( dinoj ) /* 01/02/1993 (c) 1993 (Japan) (CPS1 + QSound) */
- DRIVER( dinopic ) /* bootleg */
- DRIVER( dinopic2 ) /* bootleg */
- DRIVER( dinohunt ) /* bootleg */
- DRIVER( punisher ) /* 22/04/1993 (c) 1993 (World) (CPS1 + QSound) */
- DRIVER( punisheru ) /* 22/04/1993 (c) 1993 (USA) (CPS1 + QSound) */
- DRIVER( punisherj ) /* 22/04/1993 (c) 1993 (Japan) (CPS1 + QSound) */
- DRIVER( punipic ) /* bootleg */
- DRIVER( punipic2 ) /* bootleg */
- DRIVER( punipic3 ) /* bootleg */
- DRIVER( punisherbz ) /* bootleg */
- DRIVER( slammast ) /* 13/07/1993 (c) 1993 (World) (CPS1 + QSound) */
- DRIVER( slammastu ) /* 13/07/1993 (c) 1993 (USA) (CPS1 + QSound) */
- DRIVER( mbomberj ) /* 13/07/1993 (c) 1993 (Japan) (CPS1 + QSound) */
- DRIVER( mbombrd ) /* 06/12/1993 (c) 1993 (World) (CPS1 + QSound) */
- DRIVER( mbombrdj ) /* 06/12/1993 (c) 1993 (Japan) (CPS1 + QSound) */
- /* 1994 Ken Sei Mogura (not listed on Capcom's site) */
- DRIVER( pnickj ) /* 08/06/1994 (c) 1994 Compile + Capcom license (Japan) not listed on Capcom's site */
- DRIVER( qtono2j ) /* 23/01/1995 (c) 1995 (Japan) */
- DRIVER( pang3 ) /* 01/06/1995 (c) 1995 Mitchell (Euro) not listed on Capcom's site */
- DRIVER( pang3n ) /* 11/05/1995 (c) 1995 Mitchell (Euro) not listed on Capcom's site */
- DRIVER( pang3j ) /* 11/05/1995 (c) 1995 Mitchell (Japan) not listed on Capcom's site */
- DRIVER( megaman ) /* 06/10/1995 (c) 1995 (USA) */
- DRIVER( megamana ) /* 06/10/1995 (c) 1995 (Asia) */
- DRIVER( rockmanj ) /* 22/09/1995 (c) 1995 (Japan) */
-
- DRIVER( fcrash ) /* bootleg of Final Fight */
-
- /* Capcom CPS2 games */
- /* list completed by CPS2Shock */
- /* http://cps2shock.retrogames.com */
- DRIVER( ssf2 ) /* 11/09/1993 (c) 1993 (World) */
- DRIVER( ssf2u ) /* 11/09/1993 (c) 1993 (USA) */
- DRIVER( ssf2a ) /* 05/10/1993 (c) 1993 (Asia) */
- DRIVER( ssf2ar1 ) /* 14/09/1993 (c) 1993 (Asia) */
- DRIVER( ssf2j ) /* 05/10/1993 (c) 1993 (Japan) */
- DRIVER( ssf2jr1 ) /* 11/09/1993 (c) 1993 (Japan) */
- DRIVER( ssf2jr2 ) /* 10/09/1993 (c) 1993 (Japan) */
- DRIVER( ssf2h ) /* 11/09/1993 (c) 1993 (Hispanic) */
- DRIVER( ssf2tb ) /* 11/19/1993 (c) 1993 (World) */
- DRIVER( ssf2tbr1 ) /* 11/09/1993 (c) 1993 (World) */
- DRIVER( ssf2tbj ) /* 11/09/1993 (c) 1993 (Japan) */
- DRIVER( ecofghtr ) /* 03/12/1993 (c) 1994 (World) */
- DRIVER( ecofghtru ) /* 15/02/1994 (c) 1994 (USA) */
- DRIVER( ecofghtru1 ) /* 03/12/1993 (c) 1994 (USA) */
- DRIVER( ecofghtra ) /* 03/12/1993 (c) 1994 (Asia) */
- DRIVER( ecofghtrh ) /* 03/12/1993 (c) 1994 (Hispanic) */
- DRIVER( uecology ) /* 03/12/1993 (c) 1994 (Japan) */
- DRIVER( ddtod ) /* 12/04/1994 (c) 1993 (Euro) */
- DRIVER( ddtodr1 ) /* 13/01/1994 (c) 1993 (Euro) */
- DRIVER( ddtodu ) /* 25/01/1994 (c) 1993 (USA) */
- DRIVER( ddtodur1 ) /* 13/01/1994 (c) 1993 (USA) */
- DRIVER( ddtodj ) /* 12/04/1994 (c) 1993 (Japan) */
- DRIVER( ddtodjr1 ) /* 25/01/1994 (c) 1993 (Japan) */
- DRIVER( ddtodjr2 ) /* 13/01/1994 (c) 1993 (Japan) */
- DRIVER( ddtoda ) /* 13/01/1994 (c) 1993 (Asia) */
- DRIVER( ddtodh ) /* 12/04/1994 (c) 1993 (Hispanic) */
- DRIVER( ddtodhr1 ) /* 25/01/1994 (c) 1993 (Hispanic) */
- DRIVER( ddtodhr2 ) /* 13/01/1994 (c) 1993 (Hispanic) */
- DRIVER( ssf2t ) /* 23/02/1994 (c) 1994 (World) */
- DRIVER( ssf2tu ) /* 23/03/1994 (c) 1994 (USA) */
- DRIVER( ssf2tur1 ) /* 23/02/1994 (c) 1994 (USA) */
- DRIVER( ssf2ta ) /* 23/02/1994 (c) 1994 (Asia) */
- DRIVER( ssf2xj ) /* 23/02/1994 (c) 1994 (Japan) */
- DRIVER( avsp ) /* 20/05/1994 (c) 1994 (Euro) */
- DRIVER( avspu ) /* 20/05/1994 (c) 1994 (USA) */
- DRIVER( avspj ) /* 20/05/1994 (c) 1994 (Japan) */
- DRIVER( avspa ) /* 20/05/1994 (c) 1994 (Asia) */
- DRIVER( avsph ) /* 20/05/1994 (c) 1994 (Hispanic) */
- /* 06/1994? Galum Pa! (not listed on Capcom's site) */
- DRIVER( dstlk ) /* 05/07/1994 (c) 1994 (Euro) */
- DRIVER( dstlku ) /* 18/08/1994 (c) 1994 (USA) */
- DRIVER( dstlkur1 ) /* 05/07/1994 (c) 1994 (USA) */
- DRIVER( dstlka ) /* 05/07/1994 (c) 1994 (Asia) */
- DRIVER( dstlkh ) /* 18/08/1994 (c) 1994 (Hispanic) */
- DRIVER( vampj ) /* 05/07/1994 (c) 1994 (Japan) */
- DRIVER( vampja ) /* 05/07/1994 (c) 1994 (Japan) */
- DRIVER( vampjr1 ) /* 30/06/1994 (c) 1994 (Japan) */
- DRIVER( ringdest ) /* 02/09/1994 (c) 1994 (Euro) */
- DRIVER( ringdesta ) /* 31/08/1994 (c) 1994 (Asia) */
- DRIVER( smbomb ) /* 31/08/1994 (c) 1994 (Japan) */
- DRIVER( smbombr1 ) /* 08/08/1994 (c) 1994 (Japan) */
- DRIVER( armwar ) /* 24/10/1994 (c) 1994 (Euro) */
- DRIVER( armwarr1 ) /* 11/10/1994 (c) 1994 (Euro) */
- DRIVER( armwaru ) /* 24/10/1994 (c) 1994 (USA) */
- DRIVER( armwaru1 ) /* 20/09/1994 (c) 1994 (USA) */
- DRIVER( pgear ) /* 24/10/1994 (c) 1994 (Japan) */
- DRIVER( pgearr1 ) /* 16/09/1994 (c) 1994 (Japan) */
- DRIVER( armwara ) /* 20/09/1994 (c) 1994 (Asia) */
- DRIVER( xmcota ) /* 05/01/1995 (c) 1994 (Euro) */
- DRIVER( xmcotau ) /* 05/01/1995 (c) 1994 (USA) */
- DRIVER( xmcotah ) /* 31/03/1995 (c) 1994 (Hispanic) */
- DRIVER( xmcotahr1 ) /* 05/01/1995 (c) 1994 (Hispanic) */
- DRIVER( xmcotaj ) /* 05/01/1995 (c) 1994 (Japan) */
- DRIVER( xmcotaj1 ) /* 22/12/1994 (c) 1994 (Japan) */
- DRIVER( xmcotaj2 ) /* 19/12/1994 (c) 1994 (Japan) */
- DRIVER( xmcotaj3 ) /* 17/12/1994 (c) 1994 (Japan) */
- DRIVER( xmcotaa ) /* 05/01/1995 (c) 1994 (Asia) */
- DRIVER( xmcotaar1 ) /* 17/12/1994 (c) 1994 (Asia) */
- DRIVER( xmcotajr ) /* 08/12/1994 (c) 1994 (Japan Rent) */
- DRIVER( nwarr ) /* 16/03/1995 (c) 1995 (Euro) */
- DRIVER( nwarru ) /* 06/04/1995 (c) 1995 (USA) */
- DRIVER( nwarrh ) /* 03/04/1995 (c) 1995 (Hispanic) */
- DRIVER( nwarrb ) /* 03/04/1995 (c) 1995 (Brazil) */
- DRIVER( nwarra ) /* 02/03/1995 (c) 1995 (Asia) */
- DRIVER( vhuntj ) /* 02/03/1995 (c) 1995 (Japan) */
- DRIVER( vhuntjr1 ) /* 07/03/1995 (c) 1995 (Japan) */
- DRIVER( vhuntjr2 ) /* 02/03/1995 (c) 1995 (Japan) */
- DRIVER( cybots ) /* 24/04/1995 (c) 1995 (Euro) */
- DRIVER( cybotsu ) /* 24/04/1995 (c) 1995 (USA) */
- DRIVER( cybotsj ) /* 20/04/1995 (c) 1995 (Japan) */
- DRIVER( sfa ) /* 27/07/1995 (c) 1995 (Euro) */
- DRIVER( sfar1 ) /* 18/07/1995 (c) 1995 (Euro) */
- DRIVER( sfar2 ) /* 27/06/1995 (c) 1995 (Euro) */
- DRIVER( sfar3 ) /* 05/06/1995 (c) 1995 (Euro) */
- DRIVER( sfau ) /* 27/06/1995 (c) 1995 (USA) */
- DRIVER( sfza ) /* 27/06/1995 (c) 1995 (Asia) */
- DRIVER( sfzj ) /* 27/07/1995 (c) 1995 (Japan) */
- DRIVER( sfzjr1 ) /* 27/06/1995 (c) 1995 (Japan) */
- DRIVER( sfzjr2 ) /* 05/06/1995 (c) 1995 (Japan) */
- DRIVER( sfzh ) /* 18/07/1995 (c) 1995 (Hispanic) */
- DRIVER( sfzhr1 ) /* 27/06/1995 (c) 1995 (Hispanic) */
- DRIVER( sfzb ) /* 09/11/1995 (c) 1995 (Brazil) */
- DRIVER( sfzbr1 ) /* 27/07/1995 (c) 1995 (Brazil) */
- DRIVER( mmancp2u ) /* 06/10/1995 (c) 1995 (Japan) */
- DRIVER( rmancp2j ) /* 22/09/1995 (c) 1995 (Japan) */
- DRIVER( msh ) /* 24/10/1995 (c) 1995 (Euro) */
- DRIVER( mshu ) /* 24/10/1995 (c) 1995 (USA) */
- DRIVER( mshj ) /* 17/11/1995 (c) 1995 (Japan) */
- DRIVER( mshjr1 ) /* 24/10/1995 (c) 1995 (Japan) */
- DRIVER( msha ) /* 24/10/1995 (c) 1995 (Asia) */
- DRIVER( mshh ) /* 17/11/1995 (c) 1995 (Hispanic) */
- DRIVER( mshb ) /* 17/11/1995 (c) 1995 (Brazil) */
- DRIVER( 19xx ) /* 07/12/1995 (c) 1996 (USA) */
- DRIVER( 19xxj ) /* 25/12/1995 (c) 1996 (Japan) */
- DRIVER( 19xxjr1 ) /* 07/12/1995 (c) 1996 (Japan) */
- DRIVER( 19xxa ) /* 07/12/1995 (c) 1996 (Asia) */
- DRIVER( 19xxh ) /* 18/12/1995 (c) 1996 (Hispanic) */
- DRIVER( 19xxb ) /* 18/12/1995 (c) 1996 (Brazil) */
- DRIVER( ddsom ) /* 19/06/1996 (c) 1996 (Euro) */
- DRIVER( ddsomr1 ) /* 23/02/1996 (c) 1996 (Euro) */
- DRIVER( ddsomr2 ) /* 09/02/1996 (c) 1996 (Euro) */
- DRIVER( ddsomr3 ) /* 08/02/1996 (c) 1996 (Euro) */
- DRIVER( ddsomu ) /* 19/06/1996 (c) 1996 (USA) */
- DRIVER( ddsomur1 ) /* 09/02/1996 (c) 1996 (USA) */
- DRIVER( ddsomjr1 ) /* 06/02/1996 (c) 1996 (Japan) */
- DRIVER( ddsomj ) /* 19/06/1996 (c) 1996 (Japan) */
- DRIVER( ddsoma ) /* 19/06/1996 (c) 1996 (Asia) */
- DRIVER( ddsomh ) /* 23/02/1996 (c) 1996 (Hispanic) */
- DRIVER( ddsomb ) /* 23/02/1996 (c) 1996 (Brazil) */
- DRIVER( sfa2 ) /* 06/03/1996 (c) 1996 (Euro) */
- DRIVER( sfa2u ) /* 30/04/1996 (c) 1996 (USA) */
- DRIVER( sfa2ur1 ) /* 06/03/1996 (c) 1996 (USA) */
- DRIVER( sfz2j ) /* 27/02/1996 (c) 1996 (Japan) */
- DRIVER( sfz2a ) /* 27/02/1996 (c) 1996 (Asia) */
- DRIVER( sfz2b ) /* 31/05/1996 (c) 1996 (Brazil) */
- DRIVER( sfz2br1 ) /* 04/03/1996 (c) 1996 (Brazil) */
- DRIVER( sfz2h ) /* 04/03/1996 (c) 1996 (Hispanic) */
- DRIVER( sfz2n ) /* 29/02/1996 (c) 1996 (Oceania) */
- DRIVER( spf2t ) /* 20/06/1996 (c) 1996 (USA) */
- DRIVER( spf2xj ) /* 31/05/1996 (c) 1996 (Japan) */
- DRIVER( spf2ta ) /* 29/05/1996 (c) 1996 (Asia) */
- DRIVER( spf2th ) /* 31/05/1996 (c) 1996 (Hispanic) */
- DRIVER( megaman2 ) /* 08/07/1996 (c) 1996 (USA) */
- DRIVER( megaman2a ) /* 08/07/1996 (c) 1996 (Asia) */
- DRIVER( rockman2j ) /* 08/07/1996 (c) 1996 (Japan) */
- DRIVER( megaman2h ) /* 12/07/1996 (c) 1996 (Hispanic) */
- DRIVER( gigamn2 ) /* bootleg */
- DRIVER( sfz2al ) /* 26/08/1996 (c) 1996 (Asia) */
- DRIVER( sfz2alj ) /* 05/08/1996 (c) 1996 (Japan) */
- DRIVER( sfz2alh ) /* 13/08/1996 (c) 1996 (Hispanic) */
- DRIVER( sfz2alb ) /* 13/08/1996 (c) 1996 (Brazil) */
- DRIVER( qndream ) /* 26/08/1996 (c) 1996 (Japan) */
- DRIVER( xmvsf ) /* 04/10/1996 (c) 1996 (Euro) */
- DRIVER( xmvsfr1 ) /* 10/09/1996 (c) 1996 (Euro) */
- DRIVER( xmvsfu ) /* 23/10/1996 (c) 1996 (USA) */
- DRIVER( xmvsfur1 ) /* 04/10/1996 (c) 1996 (USA) */
- DRIVER( xmvsfj ) /* 04/10/1996 (c) 1996 (Japan) */
- DRIVER( xmvsfjr1 ) /* 10/09/1996 (c) 1996 (Japan) */
- DRIVER( xmvsfjr2 ) /* 09/09/1996 (c) 1996 (Japan) */
- DRIVER( xmvsfa ) /* 23/10/1996 (c) 1996 (Asia) */
- DRIVER( xmvsfar1 ) /* 19/09/1996 (c) 1996 (Asia) */
- DRIVER( xmvsfar2 ) /* 10/09/1996 (c) 1996 (Asia) */
- DRIVER( xmvsfh ) /* 04/10/1996 (c) 1996 (Hispanic) */
- DRIVER( xmvsfb ) /* 23/10/1996 (c) 1996 (Brazil) */
- DRIVER( batcir ) /* 19/03/1997 (c) 1997 (Euro) */
- DRIVER( batcirj ) /* 19/03/1997 (c) 1997 (Japan) */
- DRIVER( batcira ) /* 19/03/1997 (c) 1997 (Asia) */
- DRIVER( vsav ) /* 19/05/1997 (c) 1997 (Euro) */
- DRIVER( vsavu ) /* 19/05/1997 (c) 1997 (USA) */
- DRIVER( vsavj ) /* 19/05/1997 (c) 1997 (Japan) */
- DRIVER( vsava ) /* 19/05/1997 (c) 1997 (Asia) */
- DRIVER( vsavh ) /* 19/05/1997 (c) 1997 (Hispanic) */
- DRIVER( mshvsf ) /* 25/06/1997 (c) 1997 (Euro) */
- DRIVER( mshvsfu ) /* 27/08/1997 (c) 1997 (USA) */
- DRIVER( mshvsfu1 ) /* 25/06/1997 (c) 1997 (USA) */
- DRIVER( mshvsfj ) /* 07/07/1997 (c) 1997 (Japan) */
- DRIVER( mshvsfj1 ) /* 02/07/1997 (c) 1997 (Japan) */
- DRIVER( mshvsfj2 ) /* 25/06/1997 (c) 1997 (Japan) */
- DRIVER( mshvsfh ) /* 25/06/1997 (c) 1997 (Hispanic) */
- DRIVER( mshvsfa ) /* 25/06/1997 (c) 1997 (Asia) */
- DRIVER( mshvsfa1 ) /* 20/06/1997 (c) 1997 (Asia) */
- DRIVER( mshvsfb ) /* 27/08/1997 (c) 1997 (Brazil) */
- DRIVER( mshvsfb1 ) /* 25/06/1997 (c) 1997 (Brazil) */
- DRIVER( csclub ) /* 17/10/1997 (c) 1997 (Euro) */
- DRIVER( csclub1 ) /* 22/07/1997 (c) 1997 (Euro) */
- DRIVER( csclubj ) /* 22/07/1997 (c) 1997 (Japan) */
- DRIVER( cscluba ) /* 22/07/1997 (c) 1997 (Asia) */
- DRIVER( csclubh ) /* 22/07/1997 (c) 1997 (Hispanic) */
- DRIVER( sgemf ) /* 04/09/1997 (c) 1997 (USA) */
- DRIVER( pfghtj ) /* 04/09/1997 (c) 1997 (Japan) */
- DRIVER( sgemfa ) /* 04/09/1997 (c) 1997 (Asia) */
- DRIVER( sgemfh ) /* 04/09/1997 (c) 1997 (Hispanic) */
- DRIVER( vhunt2r1 ) /* 13/09/1997 (c) 1997 (Japan) */
- DRIVER( vhunt2 ) /* 29/09/1997 (c) 1997 (Japan) */
- DRIVER( vsav2 ) /* 13/09/1997 (c) 1997 (Japan) */
- DRIVER( mvsc ) /* 23/01/1998 (c) 1998 (Euro) */
- DRIVER( mvscr1 ) /* 12/01/1998 (c) 1998 (Euro) */
- DRIVER( mvscu ) /* 23/01/1998 (c) 1998 (USA) */
- DRIVER( mvscur1 ) /* 23/01/1998 (c) 1998 (USA) */
- DRIVER( mvscj ) /* 23/01/1998 (c) 1998 (Japan) */
- DRIVER( mvscjr1 ) /* 12/01/1998 (c) 1998 (Japan) */
- DRIVER( mvsca ) /* 23/01/1998 (c) 1998 (Asia) */
- DRIVER( mvscar1 ) /* 12/01/1998 (c) 1998 (Asia) */
- DRIVER( mvsch ) /* 23/01/1998 (c) 1998 (Hispanic) */
- DRIVER( mvscb ) /* 23/01/1998 (c) 1998 (Brazil) */
- DRIVER( sfa3 ) /* 04/09/1998 (c) 1998 (USA) */
- DRIVER( sfa3u ) /* 04/09/1998 (c) 1998 (USA) */
- DRIVER( sfa3ur1 ) /* 29/06/1998 (c) 1998 (USA) */
- DRIVER( sfa3h ) /* 04/09/1998 (c) 1998 (Hispanic) */
- DRIVER( sfa3hr1 ) /* 29/06/1998 (c) 1998 (Hispanic) */
- DRIVER( sfa3b ) /* 29/06/1998 (c) 1998 (Brazil) */
- DRIVER( sfz3j ) /* 04/09/1998 (c) 1998 (Japan) */
- DRIVER( sfz3jr1 ) /* 27/07/1998 (c) 1998 (Japan) */
- DRIVER( sfz3jr2 ) /* 29/06/1998 (c) 1998 (Japan) */
- DRIVER( sfz3a ) /* 04/09/1998 (c) 1998 (Asia) */
- DRIVER( sfz3ar1 ) /* 01/07/1998 (c) 1998 (Asia) */
- DRIVER( gigawing ) /* 22/02/1999 (c) 1999 Takumi (USA) */
- DRIVER( gigawingj ) /* 23/02/1999 (c) 1999 Takumi (Japan) */
- DRIVER( gigawinga ) /* 22/02/1999 (c) 1999 Takumi (Asia) */
- DRIVER( gigawingh ) /* 22/02/1999 (c) 1999 Takumi (Hispanic) */
- DRIVER( gigawingb ) /* 22/02/1999 (c) 1999 Takumi (Brazil) */
- DRIVER( jyangoku ) /* 27/05/1999 (c) 1999 (Japan) */
- DRIVER( dimahoo ) /* 21/01/2000 (c) 2000 Eighting/Raizing (USA) */
- DRIVER( dimahoou ) /* 21/01/2000 (c) 2000 Eighting/Raizing (USA) */
- DRIVER( gmahou ) /* 21/01/2000 (c) 2000 Eighting/Raizing (Japan) */
- DRIVER( mmatrix ) /* 12/04/2000 (c) 2000 Takumi (USA) */
- DRIVER( mmatrixj ) /* 12/04/2000 (c) 2000 Takumi (Japan) */
- DRIVER( 1944 ) /* 20/06/2000 (c) 2000 Eighting/Raizing (USA) */
- DRIVER( 1944j ) /* 20/06/2000 (c) 2000 Eighting/Raizing (Japan) */
- DRIVER( mpang ) /* 10/10/2000 (c) 2000 Mitchell (Euro) */
- DRIVER( mpangr1 ) /* 25/09/2000 (c) 2000 Mitchell (Euro) */
- DRIVER( mpangu ) /* 10/10/2000 (c) 2000 Mitchell (USA) */
- DRIVER( mpangj ) /* 11/10/2000 (c) 2000 Mitchell (Japan) */
- DRIVER( progear ) /* 17/01/2001 (c) 2001 Cave (USA) */
- DRIVER( progearj ) /* 17/01/2001 (c) 2001 Cave (Japan) */
- DRIVER( progeara ) /* 17/01/2001 (c) 2001 Cave (Asia) */
- DRIVER( pzloop2 ) /* 02/03/2001 (c) 2001 Mitchell (Euro) */
- DRIVER( pzloop2j ) /* 05/02/2001 (c) 2001 Mitchell (Japan) */
- DRIVER( choko ) /* 20/08/2001 (c) 2001 Mitchell (Japan) */
- DRIVER( hsf2 ) /* 02/02/2004 (c) 2003, 2004 (USA) */
- DRIVER( hsf2j ) /* 22/12/2003 (c) 2003, 2004 (Japan) */
- DRIVER( hsf2a ) /* 02/02/2004 (c) 2003, 2004 (Asia) */
-
- /* CPS2 'Phoenix' bootlegs */
- DRIVER( ssf2ud )
- DRIVER( ddtodd )
- DRIVER( ecofghtrd )
- DRIVER( avspd )
- DRIVER( dstlku1d )
- DRIVER( ringdstd )
- DRIVER( xmcotad )
- DRIVER( nwarrud )
- DRIVER( sfad )
- DRIVER( mshud )
- DRIVER( 19xxd )
- DRIVER( sfz2ad )
- DRIVER( sfz2jd )
- DRIVER( spf2td )
- DRIVER( spf2xjd )
- DRIVER( ddsomud )
- DRIVER( megamn2d )
- DRIVER( sfz2ald )
- DRIVER( xmvsfu1d )
- DRIVER( batcird )
- DRIVER( vsavd )
- DRIVER( mvscud )
- DRIVER( sfa3ud )
- DRIVER( gigawingd )
- DRIVER( gigawingjd )
- DRIVER( 1944d )
- DRIVER( progearud )
- DRIVER( progearjd )
- DRIVER( progearjbl )
- DRIVER( hsf2d )
- DRIVER( ssf2tbd )
- DRIVER( ssf2xjd )
- DRIVER( sgemfd )
- DRIVER( armwar1d )
- DRIVER( dimahoud )
- DRIVER( mmatrixd )
- DRIVER( vhunt2d )
- DRIVER( vsav2d )
- DRIVER( csclub1d )
- DRIVER( cybotsud )
- DRIVER( mshvsfu1d )
- DRIVER( sfz3jr2d )
-
- /* Capcom CPS3 games */
- DRIVER( redearth ) /* 21/11/1996 (c) 1996 (Euro) */
- DRIVER( redeartha ) /* 23/10/1996 (c) 1996 (Euro) */
- DRIVER( warzard ) /* 21/11/1996 (c) 1996 (Japan) */
- DRIVER( warzarda ) /* 23/10/1996 (c) 1996 (Japan) */
- DRIVER( sfiii ) /* 04/02/1997 (c) 1997 (USA) */
- DRIVER( sfiiij ) /* 04/02/1997 (c) 1997 (Japan) */
- DRIVER( sfiiih ) /* 04/02/1997 (c) 1997 (Hispanic) */
- DRIVER( sfiii2 ) /* 30/09/1997 (c) 1997 (USA) */
- DRIVER( sfiii2j ) /* 30/09/1997 (c) 1997 (Japan) */
- DRIVER( jojo ) /* 08/01/1999 (c) 1998 (USA) */
- DRIVER( jojoa ) /* 02/12/1998 (c) 1998 (USA) */
- DRIVER( jojoj ) /* 08/01/1999 (c) 1998 (Japan) */
- DRIVER( jojoaj ) /* 02/12/1998 (c) 1998 (Japan) */
- DRIVER( sfiii3 ) /* 08/06/1999 (c) 1999 (USA) */
- DRIVER( sfiii3a ) /* 12/05/1999 (c) 1999 (USA) */
- DRIVER( jojoba ) /* 13/09/1999 (c) 1999 (Japan) */
-
- DRIVER( sfiiin ) /* 04/02/1997 (c) 1997 (Asia) */
- DRIVER( sfiii2n ) /* 30/09/1997 (c) 1997 (Asia) */
- DRIVER( jojon ) /* 08/01/1999 (c) 1998 (Asia) */
- DRIVER( jojoan ) /* 02/12/1998 (c) 1998 (Asia) */
- DRIVER( sfiii3n ) /* 08/06/1999 (c) 1999 (Japan) */
- DRIVER( sfiii3an ) /* 12/05/1999 (c) 1999 (Japan) */
- DRIVER( jojoban ) /* 13/09/1999 (c) 1999 (Japan) */
- DRIVER( jojobane ) /* 13/09/1999 (c) 1999 (Euro) */
-
- /* Capcom ZN1 */
- DRIVER( cpzn1 )
- DRIVER( ts2 ) /* Battle Arena Toshinden 2 (USA 951124) */
- DRIVER( ts2j ) /* Battle Arena Toshinden 2 (JAPAN 951124) */
- DRIVER( starglad ) /* Star Gladiator (USA 960627) */
- DRIVER( stargladj ) /* Star Gladiator (JAPAN 960627) */
- DRIVER( sfex ) /* Street Fighter EX (EURO 961219) */
- DRIVER( sfexu ) /* Street Fighter EX (USA 961219) */
- DRIVER( sfexa ) /* Street Fighter EX (ASIA 961219) */
- DRIVER( sfexj ) /* Street Fighter EX (JAPAN 961130) */
- DRIVER( glpracr ) /* Gallop Racer (JAPAN Ver 9.01.12) */
- DRIVER( sfexp ) /* Street Fighter EX Plus (USA 970407) */
- DRIVER( sfexpu1 ) /* Street Fighter EX Plus (USA 970311) */
- DRIVER( sfexpj ) /* Street Fighter EX Plus (JAPAN 970311) */
-
- /* Capcom ZN2 */
- DRIVER( cpzn2 )
- DRIVER( rvschool ) /* Rival Schools (USA 971117) */
- DRIVER( rvschoola ) /* Rival Schools (ASIA 971117) */
- DRIVER( jgakuen ) /* Justice Gakuen (JAPAN 971117) */
- DRIVER( sfex2 ) /* Street Fighter EX 2 (USA 980526) */
- DRIVER( sfex2j ) /* Street Fighter EX 2 (JAPAN 980312) */
- DRIVER( sfex2a ) /* Street Fighter EX 2 (ASIA 980312) */
- DRIVER( sfex2h ) /* Street Fighter EX 2 (HISPANIC 980312) */
- DRIVER( plsmaswd ) /* Plasma Sword (USA 980316) */
- DRIVER( stargld2 ) /* Star Gladiator 2 (JAPAN 980316) */
- DRIVER( plsmaswda ) /* Plasma Sword (ASIA 980316) */
- DRIVER( tgmj ) /* Tetris The Grand Master (JAPAN 980710) */
- DRIVER( techromn ) /* Tech Romancer (EURO 980914) */
- DRIVER( techromnu ) /* Tech Romancer (USA 980914) */
- DRIVER( kikaioh ) /* Kikaioh (JAPAN 980914) */
- DRIVER( sfex2p ) /* Street Fighter EX 2 Plus (USA 990611) */
- DRIVER( sfex2pa ) /* Street Fighter EX 2 Plus (ASIA 990611) */
- DRIVER( sfex2pj ) /* Street Fighter EX 2 Plus (JAPAN 990611) */
- DRIVER( strider2 ) /* Strider 2 (USA 991213) */
- DRIVER( strider2a ) /* Strider 2 (ASIA 991213) */
- DRIVER( shiryu2 ) /* Strider Hiryu 2 (JAPAN 991213) */
-
- DRIVER( alien ) /* (c) 2005 */
- /* Alien Danger */
-
- /* Tecmo ZN1 */
- DRIVER( tps )
- DRIVER( glpracr2 ) /* Gallop Racer 2 (USA) */
- DRIVER( glpracr2j ) /* Gallop Racer 2 (JAPAN) */
- DRIVER( glpracr2l ) /* Gallop Racer 2 Link HW (JAPAN) */
- DRIVER( doapp ) /* Dead Or Alive ++ (JAPAN) */
- DRIVER( cbaj ) /* Cool Boaders Arcade Jam */
- DRIVER( shngmtkb ) /* Shanghai Matekibuyuu */
- DRIVER( tondemo ) /* Tondemo Crisis (JAPAN) */
- DRIVER( glpracr3 ) /* Gallop Racer 3 (JAPAN) */
- DRIVER( flamegun ) /* Flame Gunner (USA) */
- DRIVER( flamegunj ) /* Flame Gunner (JAPAN) */
- DRIVER( lpadv ) /* Logic Pro Adventure (JAPAN) */
- DRIVER( tblkkuzu ) /* The Block Kuzushi (JAPAN) */
- DRIVER( 1on1gov ) /* 1 on 1 Government (JAPAN) */
- DRIVER( tecmowcm ) /* Tecmo World Cup Millenium (JAPAN) */
- DRIVER( mfjump ) /* Monster Farm Jump (JAPAN) */
-
- /* Atlus ZN1 */
- DRIVER( atluspsx )
- DRIVER( hvnsgate ) /* Heaven's Gate (JAPAN) */
-
- /* PS Arcade 95 */
- DRIVER( psarc95 )
- DRIVER( beastrzr ) /* Beastorizer (USA) */
- DRIVER( bldyroar ) /* Bloody Roar (JAPAN) */
- DRIVER( beastrzb ) /* Beastorizer (USA Bootleg) */
- DRIVER( bldyror2 ) /* Bloody Roar 2 (WORLD) */
- DRIVER( bldyror2u ) /* Bloody Roar 2 (USA) */
- DRIVER( bldyror2a ) /* Bloody Roar 2 (ASIA) */
- DRIVER( bldyror2j ) /* Bloody Roar 2 (JAPAN) */
- DRIVER( brvblade ) /* Brave Blade (WORLD) */
- DRIVER( brvbladeu ) /* Brave Blade (USA) */
- DRIVER( brvbladea ) /* Brave Blade (ASIA) */
- DRIVER( brvbladej ) /* Brave Blade (JAPAN) */
- DRIVER( bam2 ) /* Bust a Move 2 (JAPANESE ROM ver. 1999/07/17 10:00:00) */
-
- /* Atari PSX */
- DRIVER( atpsx )
- DRIVER( primrag2 ) /* Primal Rage 2 */
-
- /* Acclaim PSX */
- DRIVER( acpsx )
- DRIVER( nbajamex ) /* NBA Jam Extreme */
- DRIVER( jdredd ) /* Judge Dredd (Rev C) */
- DRIVER( jdreddb ) /* Judge Dredd (Rev B) */
-
- /* Video System ZN1 */
- DRIVER( vspsx )
- DRIVER( aerofgts ) /* Aero Fighters Special (TAIWAN) */
- DRIVER( sncwgltd ) /* Sonic Wings Limited (JAPAN) */
-
- /* Taito FX1a */
- DRIVER( taitofx1 )
- DRIVER( sfchamp ) /* Super Football Champ (Ver 2.5O) */
- DRIVER( sfchamp24o )/* Super Football Champ (Ver 2.4O) */
- DRIVER( sfchampj ) /* Super Football Champ (Ver 2.4J) */
- DRIVER( psyforce ) /* Psychic Force (Ver 2.4O) */
- DRIVER( psyforcej ) /* Psychic Force (Ver 2.4J) */
- DRIVER( psyforcex ) /* Psychic Force EX (Ver 2.0J) */
- DRIVER( mgcldate ) /* Magical Date (JAPAN Ver 2.02J) */
- DRIVER( mgcldtex ) /* Magical Date EX (JAPAN Ver 2.01J) */
-
- /* Taito FX1b */
- DRIVER( raystorm ) /* Ray Storm (Ver 2.06A) */
- DRIVER( raystormj ) /* Ray Storm (Ver 2.05J) */
- DRIVER( ftimpact ) /* Fighters' Impact (Ver 2.02O) */
- DRIVER( ftimpactj ) /* Fighters' Impact (Ver 2.02J) */
- DRIVER( ftimpcta ) /* Fighters' Impact A (Ver 2.00J) */
- DRIVER( gdarius ) /* G-Darius (Ver 2.01J) */
- DRIVER( gdariusb ) /* G-Darius (Ver 2.02A) */
- DRIVER( gdarius2 ) /* G-Darius Ver.2 (Ver 2.03J) */
-
- /* Taito GNET */
- DRIVER( taitogn )
- DRIVER( chaoshea ) /* 1998.10 Chaos Heat (V2.09O) */
- DRIVER( chaosheaj ) /* 1998.10 Chaos Heat (V2.08J) */
- DRIVER( raycris ) /* 1998.12 Ray Crisis (V2.03J) */
- DRIVER( otenamih ) /* 1999.02 Otenami Haiken (Success) */
- DRIVER( otenamhf ) /* 2005.04 Otenami Haiken Final (V2.07JC) */
- DRIVER( spuzboblj ) /* 1999.03 Super Puzzle Bobble (Japan) */
- DRIVER( spuzbobl ) /* 1999.?? Super Puzzle Bobble (V2.05O) */
- DRIVER( gobyrc ) /* 1999.?? Go By RC (V2.03O) */
- DRIVER( rcdego ) /* 1999.06 RC De Go (V2.03J) */
- DRIVER( flipmaze ) /* 1999.09 Flip Maze (V2.04J) */
- DRIVER( mahjngoh ) /* 1999.12 Mahjong Oh (V2.06J) */
- DRIVER( psyvaria ) /* 2000.03 Psyvariar -Medium Unit- (V2.04J) */
- DRIVER( shanghss ) /* 2000.07 Shanghai Shoryu Sairin (V2.03J) */
- DRIVER( psyvarrv ) /* 2000.09 Psyvariar -Revision- (V2.04J) */
- DRIVER( zokuoten ) /* 2000.12 Zoku Otenamihaiken (V2.03J) */
- /* 2000.?? Taito Classic (Success, not released?) */
- DRIVER( soutenry ) /* 2001.02 Soutenryu (V2.07J) */
- DRIVER( nightrai ) /* 2001.05 Night Raid (V2.03J) */
- DRIVER( shikigam ) /* 2001.09 Shikigami no Shiro */
- DRIVER( otenki ) /* 2001.10 Otenki Kororin */
- DRIVER( usagi ) /* 2001.12 Usagi (V2.02J) */
- DRIVER( shangtou ) /* 2002.02 Shanghai Sangokuhaitougi */
- DRIVER( xiistag ) /* 2002.07 XII Stag (V2.01J) */
- DRIVER( sianniv ) /* 2003.10 Space Invaders Anniversary (V2.02J) */
- DRIVER( kollon ) /* 2003.11 Kollon (V2.04J) */
- DRIVER( kollonc ) /* 2003.11 Kollon (V2.04JC, Compact Flash version) */
- DRIVER( zooo ) /* 2004.05 Zooo */
-
- /* Namco System 11 */
- DRIVER( tekken ) /* 1994.?? Tekken (TE4/VER.C) */
- DRIVER( tekkena ) /* 1994.?? Tekken (TE2/VER.C) */
- DRIVER( tekkenb ) /* 1994.?? Tekken (TE2/VER.B) */
- DRIVER( tekkenc ) /* 1994.12 Tekken (TE1/VER.B, Japan) */
- DRIVER( tekken2 ) /* 1995.?? Tekken 2 Ver.B (TES3/VER.B) */
- DRIVER( tekken2a ) /* 1995.?? Tekken 2 Ver.B (TES2/VER.B) */
- /* 1995.10 Tekken 2 Ver.B (TES1/VER.B, Japan) */
- DRIVER( tekken2b ) /* 1995.?? Tekken 2 (TES2/VER.A) */
- /* 1995.08 Tekken 2 (TES1, Japan) */
- DRIVER( souledge1 ) /* 1996.?? Soul Edge (SO3/VER.A) */
- DRIVER( souledge1j )/* 1996.02 Soul Edge (SO1/VER.A, Japan) */
- DRIVER( primglex ) /* 1996.03 Prime Goal EX (PG1/VER.A, Japan) */
- DRIVER( xevi3dg ) /* 1996.05 Xevious 3D/G (XV31/VER.A, Japan) */
- DRIVER( souledge ) /* 1996.?? Soul Edge Ver. II (SO4/VER.C) */
- DRIVER( souledgea ) /* 1996.?? Soul Edge Ver. II (SO3/VER.C) */
- /* 1996.05 Soul Edge Ver. II (SO1, Japan) */
- DRIVER( dunkmnia ) /* 1996.?? Dunk Mania (DM1/VER.C) */
- DRIVER( dunkmniaj ) /* 1996.05 Dunk Mania (DM1/VER.C, Japan) */
- DRIVER( danceyes ) /* 1996.09 Dancing Eyes (DC1/VER.A, Japan) */
- DRIVER( pocketrc ) /* 1997.03 Pocket Racer (PKR1/VER.B, Japan) */
- DRIVER( starswep ) /* 1997.07 Star Sweep (STP1/VER.A, Japan) */
- DRIVER( myangel3 ) /* 1998.03 Kosodate Quiz My Angel 3 (KQT1/VER.A, Japan) */
- DRIVER( ptblank2a ) /* 1999.?? Point Blank 2 (GNB3/VER.A) */
- /* 1999.02 Gunbaarl (GNB1, Japan) */
-
- /* Namco System 12 */
- DRIVER( tekken3 ) /* 1997.03 Tekken 3 (TET1/VER.E1, Japan) */
- DRIVER( tekken3a ) /* 1997.?? Tekken 3 (TET2/VER.B) */
- DRIVER( tekken3b ) /* 1997.?? Tekken 3 (TET3/VER.A) */
- DRIVER( tekken3c ) /* 1997.?? Tekken 3 (TET2/VER.A) */
- DRIVER( lbgrande ) /* 1997.?? Libero Grande (LG2/VER.A) */
- /* 1997.12 Libero Grande (LG1, Japan) */
- DRIVER( toukon3 ) /* 1997.12 Shin Nihon Pro Wrestling Toukon Retsuden 3 Arcade Edition (TR1/VER.A, Japan) */
- DRIVER( ehrgeiz ) /* 1998.?? Ehrgeiz (EG3/VER.A) */
- DRIVER( ehrgeiza ) /* 1998.?? Ehrgeiz (EG2/VER.A) */
- DRIVER( ehrgeizj ) /* 1998.05 Ehrgeiz (EG1, Japan) */
- DRIVER( sws98 ) /* 1998.06 Super World Stadium '98 (SS81/VER.A, Japan) */
- DRIVER( soulclbr ) /* 1998.?? Soul Calibur (SOC14/VER.C) */
- DRIVER( soulclbrb ) /* 1998.?? Soul Calibur (SOC14/VER.B) */
- DRIVER( soulclbrj ) /* 1998.07 Soul Calibur (SOC11/VER.C, Japan) */
- DRIVER( soulclbrb2 ) /* 1998.?? Soul Calibur (SOC13/VER.B) */
- DRIVER( soulclbrjb )/* 1998.?? Soul Calibur (SOC11/VER.B, Japan) */
- DRIVER( soulclbrja )/* 1998.?? Soul Calibur (SOC11/VER.A2, Japan) */
- /* 1998.07 Techno Drive */
- DRIVER( mdhorse ) /* 1998.11 Derby Quiz My Dream Horse (MDH1/VER.A2, Japan) */
- /* 1998.12 Attack Pla Rail */
- DRIVER( tenkomor ) /* 1998.?? Tenkomori Shooting (TKM2/VER.A1) */
- DRIVER( tenkomorj ) /* 1998.12 Tenkomori Shooting (TKM1/VER.A1, Japan) */
- DRIVER( pacapp ) /* 1998.12 Paca Paca Passion (PPP1/VER.A2, Japan) */
- DRIVER( fgtlayer ) /* 1998.12 Fighting Layer (FTL0/VER.A, Japan) */
- /* 1999.01 Bust A Move (Metro) */
- DRIVER( ptblank2 ) /* 1999.?? Point Blank 2 (GNB5/VER.A) */
- DRIVER( sws99 ) /* 1999.05 Super World Stadium '99 (SS91/VER.A3, Japan) */
- DRIVER( ghlpanic ) /* 1999.?? Ghoul Panic (OB2/VER.A) */
- /* 1999.07 Oh Bakyuun (OB1, Japan) */
- DRIVER( pacapp2 ) /* 1999.07 Paca Paca Passion 2 (PKS1/VER.A, Japan) */
- /* 1999.07 Bust A Move 2 (Metro) */
- DRIVER( tektagt ) /* 1999.?? Tekken Tag Tournament (TEG3/VER.C1) */
- DRIVER( tektagta ) /* 1999.?? Tekken Tag Tournament (TEG3/VER.B) */
- DRIVER( tektagtb ) /* 1999.07 Tekken Tag Tournament (TEG1/VER.B, Japan) */
- DRIVER( tektagtc ) /* 1999.07 Tekken Tag Tournament (TEG1/VER.A, Japan) */
- DRIVER( mrdrillr ) /* 1999.11 Mr Driller (DRI1/VER.A2, Japan) */
- /* 1999.12 UmJammer Lammy NOW! (Japan) */
- /* 1999.12 Quest for Fame (Japan) */
- DRIVER( pacappsp ) /* 1999.12 Paca Paca Passion Special (PSP1/VER.A, Japan) */
- DRIVER( kaiunqz ) /* 1999.12 Kaiun Quiz (KW1/VER.A, Japan) */
- DRIVER( aquarush ) /* 2000.02 Aqua Rush (AQ1/VER.A1, Japan) */
- DRIVER( golgo13 ) /* 2000.03 Golgo 13 (GLG1/VER.A, Japan) */
- DRIVER( sws2000 ) /* 2000.03 Super World Stadium 2000 (SS01/VER.A, Japan) */
- DRIVER( truckk ) /* 2000.06 Truck Kyousoukyoku (Metro) */
- /* 2000.07 Kart Duel */
- /* 2000.08 Teknowerk */
- DRIVER( g13knd ) /* 2000.10 Golgo 13 Kiseki no Dandou (GLS1/VER.A, Japan) */
- DRIVER( sws2001 ) /* 2001.04 Super World Stadium 2001 (SS11/VER.A, Japan) */
-
- /* Namco System 10 */
- DRIVER( mrdrilr2 ) /* 2000.07 Mr Driller 2 (DR21 Ver.A) */
- DRIVER( mrdrlr2a ) /* 2000.?? Mr Driller 2 (DR22 Ver.A) */
- DRIVER( ptblank3 ) /* 2000.12 Point Blank 3 / Gunbalina */
- /* 2001.02 Photo Battole */
- /* 2001.02 Taiko no Tatsujin */
- /* 2001.03 Gahaha Ippatsudou */
- DRIVER( mrdrilrg ) /* 2001.03 Mr. Driller G (DRG1 Ver.A) */
- /* 2001.07 Golgo 13 Juusei no Requiem */
- /* 2001.08 Taiko no Tatsujin 2 */
- /* 2001.09 Gahaha Ippatsudou 2 */
- /* 2001.11 Knock Down 2001 */
- DRIVER( knpuzzle ) /* 2001.12 Kotoba no Puzzle Mojipittan (KPM1 Ver.A) */
- DRIVER( gjspace ) /* 2001.12 Gekitoride-Jong Space (10011 Ver.A) */
- /* 2002.03 Panicuru Panekuru */
- /* 2002.03 Taiko no Tatsujin 3 */
- DRIVER( startrgn ) /* 2002.07 Star Trigon (STT1 Ver.A) */
- /* 2002.07 Tsukkomi Yousei Gips Nice Tsukkomi */
- DRIVER( gamshara ) /* 2002.08 Gamshara (10021 Ver.A) */
- DRIVER( chocovdr ) /* 2002.10 Uchuu Daisakusen : Chocovader Contactee */
- /* 2002.12 Taiko no Tatsujin 4 */
- /* 2003.04 Seisyun Quiz Colorful High School */
- /* 2003.10 Taiko no Tatsujin 5 */
- /* 2004.07 Taiko no Tatsujin 6 */
-
- /* Konami GQ */
- DRIVER( cryptklr ) /* Crypt Killer (GQ420 UAA) */
-
- /* Konami GV */
- DRIVER( konamigv )
- DRIVER( kdeadeye ) /* GV054, UA01 */
- DRIVER( pbball96 ) /* GV017, Japan 1.03 */
- DRIVER( hyperath ) /* GV021, Japan 1.00 */
- DRIVER( susume ) /* GV027, Japan 1.20 */
- DRIVER( btchamp ) /* GV053, UAA01 */
- DRIVER( weddingr ) /* GX624, JAA */
- DRIVER( tokimosh ) /* GE755, JAA */
- DRIVER( tokimosp ) /* GE756, JAB */
- DRIVER( nagano98 ) /* GX720, EAA */
- DRIVER( simpbowl ) /* GQ829, UAA */
-
- /* Konami System 573 */
- DRIVER( sys573 )
- DRIVER( darkhleg ) /* 1998 - Dark Horse Legend (GX706 VER. JAA) */
- DRIVER( fbaitbc ) /* 1998 - Fisherman's Bait - A Bass Challenge (GE765 VER. UAB) */
- DRIVER( bassangl ) /* 1998 - Bass Angler (GE765 VER. JAA) */
- DRIVER( pbballex ) /* 1998 - Powerful Pro Baseball EX (GX802 VER. JAB) */
- DRIVER( konam80s ) /* 1998 - Konami 80's AC Special (GC826 VER. EAA) */
- DRIVER( konam80u ) /* 1998 - Konami 80's AC Special (GC826 VER. UAA) */
- DRIVER( konam80j ) /* 1998 - Konami 80's Gallery (GC826 VER. JAA) */
- DRIVER( konam80a ) /* 1998 - Konami 80's AC Special (GC826 VER. AAA) */
- DRIVER( konam80k ) /* 1998 - Konami 80's AC Special (GC826 VER. KAA) */
- DRIVER( dstage ) /* 1999 - Dancing Stage (GN845 VER. EAA) */
- DRIVER( ddru ) /* 1999 - Dance Dance Revolution (GN845 VER. UAA) */
- DRIVER( ddrj ) /* 1998 - Dance Dance Revolution - Internet Ranking Ver (GC845 VER. JBA) */
- DRIVER( ddrja ) /* 1998 - Dance Dance Revolution (GC845 VER. JAA) */
- DRIVER( ddrjb ) /* 1998 - Dance Dance Revolution (GC845 VER. JAB) */
- DRIVER( ddra ) /* 1999 - Dance Dance Revolution (GN845 VER. AAA) */
- DRIVER( fbait2bc ) /* 1998 - Fisherman's Bait 2 - A Bass Challenge (GE865 VER. UAB) */
- DRIVER( bassang2 ) /* 1998 - Bass Angler 2 (GE865 VER. JAA) */
- DRIVER( drmn ) /* 1999 - DrumMania (GQ881 VER. JAD) */
- DRIVER( gtrfrks ) /* 1999 - Guitar Freaks (GQ886 VER. EAC) */
- DRIVER( gtrfrksu ) /* 1999 - Guitar Freaks (GQ886 VER. UAC) */
- DRIVER( gtrfrksj ) /* 1999 - Guitar Freaks (GQ886 VER. JAC) */
- DRIVER( gtrfrksa ) /* 1999 - Guitar Freaks (GQ886 VER. AAC) */
- DRIVER( fbaitmc ) /* 1999 - Fisherman's Bait - Marlin Challenge (GX889 VER. EA) */
- DRIVER( fbaitmcu ) /* 1999 - Fisherman's Bait - Marlin Challenge (GX889 VER. UA) */
- DRIVER( fbaitmcj ) /* 1999 - Fisherman's Bait - Marlin Challenge (GX889 VER. JA) */
- DRIVER( fbaitmca ) /* 1999 - Fisherman's Bait - Marlin Challenge (GX889 VER. AA) */
- DRIVER( ddr2m ) /* 1999 - Dance Dance Revolution 2nd Mix (GN895 VER. JAA) */
- DRIVER( ddr2ml ) /* 1999 - Dance Dance Revolution 2nd Mix - Link Ver (GE885 VER. JAB) */
- DRIVER( ddr2mla ) /* 1999 - Dance Dance Revolution 2nd Mix - Link Ver (GE885 VER. JAA) */
- DRIVER( ddrbocd ) /* 1999 - Dance Dance Revolution Best of Cool Dancers (GE892 VER. JAA) */
- DRIVER( ddr2mc ) /* 1999 - Dance Dance Revolution 2nd Mix with beatmaniaIIDX CLUB VERSiON (GE896 VER. JAA) */
- DRIVER( ddr2mc2 ) /* 1999 - Dance Dance Revolution 2nd Mix with beatmaniaIIDX substream CLUB VERSiON 2 (GE984 VER. JAA) */
- DRIVER( gtrfrk2m ) /* 1999 - Guitar Freaks 2nd Mix Ver 1.01 (GQ883 VER. JAD) */
- DRIVER( dsftkd ) /* 1999 - Dancing Stage featuring TRUE KiSS DESTiNATiON (G*884 VER. JAA) */
- DRIVER( cr589fw ) /* 1999 - CR-589 Firmware (700B04) */
- DRIVER( cr589fwa ) /* 1999 - CR-589 Firmware (700A04) */
- DRIVER( ddr3mk ) /* 2000 - Dance Dance Revolution 3rd Mix - Ver.Korea2 (GN887 VER. KBA) */
- DRIVER( ddr3mka ) /* 2000 - Dance Dance Revolution 3rd Mix - Ver.Korea (GN887 VER. KAA) */
- DRIVER( ddr3ma ) /* 1999 - Dance Dance Revolution 3rd Mix (GN887 VER. AAA) */
- DRIVER( ddr3mj ) /* 1999 - Dance Dance Revolution 3rd Mix (GN887 VER. JAA) */
- DRIVER( ddrsbm ) /* 1999 - Dance Dance Revolution Solo Bass Mix (GQ894 VER. JAA) */
- DRIVER( ddrs2k ) /* 1999 - Dance Dance Revolution Solo 2000 (GC905 VER. AAA) */
- DRIVER( ddrs2kj ) /* 1999 - Dance Dance Revolution Solo 2000 (GC905 VER. JAA) */
- DRIVER( hyperbbc ) /* 1999 - Hyper Bishi Bashi Champ (GX908 1999/08/24 VER. JAA) */
- DRIVER( hyperbbck ) /* 1999 - Hyper Bishi Bashi Champ (GX908 1999/08/24 VER. KAA) */
- DRIVER( dsfdct ) /* 1999 - Dancing Stage featuring Dreams Come True (GC910 VER. JCA) */
- DRIVER( dsfdcta ) /* 1999 - Dancing Stage featuring Dreams Come True (GC910 VER. JAA) */
- DRIVER( drmn2m ) /* 1999 - DrumMania 2nd Mix (GE912 VER. JAB) */
- DRIVER( drmn2mpu ) /* 1999 - DrumMania 2nd Mix Session Power Up Kit (GE912 VER. JAB) */
- DRIVER( dncfrks ) /* 2000 - Dance Freaks (G*874 VER. KAA) */
- DRIVER( dmx ) /* 2000 - Dance Maniax (G*874 VER. JAA) */
- DRIVER( gunmania ) /* 2000 - GunMania (GL906 VER. JAA) */
- DRIVER( fghtmn ) /* 2000 - Fighting Mania (QG918 VER. EAA) */
- DRIVER( fghtmna ) /* 2000 - Fighting Mania (QG918 VER. AAA) */
- DRIVER( pnchmn ) /* 2000 - Punch Mania: Hokuto No Ken (GQ918 VER. JAB) */
- DRIVER( pnchmna ) /* 2000 - Punch Mania: Hokuto No Ken (GQ918 VER. JAB, ALT CD) */
- DRIVER( fghtmnk ) /* 2000 - Fighting Mania (QG918 VER. KAA) */
- DRIVER( fghtmnu ) /* 2000 - Fighting Mania (QG918 VER. IAA) */
- DRIVER( dsem ) /* 2000 - Dancing Stage Euro Mix (G*936 VER. EAA) */
- DRIVER( gtrfrk3m ) /* 2000 - Guitar Freaks 3rd Mix (GE949 VER. JAC) */
- DRIVER( gtfrk3ma ) /* 2000 - Guitar Freaks 3rd Mix (GE949 VER. JAB) */
- DRIVER( gtfrk3mb ) /* 2000 - Guitar Freaks 3rd Mix - security cassette versionup (949JAZ02) */
- DRIVER( pnchmn2 ) /* 2000 - Punch Mania 2: Hokuto No Ken (GQA09 JAA) */
- DRIVER( salarymc ) /* 2000 - Salary Man Champ (G*A18 VER. JAA) */
- DRIVER( ddr3mp ) /* 2000 - Dance Dance Revolution 3rd Mix Plus (G*A22 VER. JAA) */
- DRIVER( pcnfrk3m ) /* 2000 - Percussion Freaks 3rd Mix (G*A23 VER. KAA) */
- DRIVER( drmn3m ) /* 2000 - DrumMania 3rd Mix (G*A23 VER. JAA) */
- DRIVER( gtrfrk4m ) /* 2000 - Guitar Freaks 4th Mix (G*A24 VER. JAA) */
- DRIVER( drmn4m ) /* 2000 - DrumMania 4th Mix (G*A25 VER. JAA) */
- DRIVER( ddr4m ) /* 2000 - Dance Dance Revolution 4th Mix (G*A33 VER. AAA) */
- DRIVER( ddr4mj ) /* 2000 - Dance Dance Revolution 4th Mix (G*A33 VER. JAA) */
- DRIVER( ddr4ms ) /* 2000 - Dance Dance Revolution Solo 4th Mix (G*A33 VER. ABA) */
- DRIVER( ddr4msj ) /* 2000 - Dance Dance Revolution Solo 4th Mix (G*A33 VER. JBA) */
- DRIVER( dsfdr ) /* 2000 - Dancing Stage Featuring Disney's Rave (GCA37JAA) */
- DRIVER( ddrusa ) /* 2000 - Dance Dance Revolution USA (G*A44 VER. UAA) */
- DRIVER( ddr4mp ) /* 2000 - Dance Dance Revolution 4th Mix Plus (G*A34 VER. JAA) */
- DRIVER( ddr4mps ) /* 2000 - Dance Dance Revolution 4th Mix Plus Solo (G*A34 VER. JAA) */
- DRIVER( dmx2m ) /* 2000 - Dance Maniax 2nd Mix (G*A39 VER. JAA) */
- DRIVER( gtrfrk5m ) /* 2001 - Guitar Freaks 5th Mix (G*A26 VER. JAA) */
- DRIVER( ddr5m ) /* 2001 - Dance Dance Revolution 5th Mix (G*A27 VER. JAA) */
- DRIVER( dmx2majp ) /* 2001 - Dance Maniax 2nd Mix Append J-Paradise (G*A38 VER. JAA ) */
- DRIVER( mamboagg ) /* 2001 - Mambo A Go-Go (GQA40 VER. JAB) */
- DRIVER( drmn5m ) /* 2001 - DrumMania 5th Mix (G*B05 VER. JAA) */
- DRIVER( gtrfrk6m ) /* 2001 - Guitar Freaks 6th Mix (G*B06 VER. JAA) */
- DRIVER( drmn6m ) /* 2001 - DrumMania 6th Mix (G*B16 VER. JAA) */
- DRIVER( gtrfrk7m ) /* 2001 - Guitar Freaks 7th Mix (G*B17 VER. JAA) */
- DRIVER( ddrmax ) /* 2001 - DDR Max - Dance Dance Revolution 6th Mix (G*B19 VER. JAA) */
- DRIVER( ddrmax2 ) /* 2002 - DDR Max 2 - Dance Dance Revolution 7th Mix (G*B20 VER. JAA) */
- DRIVER( mrtlbeat ) /* 2002 - Martial Beat (Martial Beat (G*B47 VER. JBA) */
- DRIVER( drmn7m ) /* 2002 - DrumMania 7th Mix power-up ver. (G*C07 VER. JBA) */
- DRIVER( drmn7ma ) /* 2002 - DrumMania 7th Mix (G*C07 VER. JAA) */
- DRIVER( gtrfrk8m ) /* 2002 - Guitar Freaks 8th Mix power-up ver. (G*C08 VER. JBA) */
- DRIVER( gtrfrk8ma ) /* 2002 - Guitar Freaks 8th Mix (G*C08 VER. JAA) */
- DRIVER( dsem2 ) /* 2002 - Dancing Stage Euro Mix 2 (G*C23 VER. EAA) */
- DRIVER( ddrextrm ) /* 2002 - Dance Dance Revolution Extreme (G*C36 VER. JAA) */
- DRIVER( drmn8m ) /* 2003 - DrumMania 8th Mix (G*C38 VER. JAA) */
- DRIVER( gtrfrk9m ) /* 2003 - Guitar Freaks 9th Mix (G*C39 VER. JAA) */
- DRIVER( drmn9m ) /* 2003 - DrumMania 9th Mix (G*D09 VER. JAA) */
- DRIVER( gtfrk10m ) /* 2003 - Guitar Freaks 10th Mix (G*D10 VER. JAB) */
- DRIVER( gtfrk10ma ) /* 2003 - Guitar Freaks 10th Mix (G*D10 VER. JAA) */
- DRIVER( gtfrk10mb ) /* 2003 - Guitar Freaks 10th Mix eAmusement (G*D10 VER. JBA) */
- DRIVER( gtfrk11m ) /* 2004 - Guitar Freaks 11th Mix (G*D39 VER. JAA) */
- DRIVER( drmn10m ) /* 2004 - DrumMania 10th Mix (G*D40 VER. JAA) */
-
- /* Konami Twinkle games */
- DRIVER( gq863 )
- DRIVER( bmiidx )
- DRIVER( bmiidxc )
- DRIVER( bmiidxca )
- DRIVER( bmiidxc2 )
- DRIVER( bmiidx3 )
- DRIVER( bmiidx4 )
- DRIVER( bmiidx6 )
- DRIVER( bmiidx7 )
- DRIVER( bmiidx8 )
-
- /* Konami Viper games */
- DRIVER( kviper ) /* 1999 */
- DRIVER( ppp2nd ) /* 2001 */
- DRIVER( boxingm ) /* 2001 */
- DRIVER( code1d ) /* 2000 */
- DRIVER( code1db ) /* 2000 */
- DRIVER( gticlub2 ) /* 2001 */
- DRIVER( gticlub2ea )/* 2001 */
- DRIVER( jpark3 ) /* 2001 */
- DRIVER( mocapglf ) /* 2001 */
- DRIVER( mocapb ) /* 2001 */
- DRIVER( mocapbj ) /* 2001 */
- DRIVER( p911 ) /* 2001 */
- DRIVER( p911uc ) /* 2001 */
- DRIVER( p911kc ) /* 2001 */
- DRIVER( p911e ) /* 2001 */
- DRIVER( p911j ) /* 2001 */
- DRIVER( p9112 ) /* 2001 */
- DRIVER( popn9 ) /* 2003 */
- DRIVER( sscopex ) /* 2001 */
- DRIVER( sogeki ) /* 2001 */
- DRIVER( thrild2 ) /* 2001 */
- DRIVER( thrild2a ) /* 2001 */
- DRIVER( thrild2c ) /* 2001 */
- DRIVER( tsurugi ) /* 2001 */
- DRIVER( tsurugij ) /* 2001 */
- DRIVER( wcombat ) /* 2002 */
- DRIVER( wcombatk ) /* 2002 */
- DRIVER( wcombatj ) /* 2002 */
- DRIVER( xtrial ) /* 2002 */
- DRIVER( mfightc ) /* 2002 */
- DRIVER( mfightcc ) /* 2002 */
-
- /* Mitchell games */
- DRIVER( mgakuen ) /* (c) 1988 Yuga */
- DRIVER( 7toitsu ) /* (c) 1988 Yuga */
- DRIVER( mgakuen2 ) /* (c) 1989 Face */
- DRIVER( pkladies ) /* (c) 1989 Mitchell */
- DRIVER( pkladiesl ) /* (c) 1989 Leprechaun */
- DRIVER( pkladiesla )/* (c) 1989 Leprechaun */
- DRIVER( pkladiesbl )/* bootleg */
- DRIVER( dokaben ) /* 3/1989 (c) 1989 Capcom (Japan) */
- /* 8/1989 Dokaben 2 (baseball) */
- DRIVER( pang ) /* (c) 1989 Mitchell (World) */
- DRIVER( pangb ) /* bootleg */
- DRIVER( pangbold ) /* bootleg */
- DRIVER( pangba ) /* bootleg */
- DRIVER( bbros ) /* (c) 1989 Capcom (US) not listed on Capcom's site */
- DRIVER( pompingw ) /* (c) 1989 Mitchell (Japan) */
- DRIVER( cbasebal ) /* 10/1989 (c) 1989 Capcom (Japan) (different hardware) */
- DRIVER( cworld ) /* 11/1989 (QUIZ 1) (c) 1989 Capcom */
- DRIVER( hatena ) /* 28/02/1990 (QUIZ 2) (c) 1990 Capcom (Japan) */
- DRIVER( spang ) /* 14/09/1990 (c) 1990 Mitchell (World) */
- DRIVER( spangj ) /* --/--/1990 (c) 1990 Mitchell (Japan) */
- DRIVER( spangbl ) /* bootleg */
- DRIVER( sbbros ) /* 01/10/1990 (c) 1990 Mitchell + Capcom (US) not listed on Capcom's site */
- DRIVER( marukin ) /* 17/10/1990 (c) 1990 Yuga (Japan) */
- DRIVER( qtono1 ) /* 25/12/1990 (QUIZ 3) (c) 1991 Capcom (Japan) */
- /* 4/1991 Ashita Tenki ni Naare (golf) */
- DRIVER( qsangoku ) /* 07/06/1991 (QUIZ 4) (c) 1991 Capcom (Japan) */
- DRIVER( block ) /* 10/09/1991 (c) 1991 Capcom (World) */
- DRIVER( blockj ) /* 10/09/1991 (c) 1991 Capcom (Japan) */
- DRIVER( blockjoy ) /* 06/11/1991 (c) 1991 Capcom (World) (Joystick version, bad dump?) */
- DRIVER( blockbl ) /* bootleg */
-
- /* Incredible Technologies games */
- /* http://www.itsgames.com */
- DRIVER( capbowl ) /* (c) 1988 Incredible Technologies */
- DRIVER( capbowl2 ) /* (c) 1988 Incredible Technologies */
- DRIVER( capbowl3 ) /* (c) 1988 Incredible Technologies */
- DRIVER( capbowl4 ) /* (c) 1989 Incredible Technologies */
- DRIVER( clbowl ) /* (c) 1989 Incredible Technologies */
- DRIVER( bowlrama ) /* (c) 1991 P & P Marketing */
- DRIVER( wfortune ) /* (c) 1989 GameTek */
- DRIVER( wfortunea ) /* (c) 1989 GameTek */
- DRIVER( grmatch ) /* (c) 1989 GameTek */
- DRIVER( stratab ) /* (c) 1990 Strata/Incredible Technologies */
- DRIVER( stratab1 ) /* (c) 1990 Strata/Incredible Technologies */
- DRIVER( sstrike ) /* (c) 1990 Strata/Incredible Technologies */
- DRIVER( gtg ) /* (c) 1990 Strata/Incredible Technologies */
- DRIVER( gtgt ) /* (c) 1990 Strata/Incredible Technologies */
- DRIVER( gtgt1 ) /* (c) 1990 Strata/Incredible Technologies */
- DRIVER( hstennis ) /* (c) 1990 Strata/Incredible Technologies */
- DRIVER( hstennis10 )/* (c) 1990 Strata/Incredible Technologies */
- DRIVER( slikshot ) /* (c) 1990 Grand Products/Incredible Technologies */
- DRIVER( slikshot17 )/* (c) 1990 Grand Products/Incredible Technologies */
- DRIVER( slikshot16 )/* (c) 1990 Grand Products/Incredible Technologies */
- DRIVER( dynobop ) /* (c) 1990 Grand Products/Incredible Technologies */
- DRIVER( arlingtn ) /* (c) 1991 Strata/Incredible Technologies */
- DRIVER( peggle ) /* (c) 1991 Strata/Incredible Technologies */
- DRIVER( pegglet ) /* (c) 1991 Strata/Incredible Technologies */
- DRIVER( pokrdice ) /* (c) 1991 Strata/Incredible Technologies */
- DRIVER( rimrockn ) /* (c) 1991 Strata/Incredible Technologies */
- DRIVER( rimrockn20 )/* (c) 1991 Strata/Incredible Technologies */
- DRIVER( rimrockn16 )/* (c) 1991 Strata/Incredible Technologies */
- DRIVER( rimrockn12 )/* (c) 1991 Strata/Incredible Technologies */
- DRIVER( ninclown ) /* (c) 1991 Strata/Incredible Technologies */
- DRIVER( gpgolf ) /* (c) 1992 Strata/Incredible Technologies */
- DRIVER( gtg2 ) /* (c) 1992 Strata/Incredible Technologies */
- DRIVER( gtg2t ) /* (c) 1989 Strata/Incredible Technologies */
- DRIVER( gtg2j ) /* (c) 1991 Strata/Incredible Technologies */
- DRIVER( neckneck ) /* (c) 1992 Bundra Games/Incredible Technologies */
- DRIVER( timekill ) /* (c) 1992 Strata/Incredible Technologies */
- DRIVER( timekill131 ) /* (c) 1992 Strata/Incredible Technologies */
- DRIVER( timekill121 ) /* (c) 1992 Strata/Incredible Technologies */
- DRIVER( hardyard ) /* (c) 1993 Strata/Incredible Technologies */
- DRIVER( hardyard10 ) /* (c) 1993 Strata/Incredible Technologies */
- DRIVER( bloodstm ) /* (c) 1994 Strata/Incredible Technologies */
- DRIVER( bloodstm22 ) /* (c) 1994 Strata/Incredible Technologies */
- DRIVER( bloodstm21 ) /* (c) 1994 Strata/Incredible Technologies */
- DRIVER( bloodstm11 ) /* (c) 1994 Strata/Incredible Technologies */
- DRIVER( pairs ) /* (c) 1994 Strata/Incredible Technologies */
- DRIVER( pairsa ) /* (c) 1994 Strata/Incredible Technologies */
- DRIVER( hotmemry ) /* (c) 1994 Tuning/Incredible Technologies */
- DRIVER( hotmemry11 ) /* (c) 1994 Tuning/Incredible Technologies */
- DRIVER( drivedge ) /* (c) 1994 Strata/Incredible Technologies */
- DRIVER( wcbowl ) /* (c) 1995 Incredible Technologies */
- DRIVER( wcbowl165 ) /* (c) 1995 Incredible Technologies */
- DRIVER( wcbowl161 ) /* (c) 1995 Incredible Technologies */
- DRIVER( wcbowl16 ) /* (c) 1995 Incredible Technologies */
- DRIVER( wcbowl140 ) /* (c) 1995 Incredible Technologies */
- DRIVER( wcbowl15 ) /* (c) 1995 Incredible Technologies */
- DRIVER( wcbowl14 ) /* (c) 1995 Incredible Technologies */
- DRIVER( wcbowl13 ) /* (c) 1995 Incredible Technologies */
- DRIVER( wcbowl12 ) /* (c) 1995 Incredible Technologies */
- DRIVER( sftm ) /* (c) 1995 Capcom/Incredible Technologies */
- DRIVER( sftm110 ) /* (c) 1995 Capcom/Incredible Technologies */
- DRIVER( sftm111 ) /* (c) 1995 Capcom/Incredible Technologies */
- DRIVER( sftmj ) /* (c) 1995 Capcom/Incredible Technologies */
- DRIVER( shufshot ) /* (c) Strata/Incredible Technologies */
- DRIVER( shufshot139 ) /* (c) Strata/Incredible Technologies */
- DRIVER( shufshot137 ) /* (c) Strata/Incredible Technologies */
- DRIVER( wcbowldx ) /* (c) 1999 Incredible Technologies */
-
- DRIVER( gt3d ) /* (c) 1995 Incredible Technologies */
- DRIVER( gt3dl192 ) /* (c) 1995 Incredible Technologies */
- DRIVER( gt3dl191 ) /* (c) 1995 Incredible Technologies */
- DRIVER( gt3ds192 ) /* (c) 1995 Incredible Technologies */
- DRIVER( gt3dv18 ) /* (c) 1995 Incredible Technologies */
- DRIVER( gt3dv17 ) /* (c) 1995 Incredible Technologies */
- DRIVER( gt3dv16 ) /* (c) 1995 Incredible Technologies */
- DRIVER( gt3dv15 ) /* (c) 1995 Incredible Technologies */
- DRIVER( gt3dv14 ) /* (c) 1995 Incredible Technologies */
- DRIVER( gt3dt231 ) /* (c) 1995 Incredible Technologies */
- DRIVER( gt3dt211 ) /* (c) 1995 Incredible Technologies */
- DRIVER( gt97 ) /* (c) 1997 Incredible Technologies */
- DRIVER( gt97v122 ) /* (c) 1997 Incredible Technologies */
- DRIVER( gt97v121 ) /* (c) 1997 Incredible Technologies */
- DRIVER( gt97s121 ) /* (c) 1997 Incredible Technologies */
- DRIVER( gt97v120 ) /* (c) 1997 Incredible Technologies */
- DRIVER( gt97t240 ) /* (c) 1997 Incredible Technologies */
- DRIVER( gt97t243 ) /* (c) 1997 Incredible Technologies */
- DRIVER( gt98 ) /* (c) 1998 Incredible Technologies */
- DRIVER( gt98v100 ) /* (c) 1998 Incredible Technologies */
- DRIVER( gt98s100 ) /* (c) 1998 Incredible Technologies */
- DRIVER( gt98t303 ) /* (c) 1998 Incredible Technologies */
- DRIVER( gt99 ) /* (c) 1999 Incredible Technologies */
- DRIVER( gt99s100 ) /* (c) 1999 Incredible Technologies */
- DRIVER( gt99t400 ) /* (c) 1999 Incredible Technologies */
- DRIVER( gtroyal ) /* (c) 1999 Incredible Technologies */
- DRIVER( gt2k ) /* (c) 2000 Incredible Technologies */
- DRIVER( gt2kp100 ) /* (c) 2000 Incredible Technologies */
- DRIVER( gt2ks100 ) /* (c) 2000 Incredible Technologies */
- DRIVER( gt2kt500 ) /* (c) 2000 Incredible Technologies */
- DRIVER( gtsuprem ) /* (c) 2000 Incredible Technologies */
- DRIVER( gtclassc ) /* (c) 2001 Incredible Technologies */
- DRIVER( gtclasscp ) /* (c) 2001 Incredible Technologies */
- DRIVER( gtclasscs ) /* (c) 2001 Incredible Technologies */
-
- /* Leland games */
- DRIVER( cerberus ) /* (c) 1985 Cinematronics */
- DRIVER( mayhem ) /* (c) 1985 Cinematronics */
- DRIVER( powrplay ) /* (c) 1985 Cinematronics */
- DRIVER( wseries ) /* (c) 1985 Cinematronics */
- DRIVER( alleymas ) /* (c) 1986 Cinematronics */
- DRIVER( upyoural ) /* (c) 1987 Cinematronics */
- DRIVER( dangerz ) /* (c) 1986 Cinematronics USA */
- DRIVER( basebal2 ) /* (c) 1987 Cinematronics */
- DRIVER( dblplay ) /* (c) 1987 Tradewest / Leland */
- DRIVER( strkzone ) /* (c) 1988 Leland */
- DRIVER( redlin2p ) /* (c) 1987 Cinematronics + Tradewest license */
- DRIVER( quarterb ) /* (c) 1987 Leland */
- DRIVER( quarterba ) /* (c) 1987 Leland */
- DRIVER( viper ) /* (c) 1988 Leland */
- DRIVER( teamqb ) /* (c) 1988 Leland */
- DRIVER( teamqb2 ) /* (c) 1988 Leland */
- DRIVER( aafb ) /* (c) 1989 Leland */
- DRIVER( aafbd2p ) /* (c) 1989 Leland */
- DRIVER( aafbc ) /* (c) 1989 Leland */
- DRIVER( aafbb ) /* (c) 1989 Leland */
- DRIVER( offroad ) /* (c) 1989 Leland */
- DRIVER( offroadt ) /* (c) 1989 Leland */
- DRIVER( offroadt2p )/* (c) 1989 Leland */
- DRIVER( pigout ) /* (c) 1990 Leland */
- DRIVER( pigouta ) /* (c) 1990 Leland */
- DRIVER( ataxx ) /* (c) 1990 Leland */
- DRIVER( ataxxa ) /* (c) 1990 Leland */
- DRIVER( ataxxe ) /* (c) 1990 Leland */
- DRIVER( ataxxj ) /* (c) 1990 Leland */
- DRIVER( wsf ) /* (c) 1990 Leland */
- DRIVER( indyheat ) /* (c) 1991 Leland */
- DRIVER( brutforc ) /* (c) 1991 Leland */
- DRIVER( asylum ) /* (c) 1991 Leland */
-
- /* Gremlin 8080 games */
- /* the numbers listed are the range of ROM part numbers */
- DRIVER( blockade ) /* 1-4 [1977 Gremlin] */
- DRIVER( comotion ) /* 5-7 [1977 Gremlin] */
- DRIVER( hustle ) /* 16-21 [1977 Gremlin] */
- DRIVER( blasto ) /* [1978 Gremlin] */
- DRIVER( mineswpr ) /* [1977 Amutech] */
- DRIVER( mineswpr4 ) /* [1977 Amutech] */
-
- /* Gremlin/Sega "VIC dual game board" games */
- /* the numbers listed are the range of ROM part numbers */
- DRIVER( depthch ) /* 50-55 [1977 Gremlin?] */
- DRIVER( depthcho ) /* ? [1977 Gremlin?] */
- DRIVER( subhunt ) /* ? [1977 Taito] */
- DRIVER( safari ) /* 57-66 [1977 Gremlin?] */
- DRIVER( safaria ) /* bootleg? */
- DRIVER( frogs ) /* 112-119 [1978 Gremlin?] */
- DRIVER( sspaceat ) /* 155-162 (c) */
- DRIVER( sspaceat2 ) /* 155-162 (c) 1979 Sega */
- DRIVER( sspaceat3 ) /* 155-162 (c) 1979 Sega */
- DRIVER( sspaceatc ) /* 139-146 (c) */
- DRIVER( sspacaho ) /* ? epr00001.bin - epr00008.bin */
- DRIVER( headon ) /* 163-167/192-193 (c) Gremlin */
- DRIVER( headonb ) /* 163-167/192-193 (c) Gremlin */
- DRIVER( headons ) /* Sidam bootleg */
- DRIVER( headonsa ) /* Sidam bootleg */
- DRIVER( supcrash ) /* bootleg */
- DRIVER( headon2 ) /* ???-??? (c) 1979 Sega */
- DRIVER( headon2s ) /* Sidam bootleg */
- DRIVER( car2 ) /* bootleg */
- /* ???-??? Fortress */
- /* ???-??? Gee Bee */
- /* 255-270 Head On 2 / Deep Scan */
- DRIVER( invho2 ) /* 271-286 (c) 1979 Sega */
- DRIVER( nsub ) /* 268-275 (c) 1980 Sega */
- DRIVER( samurai ) /* 289-302 + upgrades (c) 1980 Sega */
- DRIVER( invinco ) /* 310-318 (c) 1979 Sega */
- DRIVER( invds ) /* 367-382 (c) 1979 Sega */
- DRIVER( tranqgun ) /* 413-428 (c) 1980 Sega */
- /* 450-465 Tranquilizer Gun (different version?) */
- /* ???-??? Car Hunt / Deep Scan */
- DRIVER( spacetrk ) /* 630-645 (c) 1980 Sega */
- DRIVER( spacetrkc ) /* (c) 1980 Sega */
- DRIVER( carnival ) /* 651-666 (c) 1980 Sega */
- DRIVER( carnivalc ) /* 501-516 (c) 1980 Sega */
- DRIVER( carnivalh )
- DRIVER( carnivalha )
- DRIVER( brdrline ) /* (c) 1980 Sega */
- DRIVER( starrkr ) /* (c) 1981 Sega */
- DRIVER( brdrlins ) /* Sidam bootleg */
- DRIVER( brdrlinb ) /* Karateco bootleg */
- DRIVER( digger ) /* 684-691 no copyright notice */
- DRIVER( pulsar ) /* 790-805 (c) 1981 Sega */
- DRIVER( heiankyo ) /* (c) [1979?] Denki Onkyo */
- DRIVER( alphaho ) /* Data East */
-
- /* Sega G-80 vector games */
- DRIVER( spacfury ) /* (c) 1981 */
- DRIVER( spacfurya ) /* no copyright notice */
- DRIVER( spacfuryb ) /* no copyright notice */
- DRIVER( zektor ) /* (c) 1982 */
- DRIVER( tacscan ) /* (c) 1982 */
- DRIVER( elim2 ) /* (c) 1981 Gremlin */
- DRIVER( elim2a ) /* (c) 1981 Gremlin */
- DRIVER( elim2c ) /* (c) 1981 Gremlin */
- DRIVER( elim4 ) /* (c) 1981 Gremlin */
- DRIVER( elim4p ) /* (c) 1981 Gremlin */
- DRIVER( startrek ) /* (c) 1982 */
-
- /* Sega G-80 raster games */
- DRIVER( astrob ) /* (c) 1981 */
- DRIVER( astrob2 ) /* (c) 1981 */
- DRIVER( astrob2a ) /* (c) 1981 */
- DRIVER( astrob1 ) /* (c) 1981 */
- DRIVER( astrobg ) /* (c) 1981 */
- DRIVER( 005 ) /* (c) 1981 */
- DRIVER( monsterb ) /* (c) 1982 */
- DRIVER( monsterb2 ) /* (c) 1982 */
- DRIVER( spaceod ) /* (c) 1981 */
- DRIVER( spaceod2 ) /* (c) 1981 */
- DRIVER( pignewt ) /* (c) 1983 */
- DRIVER( pignewta ) /* (c) 1983 */
- DRIVER( sindbadm ) /* 834-5244 (c) 1983 Sega */
-
- /* Sega "Zaxxon hardware" games */
- DRIVER( zaxxon ) /* (c) 1982 */
- DRIVER( zaxxonj ) /* (c) 1982 */
- DRIVER( zaxxon2 ) /* (c) 1982 */
- DRIVER( zaxxon3 ) /* (c) 1982 */
- DRIVER( zaxxonb ) /* bootleg */
- DRIVER( szaxxon ) /* (c) 1982 */
- DRIVER( futspy ) /* (c) 1984 */
- DRIVER( razmataz ) /* modified 834-0213, 834-0214 (c) 1983 */
- DRIVER( ixion ) /* (c) 1983 */
- DRIVER( congo ) /* 605-5167 (c) 1983 */
- DRIVER( tiptop ) /* 605-5167 (c) 1983 */
-
- /* Sega "LaserDisc hardware" games */
- DRIVER( astron ) /* (c) 1983 */
- DRIVER( astronp ) /* (c) 1983 */
- DRIVER( galaxyr ) /* (c) 1983 */
- DRIVER( galaxyrp ) /* (c) 1983 */
- DRIVER( sblazerp ) /* (c) 1983 */
- DRIVER( cobraseg ) /* (c) ???? */
- DRIVER( gpworld ) /* (c) 1984 */
- DRIVER( timetrv ) /* (c) 1991.10 Virtual Image Productions */
-
- /* Sega SG1000 based games */
- DRIVER( chboxing ) /* (c) 1984 */
- DRIVER( chwrestl ) /* (c) 1985 */
- DRIVER( dokidoki ) /* (c) 1985 */
-
- /* Sega System 1 / System 2 games */
- DRIVER( starjack ) /* 834-5191 (c) 1983 (S1) */
- DRIVER( starjacks ) /* (c) 1983 Stern (S1) */
- DRIVER( regulus ) /* 834-5328?(c) 1983 (S1) */
- DRIVER( reguluso ) /* 834-5328?(c) 1983 (S1) */
- DRIVER( regulusu ) /* 834-5328?(c) 1983 (S1) */
- DRIVER( upndown ) /* (c) 1983 (S1) */
- DRIVER( upndownu ) /* (c) 1983 (S1) */
- DRIVER( mrviking ) /* 834-5383 (c) 1984 (S1) */
- DRIVER( mrvikingj ) /* 834-5383 (c) 1984 (S1) */
- DRIVER( swat ) /* 834-5388 (c) 1984 Coreland / Sega (S1) */
- DRIVER( flicky ) /* (c) 1984 (S1) */
- DRIVER( flickys2 ) /* (c) 1984 (S1) */
- DRIVER( flickyo ) /* (c) 1984 (S1) */
- DRIVER( flickys1 ) /* (c) 1984 (S1) */
- DRIVER( wmatch ) /* (c) 1984 (S1) */
- DRIVER( bullfgt ) /* 834-5478 (c) 1984 Sega / Coreland (S1) */
- DRIVER( thetogyu ) /* 834-5478 (c) 1984 Sega / Coreland (S1) */
- DRIVER( spatter ) /* 834-5583 (c) 1984 (S1) */
- DRIVER( ssanchan ) /* 834-5583 (c) 1984 (S1) */
- DRIVER( pitfall2 ) /* 834-5627 [1985?] reprogrammed, (c) 1984 Activision (S1) */
- DRIVER( pitfall2a ) /* 834-5627 [1985?] reprogrammed, (c) 1984 Activision (S1) */
- DRIVER( pitfall2u ) /* 834-5627 [1985?] reprogrammed, (c) 1984 Activision (S1) */
- DRIVER( seganinj ) /* 834-5677 (c) 1985 (S1) */
- DRIVER( seganinju ) /* 834-5677 (c) 1985 (S1) */
- DRIVER( ninja ) /* 834-5677 (c) 1985 (S1) */
- DRIVER( nprinces ) /* 834-5677 (c) 1985 (S1) */
- DRIVER( nprinceso ) /* 834-5677 (c) 1985 (S1) */
- DRIVER( nprincesu ) /* 834-5677 (c) 1985 (S1) */
- DRIVER( nprincesb ) /* bootleg? (S1) */
- DRIVER( imsorry ) /* 834-5707 (c) 1985 Coreland / Sega (S1) */
- DRIVER( imsorryj ) /* 834-5707 (c) 1985 Coreland / Sega (S1) */
- DRIVER( teddybb ) /* 834-5712 (c) 1985 (S1) */
- DRIVER( teddybbo ) /* 834-5712 (c) 1985 (S1) */
- DRIVER( hvymetal ) /* 834-5745 (c) 1985 (S2?) */
- DRIVER( myhero ) /* 834-5755 (c) 1985 (S1) */
- DRIVER( sscandal ) /* 834-5755 (c) 1985 Coreland / Sega (S1) */
- DRIVER( myherok ) /* 834-5755 (c) 1985 Coreland / Sega (S1) */
- DRIVER( shtngmst ) /* 834-5719/5720 (c) 1985 (S2) */
- DRIVER( shtngmste ) /* 834-5719/5720 (c) 1985 (S2) */
- DRIVER( choplift ) /* 834-5795 (c) 1985, (c) 1982 Dan Gorlin (S2) */
- DRIVER( chopliftu ) /* 834-5795 (c) 1985, (c) 1982 Dan Gorlin (S2) */
- DRIVER( chopliftbl )/* bootleg (S2) */
- DRIVER( 4dwarrio ) /* 834-5918 (c) 1985 Coreland / Sega (S1) */
- DRIVER( brain ) /* (c) 1986 Coreland / Sega (S2?) */
- DRIVER( raflesia ) /* 834-5753 (c) 1985 Coreland / Sega (S1) */
- DRIVER( wboy ) /* 834-5984 (c) 1986 + Escape license (S1) */
- DRIVER( wboyo ) /* 834-5984 (c) 1986 + Escape license (S1) */
- DRIVER( wboy2 ) /* 834-5984 (c) 1986 + Escape license (S1) */
- DRIVER( wboy2u ) /* 834-5984 (c) 1986 + Escape license (S1) */
- DRIVER( wboy3 ) /* 834-5984 (c) 1986 + Escape license (S1) */
- DRIVER( wboy4 ) /* 834-5984 (c) 1986 + Escape license (S1) */
- DRIVER( wboyu ) /* 834-5753 (? maybe a conversion) (c) 1986 + Escape license (S1) */
- DRIVER( wbdeluxe ) /* (c) 1986 + Escape license (S1) */
- DRIVER( wboysys2 ) /* 834-5984 (c) 1986 + Escape license (S1) */
- DRIVER( gardia ) /* 834-6119 (S2?) */
- DRIVER( gardiab ) /* bootleg */
- DRIVER( nob ) /* (c) Data East */
- DRIVER( nobb ) /* bootleg */
- DRIVER( blockgal ) /* 834-6303 (S1) */
- DRIVER( blockgalb ) /* bootleg */
- DRIVER( tokisens ) /* (c) 1987 (from a bootleg board) (S2) */
- DRIVER( wbml ) /* bootleg (S2) */
- DRIVER( wbmljo ) /* (c) 1987 Sega/Westone (S2) */
- DRIVER( wbmljb ) /* (c) 1987 Sega/Westone (S2) */
- DRIVER( wbmlb ) /* bootleg? (S2) */
- DRIVER( wbmlbg ) /* bootleg (Galaxy Electronics) */
- DRIVER( dakkochn ) /* 836-6483? (S2) */
- DRIVER( ufosensi ) /* 834-6659 (S2) */
- DRIVER( ufosensib ) /* bootleg */
-/*
-other System 1 / System 2 games:
-
-WarBall
-DokiDoki Penguin Land *not confirmed
-*/
-
- /* Sega System E games (Master System hardware) */
- DRIVER( hangonjr ) /* (c) 1985 */
- DRIVER( transfrm ) /* 834-5803 (c) 1986 */
- DRIVER( astrofl ) /* 834-5803 (c) 1986 */
- DRIVER( ridleofp ) /* (c) 1986 Sega / Nasco */
- DRIVER( fantzn2 ) /* (c) 1988 */
- DRIVER( opaopa )
- DRIVER( tetrisse ) /* (c) 1988 */
-
- /* other Sega 8-bit games */
- DRIVER( turbo ) /* (c) 1981 Sega */
- DRIVER( turboa ) /* (c) 1981 Sega */
- DRIVER( turbob ) /* (c) 1981 Sega */
- DRIVER( subroc3d ) /* (c) 1982 Sega */
- DRIVER( buckrog ) /* (c) 1982 Sega */
- DRIVER( buckrogn ) /* (c) 1982 Sega */
- DRIVER( buckrogn2 ) /* (c) 1982 Sega */
- DRIVER( zoom909 ) /* (c) 1982 Sega */
- DRIVER( kopunch ) /* 834-0103 (c) 1981 Sega */
- DRIVER( suprloco ) /* (c) 1982 Sega */
- DRIVER( suprlocoa ) /* (c) 1982 Sega */
- DRIVER( dotrikun ) /* cabinet test board */
- DRIVER( dotrikun2 ) /* cabinet test board */
- DRIVER( spcpostn ) /* (c) 1986 Sega / Nasco" */
- DRIVER( angelkds ) /* 833-6599 (c) 1988 Sega / Nasco? */
- DRIVER( calorie ) /* (c) 1986 Sega */
- DRIVER( calorieb ) /* (c) 1986 Sega (but bootleg) */
-
- /* Bingo-based games */
- DRIVER( bingoc ) /* (c) 1989 Sega */
- /* Bingo Fantasy *//* (c) 19?? Sega */
- /* Bingo Star *//* (c) 19?? Sega */
- /* Bingo Party *//* (c) 1993 Sega */
- /* BP Phoenix *//* (c) 1998 Sega */
- /* BP Special *//* (c) 2000 Sega */
- /* BP Multicards *//* (c) 2002 Sega */
- /* BP Splash *//* (c) 2002 Sega */
- /* Bingo Planet *//* (c) 1997 Sega */
-
- /* Enduro Racer / Space Harrier / Hang On */
- DRIVER( enduror ) /* (c) 1985 (FD1089B, decrypted) */
- DRIVER( enduror1 ) /* (c) 1985 (FD1089B, decrypted) */
- DRIVER( endurob2 ) /* (c) 1985 (Beta bootleg) */
- DRIVER( endurobl ) /* (c) 1985 (Herb bootleg) */
- DRIVER( hangon ) /* (c) 1985 (Rev A)*/
- DRIVER( hangon1 ) /* (c) 1985 */
- DRIVER( sharrier ) /* (c) 1985 */
- DRIVER( sharrier1 ) /* (c) 1985 */
- DRIVER( shangonro ) /* (c) 1987 (FD1094, decrypted) */
- DRIVER( shangonrb ) /* (c) 1992 (but bootleg, hangon hw?) */
-
- /* Pre-16 */
- DRIVER( aliensynjo ) /* (c) 1987 (FD1089A, decrypted) */
- DRIVER( aliensyn2 ) /* (c) 1987 (FD1089A, decrypted) */
- DRIVER( aliensyn5 ) /* (c) 1987 (FD1089B) */
- DRIVER( bodyslam ) /* (c) 1986 (8751) */
- DRIVER( dumpmtmt ) /* (c) 1986 (Japan) */
- DRIVER( mjleague ) /* (c) 1985 */
- DRIVER( quartet ) /* (c) 1986 (8751) */
- DRIVER( quarteta ) /* (c) 1986 (8751) */
- DRIVER( quartet2 ) /* (c) 1986 (8751) */
- DRIVER( quartet2a ) /* (c) 1986 */
-
- /* System 16A */
- DRIVER( aceattaca ) /* (c) 1988 (FD1094, decrypted) */
- DRIVER( afighter ) /* (c) 1986 (FD1089A, decrypted) */
- DRIVER( alexkidd ) /* (c) 1986 (FD1089A, decrypted) */
- DRIVER( alexkidd1 ) /* (c) 1986 */
- DRIVER( fantzone ) /* (c) 1986 (Unprotected Rev A) */
- DRIVER( fantzone1 ) /* (c) 1986 (Unprotected) */
- DRIVER( fantzonep ) /* (c) 1986 (NEC 0317-5000, encrypted)*/
- DRIVER( sdi ) /* (c) 1987 (FD1089B, decrypted) */
- DRIVER( shinobi ) /* (c) 1987 */
- DRIVER( shinobi1 ) /* (c) 1987 (FD1094, decrypted) */
- DRIVER( shinobls ) /* (c) 1987 (Star bootleg) */
- DRIVER( sjryuko1 ) /* (c) 1988 White Board (FD1089B, decrypted) */
- DRIVER( tetris ) /* (c) 1988 (FD1094, decrypted) S16A */
- DRIVER( tetris3 ) /* (c) 1988 (FD1094, decrypted) S16A */
- DRIVER( timescan1 ) /* (c) 1987 (FD1089B, decrypted) */
- DRIVER( wb31 ) /* (c) 1988 Sega / Westone (FD1094, decrypted) */
- DRIVER( wb35 ) /* (c) 1988 Sega / Westone (FD1089A, decrypted) */
- DRIVER( wb35a ) /* (c) 1988 Sega / Westone (FD1089A, decrypted) */
- DRIVER( passsht16a )/* (c) 1988 */
-
- /* System 16B */
- DRIVER( aceattac ) /* (c) 1988 (protected) */
- DRIVER( aliensyn ) /* (c) 1987 */
- DRIVER( aliensyn3 ) /* (c) 1987 (FD1089A, decrypted) */
- DRIVER( aliensynj ) /* (c) 1987 (FD1089A, decrypted) */
- DRIVER( altbeast ) /* (c) 1988 (8751) */
- DRIVER( altbeastj ) /* (c) 1988 (8751) */
- DRIVER( altbeast5 ) /* (c) 1988 (8751) */
- DRIVER( altbeast4 ) /* (c) 1988 (MC-8123B) */
- DRIVER( altbeast2 ) /* (c) 1988 (MC-8123B) */
- DRIVER( altbeastj1 ) /* (c) 1988 (protected) */
- DRIVER( altbeastj2 ) /* (c) 1988 (protected) */
- DRIVER( altbeastj3 ) /* (c) 1988 (FD1094, decrypted) */
- DRIVER( aurail ) /* (c) 1990 Sega / Westone */
- DRIVER( aurail1 ) /* (c) 1990 Sega / Westone (FD1089B, decrypted) */
- DRIVER( aurailj ) /* (C) 1990 Sega / Westone (FD1089A, decrypted) */
- DRIVER( bayroute ) /* (c) 1989 Sunsoft / Sega (FD1094, decrypted) */
- DRIVER( bayroutej ) /* (c) 1989 Sunsoft / Sega (FD1094, decrypted) */
- DRIVER( bayroute1 ) /* (c) 1989 Sunsoft / Sega */
- DRIVER( bullet ) /* (c) 1987 (protected) */
- DRIVER( cotton ) /* (c) 1990 (FD1094, decrypted) */
- DRIVER( cottonu ) /* (c) 1990 (FD1094, decrypted) */
- DRIVER( cottonj ) /* (c) 1990 (FD1094, decrypted) */
- DRIVER( ddux ) /* (c) 1989 (FD1094, decrypted) */
- DRIVER( ddux1 ) /* (c) 1989 (8751) */
- DRIVER( dunkshot ) /* (c) 1986 (FD1094, decrypted) */
- DRIVER( eswat ) /* (c) 1989 (FD1094, decrypted) */
- DRIVER( eswatu ) /* (c) 1989 (FD1094, decrypted) */
- DRIVER( eswatj ) /* (c) 1989 (FD1094, decrypted) */
- DRIVER( exctleag ) /* (protected) */
- DRIVER( fpoint ) /* (c) 1989 (Japan, FD1094, decrypted) */
- DRIVER( fpoint1 ) /* (c) 1989 (Japan, FD1094, decrypted) */
- DRIVER( goldnaxe ) /* (c) 1989 (8751) */
- DRIVER( goldnaxeu ) /* (c) 1989 (protected) */
- DRIVER( goldnaxej ) /* (c) 1989 (FD1094, decrypted) */
- DRIVER( goldnaxe3 ) /* (c) 1989 (FD1094, decrypted) */
- DRIVER( goldnaxe2 ) /* (c) 1989 (8751) */
- DRIVER( goldnaxe1 ) /* (c) 1989 (FD1094, decrypted) */
- DRIVER( hwchamp ) /* (c) 1987 */
- DRIVER( hwchampj ) /* (c) 1987 (FD1094, decrypted) */
- DRIVER( mvp ) /* (c) 1989 (FD1094, decrypted) */
- DRIVER( mvpj ) /* (c) 1989 (FD1094, decrypted) */
- DRIVER( passsht ) /* (c) 1988 (FD1094, decrypted) */
- DRIVER( passshta ) /* (c) 1988 (FD1094, decrypted) */
- DRIVER( passshtj ) /* (c) 1988 (FD1094, decrypted) */
- DRIVER( riotcity ) /* (c) 1991 Sega / Westone */
- DRIVER( ryukyu ) /* (c) 1990 (FD1094, decrypted) */
- DRIVER( sdib ) /* (c) 1987 (FD1089A, decrypted) */
- DRIVER( sdibl ) /* (c) 1987 bootleg */
- DRIVER( defense ) /* (c) 1987 (FD1094, decrypted) */
- DRIVER( shinobi5 ) /* (c) 1987 */
- DRIVER( shinobi4 ) /* (c) 1987 (MC-8123B) */
- DRIVER( shinobi3 ) /* (c) 1987 (MC-8123B) */
- DRIVER( shinobi2 ) /* (c) 1987 (FD1094, decrypted) */
- DRIVER( sonicbom ) /* (c) 1987 (FD1094, decrypted) */
- DRIVER( sjryuko ) /* (c) 1988 White Board (FD1094, decrypted) */
- DRIVER( suprleag ) /* (c) 1987 (protected) */
- DRIVER( tetris2 ) /* (c) 1988 (FD1094, decrypted) S16B */
- DRIVER( tetris1 ) /* (c) 1988 (FD1094, decrypted) S16B */
- DRIVER( timescan ) /* (c) 1987 */
- DRIVER( toryumon ) /* (c) 1995 */
- DRIVER( tturf ) /* (c) 1989 Sega / Sunsoft (8751) */
- DRIVER( tturfu ) /* (c) 1989 Sega / Sunsoft (8751) */
- DRIVER( wb3 ) /* (c) 1988 Sega / Westone (8751) */
- DRIVER( wb34 ) /* (c) 1988 Sega / Westone (FD1094, decrypted) */
- DRIVER( wb33 ) /* (c) 1988 Sega / Westone (FD1094, decrypted) */
- DRIVER( wb32 ) /* (c) 1988 Sega / Westone (FD1094, decrypted) */
- DRIVER( wrestwar ) /* (c) 1989 (8751) */
- DRIVER( wrestwar2 ) /* (c) 1989 (FD1094, decrypted) */
- DRIVER( wrestwar1 ) /* (c) 1989 (FD1094, decrypted) */
-
- /* Philko Boards */
- DRIVER( atomicp ) /* (c) 1990 Philko - korean clone board */
- DRIVER( snapper ) /* (c) 1990 Philko - korean clone board */
-
- /* S16 Bootlegs */
- DRIVER( bayrouteb1 )/* (c) 1989 (protected) (bootleg) */
- DRIVER( bayrouteb2 )/* (c) 1989 (protected) (bootleg) */
- DRIVER( dduxbl ) /* (c) 1989 (Datsu bootleg) */
- DRIVER( eswatbl ) /* BOOTLEG */
- DRIVER( fpointbl ) /* (c) 1989 (Datsu bootleg) */
- DRIVER( fpointbj ) /* (c) 1989 (Datsu bootleg, Japan) */
- DRIVER( goldnaxeb1 )/* BOOTLEG */
- DRIVER( goldnaxeb2 )/* BOOTLEG */
- DRIVER( passht4b ) /* bootleg */
- DRIVER( passshtb ) /* bootleg */
- DRIVER( shinoblb ) /* (c) 1987 (but bootleg) */
- DRIVER( shinobld ) /* (c) 1987 (but bootleg) */
- DRIVER( tetrisbl ) /* (c) 1988 (but bootleg) */
- DRIVER( beautyb ) /* (c) 1991 AMT */
- DRIVER( iqpipe ) /* (c) 1991 AMT */
- DRIVER( tturfbl ) /* (c) 1989 (Datsu bootleg) */
- DRIVER( wb3bbl ) /* BOOTLEG */
-
- /* ISG S16 bootleg system */
- DRIVER( isgsm )
- DRIVER( tetrbx )
- DRIVER( shinfz )
-
- /* System 18 */
- DRIVER( shdancer ) /* 1989.05 Shadow Dancer (US) */
- DRIVER( shdancerj ) /* 1989.11 Shadow Dancer (Japan) */
- DRIVER( shdancer1 ) /* 1989.?? Shadow Dancer (World) */
- DRIVER( bloxeed ) /* 1989.12 Bloxeed (Japan, FD1094, decrypted) */
- /* 1990.04 Bloxeed (US) */
- DRIVER( astormu ) /* 1990.04 Alien Storm (US, FD1094, decrypted) */
- DRIVER( astormj ) /* 1990.05 Alien Storm (Japan, FD1094, decrypted) */
- DRIVER( astorm ) /* 1990.?? Alien Storm (World, protected 2 Players) */
- DRIVER( astorm3 ) /* 1990.?? Alien Storm (World, FD1094, decrypted) */
- DRIVER( mwalku ) /* 1990.08 Micheal Jackson's Moonwalker (US, FD1094+8751, decrypted) */
- DRIVER( mwalkj ) /* 1990.08 Micheal Jackson's Moonwalker (Japan, FD1094+8751, decrypted) */
- DRIVER( mwalk ) /* 1990.?? Micheal Jackson's Moonwalker (World, FD1094+8751, decrypted) */
- DRIVER( lghost ) /* 1990.?? Laser Ghost (World, FD1094, decrypted) */
- /* 1990.12 Laser Ghost (Japan) */
- DRIVER( lghostu ) /* 1991.01 Laser Ghost (US, FD1094, decrypted) */
- DRIVER( cltchitr ) /* 1991.02 Clutch Hitter (US, FD1094, decrypted) */
- DRIVER( cltchitrj ) /* 1991.05 Clutch Hitter (Japan, FD1094, decrypted) */
- DRIVER( ddcrewj ) /* 1991.07 D.D.Crew (Japan, FD1094, decrypted) */
- DRIVER( ddcrewu ) /* 1991.09 D.D.Crew (US, FD1094, decrypted) */
- DRIVER( ddcrew ) /* 1991.?? D.D.Crew (World, FD1094, decrypted) */
- DRIVER( ddcrew2 ) /* 1991.?? D.D.Crew (World, FD1094, decrypted) */
- DRIVER( ddcrew1 ) /* 1991.?? D.D.Crew (World, FD1094, decrypted) */
- DRIVER( wwallyj ) /* 1992.06 Wally wo Sagase! (Japan, FD1094, decrypted) */
- DRIVER( wwallyja ) /* 1992.06 Wally wo Sagase! (Japan, FD1094, decrypted) */
- DRIVER( desertbr ) /* 1993.?? Desert Breaker (World, FD1094, decrypted) */
- DRIVER( desertbrj ) /* 1992.10 Desert Breaker (Japan) */
- DRIVER( pontoon )
-
- /* System18 Bootlegs */
- DRIVER( astormbl ) /* BOOTLEG */
- DRIVER( astormb2 ) /* BOOTLEG */
- DRIVER( shdancbl ) /* BOOTLEG */
- DRIVER( mwalkbl ) /* BOOTLEG */
-
-
- /* Outrun Hardware */
- /* 1986.09 Outrun (Japan) */
- /* 1986.11 Outrun (US) */
- /* 1986.?? Outrun (World) */
- DRIVER( outrun ) /* Revision B */
- DRIVER( outrunra ) /* Revision A */
- DRIVER( outruno ) /* First version */
- DRIVER( outrundx ) /* Deluxe version */
- DRIVER( outrunb ) /* 1986 (protected beta bootleg) */
- /* 1987.04 Super Hang-On (Japan) */
- /* 1987.06 Super Hang-On (US) */
- /* 1987.?? Super Hang-On (World) */
- DRIVER( shangon ) /* 1987 (protected) */
- DRIVER( shangon3 ) /* 1987 (FD1089B, decrypted) */
- DRIVER( shangon2 ) /* 1987 (FD1089B, decrypted) */
- DRIVER( shangon1 ) /* 1987 (FD1089B, decrypted) */
- DRIVER( shangonle ) /* 1991 */
- /* 1989.02 Turbo Outrun (Japan) */
- /* 1989.04 Turbo Outrun (US) */
- /* 1989.?? Turbo Outrun (World) */
- DRIVER( toutrun ) /* 1987 (FD1094, decrypted) */
- DRIVER( toutrun3 ) /* 1987 (FD1094, decrypted) */
- DRIVER( toutrun2 ) /* 1987 (protected) */
- DRIVER( toutrun1 ) /* 1987 (FD1094, decrypted) */
-
- /* X Board */
- DRIVER( aburner ) /* 1987.07 After Burner (Japan) */
- DRIVER( aburner2 ) /* 1987.09 After Burner II (Japan) */
- DRIVER( thndrbld1 ) /* 1987.12 Thunder Blade (Japan, deluxe/standard) */
- DRIVER( thndrbld ) /* 1988.02 Thunder Blade (US?, upright, FD1094, decrypted) */
- /* 1989.01 Last Survivor (Japan) */
- DRIVER( smgpj ) /* 1989.06 Super Monaco GP (Japan, FD1094, decrypted) */
- DRIVER( smgpja ) /* 1989.06 Super Monaco GP (Japan, FD1094, decrypted) */
- DRIVER( smgp ) /* 1989.?? Super Monaco GP (World, FD1094, decrypted) */
- DRIVER( smgp6 ) /* 1989.?? Super Monaco GP (World, FD1094, decrypted) */
- DRIVER( smgp5 ) /* 1989.?? Super Monaco GP (World, FD1094, decrypted) */
- DRIVER( smgpu ) /* 1989.08 Super Monaco GP (US, FD1094, decrypted) */
- DRIVER( smgpu3 ) /* 1989.08 Super Monaco GP (US, FD1094, decrypted) */
- DRIVER( smgpu2 ) /* 1989.08 Super Monaco GP (US, FD1094, decrypted) */
- DRIVER( smgpu1 ) /* 1989.08 Super Monaco GP (US, FD1094, decrypted) */
- DRIVER( loffirej ) /* 1989.12 Line of Fire (Japan, FD1094, decrypted) */
- DRIVER( loffire ) /* 1989.?? Line of Fire (World, FD1094, decrypted) */
- DRIVER( loffireu ) /* 1990.04 Line of Fire (US, FD1094, decrypted) */
- /* 1990.03 Racing Hero (Japan) */
- DRIVER( rachero ) /* 1990.?? Racing Hero (World, FD1094, decrypted) */
- DRIVER( abcop ) /* 1990.?? A.B.Cop (World, FD1094, decrypted) */
- /* 1991.01 A.B.Cop (Japan) */
- /* 1990.10 GP Rider (Japan) */
- DRIVER( gprider ) /* 1990.?? GP Rider (World, protected) */
- DRIVER( gprider1 ) /* 1990.12 GP Rider (US, FD1094, decrypted) */
-
- /* Y-Board */
- /* 1988.05 Galaxy Force (Japan) */
- /* 1988.08 Galaxy Force (US) */
- DRIVER( gforce2j ) /* 1988.07 Galaxy Force II (Japan) */
- DRIVER( gforce2ja ) /* 1988.07 Galaxy Force II (Japan) */
- DRIVER( gforce2 ) /* 1988.?? Galaxy Force II (World) */
- /* 1988.12 Galaxy Force II (US) */
- /* 1988.08 Power Drift (US) */
- DRIVER( pdriftj ) /* 1988.09 Power Drift (Japan) */
- DRIVER( pdrift ) /* 1988.?? Power Drift (World) */
- DRIVER( pdrifta )
- DRIVER( pdrifte )
- DRIVER( gloc ) /* 1990.04 G-LOC Air Battle (US) */
- /* 1990.05 G-LOC Air Battle (Japan) */
- DRIVER( glocr360 ) /* 1990.?? G-LOC (R360, World?) */
- DRIVER( strkfgtr ) /* 1991.06 Strike Fighter (Japan) */
- DRIVER( rchase ) /* 1991.09 Rail Chase (World) */
- DRIVER( rchasej ) /* 1991.09 Rail Chase (Japan) */
- /* 1991.09 Rail Chase (US) */
-
- /* Sega System 24 games */
- /* disk based */
- DRIVER( hotrodj ) /* 1988.03 Hot Rod (Japan) */
- DRIVER( hotrod ) /* 1988.?? Hot Rod (World) */
- DRIVER( hotroda )
- /* 1988.07 Hot Rod (US) */
- DRIVER( sspiritj ) /* 1988.10 Scramble Spirits (Japan) */
- DRIVER( sspirits ) /* 1988.?? Scramble Spirits (World) */
- DRIVER( sspirtfc ) /* 1988.?? Scramble Spirits (protected) */
- /* 1988.11 Scramble Spirits (US) */
- DRIVER( ggroundj ) /* 1988.11 Gain Ground (Japan, FD1094, decrypted) */
- DRIVER( gground ) /* 1989.?? Gain Ground (World, FD1094, decrypted) */
- /* 1989.03 Gain Ground (US) */
- DRIVER( crkdownj ) /* 1989.03 Crack Down (Japan, FD1094, decrypted) */
- DRIVER( crkdown ) /* 1989.?? Crack Down (World, FD1094, decrypted) */
- DRIVER( crkdownu ) /* 1989.06 Crack Down (US, FD1094, decrypted) */
- DRIVER( sgmastj ) /* 1989.06 Jumbo Ozaki Super Masters (Japan, FD1094, decrypted) */
- DRIVER( sgmast ) /* 1989.?? Super Masters Golf (World, protected) */
- DRIVER( sgmastc ) /* 1989.?? Jumbo Ozaki Super Masters Golf (World, FD1094, decrypted) */
- /* 1989.09 Super Masters Golf (US) */
- DRIVER( roughrac ) /* 1990.03 Rough Racer (Japan, FD1094, decrypted) */
- DRIVER( bnzabrosj ) /* 1990.06 Bonanza Bros. (Japan) */
- DRIVER( bnzabros ) /* 1990.08 Bonanza Bros. (US) */
- DRIVER( qsww ) /* 1991.02 Quiz Syukudai wo Wasuremashita! (Japan) */
- DRIVER( dcclubfd ) /* 1991.07 Dynamic Country Club (US) */
-
- /* ROM based */
- DRIVER( dcclubj ) /* 1991.06 Dynamic Country Club (Japan) */
- DRIVER( dcclub ) /* 1991.?? Dynamic Country Club (World) */
- DRIVER( qrouka ) /* 1991.12 Quiz Rouka ni Tattenasai! (Japan) */
- DRIVER( mahmajn ) /* 1992.12 Tokorosan no Mahmahjong (Japan) */
- DRIVER( quizmeku ) /* 1993.05 Quiz Mekurumeku Story (Japan) */
- DRIVER( mahmajn2 ) /* 1994.05 Tokorosan no Mahmahjong 2 (Japan) */
- DRIVER( qgh ) /* 1994.09 Quiz Ghost Hunter */
-
- /* Sega System 32 games */
- DRIVER( radm ) /* 1991.?? Rad Mobile (World) */
- DRIVER( radmu ) /* 1991.03 Rad Mobile (US) */
- /* 1991.02 Rad Mobile (Japan) */
- DRIVER( radr ) /* 1991.?? Rad Rally (World) */
- DRIVER( radru ) /* 1991.09 Rad Rally (US) */
- /* 1991.07 Rad Rally (Japan) */
- DRIVER( spidman ) /* 1991.?? Spiderman (World) */
- DRIVER( spidmanu ) /* 1991.09 Spiderman (US) */
- /* 1991.09 Spiderman (Japan) */
- DRIVER( f1en ) /* 1991.?? F-1 Exhaust Note (World) */
- /* 1992.01 F-1 Exhaust Note (US) */
- /* 1991.11 F-1 Exhaust Note (Japan) */
- DRIVER( arabfgt ) /* 1992.?? Arabian Fight (World) */
- DRIVER( arabfgtu ) /* 1992.03 Arabian Fight (US) */
- DRIVER( arabfgtj ) /* 1992.03 Arabian Fight (Japan) */
- DRIVER( arescue ) /* 1992.03 Air Rescur (US) */
- /* 1992.04 Air Rescue (Japan) */
- DRIVER( ga2 ) /* 1992.?? Golden Axe II (World) */
- DRIVER( ga2u ) /* 1992.09 Golden Axe II (US) */
- DRIVER( ga2j ) /* 1992.10 Golden Axe Death Adder no Fukusyuu (Japan) */
- DRIVER( holo ) /* 1992.?? Hologram Holosseum (US) */
- /* 1992.11 Hologram Holosseum (Japan) */
- DRIVER( darkedge ) /* 1993.?? Dark Edge (World) */
- /* 1993.?? Dark Edge (US) */
- DRIVER( darkedgej ) /* 1993.03 Dark Edge (Japan) */
- DRIVER( brival ) /* 1993.?? Burning Rival (World) */
- DRIVER( brivalj ) /* 1993.08 Burning Rival (Japan) */
- DRIVER( f1lap ) /* 1993.?? F-1 Super Lap (World) */
- /* 1993.09 F-1 Super Lap (Japan) */
- DRIVER( alien3 ) /* 1993.?? Aliens 3 (World) */
- DRIVER( alien3u ) /* 1993.11 Aliens 3 (US) */
- /* 1993.09 Aliens 3 the Gun (Japan) */
- DRIVER( sonic ) /* 1993.09 Sonic the Hedgehog (Japan) */
- DRIVER( sonicp ) /* 1993.?? Sonic the Hedgehog (proto, Japan) */
- DRIVER( kokoroj2 ) /* 1993.12 Soreike! Kokoroji 2 (Japan) */
- DRIVER( jpark ) /* 1994.?? Jurassic Park (World) */
- /* 1994.?? Jurassic Park (US) */
- /* 1994.02 Jurassic Park (Japan) */
- DRIVER( dbzvrvs ) /* 1994.03 Dragon Ball Z V.R.V.S. (Japan) */
- DRIVER( jleague ) /* 1994.07 The J League 1994 (Japan) */
- DRIVER( svf ) /* 1994.?? Super Visual Football */
- DRIVER( svs ) /* 1994.?? Super Visual Soccer */
- DRIVER( slipstrm ) /* 1995.?? Slip Stream (Capcom) */
- DRIVER( slipstrmh )
-
- /* Sega Multi System 32 games */
- /* 1993.05 Outrunners (Japan) */
- DRIVER( orunners ) /* 1993.?? Outrunners (World) */
- DRIVER( orunnersu ) /* 1993.06 Outrunners (US) */
- DRIVER( harddunkj ) /* 1994.04 Hard Dunk 3on3 (Japan) */
- DRIVER( harddunk ) /* 1994.?? Hard Dunk 3on3 (World) */
- /* 1993.03 Title Fight (Japan) */
- DRIVER( titlef ) /* 1993.?? Title Fight (World) */
- DRIVER( titlefu ) /* 1993.04 Title Fight (US) */
- /* 1992.07 Stadium Cross (Japan) */
- DRIVER( scross ) /* 1992.?? Stadium Cross (World) */
- DRIVER( scrossu ) /* 1992.09 Stadium Cross (US) */
-
- /* Model 1 Games */
- DRIVER( vr ) /* 1992.08 Virtua Racing */
- DRIVER( vf ) /* 1993.12 Virtua Fighter */
- DRIVER( vformula ) /* 1993.?? Virtua Formula */
- DRIVER( swa ) /* 1994.04 Star Wars Arcade */
- DRIVER( wingwar ) /* 1994.06 Wing War */
- DRIVER( wingwarj ) /* 1994.06 Wing War (Japan) */
- DRIVER( wingwaru ) /* 1994.09 Wing War (US) */
-
- /* Sega H1 games */
- DRIVER( coolridr ) /* 1995.04 Cool Riders */
-
- /* Sega ST-V games */
- DRIVER( stvbios )
- /* 1994.07 Sports Fishing */
- DRIVER( gaxeduel ) /* 1995.02 Golden Axe the Duel */
- DRIVER( suikoenb ) /* 1995.03 Suiko Enbu (Data East) */
- DRIVER( bakubaku ) /* 1995.04 Bakubaku Animal */
- DRIVER( vfremix ) /* 1995.06 Virtua Fighter Remix */
- DRIVER( ejihon ) /* 1995.07 Ejihon Tantei Jimusyo */
- DRIVER( finlarch ) /* 1995.07 Final Arch */
- DRIVER( sfish2j ) /* 1995.08 Sports Fishing 2 (Japan) */
- DRIVER( shanhigw ) /* 1995.08 Shanghai Banri no Choujou */
- DRIVER( sandor ) /* 1995.11 Nido Aru Koto wa Sando-R */
- DRIVER( kiwames ) /* 1995.11 Pro Mahjong Kiwame S (Athena) */
- DRIVER( sfish2 ) /* 1995.11 Sports Fishing 2 (Export) */
- DRIVER( critcrsh ) /* 1995.?? Critter Crusher */
- /* 1995.12 Tatakott */
- DRIVER( batmanfr ) /* 1996.02 Batman Forever (Acclaim) */
- DRIVER( fhboxers ) /* 1996.02 Funky Head Boxers */
- DRIVER( vfkids ) /* 1996.03 Virtua Fighter Kids */
- DRIVER( pblbeach ) /* 1996.03 Pebble Beach the Great Shot (T&E Soft) */
- DRIVER( introdon ) /* 1996.04 Karaoke Quiz Intro Dondon (Sunsoft / Success) */
- DRIVER( smleague ) /* 1996.04 Super Major League */
- DRIVER( decathlt ) /* 1996.05 Decathlete */
- DRIVER( decathlto )
- DRIVER( dnmtdeka ) /* 1996.07 Dynamite Deka */
- DRIVER( mausuke ) /* 1996.07 Mausuke no Ojama the World (Data East) */
- DRIVER( diehard ) /* 1996.08 Die Hard Arcade */
- DRIVER( sokyugrt ) /* 1996.09 Soukyuu Gurentai (Raizing / 8ing) */
- DRIVER( prikura ) /* 1996.10 Prikura Daisakusen (Atlus) */
- DRIVER( magzun ) /* 1996.11 Magical Zunou Power */
- DRIVER( puyosun ) /* 1996.12 Puyo Puyo SUN (Compile) */
- DRIVER( colmns97 ) /* 1997.01 Columns 97 */
- DRIVER( shienryu ) /* 1997.02 Shienryu (Warashi) */
- DRIVER( vmahjong ) /* 1997.02 Virtual Mahjong (Micronet) */
- DRIVER( groovef ) /* 1997.05 Groove on Fight (Atlus) */
- DRIVER( nclubv3 ) /* 1997.07 Name Club Ver. 3 */
- DRIVER( pclub2 ) /* 1997.09 Print Club 2 */
- DRIVER( thunt ) /* 1997.09 Puzzle & Action Treasure Hunt (Sega (Deniam License)) */
- DRIVER( thuntk )
- DRIVER( winterht ) /* 1997.10 Winter Heat (Data East) */
- DRIVER( cotton2 ) /* 1997.11 Cotton 2 (Success) */
- DRIVER( hanagumi ) /* 1997.11 Sakura Taisen Hanagumi Taisen Columns */
- DRIVER( findlove ) /* 1997.12 Find Love (Daiki / FCF) */
- DRIVER( maruchan ) /* 1997.12 Maruchan de Goo!!! */
- DRIVER( techbowl ) /* 1997.12 Technical Bowling */
- DRIVER( znpwfv ) /* 1997.12 Zen Nippon Pro Wrestling featuring Virtua */
- DRIVER( seabass ) /* 1998.02 Sea Bass Fishing (A wave Inc (Able License)) */
- DRIVER( sasissu ) /* 1998.02 Taisen Tanto-R Sasissu!! */
- /* 1998.03 Bass Master Challenge */
- DRIVER( twcup98 ) /* 1998.04 Tecmo World Cup '98 (Tecmo) */
- DRIVER( grdforce ) /* 1998.05 Guardian Force (Success) */
- DRIVER( rsgun ) /* 1998.05 Radient Silver Gun (Treasure) */
- DRIVER( astrass ) /* 1998.06 Astra Super Stars (Sunsoft) */
- DRIVER( myfairld ) /* 1998.07 My Fair Lady (Micronet) */
- DRIVER( othellos ) /* 1998.07 Othello Shiyouyo (Success) */
- DRIVER( cottonbm ) /* 1998.09 Cotton Boomerang (Success) */
- DRIVER( stress ) /* 1998.10 Stress Busters */
- DRIVER( elandore ) /* 1998.11 Touryuu Densetsu Elandore (Sai-Mate) */
- DRIVER( sss ) /* 1998.12 Steep Slope Sliders (Capcom / Cave / Victor) */
- DRIVER( micrombc ) /* 1999.03 Microman Battle Charge */
- DRIVER( pclub2v3 ) /* 1999.03 Print Club 2 Vol. 3 */
- DRIVER( sanjeon ) /* 1999.04 Sanjun Sujun (Sega / Deniam) */
- DRIVER( danchih ) /* 1999.06 Danchi de Hanafuda Okusan Komeya Desuyo! (Altron (Tecmo License)) */
- DRIVER( ffreveng ) /* 1999.09 Final Fight Revenge (Capcom) */
- DRIVER( pclubpok ) /* 1999.11 Print Club Pokemon */
- DRIVER( danchiq ) /* 2000.12 Danchi de Quiz Okusan Yontaku Desuyo! (Altron) */
-
- /* Sega Model 2 Games */
-
- /* Model 2 (TGPs, Model 1 sound board) */
- DRIVER( daytona ) /* 1994.03 Daytona USA */
- DRIVER( daytona93 )
- DRIVER( daytonas )
- DRIVER( daytonat ) /* 1993, hack */
- DRIVER( daytonam ) /* 1993, hack */
- DRIVER( desert ) /* 1994.07 Desert Tank */
- DRIVER( vcop ) /* 1994.09 Virtua Cop */
-
- /* Model 2A-CRX (TGPs, SCSP sound board) */
- DRIVER( vf2o ) /* 1994.11 Virtua Fighter 2 */
- DRIVER( vf2a ) /* 1995.?? */
- DRIVER( vf2b ) /* 1995.?? */
- DRIVER( srallyc ) /* 1995.02 Sega Rally Championship - Rev C */
- DRIVER( srallycb ) /* 1995.02 Sega Rally Championship - Rev B */
- DRIVER( vcop2 ) /* 1995.09 Virtua Cop 2 */
- DRIVER( vf2 ) /* 1995.09 Virtua Fighter 2.1*/
- /* 1995.10 Sky Target */
- DRIVER( manxtt ) /* 1995.11 Manx T.T. */
- /* 1996.08 Dynamite Baseball */
- DRIVER( doaa ) /* 1996.11 Dead or Alive */
- /* 1997.04 Dynamite Baseball '97 */
- DRIVER( motoraid ) /* 1997.10 Motor Raid */
- DRIVER( zeroguna ) /* 1997.12 Zero Gunner */
- DRIVER( dyndeka2 ) /* 1998.05 Dynamite Deka 2 */
- DRIVER( dynamcop ) /* 1998.09 Dynamic Cop */
- DRIVER( pltkidsa ) /* 1999.03 Pilot Kids */
-
- /* Model 2B-CRX (SHARC, SCSP sound board) */
- DRIVER( vstriker ) /* 1995.05 virtua Striker */
- DRIVER( vstrikero ) /* 1995.05 virtua Striker */
- DRIVER( rchase2 ) /* 1995.06 Rail Chase 2 (Arcade TV Game List - P.104, Left, 12 from top) */
- DRIVER( indy500 ) /* 1995.07 Indy 500 */
- DRIVER( indy500d ) /* 1995.07 Indy 500 */
- DRIVER( indy500to ) /* 1995.07 Indy 500 */
- DRIVER( skytargt ) /* 1995.10 Sky Target */
- DRIVER( fvipers ) /* 1995.11 Fighting Vipers */
- DRIVER( von ) /* 1996.01 Dennou Senki Virtual-On (USA) */
- DRIVER( vonj ) /* 1996.01 Dennou Senki Virtual-On (Japan) */
- DRIVER( gunblade ) /* 1996.04 Gunblade N.Y. */
- DRIVER( schamp ) /* 1996.05 Sonic Championship */
- DRIVER( sfight ) /* 1996.05 Sonic the Fighters */
- DRIVER( lastbrnx ) /* 1996.06 Last Bronx */
- DRIVER( lastbrnxj ) /* 1996.06 Last Bronx (Japan) */
- DRIVER( sgt24h ) /* 1996.07 Super GT 24h */
- DRIVER( dynabb ) /* 1996.08 Dynamite Baseball */
- DRIVER( doa ) /* 1996.11 Dead or Alive */
- /* 1997.04 Dynamite Baseball '97 */
- DRIVER( zerogun ) /* 1997.12 Zero Gunner */
- DRIVER( zerogunj ) /* 1997.12 Zero Gunner (Japan) */
- DRIVER( dyndeka2b ) /* 1998.05 Dynamite Deka 2 */
- DRIVER( dynamcopb ) /* 1998.09 Dynamite Cop */
- DRIVER( pltkids ) /* 1999.03 Pilot Kids */
-
- /* Model 2C-CRX (TGPx4, SCSP sound board) */
- DRIVER( skisuprg ) /* 1996.12 Sega Ski Super G */
- DRIVER( stcc ) /* 1996.09 Sega Touring Car Championship */
- DRIVER( stcca ) /* 1996.09 Sega Touring Car Championship */
- DRIVER( stccb ) /* 1996.09 Sega Touring Car Championship */
- DRIVER( waverunr ) /* 1996.10 Wave Runner */
- DRIVER( hotd ) /* 1997.03 The House of the Dead */
- DRIVER( topskatr ) /* 1997.05 Top Skater */
- DRIVER( topskatru ) /* 1997.05 Top Skater (USA) */
- DRIVER( topskatrj ) /* 1997.05 Top Skater (Japan) */
- DRIVER( overrev ) /* 1997.09 Overrev */
- DRIVER( segawski ) /* 1997.09 Sega Water Ski */
- DRIVER( dynamcopc ) /* 1998.09 Dynamite Cop */
- DRIVER( bel ) /* 1998.12 Behind Enemy Lines */
-
- /* Sega Model 3 Games */
-
- /* Step 1.0 */
- DRIVER( vf3 ) /* 1996.09 Virtua Fighter 3 */
- DRIVER( vf3a )
- DRIVER( vf3tb ) /* 1997.10 Virtua Fighter 3tb */
- DRIVER( bass ) /* 1997.12 Get Bass */
- DRIVER( getbass )
- /* 1998.03 Get Bass Brast */
-
- /* Step 1.5 */
- DRIVER( scud ) /* 1996.12 Scud Race */
- DRIVER( scudj )
- DRIVER( scuda )
- DRIVER( vs215 ) /* 1997.06 Virtua Striker 2 */
- DRIVER( lostwsga ) /* 1997.07 Lost World Jurassic Park */
- DRIVER( scudp ) /* 1997.09 Scud Race Plus */
- DRIVER( lemans24 ) /* 1997.09 Le Mans 24 */
- DRIVER( vs29815 ) /* 1998.05 Virtua Striker 2 ver.98 */
-
- /* Step 2.0 */
- DRIVER( vs2 ) /* 1997.06 Virtua Striker 2 */
- DRIVER( harley ) /* 1997.12 Harley Davidson & L.A.Riders */
- DRIVER( skichamp ) /* 1998.01 Ski Champ */
- DRIVER( srally2 ) /* 1998.02 Sega Rally 2 Championship */
- DRIVER( srally2x )
- DRIVER( von2 ) /* 1998.03 Dennou Senki Virtual-On Oratorio Tangram */
- DRIVER( fvipers2 ) /* 1998.04 Fighting Vipers 2 */
- DRIVER( vs298 ) /* 1998.05 Virtua Striker 2 ver.98*/
- DRIVER( vs299 ) /* 1998.12 Virtual Striker 2 ver.99 */
- DRIVER( vs299b ) /* 1999.?? Virtual Striker 2 ver.99 (rev B) */
- DRIVER( vs299a ) /* 1999.?? Virtual Striker 2 ver.99 (rev A) */
- DRIVER( vs2v991 ) /* 1999.?? Virtual Striker 2 ver.99.1 */
- DRIVER( von254g ) /* 1999.05 Dennou Senki Virtual-On Oratorio Tangram ver.5.4 */
-
- /* Step 2.1 */
- DRIVER( daytona2 ) /* 1998.06 Daytona USA 2 */
- DRIVER( oceanhun ) /* 1998.09 Ocean Hunter */
- DRIVER( spikeout ) /* 1998.09 Spikeout */
- DRIVER( dirtdvls ) /* 1998.10 Dirt Devils */
- DRIVER( dirtdvlsa )
- DRIVER( swtrilgy ) /* 1998.11 Star Wars Trilogy Arcade */
- DRIVER( swtrilgya )
- /* 1998.11 Magical Torokko Adventure (Japan) */
- DRIVER( lamachin ) /* 1998.12 L.A. Machine Guns */
- DRIVER( dayto2pe ) /* 1998.12 Daytone USA 2 Power Edition */
- /* 1998.12 Virtua Striker 2 ver.99 */
- DRIVER( spikeofe ) /* 1999.01 Spikeout Final Edition */
- DRIVER( magtruck ) /* 1999.03 Magical Truck Adventure (US) */
- DRIVER( eca ) /* 1999.10 Kyukyuusya Emergency Call Ambulance */
- DRIVER( ecax )
-
-
- /* Deniam games */
- /* they run on Sega System 16 video hardware */
- DRIVER( logicpro ) /* (c) 1996 Deniam */
- DRIVER( croquis ) /* (c) 1996 Deniam (Germany) */
- DRIVER( karianx ) /* (c) 1996 Deniam */
- DRIVER( logicpr2 ) /* (c) 1997 Deniam (Japan) */
-
-
-/*
-Deniam is a Korean company (http://deniam.co.kr).
-
-Game list:
-Title System Date
----------------- ---------- ----------
-GO!GO! deniam-16b 1995/10/11
-Logic Pro deniam-16b 1996/10/20
-Karian Cross deniam-16b 1997/04/17
-LOTTERY GAME deniam-16c 1997/05/21
-Logic Pro 2 deniam-16c 1997/06/20
-Propose deniam-16c 1997/06/21
-BOMULEUL CHAJARA SEGA ST-V 1997/04/11
-*/
-
- /* System C games */
- DRIVER( bloxeedc ) /* (c) 1989 Sega / Elorg */
- DRIVER( bloxeedu ) /* (c) 1989 Sega / Elorg */
- DRIVER( columns ) /* (c) 1990 Sega */
- DRIVER( columnsu ) /* (c) 1990 Sega */
- DRIVER( columnsj ) /* (c) 1990 Sega */
- DRIVER( columns2 ) /* (c) 1990 Sega */
- DRIVER( column2j ) /* (c) 1990 Sega */
-
- /* System C-2 games */
- DRIVER( borench ) /* (c) 1990 Sega */
- DRIVER( tfrceac ) /* (c) 1990 Sega / Technosoft */
- DRIVER( tfrceacj ) /* (c) 1990 Sega / Technosoft */
- DRIVER( tfrceacb ) /* bootleg */
- DRIVER( twinsqua ) /* (c) 1991 Sega */
- DRIVER( ribbit ) /* (c) 1991 Sega */
- DRIVER( tantr ) /* (c) 1992 Sega */
- DRIVER( tantrkor ) /* (c) 1992 Sega */
- DRIVER( tantrbl ) /* bootleg */
- DRIVER( tantrbl2 ) /* bootleg */
- DRIVER( tantrbl3 ) /* bootleg */
- DRIVER( puyo ) /* (c) 1992 Sega / Compile */
- DRIVER( puyobl ) /* bootleg */
- DRIVER( puyoj ) /* (c) 1992 Sega / Compile */
- DRIVER( puyoja ) /* (c) 1992 Sega / Compile */
- DRIVER( ichir ) /* (c) 1994 Sega */
- DRIVER( ichirk ) /* (c) 1994 Sega */
- DRIVER( ichirj ) /* (c) 1994 Sega */
- DRIVER( ichirjbl ) /* bootleg */
- DRIVER( stkclmns ) /* (c) 1994 Sega */
- DRIVER( stkclmnsj ) /* (c) 1994 Sega */
- DRIVER( puyopuy2 ) /* (c) 1994 Compile + Sega license */
- DRIVER( potopoto ) /* (c) 1994 Sega */
- DRIVER( zunkyou ) /* (c) 1994 Sega */
-
- /* Atlus Print Club 'Games' C-2 board */
- DRIVER( pclubj )
- DRIVER( pclubjv2 )
- DRIVER( pclubjv4 )
- DRIVER( pclubjv5 )
-
- /* Genie Hardware (uses Genesis VDP) also has 'Sun Mixing Co' put into tile ram */
- DRIVER( puckpkmn ) /* (c) 2000 Genie */
- DRIVER( puckpkmna ) /* (c) 2000 IBS */
- DRIVER( topshoot ) /* (c) 1995 Sun Mixing */
-
- /* Sega MegaTech, the number shown is on the label of the instruction rom */
- DRIVER( megatech )
- DRIVER( mt_beast ) /* 01 */
- DRIVER( mt_shar2 ) /* 02 */
- DRIVER( mt_stbld ) /* 03 */
- DRIVER( mt_ggolf ) /* 04 */
- DRIVER( mt_gsocr ) /* 05 */
- DRIVER( mt_orun ) /* 06 */
- DRIVER( mt_asyn ) /* 07 */
- DRIVER( mt_shnbi ) /* 08 */
- DRIVER( mt_fz ) /* 09 */
- DRIVER( mt_aftrb ) /* 10 */
- DRIVER( mt_tfor2 ) /* 11 */
- /* 12 */
- DRIVER( mt_astro ) /* 13 */
- /* 14 */
- /* 15 */
- /* 16 */
- /* 17 */
- /* 18 */
- DRIVER( mt_gfoot ) /* 19 */
- DRIVER( mt_lastb ) /* 20 */
- DRIVER( mt_wcsoc ) /* 21 */
- DRIVER( mt_tetri ) /* 22 */
- DRIVER( mt_gng ) /* 23 */
- DRIVER( mt_shang ) /* 24 */
- DRIVER( mt_gaxe ) /* 25 */
- DRIVER( mt_fwrld ) /* 26 */
- DRIVER( mt_mystd ) /* 27 */
- DRIVER( mt_revsh ) /* 28 */
- DRIVER( mt_parlg ) /* 29 */
- /* 30 */
- DRIVER( mt_tgolf ) /* 31 */
- DRIVER( mt_srbb ) /* 32 */
- /* 33 */
- /* 34 */
- DRIVER( mt_tlbba ) /* 35 */
- DRIVER( mt_cols ) /* 36 */
- /* 37 */
- DRIVER( mt_eswat ) /* 38 */
- DRIVER( mt_smgp ) /* 39 */
- DRIVER( mt_mwalk ) /* 40 */
- DRIVER( mt_crack ) /* 41 */
- /* 42 */
- DRIVER( mt_shado ) /* 43 */
- DRIVER( mt_arrow ) /* 44 */
- /* 45 */
- /* 46 */
- DRIVER( mt_astrm ) /* 47 */
- DRIVER( mt_wwar ) /* 48 */
- DRIVER( mt_bbros ) /* 49 */
- /* 50 */
- DRIVER( mt_srage ) /* 51 */
- DRIVER( mt_sonic ) /* 52 */
- DRIVER( mt_sonia ) /* ^^ */
- DRIVER( mt_fshrk ) /* 53 */
- DRIVER( mt_spman ) /* 54 */
- DRIVER( mt_calga ) /* 55 */
- /* 56 */
- DRIVER( mt_gaxe2 ) /* 57 */
- DRIVER( mt_stf ) /* 58 */
- DRIVER( mt_mlh ) /* 59 */
- DRIVER( mt_kcham ) /* 60 */
- DRIVER( mt_tout ) /* 61 */
- DRIVER( mt_soni2 ) /* 62 */
-
- /* Sega MegaPlay */
- DRIVER( megaplay )
- DRIVER( mp_sonic ) /* 01 */
- DRIVER( mp_gaxe2 ) /* 02 */
- DRIVER( mp_gslam ) /* 03 */
- DRIVER( mp_twc ) /* 04 */
- DRIVER( mp_sor2 ) /* 05 */
- DRIVER( mp_bio ) /* 06 */
- DRIVER( mp_soni2 ) /* 07 */
- /* 08 */
- DRIVER( mp_shnb3 ) /* 09 */
- /* 10 */
- DRIVER( mp_mazin ) /* 11 */
- DRIVER( mp_col3 ) /* ?? */
-
- DRIVER( ssf2mdb ) /* MegaDrive-based hack */
- DRIVER( aladmdb ) /* MegaDrive-based hack */
- DRIVER( mk3mdb ) /* MegaDrive-based hack */
- DRIVER( srmdb ) /* MegaDrive-based hack */
-
- /* Sega Naomi-based (Dreamcast) systems */
- DRIVER( naomi )
- DRIVER( naomigd )
- DRIVER( naomi2 )
-
- DRIVER( hod2bios ) /* 1998.11 The House of the Dead 2 */
- DRIVER( hotd2 ) /* 1998.11 The House of the Dead 2 */
- DRIVER( hotd2o ) /* 1998.11 The House of the Dead 2 */
- DRIVER( dybbnao ) /* 1998.12 Dynamite Baseball NAOMI */
- DRIVER( smlg99 ) /* 1999.?? Super Major League '99 */
- DRIVER( pstone ) /* 1999.02 Power Stone */
- DRIVER( crzytaxi ) /* 1999.02 Crazy Taxi */
- DRIVER( zombrvn ) /* 1999.02 Zombie Revenge */
- DRIVER( airlbios ) /* 1999.03 Airline Pilots */
- DRIVER( alpiltdx )
- DRIVER( alpilota )
- DRIVER( ggram2 ) /* 1999.04 Giant Gram Zen Nippon Pro-wres 2 */
- /* 1999.05 Taisen Puzzle Kurutto Stone */
- DRIVER( ringout ) /* 1999.06 Ringout 4x4 */
- DRIVER( f355bios ) /* 1999.07 F355 Challenge */
- DRIVER( f355 )
- DRIVER( f355twin ) /* 1999.07 F355 Challenge Twin */
- DRIVER( shangril ) /* 1999.08 Dengen Tenshi Taisen Janshi Shangri-la */
- /* 1999.08 Unou Nouryoku Check Machine Touch de UNO! */
- DRIVER( vs2_2k ) /* 1999.08 Virtua Striker 2 version 2000 */
- DRIVER( suchie3 ) /* 1999.09 Idol Janshi Su-Chi-Pi 3 */
- DRIVER( toyfight ) /* 1999.09 Toy Fighter */
- DRIVER( jambo ) /* 1999.09 Jambo! Safari */
- /* 1999.09 Super Major League 99 */
- DRIVER( sgtetris ) /* 1999.10 Sega Tetris */
- DRIVER( derbyoc ) /* 1999.10 Derby Owners Club */
- DRIVER( doa2 ) /* 1999.11 Dead or Alive 2 */
- DRIVER( otrigger ) /* 1999.11 Out Trigger */
- DRIVER( dybb99 ) /* 1999.11 Dynamite Baseball '99 */
- /* 1999.12 Mars TV */
- DRIVER( samba ) /* 1999.12 Samba de Amigo */
- DRIVER( vtennis ) /* 1999.12 Virtua Tennis / Power Smash (ROM) */
- DRIVER( vtennisg ) /* 1999.12 Virtua Tennis / Power Smash (GD-ROM) */
- DRIVER( puyoda ) /* 1999.12 Puyopuyo DA! */
-
- DRIVER( 18wheelr ) /* 2000.01 18 Wheeler */
- DRIVER( totd ) /* 2000.01 The Typing of the Dead */
- DRIVER( spawn ) /* 2000.01 Spawn */
- DRIVER( doa2m ) /* 2000.01 Dead or Alive 2 Millenium */
- /* 2000.02 Touch de UNO! 2 */
- DRIVER( virnba ) /* 2000.02 Virtua NBA */
- DRIVER( virnbao )
- DRIVER( mvsc2 ) /* 2000.03 Marvel vs. Capcom 2 */
- DRIVER( smarinef ) /* 2000.03 Sega Marine Fishing */
- DRIVER( wldkicks ) /* 2000.03 World Kicks */
- /* 2000.04 Shin Nippon Pro-wres Toukon Retsuden 4 */
- DRIVER( pstone2 ) /* 2000.04 Power Stone 2 */
- DRIVER( qmegamis ) /* 2000.05 Quiz Ah Megamisama */
- DRIVER( vonot ) /* 2000.06 Virtual-on Oratorio Tangram M.S.B.S. ver.5.66 2000 edition */
- DRIVER( derbyo2k ) /* 2000.06 Derby Owners Club 2000 */
- DRIVER( ggx ) /* 2000.07 Guilty Gear X */
- DRIVER( slasho ) /* 2000.07 Slashout */
- DRIVER( slashout )
- DRIVER( capsnka ) /* 2000.08 Capcom vs. SNK Millenium Fight 2000 */
- /* 2000.08 Tokyo Bus Annai */
- DRIVER( capsnk ) /* 2000.09 Capcom vs. SNK Millenium Fight 2000 */
- DRIVER( gram2000 ) /* 2000.09 Giant Gram 2000 Zen Nippon Pro-wres 3 */
- /* 2000.09 Nittere Shiki! Mirai Yosou Studio */
- DRIVER( crackndj ) /* 2000.10 Crackin' DJ */
- DRIVER( cspike ) /* 2000.10 Gun Spike */
- DRIVER( sstrkfgt ) /* 2000.10 Sega Strike Fighter */
- DRIVER( deathcox ) /* 2000.10 Death Crimson OX */
- /* 2000.11 Ninja Assault */
- DRIVER( confmiss ) /* 2000.11 Confidential Mission */ /* First GD-ROM game? */
- DRIVER( shaktamb ) /* 2000.11 Shakatto Tambourine */
- DRIVER( wwfroyal ) /* 2000.11 WWF Royal Rumble */
- DRIVER( pjustic ) /* 2000.12 Moero Justice Gakuen */
- DRIVER( samba2k ) /* 2000.12 Samba de Amigo ver.2000 */
- DRIVER( sprtjam ) /* 2000.12 Sports Jam */
- /* 2000.12 Derby Owners Club 2000 ver.2 */
- /* 2000.?? World Kicks New ver. */
- DRIVER( derbyocw ) /* 2001.?? Derby Owners Club World Edition (Rev. D) */
- DRIVER( drbyocwc ) /* 2001.?? Derby Owners Club World Edition (Rev. C) */
- DRIVER( f355twn2 ) /* 2001.01 F355 Challenge 2 */
- DRIVER( gwing2 ) /* 2001.01 Giga Wing 2 */
- DRIVER( csmash ) /* 2001.01 Cosmic Smash */
- DRIVER( csmasho )
- DRIVER( sfz3ugd ) /* 2001.02 Street Fighter ZERO3 Upper */
- DRIVER( gundmgd ) /* 2001.03 Kidou Senshi Gundam Renpou vs. Zeon */
- DRIVER( gundmct ) /* 2001.03 Mobile Suit Gundam: Federation vs. Zeon (cartridge) */
- /* 2001.04 Shakatto Tambourine Motto Norinori Shinkyoku Tsuika */
- DRIVER( dygolf ) /* 2001.04 Dynamic Golf */
- DRIVER( zerogu2 ) /* 2001.05 Zero Gunner 2 */
- DRIVER( monkeyba ) /* 2001.05 Monkey Ball */
- DRIVER( cvsgd ) /* 2001.06 Capcom vs. SNK Pro */
- /* 2001.06 Crackin' DJ Part2 */
- DRIVER( wsbbgd ) /* 2001.06 Super Major League */
- DRIVER( spkrbtl ) /* 2001.07 Spikers Battle */
- DRIVER( gunsur2 ) /* 2001.07 Gun Survivor 2: Bio Hazard Code Veronica */
- DRIVER( starseek ) /* 2001.07 Dokidoki Idol Star Seeker */
- DRIVER( cvs2gd ) /* 2001.08 Capcom vs. SNK 2 */
- DRIVER( wrungp ) /* 2001.08 Wave Runner GP */
- DRIVER( gundmxgd ) /* 2001.09 Kidou Senshi Gundam Renpou vs. Zeon DX */
- /* 2001.09 Alien Front */
- DRIVER( hmgeo ) /* 2001.09 Heavy Metal Geo Matrix */
- DRIVER( inunoos ) /* 2001.10 Inu no Osanpo */
- DRIVER( derbyoc2 ) /* 2001.10 Derby Owners Club 2 */
- DRIVER( vtennis2 ) /* 2001.10 Power Smash 2 / Virtua Tennis 2 */
- DRIVER( vtenis2c ) /* Power Smash 2 / Virtua Tennis 2 (cartridge) */
- /* 2001.11 Shakatto Tambourine Cho Powerup Chu */
- DRIVER( keyboard ) /* 2001.11 La Keyboardxyu */
- DRIVER( ikaruga ) /* 2001.12 Ikaruga */
- DRIVER( lupinsho ) /* 2001.12 Lupin the Third: the Shooting */
- DRIVER( vathlete ) /* 2002.03 Virtua Athlete */
- DRIVER( luptype ) /* 2002.04 Lupin the Third: the Typing */
- DRIVER( ggxx ) /* 2002.05 Guilty Gear XX */
- DRIVER( mok ) /* 2002.05 The Maze of the Kings */
- DRIVER( cleoftp ) /* 2002.05 Cleopatra Fortune + */
- DRIVER( chocomk ) /* 2002.06 Musapey no Choco Marker */
- /* 2002.07 Mazan */
- /* 2002.09 Yonin Uchi Mahjong MJ */
- DRIVER( azumanga ) /* 2002.12 Azumanga Daiou Puzzle Bobble */
- DRIVER( moeru ) /* 2002.12 Moeru Casinyo */
- DRIVER( quizqgd ) /* 2003.01 Quiz Keitai Q mode */
- /* 2003.03 Yonin Uchi Mahjong MJ Network Taisen ver. */
- DRIVER( ggxxrl ) /* 2003.03 Guilty Gear XX # Reload */
- DRIVER( shikgam2 ) /* 2003.04 Shikigami no Shiro 2 */
- DRIVER( bdrdown ) /* 2003.04 Border Down */
- DRIVER( usagui ) /* 2003.06 Usagi Yamashiro Mahjong Hen */
- /* 2003.07 Yonin Uchi Mahjong MJ Network Taisen ver. NEW */
- DRIVER( oinori ) /* 2003.08 Oinori-daimyoujin Matsuri */
- DRIVER( psyvar2 ) /* 2003.11 Psyvariar 2 */
- DRIVER( puyofev ) /* 2003.11 Puyopuyo Fever */
- DRIVER( shootopl ) /* Shootout Pool */
- DRIVER( shootpl ) /* 2003.xx Shootout Pool / Shootout Pool Prize */
- DRIVER( shootplm ) /* Shootout Pool Medal */
- DRIVER( kick4csh ) /* 2004.xx Kick '4' Cash */
- DRIVER( tetkiwam ) /* 2004.06 Tetris Kiwamemichi (Arcade TV Game List - P.88, Right, 11 from bottom) */
- DRIVER( cfield ) /* 2004.06 Chaos Field */
- DRIVER( trizeal ) /* 2004.09 Trizeal */
- /* 2005.03 Melty Blood Act Cadenza */
- DRIVER( ss2005 ) /* 2005.03 Super Shanghai 2005 */
- DRIVER( ss2005a ) /* 2005.04 Super Shanghai 2005 */
- DRIVER( senkoo ) /* 2005.04 Senkou no Rondo */
- DRIVER( senko ) /* 2005.08 Senkou no Rondo NEW ver. */
- DRIVER( meltybld ) /* 2005.08 Melty Blood Act Cadenza ver.A */
- DRIVER( ggxxsla ) /* 2005.09 Guilty Gear XX Slash */
- DRIVER( radirgy ) /* 2005.10 Radirgy */
- DRIVER( undefeat ) /* 2005.10 Under Defeat */
- /* 2005.12 Radirgy (Rev. A) */
- DRIVER( kurucham ) /* 2006.03 Kurukuru Chameleon */
- DRIVER( trgheart ) /* 2006.05 Trigger Heart Exelica */
- /* 2006.07 Touch de Zunou */
- DRIVER( senkosp ) /* 2006.08 Senkou no Rondo SP */
- DRIVER( jingystm ) /* 2006.09 Jingi Storm */
- DRIVER( karous ) /* 2006.11 Karous */
- DRIVER( ggxxac ) /* 2006.11 Guilty Gear XX Accent Core */
- DRIVER( meltyb ) /* 2006.12 Melty Blood Act Cadenza ver.B */
- DRIVER( meltyba ) /* 2006.12 Melty Blood Act Cadenza ver.B (Rev A) */
- DRIVER( takoron ) /* 2006.12.16 Noukone Puzzle Takoron */
- /* 2007.03 Melty Blood Act Cadenza ver.B Syuuseiban(ver.B2) */
-
- DRIVER( ngdup23a ) /* DIMM Firmware Updater */
- DRIVER( ngdup23c )
-
- /* Releases below use flash/mask ROMs like older NAOMI titles, not GD-ROM as GD-ROM Hardware (Drives and Discs) were no longer being produced */
-
- /* 2007.07 Pokasuka Ghost! */
- /* 2007.07 Shooting Love */
- /* 2007.07 Dynamite Deka EX - Asian dynamite */
- /* 2007.09 Rhythm Tengoku */
- /* 2008.02 Akatsuki Denkou Senki Ausf.Achse */
- /* 2008.06 Illvelo (Illmatic Envelope) */
- /* 2008.07 Mamoru Kun wa Norowarete Shimatta! */
- /* 2008.09 Melty Blood Actress Again */
- /* 2008.12 Melty Blood Actress Again ver.A */
- /* 2009.06 Radirgy Noah */
- /* 2009.?? Project Cerberus (planned to be released in 2009) */
-
-
-
- /* NAOMI based (System SP) */
- /* 2003.02 Kouchuu Ouja Mushiking */
- /* 2004.10 Oshare Majo Love & Berry */
- /* 2005.09 Kodai Ouja Kyouryuu King */
- /* 2007.06 Issyo ni Wanwan */
- /* 2007.06 Konchuu Dash!! */
- /* 2007.07 Marine Marine */
- /* 2007.11 Magical Dance on Dream Stage */
- /* 2008.02 Marine Marine ver.2 */
- /* 2008.04 Issyo ni Wanwan Waiwai Puppy */
- /* 2008.07 Issyo ni Turbo Drive */
-
- /* NAOMI 2 */
- DRIVER( vstrik3c ) /* 2001.04 Virtua Striker 3 (rev. C) */
- DRIVER( vstrik3cb ) /* 2001.04 Virtua Striker 3 (rev. B) */
- DRIVER( vstrik3 )
- DRIVER( wldrider ) /* 2001.05 Wild Riders */
- /* 2001.06 Club Kart */
- DRIVER( beachspi ) /* 2001.07 Beach Spikers */
- DRIVER( vf4cart ) /* 2001.08.02 Virtua Fighter 4 (cartridge) */
- DRIVER( vf4 ) /* 2001.08.02 Virtua Fighter 4 (GD-ROM) */
- DRIVER( vf4b ) /* 2001.08.20 Virtua Fighter 4 ver.B */
- DRIVER( vf4c ) /* 2002.01.31 Virtua Fighter 4 ver.C */
- DRIVER( kingrt66 ) /* 2002.02 The King of Route 66 */
- DRIVER( initd ) /* 2002.03 Initial D Arcade Stage */
- DRIVER( initdexp ) /* 200?.?? Initial D Export Version */
- DRIVER( clubkrte ) /* 2002.?? Club Kart: European Session */
- /* 2002.06 WCCF SERIE A 2001-2002 */
- /* 2002.07 Soul Surfer */
- DRIVER( vf4evoct ) /* 2002.08 Virtua Fighter 4 Evolution (cartridge) */
- DRIVER( vf4evoa ) /* 2002.08 Virtua Fighter 4 Evolution */
- /* 2002.11 WCCF SERIE A 2001-2002 ver.1.2 */
- DRIVER( initdv2j ) /* 2002.12 Initial D Arcade Stage ver.2 rev. B*/
- DRIVER( initdv2jo ) /* 2002.12 Initial D Arcade Stage ver.2 */
- DRIVER( initdv2e ) /* 2002.12 Initial D Arcade Stage ver.2 */
- DRIVER( vf4evo ) /* 2002.12 Virtua Fighter 4 Evolution ver.B */
- /* 2003.03 WCCF SERIE A 2001-2002 ver.2.0 */
- /* 2003.09 WCCF 2002-2003 SERIE A */
- /* 2003.?? CYCRAFT Club Kart ver. */
- DRIVER( initdv3j ) /* 2004.01 Initial D Arcade Stage ver.3 rev. C */
- DRIVER( initdv3jb ) /* 2004.01 Initial D Arcade Stage ver.3 rev. B */
- /* 2004.?? Initial D Arcade Stage ver.3 for CYCRAFT */
- /* 2004.06 WCCF 2002-2003 SERIE A ver.2.0 */
- /* 2004.07 Virtua Fighter 4 Final Tuned */
- DRIVER( vf4tuneda ) /* 2004.09 Virtua Fighter 4 Final Tuned ver.A */
- /* 2004.12 WCCF 2002-2003 ver.2.1 */
- /* 2005.01 Virtua Fighter 4 final Tuned ver.B */
- /* 2005.04 Menkyo no Tetsujin */
- /* 2005.06 WCCF European Clubs 2004-2005 */
- /* 2006.01 WCCF European Clubs 2004-2005 ver.1.1 */
- /* 2006.03 WCCF European Clubs 2004-2005 ver.1.2 */
- /* 2006.08 WCCF European Clubs 2005-2006 */
- /* 2006.10 WCCF European Clubs 2005-2006 bugfix ver. */
- DRIVER( vf4tunedd )
- DRIVER( vf4tuned ) /* 200?.?? Virtual fighter 4 Final Tuned ver.F */
-
-
- /* Atomiswave (Dreamcast-based) games */
- DRIVER( awbios )
- DRIVER( maxspeed ) /* 2002.12 Maximum Speed */
- DRIVER( sprtshot ) /* 2002.12 Sports Shooting USA */
- DRIVER( ggx15 ) /* 2003.03 Guilty Gear X ver.1.5 */
- DRIVER( demofist ) /* 2003.06 Demolish Fist */
- DRIVER( dolphin ) /* 2003.08 Dolphin Blue */
- DRIVER( ggisuka ) /* 2003.12 Guilty Gear Isuka */
- /* 2003.12 Sangoku Senki Shichisei Tensei (IGS) */
- DRIVER( rumblef ) /* 2004.03 The Rumble Fish */
- DRIVER( rangrmsn ) /* 2004.03 Ranger Mission */
- DRIVER( salmankt ) /* 2004.06 Salary Man Kintarou Net Select */
- DRIVER( kofnw ) /* 2004.07 The King of Fighters Neo Wave */
- DRIVER( kofnwj ) /* 2004.07 The King of Fighters Neo Wave (Japan) */
- DRIVER( xtrmhunt ) /* 2004.09 Extreme Hunting */
- DRIVER( dirtypig ) /* 2004.09 Dirty Pig Skin Football */
- DRIVER( ftspeed ) /* 2004.09 Faster than Speed */
- DRIVER( kov7sprt ) /* 2004.?? Knights of Valour - The Seven Sprits */
- DRIVER( vfurlong ) /* 2005.03 Net Select Keiba Victory Furlong */
- DRIVER( rumblef2 ) /* 2005.03 The Rumble Fish 2 */
- DRIVER( ngbc ) /* 2005.07 NeoGeo Battle Colloseum */
- DRIVER( samsptk ) /* 2005.09 Samurai Spirits Tenkaichi Kenkakuden */
- DRIVER( kofxi ) /* 2005.10 The King of Fighters XI */
- DRIVER( fotns ) /* 2005.12 Hokuto no Ken */
- DRIVER( mslug6 ) /* 2006.02 Metal Slug 6 */
- DRIVER( xtrmhnt2 ) /* 2006.09 Extreme Hunting 2 Tournament Edition */
- /* 2008.?? Sega Clay Challenge */
-
- /* Hikaru */
- DRIVER( hikaru ) /* BIOS (c)2000 */
- DRIVER( braveff ) /* 1999.06 Syouboushi Brave Fire Fighters */
- DRIVER( podrace ) /* 2000.06 Star Wars: Racer Arcade */
- DRIVER( sgnascar ) /* 2000.09 Nascar Arcade */
- DRIVER( pharrier ) /* 2000.12 Planet Harriers */
- DRIVER( airtrix ) /* 2001.02 Air Trix */
- /* 2001.10 Dennou Senki Virtual-On Force */
- /* 2002.04 Dennou Senki Virtual-On Force ver.7.7 */
-
- /* Triforce (GameCube based) */
- DRIVER( triforce )
- DRIVER( vs2002j ) /* 2002.10 Virtua Striker 2002 */
- DRIVER( vs2002ex )
- /* 2003.06 F-ZERO AX */
- DRIVER( avalons ) /* 2003.07 Avalon no Kagi */
- /* 2003.08 Avalon no Kagi ver.1.00 */
- /* 2003.10 Avalon no Kagi ver.1.01 */
- DRIVER( gekpurya ) /* 2003.10 Gekitou Pro Yakyuu Mizushima Shinji All Stars vs. Pro Yakyuu */
- /* 2003.12 Avalon no Kagi ver.1.10 */
- /* 2003.?? CYCRAFT F-ZERO AX Monster Ride */
- /* 2004.04 Avalon no Kagi ver.1.20 Aratanaru Syoukan */
- DRIVER( avalon13 ) /* 2004.07 Avalon no Kagi ver.1.30 Konton no Utage */
- DRIVER( vs4 ) /* 2004.10 Virtua Striker 4 */
- DRIVER( vs4j ) /* 2004.10 Virtua Striker 4 */
- DRIVER( avalon20 ) /* 2004.11 Avalon no Kagi ver.2.0 Chitsujo to Kairitsu */
- /* 2005.04 Virtua Striker 4 ver.A */
- /* 2005.08 Avalon no Kagi ver.2.5 Kagi Seisen */
- /* 2005.12 Mario Kart Arcade Grand Prix */
- DRIVER( vs42006 ) /* 2006.05 Virtua Striker 4 ver.2006 */
- /* 2007.03 Mario Kart Arcade Grand Prix 2 */
-
- DRIVER( tfupdate ) /* Triforce GDROM Boot Update (GDT-0011) */
-
- /* Chihiro (X-Box based) */
- DRIVER( chihiro )
- DRIVER( hotd3 ) /* 2002.12 The House of the Dead III */
- DRIVER( crtaxihr ) /* 2003.03 Crazy Taxi High Roller */
- DRIVER( vcop3 ) /* 2003.04 Virtua Cop 3 */
- DRIVER( outr2 ) /* 2003.12 Outrun 2 */
- /* 2004.03 Sega Network Taisen Mahjong MJ 2 */
- DRIVER( ollie ) /* 2004.03 Ollie King */
- /* 2004.04 Sega Network Taisen Mahjong MJ 2 ver.B */
- DRIVER( wangmid ) /* 2004.07 Wangan Midnight Maximum Tune */
- DRIVER( mj2 ) /* 2004.07 Sega Network Taisen Mahjong MJ 2 ver.C */
- /* 2004.09 Quest of D */
- /* 2004.11 Sega Golf Club Network Pro Tour */
- /* 2004.12 Sega Network Taisen Mahjong MJ 2 ver.D */
- /* 2004.12 Quest of D ver.1.02 */
- DRIVER( outr2st ) /* 2004.12 Outrun 2 Special Tours */
- /* 2004.12 Quest of D ver.1.10 */
- DRIVER( ghostsqu ) /* 2004.12 Ghost Squad */
- /* 2004.12 Quest of D ver.1.10a */
- /* 2005.03 Sangokushi Taisen */
- DRIVER( gundamos ) /* 2005.03 Kidou Senshi Gundam Battle Operating Simulator */
- /* 2005.04 Quest of D ver.1.20 */
- /* 2005.04 Sega Network Taisen Mahjong MJ 2 ver.E */
- DRIVER( wangmid2 ) /* 2005.04 Wangan Midnight Maximum Tune 2 */
- /* 2005.06 Sangokushi Taisen ver.1.003 */
- /* 2005.06 Sega Golf Club Network Pro Tour 2005 */
- /* 2005.06 Quest of D ver.1.20a */
- /* 2005.09 Quest of D ver.1.21 */
- /* 2005.10 Sangokushi Taisen Ranse no Gunrou ver.1.100 */
- DRIVER( wangmd2b ) /* 2005.10 Wangan Midnight Maximum Tune 2 ver.B */
- /* 2005.11 Sangokushi Taisen Ranse no Gunrou ver.1.110 */
- /* 2005.12 Quest of D Gofu no Keisyousya ver.2.00 */
- /* 2005.12 Kidou Senshi Gundam 0079 Card Builder */
- DRIVER( mj3 ) /* 2005.12 Sega Network Taisen Mahjong MJ 3 */
- /* 2005.12 Quest of D Gofu no Keisyousya ver.2.01 */
- DRIVER( scg06nt ) /* 2005.12 Sega Golf Club 2006 Next Tours */
- /* 2006.02 Sangokushi Taisen Ranse no Gunrou ver.1.12 */
- /* 2006.03 Kidou Senshi Gundam 0079 Card Builder ver.1.007 */
- /* 2006.03 Quest of D Gofu no Keisyousya ver.2.02b */
- /* 2006.04 Sega Network Taisen Mahjong MJ 3 ver.A+ */
- /* 2006.05 Sangokushi Taisen 2 */
- /* 2006.07 Kidou Senshi Gundam 0079 Card Builder ver.2.00 */
- /* 2006.09 Sangokushi Taisen 2 ver.2.01 */
- /* 2006.09 Sega Network Taisen Mahjong MJ 3 ver.B */
- /* 2006.09 Kidou Senshi Gundam 0079 Card Builder ver.2.01 */
- /* 2006.10 Quest of D ver.3.00 Oukoku no Syugosya */
- /* 2006.11 Quest of D ver.3.01 Oukoku no Syugosya */
- /* 2006.11 Kidou Senshi Gundam 0079 Card Builder ver.2.02 */
- /* 2007.03 Kidou Senshi Gundam 0083 Card Builder */
- /* 2007.03 Sega Network Taisen Mahjong MJ 3 Evolution */
- /* 2007.10 Kidou Senshi Gundam 0083 Card Builder Ryouyuu Gekitotsu */
- /* 2007.11 Quest of D The Battle Kingdom ver.4.00 */
- /* 2008.01 Quest of D The Battle Kingdom ver.4.00b */
- /* 2008.02 Quest of D The Battle Kingdom ver.4.00c */
- /* 2008.06 Quest of D The Battle Kingdom ver.4.01 */
-
- DRIVER( hshavoc ) /* (c) 1993 Data East */
-
- /* Data East "Burger Time hardware" games */
- DRIVER( lnc ) /* (c) 1981 */
- DRIVER( zoar ) /* (c) 1982 */
- DRIVER( btime ) /* (c) 1982 */
- DRIVER( btime2 ) /* (c) 1982 */
- DRIVER( btimem ) /* (c) 1982 + Midway */
- DRIVER( tisland ) /* (c) 1982 */
- DRIVER( protennb ) /* bootleg */
- DRIVER( cookrace ) /* bootleg */
- DRIVER( wtennis ) /* bootleg 1982 */
- DRIVER( brubber ) /* (c) 1982 */
- DRIVER( bnj ) /* (c) 1982 + Midway */
- DRIVER( caractn ) /* bootleg */
- DRIVER( disco ) /* (c) 1982 */
- DRIVER( discof ) /* (c) 1982 */
- DRIVER( sdtennis ) /* (c) 1983 */
- DRIVER( mmonkey ) /* (c) 1982 Technos Japan + Roller Tron */
-
- /* cassette system, parent is decocass */
- DRIVER( decocass )
- DRIVER( ctsttape ) /* ? */
- DRIVER( chwy ) /* 01 1980.12 Highway Chase */
- /* 02 1980.12 Sengoku Ninjatai */
- /* 03 1981.01 Manhattan */
- DRIVER( cterrani ) /* 04 1981.02 Terranian */
- /* 05 1981.?? Missile Sprinter */
- /* 06 1980.12 Nebbler */
- DRIVER( castfant ) /* 07 1981.02 Astro Fantasia */
- /* 08 1981.03 The Tower */
- DRIVER( csuperas ) /* 09 1981.05 Super Astro Fighter */
- /* 10 1981.?? Ocean to Ocean (medal) */
- DRIVER( clocknch ) /* 11 1981.04 Rock'n Chase */
- /* 12 1981.08 Flash Boy/DECO Kid */
- DRIVER( cprogolf ) /* 13 1981.08 Pro Golf */
- /* 14 1981.06 DS Telejan */
- DRIVER( cluckypo ) /* 15 1981.?? Lucky Poker */
- DRIVER( ctisland ) /* 16 1982.02 Treasure Island */
- DRIVER( ctisland2 ) /* 16 */
- DRIVER( ctisland3 ) /* 16 */
- /* 17 1981.10 Bobbit */
- DRIVER( cexplore ) /* 18 1982.02 Explorer */
- DRIVER( cdiscon1 ) /* 19 1982.04 Disco No.1 */
- DRIVER( csweetht ) /* 19 */
- DRIVER( ctornado ) /* 20 1982.05 Tornado */
- DRIVER( cmissnx ) /* 21 1982.04 Mission X/Zoar */
- DRIVER( cptennis ) /* 22 1982.06 Pro Tennis */
- /* 23 1982.?? 18 Hole Pro Golf */
- /* 24 1982.07 Tsumego Kaisyou */
- /* 25 1982.10 Fishing */
- DRIVER( cbtime ) /* 26 1982.08 Hamburger/Burger Time */
- DRIVER( cburnrub ) /* 27 1982.11 Burnin' Rubber/Bump'n Jump */
- DRIVER( cburnrub2 ) /* 27 */
- DRIVER( cbnj ) /* 27 */
- DRIVER( cgraplop ) /* 28 1982.11 Grapelop */
- DRIVER( cgraplop2 ) /* 28 */
- DRIVER( clapapa ) /* 29 1982.11 Lapapa/Rootin' Tootin' */
- DRIVER( clapapa2 ) /* 29 */ /* this one doesn't display lapapa anywhere */
- /* 30 1983.03 Skater */
- DRIVER( cprobowl ) /* 31 1983.03 Pro Bowling */
- DRIVER( cnightst ) /* 32 1983.04 Night Star */
- DRIVER( cnightst2 ) /* 32 */
- DRIVER( cprosocc ) /* 33 1982.08 Pro Soccer */
- /* 34 1983.09 Super Doubles Tennis */
- DRIVER( cflyball ) /* 35 1983.?? Bampoline/Flying Ball */
- /* 36 1984.04 Genesis/Boomer Rang'r */
- DRIVER( czeroize ) /* 37 1983.10 Zeroize */ /* doesn't work at all */
- DRIVER( cscrtry ) /* 38 1984.03 Scrum Try */
- DRIVER( cscrtry2 ) /* 38 */
- DRIVER( cppicf ) /* 39 1984.02 Peter Pepper's Ice Cream Factory */
- DRIVER( cppicf2 ) /* 39 */
- DRIVER( cfghtice ) /* 40 1984.04 Fighting Ice Hockey */
- /* 41 1984.05 Oozumou/The Grand Sumo */
- /* 42 1984.08 Hellow Gateball */ /* not a typo, this is official spelling */
- /* 43 1984.08 Yellow Cab */
- DRIVER( cbdash ) /* 44 1985.08 Boulder Dash */
- /* UX7 1984.12 Tokyo Mie Shinryoujo */
- /* UX8 1985.01 Tokyo Mie Shinryoujo Part 2 */
- /* UX9 1985.05 Geinoujin Shikaku Shiken */
-
- /* Data East LD games */
- DRIVER( begas ) /* (c) 1983 */
- DRIVER( begas1 ) /* (c) 1983 */
- DRIVER( cobra ) /* (c) 1984 */
- DRIVER( rblaster ) /* (c) 1985 */
-
- /* other Data East games */
- DRIVER( madalien ) /* (c) 1980 */
- DRIVER( madaliena ) /* (c) 1980 */
- DRIVER( astrof ) /* (c) [1980?] */
- DRIVER( astrof2 ) /* (c) [1980?] */
- DRIVER( astrof3 ) /* (c) [1980?] */
- DRIVER( abattle ) /* Sidam */
- DRIVER( abattle2 ) /* Sidam */
- DRIVER( afire ) /* Rene Pierre */
- DRIVER( acombat ) /* bootleg */
- DRIVER( acombato ) /* bootleg */
- DRIVER( sstarbtl ) /* bootleg */
- DRIVER( spfghmk2 ) /* (c) [1979] Data East Corporation */
- DRIVER( spfghmk22 ) /* (c) [1979] Data East Corporation */
- DRIVER( tomahawk ) /* (c) 1980 Data East, Inc. */
- DRIVER( tomahawk1 ) /* (c) 1980 Data East, Inc. */
- DRIVER( progolf ) /* (c) 1981 */
- DRIVER( progolfa ) /* (c) 1981 */
- DRIVER( deshoros ) /* (c) 1983 */
- DRIVER( prosoccr ) /* (c) 1983 */
- DRIVER( prosport ) /* (c) 1983 */
- DRIVER( prosporta ) /* (c) 1983 */
- DRIVER( boomrang ) /* (c) 1983 */
- DRIVER( boomranga ) /* (c) 1983 */
- DRIVER( kamikcab ) /* (c) 1984 */
- DRIVER( yellowcbj ) /* (c) 1984 */
- DRIVER( yellowcbb ) /* bootleg */
- DRIVER( liberate ) /* (c) 1984 Data East Corporation */
- DRIVER( dualaslt ) /* (c) 1984 Data East USA (US) */
- DRIVER( liberateb ) /* bootleg */
- DRIVER( bwings ) /* (c) 1984 */
- DRIVER( bwingso ) /* (c) 1984 */
- DRIVER( bwingsa ) /* (c) 1984 */
- DRIVER( zaviga ) /* (c) */
- DRIVER( zavigaj ) /* (c) */
- DRIVER( kchamp ) /* (c) 1984 Data East USA (US) */
- DRIVER( karatedo ) /* (c) 1984 Data East Corporation (Japan) */
- DRIVER( kchampvs ) /* (c) 1984 Data East USA (US) */
- DRIVER( kchampvs2 ) /* (c) 1984 Data East USA (US) */
- DRIVER( karatevs ) /* (c) 1984 Data East Corporation (Japan) */
- DRIVER( compgolf ) /* (c) 1985 Data East Corporation (Japan) */
- DRIVER( compgolfo ) /* (c) 1985 Data East Corporation (Japan) */
- DRIVER( cntsteer ) /* (c) 1985 Data East Corporation */
- DRIVER( zerotrgt ) /* (c) 1985 Data East Corporation */
- DRIVER( zerotrgta ) /* (c) 1985 Data East Corporation */
- DRIVER( gekitsui ) /* (c) 1985 Data East Corporation (Japan) */
- DRIVER( tryout ) /* (c) 1985 Data East Corporation (Japan) */
- DRIVER( firetrap ) /* (c) 1986 Data East USA (US) */
- DRIVER( firetrapj ) /* (c) 1986 Wood Place Inc. (Japan) */
- DRIVER( firetrapbl ) /* bootleg */
- DRIVER( metlclsh ) /* (c) 1985 Data East */
- DRIVER( chanbara ) /* (c) 1985 Data East */
- DRIVER( brkthru ) /* (c) 1986 Data East USA (US) */
- DRIVER( brkthruj ) /* (c) 1986 Data East Corporation (Japan) */
- DRIVER( forcebrk ) /* (c) 1986 Data East Corporation (Japan) */
- DRIVER( darwin ) /* (c) 1986 Data East Corporation (Japan) */
- DRIVER( shootout ) /* (c) 1985 Data East USA (US) */
- DRIVER( shootoutj ) /* (c) 1985 Data East USA (Japan) */
- DRIVER( shootoutb ) /* bootleg */
- DRIVER( sidepckt ) /* (c) 1986 Data East Corporation */
- DRIVER( sidepcktj ) /* (c) 1986 Data East Corporation */
- DRIVER( sidepcktb ) /* bootleg */
- DRIVER( exprraid ) /* (c) 1986 Data East USA (US) */
- DRIVER( exprraida ) /* (c) 1986 Data East USA (US) */
- DRIVER( wexpress ) /* (c) 1986 Data East Corporation (World?) */
- DRIVER( wexpressb ) /* bootleg */
- DRIVER( wexpressb2 ) /* bootleg */
- DRIVER( pcktgal ) /* (c) 1987 Data East Corporation (Japan) */
- DRIVER( pcktgalb ) /* bootleg */
- DRIVER( pcktgal2 ) /* (c) 1989 Data East Corporation (World?) */
- DRIVER( pcktgal2j ) /* (c) 1989 Data East Corporation (World?) */
- DRIVER( pokechmp ) /* Korean hack of Pocket Gal */
- DRIVER( spool3 ) /* (c) 1989 Data East Corporation (World?) */
- DRIVER( spool3i ) /* (c) 1990 Data East Corporation + I-Vics license */
- DRIVER( battlera ) /* (c) 1988 Data East Corporation (World) */
- DRIVER( bldwolf ) /* (c) 1988 Data East USA (US) */
- DRIVER( bldwolfj ) /* (c) 1988 Data East Corporation (Japan) */
- DRIVER( actfancr ) /* (c) 1989 Data East Corporation (World) */
- DRIVER( actfancr1 ) /* (c) 1989 Data East Corporation (World) */
- DRIVER( actfancrj ) /* (c) 1989 Data East Corporation (Japan) */
- DRIVER( triothep ) /* (c) 1989 Data East Corporation (World) */
- DRIVER( triothepj ) /* (c) 1989 Data East Corporation (Japan) */
-
- /* Data East 8-bit games */
- DRIVER( lastmisn ) /* (c) 1986 Data East USA (US) */
- DRIVER( lastmisno ) /* (c) 1986 Data East USA (US) */
- DRIVER( lastmisnj ) /* (c) 1986 Data East Corporation (Japan) */
- DRIVER( shackled ) /* (c) 1986 Data East USA (US) */
- DRIVER( breywood ) /* (c) 1986 Data East Corporation (Japan) */
- DRIVER( csilver ) /* (c) 1987 Data East Corporation (Japan) */
- DRIVER( csilverj ) /* (c) 1987 Data East Corporation (Japan) */
- DRIVER( ghostb ) /* (c) 1987 Data East USA (US) */
- DRIVER( ghostb3 ) /* (c) 1987 Data East USA (US) */
- DRIVER( meikyuh ) /* (c) 1987 Data East Corporation (Japan) */
- DRIVER( meikyuha ) /* (c) 1987 Data East Corporation (Japan) */
- DRIVER( srdarwin ) /* (c) 1987 Data East Corporation (World) */
- DRIVER( srdarwinj ) /* (c) 1987 Data East Corporation (Japan) */
- DRIVER( gondo ) /* (c) 1987 Data East USA (US) */
- DRIVER( makyosen ) /* (c) 1987 Data East Corporation (Japan) */
- DRIVER( garyoret ) /* (c) 1987 Data East Corporation (Japan) */
- DRIVER( cobracom ) /* (c) 1988 Data East Corporation (World) */
- DRIVER( cobracomj ) /* (c) 1988 Data East Corporation (Japan) */
- DRIVER( oscar ) /* (c) 1988 Data East Corporation (World) */
- DRIVER( oscaru ) /* (c) 1987 Data East USA (US) */
- DRIVER( oscarj1 ) /* (c) 1987 Data East Corporation (Japan) */
- DRIVER( oscarj2 ) /* (c) 1987 Data East Corporation (Japan) */
-
- /* Data East 16-bit games */
- DRIVER( karnov ) /* (c) 1987 Data East USA (US) */
- DRIVER( karnovj ) /* (c) 1987 Data East Corporation (Japan) */
- DRIVER( wndrplnt ) /* (c) 1987 Data East Corporation (Japan) */
- DRIVER( chelnov ) /* (c) 1988 Data East USA (World) */
- DRIVER( chelnovu ) /* (c) 1988 Data East USA (US) */
- DRIVER( chelnovj ) /* (c) 1988 Data East Corporation (Japan) */
- /* the following ones all run on similar hardware */
- DRIVER( hbarrel ) /* (c) 1987 Data East USA (US) */
- DRIVER( hbarrelw ) /* (c) 1987 Data East Corporation (World) */
- DRIVER( baddudes ) /* EI (c) 1988 Data East USA (US) */
- DRIVER( drgninja ) /* EG (c) 1988 Data East Corporation (Japan) */
- DRIVER( birdtry ) /* (c) 1988 Data East Corporation (Japan) */
- DRIVER( robocop ) /* EP? (c) 1988 Data East Corporation (World) */
- DRIVER( robocopw ) /* EP? (c) 1988 Data East Corporation (World) */
- DRIVER( robocopj ) /* EM (c) 1988 Data East Corporation (Japan) */
- DRIVER( robocopu ) /* (c) 1988 Data East USA (US) */
- DRIVER( robocopu0 ) /* (c) 1988 Data East USA (US) */
- DRIVER( robocopb ) /* bootleg */
- DRIVER( automat ) /* bootleg */
- DRIVER( hippodrm ) /* EW (c) 1989 Data East USA (US) */
- DRIVER( ffantasy ) /* EV (c) 1989 Data East Corporation (Japan) */
- DRIVER( ffantasya ) /* EV (c) 1989 Data East Corporation (Japan) */
- DRIVER( ffantasybl )/* bootleg */
- DRIVER( slyspy ) /* (c) 1989 Data East USA (US) */
- DRIVER( slyspy2 ) /* (c) 1989 Data East USA (US) */
- DRIVER( secretag ) /* (c) 1989 Data East Corporation (World) */
- DRIVER( secretab ) /* bootleg */
- DRIVER( midres ) /* (c) 1989 Data East Corporation (World) */
- DRIVER( midresu ) /* (c) 1989 Data East USA (US) */
- DRIVER( midresj ) /* (c) 1989 Data East Corporation (Japan) */
- DRIVER( midresb ) /* (c) 1989 Data East Corporation (Japan) */
- DRIVER( bouldash ) /* (c) 1990 Data East Corporation (World) */
- DRIVER( bouldashj ) /* (c) 1990 Data East Corporation (Japan) */
- /* end of similar hardware */
- DRIVER( stadhero ) /* (c) 1988 Data East Corporation (Japan) */
- DRIVER( madmotor ) /* (c) [1989] Mitchell */
- /* All these games have a unique code stamped on the mask roms */
- DRIVER( vaportra ) /* MAA (c) 1989 Data East Corporation (World) */
- DRIVER( vaportra3 ) /* MAA (c) 1989 Data East Corporation (World) */
- DRIVER( vaportrau ) /* MAA (c) 1989 Data East Corporation (US) */
- DRIVER( kuhga ) /* MAA (c) 1989 Data East Corporation (Japan) */
- DRIVER( cbuster ) /* MAB (c) 1990 Data East Corporation (World) */
- DRIVER( cbusterw ) /* MAB (c) 1990 Data East Corporation (World) */
- DRIVER( cbusterj ) /* MAB (c) 1990 Data East Corporation (Japan) */
- DRIVER( twocrude ) /* MAB (c) 1990 Data East USA (US) */
- DRIVER( darkseal ) /* MAC (c) 1990 Data East Corporation (World) */
- DRIVER( darkseal1 ) /* MAC (c) 1990 Data East Corporation (World) */
- DRIVER( darksealj ) /* MAC (c) 1990 Data East Corporation (Japan) */
- DRIVER( gatedoom ) /* MAC (c) 1990 Data East Corporation (US) */
- DRIVER( gatedoom1 ) /* MAC (c) 1990 Data East Corporation (US) */
- DRIVER( edrandy ) /* MAD (c) 1990 Data East Corporation (World) */
- DRIVER( edrandy2 ) /* MAD (c) 1990 Data East Corporation (World) */
- DRIVER( edrandy1 ) /* MAD (c) 1990 Data East Corporation (World) */
- DRIVER( edrandyj ) /* MAD (c) 1990 Data East Corporation (Japan) */
- DRIVER( supbtime ) /* MAE (c) 1990 Data East Corporation (World) */
- DRIVER( supbtimea ) /* MAE (c) 1990 Data East Corporation (World) */
- DRIVER( supbtimej ) /* MAE (c) 1990 Data East Corporation (Japan) */
- DRIVER( mutantf ) /* MAF (c) 1992 Data East Corporation (World) */
- DRIVER( mutantf4 ) /* MAF (c) 1992 Data East Corporation (World) */
- DRIVER( mutantf3 ) /* MAF (c) 1992 Data East Corporation (World) */
- DRIVER( deathbrd ) /* MAF (c) 1992 Data East Corporation (Japan) */
- DRIVER( cninja ) /* MAG (c) 1991 Data East Corporation (World) */
- DRIVER( cninja1 ) /* MAG (c) 1991 Data East Corporation (World) */
- DRIVER( cninjau ) /* MAG (c) 1991 Data East Corporation (US) */
- DRIVER( joemac ) /* MAG (c) 1991 Data East Corporation (Japan) */
- DRIVER( cninjabl ) /* bootleg */
- DRIVER( stoneage ) /* bootleg */
- DRIVER( robocop2 ) /* MAH (c) 1991 Data East Corporation (World) */
- DRIVER( robocop2u ) /* MAH (c) 1991 Data East Corporation (US) */
- DRIVER( robocop2j ) /* MAH (c) 1991 Data East Corporation (Japan) */
- DRIVER( thndzone ) /* MAJ (c) 1991 Data East Corporation (World) */
- DRIVER( dassault ) /* MAJ (c) 1991 Data East Corporation (US) */
- DRIVER( dassault4 ) /* MAJ (c) 1991 Data East Corporation (US) */
- DRIVER( chinatwn ) /* MAK (c) 1991 Data East Corporation (Japan) */
- DRIVER( rohga ) /* MAM (c) 1991 Data East Corporation (Asia/Euro) */
- DRIVER( rohga1 ) /* MAM (c) 1991 Data East Corporation (Asia/Euro) */
- DRIVER( rohga2 ) /* MAM (c) 1991 Data East Corporation (Asia/Euro) */
- DRIVER( rohgah ) /* MAM (c) 1991 Data East Corporation (Hong Kong) */
- DRIVER( rohgau ) /* MAM (c) 1991 Data East Corporation (US) */
- DRIVER( wolffang ) /* MAM (c) 1991 Data East Corporation (Japan) */
- DRIVER( schmeisr ) /* (c) 1993 Hot B */
- DRIVER( captaven ) /* MAN (c) 1991 Data East Corporation (Asia) */
- DRIVER( captavena ) /* MAN (c) 1991 Data East Corporation (Asia) */
- DRIVER( captavene ) /* MAN (c) 1991 Data East Corporation (UK) */
- DRIVER( captavenu ) /* MAN (c) 1991 Data East Corporation (US) */
- DRIVER( captavenuu ) /* MAN (c) 1991 Data East Corporation (US) */
- DRIVER( captavenua ) /* MAN (c) 1991 Data East Corporation (US) */
- DRIVER( captavenj ) /* MAN (c) 1991 Data East Corporation (Japan) */
- /* MAO ?? */
- DRIVER( tumblep ) /* MAP (c) 1991 Data East Corporation (World) */
- DRIVER( tumblepj ) /* MAP (c) 1991 Data East Corporation (Japan) */
- DRIVER( tumbleb ) /* bootleg */
- DRIVER( tumbleb2 ) /* bootleg */
- DRIVER( jumpkids ) /* (c) 1993 Comad */
- DRIVER( jumppop ) /* (c) 2001 ESD */
- DRIVER( pangpang ) /* (c) 1994 Dong Gue La Mi Ltd. */
- DRIVER( sdfight ) /* (c) 1996 SemiCom */
- DRIVER( wlstar ) /* (c) 1995 Mijin */
- DRIVER( wondl96 ) /* (c) 1996 SemiCom */
- DRIVER( fncywld ) /* (c) 1996 Unico */
- DRIVER( htchctch ) /* (c) 1995 SemiCom */
- DRIVER( cookbib ) /* (c) 1995 SemiCom */
- DRIVER( chokchok ) /* (c) 1995 SemiCom */
- DRIVER( metlsavr ) /* (c) 1994 */
- DRIVER( bcstry ) /* (c) 1997 SemiCom */
- DRIVER( bcstrya ) /* (c) 1997 SemiCom */
- DRIVER( semibase ) /* (c) 1997 SemiCom */
- DRIVER( dquizgo ) /* (c) 1998 SemiCom */
- DRIVER( suprtrio ) /* (c) 1994 GameAce */
- DRIVER( lemmings ) /* prototype (c) 1991 Data East USA (US) */
- /* MAQ ?? */
- DRIVER( dragngun ) /* MAR (c) 1992 Data East Corporation (US) */
- DRIVER( wizdfire ) /* MAS (c) 1992 Data East Corporation (Over Sea) */
- DRIVER( wizdfireu ) /* MAS (c) 1992 Data East Corporation (US) */
- DRIVER( darkseal2 ) /* MAS (c) 1992 Data East Corporation (Japan) */
- DRIVER( funkyjet ) /* MAT (c) 1992 Mitchell */
- DRIVER( funkyjetj ) /* MAT (c) 1992 Mitchell */
- /* MAU ?? */
- DRIVER( nitrobal ) /* MAV (c) 1992 Data East Corporation (US) */
- DRIVER( gunball ) /* MAV (c) 1992 Data East Corporation (Japan) */
- /* MAW ?? */
- /* MAX ?? */
- DRIVER( dietgo ) /* MAY (c) 1993 */
- DRIVER( dietgoe ) /* MAY (c) 1993 */
- DRIVER( dietgou ) /* MAY (c) 1993 */
- DRIVER( dietgoj ) /* MAY (c) 1993 */
- DRIVER( pktgaldx ) /* MAZ (c) 1993 Data East (Euro v3.00) */
- DRIVER( pktgaldxj ) /* MAZ (c) 1993 */
- DRIVER( pktgaldxb ) /* bootleg */
- /* MBA ?? */
- /* MBB ?? */
- /* MBC ?? */
- DRIVER( boogwing ) /* MBD (c) 1992 (Euro) */
- DRIVER( boogwinga ) /* MBD (c) 1992 (Asia) */
- DRIVER( ragtime ) /* MBD (c) 1992 (Japan) */
- DRIVER( ragtimea ) /* MBD (c) 1992 (Japan) */
- DRIVER( dblewing ) /* MBE (c) 1993 Mitchell */
- DRIVER( fghthist ) /* MBF (c) 1993 Data East Corporation (World) */
- DRIVER( fghthistu ) /* MBF (c) 1993 Data East Corporation (US) */
- DRIVER( fghthista ) /* MBF (c) 1993 Data East Corporation (US) */
- DRIVER( fghthistj ) /* MBF (c) 1993 Data East Corporation (Japan) */
- DRIVER( hvysmsh ) /* MBG (c) 1993 Data East Corporation (World) */
- DRIVER( hvysmsha ) /* MBG (c) 1993 Data East Corporation (Asia) */
- DRIVER( hvysmshj ) /* MBG (c) 1993 Data East Corporation (Japan) */
- DRIVER( nslasher ) /* MBH (c) 1993 Data East Corporation */
- DRIVER( nslasherj ) /* MBH (c) 1993 Data East Corporation (Japan)*/
- DRIVER( nslashers ) /* MBH (c) 1993 Data East Corporation (Japan)*/
- /* MBI ?? */
- /* MBJ ?? */
- /* MBK ?? */
- /* MBL ?? */
- DRIVER( lockload ) /* MBM (c) 1994 Data East Corporation (US) */
- DRIVER( lockloadu ) /* MBM (c) 1994 Data East Corporation (US) */
- DRIVER( joemacr ) /* MBN (c) 1994 */
- DRIVER( joemacra ) /* MBN (c) 1994 */
- /* MBO ?? */
- /* MBP ?? */
- /* MBQ ?? */
- DRIVER( tattass ) /* prototype (c) 1994 Data East Pinball (US) */
- DRIVER( tattassa ) /* prototype (c) 1994 Data East Pinball (Asia) */
- DRIVER( charlien ) /* MBR (c) 1994 Mitchell */
- /* MBS ?? */
- /* MBT ?? */
- /* MBU ?? */
- /* MBV ?? */
- /* MBW ?? */
- DRIVER( wcvol95 ) /* MBX (c) 1993 Data East */
- /* MBY ?? */
- DRIVER( backfire ) /* MBZ (c) 1995 */
- DRIVER( backfirea ) /* MBZ (c) 1995 */
- /* MCA ?? */
- DRIVER( prtytime ) /* MCB (c) 1995 Mitchell */
- DRIVER( gangonta ) /* MCB (c) 1995 Mitchell */
- DRIVER( chainrec ) /* MCC (c) 1994 */
- DRIVER( magdrop ) /* MCC (c) 1995 Data East */
- DRIVER( magdropp ) /* MCC (c) 1995 Data East */
- /* MCD ?? */
- /* MCE Dunk Dream 95/Hoops96 See MLC games below */
- DRIVER( osman ) /* MCF (c) 1996 Mitchell */
- DRIVER( candance ) /* MCF (c) 1996 Mitchell */
- DRIVER( sotsugyo ) /* (c) 1995 Mitchell (Atlus license) */
- DRIVER( sshangha ) /* (c) 1992 Hot-B */
- DRIVER( sshanghab ) /* bootleg */
-
- /* Data East MLC Games */
- DRIVER( hoops96 ) /* MCE (c) 1996 Data East Corporation */
- DRIVER( ddream95 ) /* MCE (c) 1996 Data East Corporation */
- DRIVER( hoops95 ) /* MCE (c) 1996 Data East Corporation */
- DRIVER( avengrgs ) /* MCG (c) 1995 Data East Corporation (World) */
- DRIVER( avengrgsj ) /* MCG (c) 1995 Data East Corporation (Japan) */
- DRIVER( skullfng ) /* MCH (c) 1996 Data East Corporation (World) */
- DRIVER( skullfngj ) /* MCH (c) 1996 Data East Corporation (Japan) */
- DRIVER( stadhr96 ) /* MCM (c) 1996 Data East */
- DRIVER( stadhr96j ) /* MCM (c) 1996 Data East */
-
- /* Tehkan / Tecmo games (Tehkan became Tecmo in 1986) */
- DRIVER( senjyo ) /* (c) 1983 Tehkan */
- DRIVER( starforc ) /* (c) 1984 Tehkan */
- DRIVER( starforce ) /* (c) 1984 Tehkan */
- DRIVER( starforcb ) /* (c) 1984 Tehkan */
- DRIVER( starforca ) /* (c) 1984 Tehkan */
- DRIVER( megaforc ) /* (c) 1985 Tehkan + Video Ware license */
- DRIVER( baluba ) /* (c) 1986 Able Corp. */
- DRIVER( bombjack ) /* (c) 1984 Tehkan */
- DRIVER( bombjack2 ) /* (c) 1984 Tehkan */
- DRIVER( pbaction ) /* (c) 1985 Tehkan */
- DRIVER( pbaction2 ) /* (c) 1985 Tehkan */
- DRIVER( pbaction3 ) /* (c) 1985 Tehkan */
- DRIVER( pbaction4 ) /* (c) 1985 Tehkan */
- DRIVER( pbaction5 ) /* (c) 1985 Tehkan */
- /* 6009 Tank Busters */
- DRIVER( ponttehk ) /* 6011 - (c) 1985 Tehkan */
- DRIVER( lvpoker ) /* ???? - (c) 1985 Tehkan */
- DRIVER( lvcards ) /* (c) 1985 Tehkan */
- DRIVER( tehkanwc ) /* (c) 1985 Tehkan */
- DRIVER( tehkanwcb ) /* bootleg */
- DRIVER( tehkanwcc ) /* bootleg */
- DRIVER( gridiron ) /* (c) 1985 Tehkan */
- DRIVER( teedoff ) /* 6102 - (c) 1986 Tecmo */
- DRIVER( solomon ) /* (c) 1986 Tecmo */
- DRIVER( solomonj ) /* (c) 1986 Tecmo */
- DRIVER( rygar ) /* 6002 - (c) 1986 Tecmo */
- DRIVER( rygar2 ) /* 6002 - (c) 1986 Tecmo */
- DRIVER( rygar3 ) /* 6002 - (c) 1986 Tecmo */
- DRIVER( rygarj ) /* 6002 - (c) 1986 Tecmo */
- DRIVER( gemini ) /* (c) 1987 Tecmo */
- DRIVER( silkworm ) /* 6217 - (c) 1988 Tecmo */
- DRIVER( silkworm2 ) /* 6217 - (c) 1988 Tecmo */
- DRIVER( backfirt ) /* bootleg [(c) 1988 Tecmo] */
- DRIVER( tbowl ) /* 6206 - (c) 1987 Tecmo */
- DRIVER( tbowlj ) /* 6206 - (c) 1987 Tecmo */
- DRIVER( shadoww ) /* 6215 - (c) 1988 Tecmo (World) */
- DRIVER( shadowwa ) /* 6215 - (c) 1988 Tecmo (World) */
- DRIVER( gaiden ) /* 6215 - (c) 1988 Tecmo (US) */
- DRIVER( ryukendn ) /* 6215 - (c) 1989 Tecmo (Japan) */
- DRIVER( ryukendna ) /* 6215 - (c) 1989 Tecmo (Japan) */
- DRIVER( mastninj ) /* bootleg */
- DRIVER( wildfang ) /* (c) 1989 Tecmo */
- DRIVER( wildfangs ) /* (c) 1989 Tecmo */
- DRIVER( tknight ) /* (c) 1989 Tecmo */
- DRIVER( stratof ) /* (c) 1991 Tecmo */
- DRIVER( raiga ) /* (c) 1991 Tecmo */
- DRIVER( drgnbowl ) /* (c) 1992 Nics */
- DRIVER( wc90 ) /* (c) 1989 Tecmo */
- DRIVER( wc90a ) /* (c) 1989 Tecmo */
- DRIVER( wc90b ) /* (c) 1989 Tecmo */
- DRIVER( wc90t ) /* (c) 1989 Tecmo */
- DRIVER( wc90b1 ) /* bootleg */
- DRIVER( wc90b2 ) /* bootleg */
- DRIVER( spbactn ) /* 9002 - (c) 1991 Tecmo */
- DRIVER( spbactnj ) /* 9002 - (c) 1991 Tecmo */
- DRIVER( fstarfrc ) /* (c) 1992 Tecmo */
- DRIVER( fstarfrcj ) /* (c) 1992 Tecmo */
- DRIVER( ginkun ) /* (c) 1995 Tecmo */
- DRIVER( deroon ) /* (c) 1996 Tecmo */
- DRIVER( tkdensho ) /* (c) 1996 Tecmo */
- DRIVER( tkdenshoa ) /* (c) 1996 Tecmo */
-
- /* Konami bitmap games */
- DRIVER( tutankhm ) /* GX350 (c) 1982 Konami */
- DRIVER( tutankhms ) /* GX350 (c) 1982 Stern */
- DRIVER( junofrst ) /* GX310 (c) 1983 Konami */
- DRIVER( junofrstg ) /* GX310 (c) 1983 Konami + Gottlieb license */
-
- /* Konami games */
- DRIVER( pooyan ) /* GX320 (c) 1982 */
- DRIVER( pooyans ) /* GX320 (c) 1982 Stern */
- DRIVER( pootan ) /* bootleg */
- DRIVER( timeplt ) /* GX393 (c) 1982 */
- DRIVER( timepltc ) /* GX393 (c) 1982 + Centuri license*/
- DRIVER( timeplta ) /* GX393 (c) 1982 + Atari license*/
- DRIVER( spaceplt ) /* bootleg */
- DRIVER( psurge ) /* (c) 1988 unknown (NOT Konami) */
- DRIVER( megazone ) /* GX319 (c) 1983 */
- DRIVER( megazonea ) /* GX319 (c) 1983 */
- DRIVER( megazoneb ) /* GX319 (c) 1983 + Kosuka */
- DRIVER( megazonec ) /* GX319 (c) 1983 + Kosuka */
- DRIVER( megazonei ) /* GX319 (c) 1983 + Interlogic / Kosuka */
- DRIVER( pandoras ) /* GX328 (c) 1984 + Interlogic */
- DRIVER( gyruss ) /* GX347 (c) 1983 */
- DRIVER( gyrussce ) /* GX347 (c) 1983 + Centuri license */
- DRIVER( gyrussb ) /* bootleg or actual Taito NZ license? */
- DRIVER( venus ) /* bootleg */
- DRIVER( trackfld ) /* GX361 (c) 1983 */
- DRIVER( trackfldc ) /* GX361 (c) 1983 + Centuri license */
- DRIVER( trackfldnz )/* (c) 1982 Goldberg Enterprizes Inc. */
- DRIVER( hyprolym ) /* GX361 (c) 1983 */
- DRIVER( hyprolymb ) /* bootleg */
- DRIVER( atlantol ) /* bootleg */
- DRIVER( wizzquiz ) /* (c) 1985 Konami */
- DRIVER( wizzquiza ) /* (c) 1985 Zilec-Zenitone */
- DRIVER( reaktor ) /* (c) 1985 Zilec */
- DRIVER( mastkin ) /* (c) 1988 Du Tech */
- DRIVER( rocnrope ) /* GX364 (c) 1983 */
- DRIVER( rocnropek ) /* GX364 (c) 1983 + Kosuka */
- DRIVER( ropeman ) /* (c) 1983 bootleg */
- DRIVER( circusc ) /* GX380 (c) 1984 */
- DRIVER( circusc2 ) /* GX380 (c) 1984 */
- DRIVER( circusc3 ) /* GX380 (c) 1984 */
- DRIVER( circuscc ) /* GX380 (c) 1984 + Centuri license */
- DRIVER( circusce ) /* GX380 (c) 1984 + Centuri license */
- DRIVER( tp84 ) /* GX388 (c) 1984 */
- DRIVER( tp84a ) /* GX388 (c) 1984 */
- DRIVER( tp84b ) /* GX388 (c) 1984 */
- DRIVER( hyperspt ) /* GX330 (c) 1984 + Centuri */
- DRIVER( hypersptb ) /* bootleg */
- DRIVER( hpolym84 ) /* GX330 (c) 1984 */
- DRIVER( sbasketb ) /* GX405 (c) 1984 (Version I, Encrypted) */
- DRIVER( sbasketh ) /* GX405 (c) 1984 (Version H, Unprotected) */
- DRIVER( sbasketg ) /* GX405 (c) 1984 (Version G, Encrypted) */
- DRIVER( sbaskete ) /* GX405 (c) 1984 (Version E, Encrypted) */
- DRIVER( mikie ) /* GX469 (c) 1984 */
- DRIVER( mikiej ) /* GX469 (c) 1984 */
- DRIVER( mikiehs ) /* GX469 (c) 1984 */
- DRIVER( roadf ) /* GX461 (c) 1984 */
- DRIVER( roadf2 ) /* GX461 (c) 1984 */
- DRIVER( yiear ) /* GX407 (c) 1985 */
- DRIVER( yiear2 ) /* GX407 (c) 1985 */
- DRIVER( yieartf ) /* GX361 (c) 1985 */
- DRIVER( kicker ) /* GX477 (c) 1985 */
- DRIVER( shaolins ) /* GX477 (c) 1985 */
- DRIVER( shaolinb ) /* bootleg */
- DRIVER( pingpong ) /* GX555 (c) 1985 */
- DRIVER( merlinmm ) /* (c) 1986 Zilec-Zenitone */
- DRIVER( cashquiz ) /* (c) 1986 Zilec-Zenitone */
- DRIVER( gberet ) /* GX577 (c) 1985 */
- DRIVER( rushatck ) /* GX577 (c) 1985 */
- DRIVER( gberetb ) /* bootleg on different hardware */
- DRIVER( mrgoemon ) /* GX621 (c) 1986 (Japan) */
- DRIVER( jailbrek ) /* GX507 (c) 1986 */
- DRIVER( manhatan ) /* GX507 (c) 1986 (Japan) */
- DRIVER( jailbrekb ) /* bootleg */
- DRIVER( scotrsht ) /* GX545 (c) 1985 */
- DRIVER( finalizr ) /* GX523 (c) 1985 */
- DRIVER( finalizrb ) /* bootleg */
- DRIVER( ironhors ) /* GX560 (c) 1986 */
- DRIVER( dairesya ) /* GX560 (c) 1986 (Japan) */
- DRIVER( farwest ) /* bootleg */
- DRIVER( jackal ) /* GX631 (c) 1986 (World) */
- DRIVER( topgunr ) /* GX631 (c) 1986 (US) */
- DRIVER( jackalj ) /* GX631 (c) 1986 (Japan) */
- DRIVER( topgunbl ) /* bootleg */
- DRIVER( ddribble ) /* GX690 (c) 1986 */
- DRIVER( ddribblep ) /* GX690 (c) 1986 */
- DRIVER( contra ) /* GX633 (c) 1987 */
- DRIVER( contra1 ) /* GX633 (c) 1987 */
- DRIVER( contrab ) /* bootleg */
- DRIVER( contraj ) /* GX633 (c) 1987 (Japan) */
- DRIVER( contrajb ) /* bootleg */
- DRIVER( gryzor ) /* GX633 (c) 1987 */
- DRIVER( gryzora ) /* GX633 (c) 1987 */
- DRIVER( combatsc ) /* GX611 (c) 1988 */
- DRIVER( combatsct ) /* GX611 (c) 1987 */
- DRIVER( combatscj ) /* GX611 (c) 1987 (Japan) */
- DRIVER( bootcamp ) /* GX611 (c) 1987 */
- DRIVER( combatscb ) /* bootleg */
- DRIVER( rockrage ) /* GX620 (c) 1986 (World?) */
- DRIVER( rockragea ) /* GX620 (c) 1986 (Prototype?) */
- DRIVER( rockragej ) /* GX620 (c) 1986 (Japan) */
- DRIVER( mx5000 ) /* GX669 (c) 1987 */
- DRIVER( flkatck ) /* GX669 (c) 1987 (Japan) */
- DRIVER( fastlane ) /* GX752 (c) 1987 */
- DRIVER( tricktrp ) /* GX771 (c) 1987 */
- DRIVER( labyrunr ) /* GX771 (c) 1987 (Japan) */
- DRIVER( labyrunrk ) /* GX771 (c) 1987 (Japan) */
- DRIVER( thehustl ) /* GX765 (c) 1987 (Japan) */
- DRIVER( thehustlj ) /* GX765 (c) 1987 (Japan) */
- DRIVER( rackemup ) /* GX765 (c) 1987 */
- DRIVER( battlnts ) /* GX777 (c) 1987 */
- DRIVER( battlntsj ) /* GX777 (c) 1987 (Japan) */
- DRIVER( bladestl ) /* GX797 (c) 1987 */
- DRIVER( bladestll ) /* GX797 (c) 1987 */
- DRIVER( bladestle ) /* GX797 (c) 1987 */
- DRIVER( hcastle ) /* GX768 (c) 1988 */
- DRIVER( hcastleo ) /* GX768 (c) 1988 */
- DRIVER( hcastlej ) /* GX768 (c) 1988 (Japan) */
- DRIVER( hcastljo ) /* GX768 (c) 1988 (Japan) */
- DRIVER( ajax ) /* GX770 (c) 1987 */
- DRIVER( typhoon ) /* GX770 (c) 1987 */
- DRIVER( ajaxj ) /* GX770 (c) 1987 (Japan) */
- DRIVER( scontra ) /* GX775 (c) 1988 */
- DRIVER( scontraj ) /* GX775 (c) 1988 (Japan) */
- DRIVER( thunderx ) /* GX873 (c) 1988 */
- DRIVER( thunderxa ) /* GX873 (c) 1988 */
- DRIVER( thunderxb ) /* GX873 (c) 1988 */
- DRIVER( thunderxj ) /* GX873 (c) 1988 (Japan) */
- DRIVER( mainevt ) /* GX799 (c) 1988 */
- DRIVER( mainevto ) /* GX799 (c) 1988 */
- DRIVER( mainevt2p ) /* GX799 (c) 1988 */
- DRIVER( ringohja ) /* GX799 (c) 1988 (Japan) */
- DRIVER( devstors ) /* GX890 (c) 1988 */
- DRIVER( devstors2 ) /* GX890 (c) 1988 */
- DRIVER( devstors3 ) /* GX890 (c) 1988 */
- DRIVER( garuka ) /* GX890 (c) 1988 (Japan) */
- DRIVER( 88games ) /* GX861 (c) 1988 */
- DRIVER( konami88 ) /* GX861 (c) 1988 */
- DRIVER( hypsptsp ) /* GX861 (c) 1988 (Japan) */
- DRIVER( gbusters ) /* GX878 (c) 1988 */
- DRIVER( gbustersa ) /* GX878 (c) 1988 */
- DRIVER( crazycop ) /* GX878 (c) 1988 (Japan) */
- DRIVER( crimfght ) /* GX821 (c) 1989 (US) */
- DRIVER( crimfght2 ) /* GX821 (c) 1989 (World) */
- DRIVER( crimfghtj ) /* GX821 (c) 1989 (Japan) */
- DRIVER( spy ) /* GX857 (c) 1989 (World) */
- DRIVER( spyu ) /* GX857 (c) 1989 (US) */
- DRIVER( bottom9 ) /* GX891 (c) 1989 */
- DRIVER( bottom9n ) /* GX891 (c) 1989 */
- DRIVER( mstadium ) /* GX891 (c) 1989 (Japan) */
- DRIVER( blockhl ) /* GX973 (c) 1989 */
- DRIVER( quarth ) /* GX973 (c) 1989 (Japan) */
- DRIVER( aliens ) /* GX875 (c) 1990 (World) */
- DRIVER( aliens2 ) /* GX875 (c) 1990 (World) */
- DRIVER( aliens3 ) /* GX875 (c) 1990 (World) */
- DRIVER( aliensu ) /* GX875 (c) 1990 (US) */
- DRIVER( aliensj ) /* GX875 (c) 1990 (Japan) */
- DRIVER( aliensj2 ) /* GX875 (c) 1990 (Japan) */
- DRIVER( aliensa ) /* GX875 (c) 1990 (Asia) */
- DRIVER( suratk ) /* GX911 (c) 1990 (World) */
- DRIVER( suratka ) /* GX911 (c) 1990 (Asia) */
- DRIVER( suratkj ) /* GX911 (c) 1990 (Japan) */
- DRIVER( parodius ) /* GX955 (c) 1990 (World) */
- DRIVER( parodiusa ) /* GX955 (c) 1990 (World) */
- DRIVER( parodiusj ) /* GX955 (c) 1990 (Japan) */
- DRIVER( rollerg ) /* GX999 (c) 1991 (US) */
- DRIVER( rollergj ) /* GX999 (c) 1991 (Japan) */
- DRIVER( simpsons ) /* GX072 (c) 1991 */
- DRIVER( simpsons4pa ) /* GX072 (c) 1991 */
- DRIVER( simpsons2p ) /* GX072 (c) 1991 */
- DRIVER( simpsons2p2 ) /* GX072 (c) 1991 */
- DRIVER( simpsons2pa ) /* GX072 (c) 1991 (Asia) */
- DRIVER( simpsons2pj ) /* GX072 (c) 1991 (Japan) */
- DRIVER( esckids ) /* GX975 (c) 1991 (Asia) */
- DRIVER( esckidsj ) /* GX975 (c) 1991 (Japan) */
- DRIVER( vendetta ) /* GX081 (c) 1991 (World) */
- DRIVER( vendettar ) /* GX081 (c) 1991 (World) */
- DRIVER( vendetta2p )/* GX081 (c) 1991 (World) */
- DRIVER( vendetta2pu )/* GX081 (c) 1991 (Asia) */
- DRIVER( vendetta2pd )/* GX081 (c) 1991 (Asia) */
- DRIVER( vendettaj ) /* GX081 (c) 1991 (Japan) */
- DRIVER( mogura ) /* GX141 (c) 1991 */
- DRIVER( wecleman ) /* GX602 (c) 1986 */
- DRIVER( hotchase ) /* GX763 (c) 1988 */
- DRIVER( chqflag ) /* GX717 (c) 1988 */
- DRIVER( chqflagj ) /* GX717 (c) 1988 (Japan) */
- DRIVER( ultraman ) /* GX910 (c) 1991 Banpresto/Bandai */
- DRIVER( hexion ) /* GX122 (c) 1992 */
- DRIVER( lethalen ) /* GX191 (c) 1992 */
- DRIVER( lethalenua ) /* GX191 (c) 1992 */
- DRIVER( lethalenux ) /* GX191 (c) 1992 */
- DRIVER( lethaleneab ) /* GX191 (c) 1992 */
- DRIVER( lethaleneae ) /* GX191 (c) 1992 */
- DRIVER( lethalenj ) /* GX191 (c) 1992 */
- DRIVER( tgtpanic ) /* GX601 (c) 1996 */
-
- /* Konami "Nemesis hardware" games */
- DRIVER( nemesis ) /* GX456 (c) 1985 */
- DRIVER( nemesisuk ) /* GX456 (c) 1985 */
- DRIVER( konamigt ) /* GX561 (c) 1985 */
- DRIVER( salamand ) /* GX587 (c) 1986 */
- DRIVER( salamandj ) /* GX587 (c) 1986 */
- DRIVER( lifefrce ) /* GX587 (c) 1986 (US) */
- DRIVER( lifefrcej ) /* GX587 (c) 1986 (Japan) */
- DRIVER( blkpnthr ) /* GX604 (c) 1987 (Japan) */
- DRIVER( citybomb ) /* GX787 (c) 1987 (World) */
- DRIVER( citybombj ) /* GX787 (c) 1987 (Japan) */
- DRIVER( kittenk ) /* GX712 (c) 1988 */
- DRIVER( nyanpani ) /* GX712 (c) 1988 (Japan) */
- DRIVER( hcrash ) /* GX790 (c) 1987 */
- DRIVER( hcrashc ) /* GX790 (c) 1987 */
-
- /* GX400 BIOS based games */
- DRIVER( rf2 ) /* GX561 (c) 1985 */
- DRIVER( twinbee ) /* GX412 (c) 1985 */
- DRIVER( gradius ) /* GX456 (c) 1985 */
- DRIVER( gwarrior ) /* GX578 (c) 1985 */
-
- /* Konami "Twin 16" games */
- DRIVER( devilw ) /* GX687 (c) 1987 */
- DRIVER( darkadv ) /* GX687 (c) 1987 */
- DRIVER( majuu ) /* GX687 (c) 1987 (Japan) */
- DRIVER( vulcan ) /* GX785 (c) 1988 */
- DRIVER( vulcana ) /* GX785 (c) 1988 */
- DRIVER( vulcanb ) /* GX785 (c) 1988 */
- DRIVER( gradius2 ) /* GX785 (c) 1988 (Japan) */
- DRIVER( gradius2a ) /* GX785 (c) 1988 (Japan) */
- DRIVER( gradius2b ) /* GX785 (c) 1988 (Japan) */
- DRIVER( cuebrickj ) /* GX903 (c) 1989 (Japan) */
- DRIVER( fround ) /* GX870 (c) 1988 */
- DRIVER( froundl ) /* GX870 (c) 1988 */
- DRIVER( hpuncher ) /* GX870 (c) 1988 (Japan) */
- DRIVER( miaj ) /* GX808 (c) 1989 (Japan) */
-
- /* (some) Konami 68000 games */
- DRIVER( cuebrick ) /* GX903 (c) 1989 */
- DRIVER( mia ) /* GX808 (c) 1989 */
- DRIVER( mia2 ) /* GX808 (c) 1989 */
- DRIVER( tmnt ) /* GX963 (c) 1989 (World) */
- DRIVER( tmntu ) /* GX963 (c) 1989 (US) */
- DRIVER( tmntua ) /* GX963 (c) 1989 (US) */
- DRIVER( tmht ) /* GX963 (c) 1989 (UK) */
- DRIVER( tmhta ) /* GX963 (c) 1989 (UK) */
- DRIVER( tmntj ) /* GX963 (c) 1990 (Japan) */
- DRIVER( tmht2p ) /* GX963 (c) 1989 (UK) */
- DRIVER( tmht2pa ) /* GX963 (c) 1989 (UK) */
- DRIVER( tmnt2pj ) /* GX963 (c) 1990 (Japan) */
- DRIVER( tmnt2po ) /* GX963 (c) 1989 (Oceania) */
- DRIVER( punkshot ) /* GX907 (c) 1990 (US) */
- DRIVER( punkshot2 ) /* GX907 (c) 1990 (US) */
- DRIVER( punkshotj ) /* GX907 (c) 1990 (Japan) */
- DRIVER( lgtnfght ) /* GX939 (c) 1990 (World) */
- DRIVER( lgtnfghta ) /* GX939 (c) 1990 (Asia) */
- DRIVER( lgtnfghtu ) /* GX939 (c) 1990 (US) */
- DRIVER( trigon ) /* GX939 (c) 1990 (Japan) */
- DRIVER( blswhstl ) /* GX060 (c) 1991 */
- DRIVER( detatwin ) /* GX060 (c) 1991 (Japan) */
- DRIVER( glfgreat ) /* GX061 (c) 1991 */
- DRIVER( glfgreatj ) /* GX061 (c) 1991 (Japan) */
- DRIVER( tmnt2 ) /* GX063 (c) 1991 (US) */
- DRIVER( tmnt2a ) /* GX063 (c) 1991 (Asia) */
- DRIVER( tmht22pe ) /* GX063 (c) 1991 (UK) */
- DRIVER( tmnt22pu ) /* GX063 (c) 1991 (US) */
- DRIVER( ssriders ) /* GX064 (c) 1991 (World) */
- DRIVER( ssridersebd ) /* GX064 (c) 1991 (World) */
- DRIVER( ssridersebc ) /* GX064 (c) 1991 (World) */
- DRIVER( ssridersuda ) /* GX064 (c) 1991 (US) */
- DRIVER( ssriderseaa ) /* GX064 (c) 1991 (US) */
- DRIVER( ssridersuac ) /* GX064 (c) 1991 (US) */
- DRIVER( ssridersubc ) /* GX064 (c) 1991 (US) */
- DRIVER( ssridersabd ) /* GX064 (c) 1991 (Asia) */
- DRIVER( ssridersadd ) /* GX064 (c) 1991 (Asia) */
- DRIVER( ssridersjbd ) /* GX064 (c) 1991 (Japan) */
- DRIVER( ssridersb ) /* bootleg */
- DRIVER( ssriders2 ) /* bootleg */
- DRIVER( xmen ) /* GX065 (c) 1992 (US) */
- DRIVER( xmenj ) /* GX065 (c) 1992 (Japan) */
- DRIVER( xmene ) /* GX065 (c) 1992 (Europe) */
- DRIVER( xmen2pe ) /* GX065 (c) 1992 (World) */
- DRIVER( xmen2pa ) /* GX065 (c) 1992 (Asia) */
- DRIVER( xmen2pj ) /* GX065 (c) 1992 (Japan) */
- DRIVER( xmen6p ) /* GX065 (c) 1992 */
- DRIVER( xmen6pu ) /* GX065 (c) 1992 */
- DRIVER( xexex ) /* GX067 (c) 1991 (World) */
- DRIVER( xexexa ) /* GX067 (c) 1991 (AAA) */
- DRIVER( xexexj ) /* GX067 (c) 1991 (Japan) */
- DRIVER( asterix ) /* GX068 (c) 1992 (World) */
- DRIVER( asterixeac ) /* GX068 (c) 1992 (World) */
- DRIVER( asterixeaa ) /* GX068 (c) 1992 (World) */
- DRIVER( asterixaad ) /* GX068 (c) 1992 (Asia) */
- DRIVER( asterixj ) /* GX068 (c) 1992 (Japan) */
- DRIVER( gijoe ) /* GX069 (c) 1991 (World) */
- DRIVER( gijoea ) /* GX069 (c) 1991 (World) */
- DRIVER( gijoeu ) /* GX069 (c) 1991 (US) */
- DRIVER( gijoej ) /* GX069 (c) 1991 (Japan) */
- DRIVER( thndrx2 ) /* GX073 (c) 1991 (World) */
- DRIVER( thndrx2a ) /* GX073 (c) 1991 (Asia) */
- DRIVER( thndrx2j ) /* GX073 (c) 1991 (Japan) */
- DRIVER( prmrsocr ) /* GX101 (c) 1993 (Europe) */
- DRIVER( prmrsocrj ) /* GX101 (c) 1993 (Japan) */
- DRIVER( qgakumon ) /* GX248 (c) 1993 (Japan) */
- DRIVER( moomesa ) /* GX151 (c) 1992 (World) */
- DRIVER( moomesau ) /* GX151 (c) 1992 (US) */
- DRIVER( moomesaua ) /* GX151 (c) 1992 (US) */
- DRIVER( moomesaa ) /* GX151 (c) 1992 (Asia) */
- DRIVER( moomesabl ) /* bootleg */
- DRIVER( bucky ) /* GX173 (c) 1992 (World) */
- DRIVER( buckyua ) /* GX173 (c) 1992 (US) */
- DRIVER( buckyaa ) /* GX173 (c) 1992 (Asia) */
- DRIVER( gaiapols ) /* GX123 (c) 1993 (Europe) */
- DRIVER( gaiapolsu ) /* GX123 (c) 1993 (US) */
- DRIVER( gaiapolsj ) /* GX123 (c) 1993 (Japan) */
- DRIVER( mystwarr ) /* GX128 (c) 1993 (World) */
- DRIVER( mystwarru ) /* GX128 (c) 1993 (US) */
- DRIVER( mystwarrj ) /* GX128 (c) 1993 (Japan) */
- DRIVER( mystwarra ) /* GX128 (c) 1993 (Asia) */
- DRIVER( viostorm ) /* GX168 (c) 1993 (Europe) */
- DRIVER( viostormu ) /* GX168 (c) 1993 (US) */
- DRIVER( viostormub ) /* GX168 (c) 1993 (US) */
- DRIVER( viostormj ) /* GX168 (c) 1993 (Japan) */
- DRIVER( viostorma ) /* GX168 (c) 1993 (Asia) */
- DRIVER( viostormab )/* GX168 (c) 1993 (Asia) */
- DRIVER( mmaulers ) /* GX170 (c) 1993 (Europe) */
- DRIVER( dadandrn ) /* GX170 (c) 1993 (Japan) */
- DRIVER( metamrph ) /* GX224 (c) 1993 (Europe) */
- DRIVER( metamrphu ) /* GX224 (c) 1993 (US) */
- DRIVER( metamrphj ) /* GX224 (c) 1993 (Japan) */
- DRIVER( mtlchamp ) /* GX234 (c) 1993 (World) */
- DRIVER( mtlchamp1 ) /* GX234 (c) 1993 (World) */
- DRIVER( mtlchampu ) /* GX234 (c) 1993 (US) */
- DRIVER( mtlchampj ) /* GX234 (c) 1993 (Japan) */
- DRIVER( mtlchampa ) /* GX234 (c) 1993 (Japan) */
- DRIVER( rungun ) /* GX247 (c) 1993 (World) */
- DRIVER( runguna ) /* GX247 (c) 1993 (World) */
- DRIVER( rungunu ) /* GX247 (c) 1993 (US) */
- DRIVER( rungunua ) /* GX247 (c) 1993 (US) */
- DRIVER( slmdunkj ) /* GX247 (c) 1993 (Japan) */
- DRIVER( dbz ) /* (c) 1993 Banpresto */
- DRIVER( dbz2 ) /* (c) 1994 Banpresto */
- DRIVER( bishi ) /* GX575 (c) 1996 (Japan) */
- DRIVER( sbishi ) /* GX675 (c) 1998 (Japan) */
- DRIVER( sbishik ) /* GX675 (c) 1998 (Korea) */
-
- /* Konami dual 68000 games */
- DRIVER( overdriv ) /* GX789 (c) 1990 */
- DRIVER( gradius3 ) /* GX945 (c) 1989 (Japan) */
- DRIVER( gradius3a ) /* GX945 (c) 1989 (Asia) */
- DRIVER( gradius3e ) /* GX945 (c) 1989 (World?) */
-
- /* Konami 68020 games */
- DRIVER( plygonet ) /* GX305 (c) 1993 */
- DRIVER( polynetw ) /* GX305 too? (c) 1993 */
-
- /* Konami System GX games */
- DRIVER( konamigx )
-
- /* GX Type 1 */
- DRIVER( racinfrc ) /* 1994.?? GX250 (Europe) */
- DRIVER( racinfrcu ) /* 1994.03 GX250 (US) */
- /* 1994.02 (Japan) */
- DRIVER( opengolf ) /* 1994.?? GX218 (Europe) */
- DRIVER( opengolf2 ) /* 1994.?? GX218 (Europe) */
- DRIVER( ggreats2 ) /* 1994.03 GX218 (Japan) */
- /* 1995.03 GX218 (US) */
-
- /* GX Type 2 */
- DRIVER( le2 ) /* 1994.?? GX312 (Europe) */
- DRIVER( le2u ) /* 1994.04 GX312 (US) */
- DRIVER( le2j ) /* 1994.06 GX312 (Japan) */
- DRIVER( puzldama ) /* 1994.07 GX315 (Japan) */
- DRIVER( gokuparo ) /* 1994.04 GX321 (Japan) */
- DRIVER( fantjour ) /* 1994.?? GX321 (Euro) */
- DRIVER( fantjoura ) /* 1994.?? GX321 (Asia) */
- DRIVER( dragoona ) /* 1995.?? GX417 (Asia) */
- DRIVER( dragoonj ) /* 1995.08 GX417 (Japan) */
- DRIVER( tbyahhoo ) /* 1995.04 GX424 (Japan) */
- DRIVER( tkmmpzdm ) /* 1995.12 GX515 (Japan) */
- DRIVER( salmndr2 ) /* 1996.01 GX521 (Japan) */
- DRIVER( salmndr2a ) /* 1996.?? GX521 (Asia) */
- DRIVER( sexyparo ) /* 1996.02 GX533 (Japan) */
- DRIVER( sexyparoa ) /* 1996.02 GX533 (Asia) */
- DRIVER( daiskiss ) /* 1996.03 GX535 (Japan) */
- DRIVER( tokkae ) /* 1996.10 GX615 (Japan) */
- DRIVER( winspike ) /* 1997.?? GX705 (Europe) */
- DRIVER( winspikej ) /* 1997.07 GX705 (Japan) */
-
- /* GX Type 3 */
- DRIVER( soccerss ) /* 1994.?? GX427 (Europe) */
- DRIVER( soccerssj ) /* 1994.12 GX427 (Japan) */
- DRIVER( soccerssja )/* 1994.12 GX427 (Japan) */
- DRIVER( soccerssa ) /* 1994.?? GX427 (Asia) */
- /* 1995.04 GX427 (US) */
-
- /* GX Type 4 */
- DRIVER( vsnetscr ) /* 1996.?? GX627 (Europe) */
- DRIVER( vsnetscreb )/* 1996.?? GX627 (Europe) */
- DRIVER( vsnetscru ) /* 1996.?? GX627 (US) */
- DRIVER( vsnetscra ) /* 1996.?? GX627 (Asia) */
- DRIVER( vsnetscrj ) /* 1996.12 GX627 (Japan) */
- DRIVER( rungun2 ) /* 1996.03 GX505 (US) */
- DRIVER( slamdnk2 ) /* 1996.03 GX505 (Japan) */
- DRIVER( rushhero ) /* 1997.10 GX605 (US) */
-
- /* 68k + HD */
- DRIVER( qdrmfgp ) /* 1994.12 GQ460 (Japan) */
- DRIVER( qdrmfgp2 ) /* 1995.09 GE557 (Japan) */
-
- /* 68000-based gambling games */
- DRIVER( kingtut )
- DRIVER( moneybnk )
-
- /* DJ Main */
- DRIVER( bm1stmix ) /* GQ753 (c) 1997 (Japan) */
- DRIVER( bm2ndmix ) /* GX853 (c) 1998 (Japan) */
- DRIVER( bm2ndmxa ) /* GX853 (c) 1998 (Japan) */
- DRIVER( bm3rdmix ) /* GX853 (c) 1998 (Japan) */
- //DRIVER( bm3rdmxb ) /* GX853 (c) 1998 (Japan) */
- DRIVER( bmcompmx ) /* GX858 (c) 1999 (Japan) */
- DRIVER( hmcompmx ) /* GX858 (c) 1999 */
- DRIVER( bm4thmix ) /* GX847 (c) 1999 (Japan) */
- DRIVER( bm5thmix ) /* GX981 (c) 1999 (Japan) */
- DRIVER( bmclubmx ) /* GX993 (c) 2000 (Japan) */
- DRIVER( bmcorerm ) /* GXA05 (c) 1999 (Japan) */
- DRIVER( bmdct ) /* GX995 (c) 2000 (Japan) */
- DRIVER( bmcompm2 ) /* GX988 (c) 2000 (Japan) */
- DRIVER( hmcompm2 ) /* GX988 (c) 2000 */
- DRIVER( bm6thmix ) /* GXA21 (c) 2001 (Japan) */
- DRIVER( bm7thmix ) /* GXB07 (c) 2001 (Japan) */
- DRIVER( bmfinal ) /* GXC01 (c) 2002 (Japan) */
-
- //DRIVER( popn1 ) /* GX803 (c) 1998 (Japan) */
- DRIVER( popn2 ) /* GX831 (c) 1998 (Japan) */
- //DRIVER( popn3 ) /* GX980 (c) 1999 (Japan) */
- //DRIVER( popnstex ) /* GX970 (c) 1999 (Japan) */
-
- /* Firebeat games */
- DRIVER( ppp ) /* GQ977 (c) 2000 */
- DRIVER( ppd ) /* GQ977 (c) 2000 (Korea) */
- DRIVER( ppp11 ) /* GQ977 (c) 2000 */
- DRIVER( kbm ) /* GQ974 (c) 2000 */
- DRIVER( kbm2nd ) /* GCA01 (c) 2000 */
- DRIVER( kbm3rd ) /* GCA12 (c) 2001 */
- DRIVER( popn5 ) /* GCA04 (c) 2000 */
- DRIVER( popn7 ) /* not sure, doesn't boot yet (c) 2001 */
-
- /* PowerPC based Konami games */
- DRIVER( fiveside ) /* GX479 (c)1995 */
- DRIVER( thunderh ) /* GX680 (c)1996 Euro EAA */
- DRIVER( thunderhu ) /* GX680 (c)1996 USA UAA */
- DRIVER( slrasslt ) /* GX792 (c)1996 */
- DRIVER( gticlub ) /* GX688 (c)1996 Euro EAA */
- DRIVER( gticluba ) /* GX688 (c)1996 Asia AAA */
- DRIVER( gticlubj ) /* GX688 (c)1996 Japan JAA */
- DRIVER( hangplt ) /* GX685 (c)1997 */
- DRIVER( nbapbp ) /* GX778 (c)1998 */
- DRIVER( terabrst ) /* GX715 (c)1998 USA UEL 1998/07/17*/
- DRIVER( terabrsta ) /* GX715 (c)1998 Asia AAA 1998/02/25 */
- DRIVER( gradius4 ) /* GX837 (c)1999 */
- DRIVER( sscope ) /* GX830 (c)1999 */
- DRIVER( sscopea ) /* GX830 (c)1999 */
- DRIVER( sscopeb ) /* GX830 (c)1999 */
- DRIVER( sscopec ) /* GX830 (c)1999 */
- DRIVER( sscope2 ) /* GX931 (c)2000 */
- DRIVER( racingj ) /* GX676 (c)1998 */
- DRIVER( racingj2 ) /* GX888 (c)1999 (EAE) */
- DRIVER( racingj2j ) /* GX888 (c)1999 (JAE) */
- DRIVER( thrilld ) /* GX713 (c)1998 Japan JAE */
- DRIVER( thrilldb ) /* GX713 (c)1998 Japan JAB */
- DRIVER( thrilldae ) /* GX713 (c)1998 Europe EAA */
- DRIVER( midnrun ) /* GX476 (c)1995 */
- DRIVER( windheat ) /* GX677 (c)1996 */
- DRIVER( windheatu ) /* GX677 (c)1996 */
- DRIVER( windheatj ) /* GX677 (c)1996 */
- DRIVER( waveshrk ) /* GX678 (c)1996 */
-
- /* Konami M2 games */
- DRIVER( polystar ) /* GX623 (c)1997 */
- DRIVER( totlvice ) /* GX639 (c)1997 */
- DRIVER( totlvicj ) /* GX639 (c)1997 */
- DRIVER( btltryst ) /* GX636 (c)1998 */
- DRIVER( heatof11 ) /* GX703 (c)1998 */
- DRIVER( evilngt ) /* GX810 (c)1998 */
- DRIVER( evilngte ) /* GX810 (c)1998 */
- DRIVER( hellngt ) /* GX810 (c)1998 */
-
- /* Exidy games */
- DRIVER( carpolo ) /* (c) 1977 */
- DRIVER( sidetrac ) /* (c) 1979 */
- DRIVER( targ ) /* (c) 1980 */
- DRIVER( targc ) /* (c) 1980 */
- DRIVER( spectar ) /* (c) 1980 */
- DRIVER( spectar1 ) /* (c) 1980 */
- DRIVER( rallys ) /* (c) 1980 Novar (bootleg) */
- DRIVER( panzer ) /* (c) 1980 Proel (bootleg) */
- DRIVER( phantoma ) /* (c) 1980 Jeutel (bootleg) */
- DRIVER( phantom ) /* (c) 1980 Proel (bootleg) */
- DRIVER( venture ) /* (c) 1981 */
- DRIVER( venture2 ) /* (c) 1981 */
- DRIVER( venture4 ) /* (c) 1981 */
- DRIVER( teetert ) /* (c) 1981 */
- DRIVER( mtrap ) /* (c) 1981 */
- DRIVER( mtrap3 ) /* (c) 1981 */
- DRIVER( mtrap4 ) /* (c) 1981 */
- DRIVER( pepper2 ) /* (c) 1982 */
- DRIVER( hardhat ) /* (c) 1982 */
- DRIVER( fax ) /* (c) 1983 */
- DRIVER( fax2 ) /* (c) 1983 */
- DRIVER( circus ) /* no copyright notice [1977?] */
- DRIVER( circusse ) /* bootleg */
- DRIVER( robotbwl ) /* no copyright notice */
- DRIVER( crash ) /* Exidy [1979?] */
- DRIVER( smash ) /* bootleg */
- DRIVER( ripcord ) /* Exidy [1977?] */
- DRIVER( starfire ) /* Exidy [1979?] */
- DRIVER( starfirea ) /* Exidy [1979?] */
- DRIVER( fireone ) /* (c) 1979 Exidy */
- DRIVER( starfir2 ) /* (c) 1979 Exidy */
- DRIVER( victory ) /* (c) 1982 */
- DRIVER( victorba ) /* (c) 1982 */
- DRIVER( topgunnr ) /* (c) 1986 */
-
- /* Exidy 440 games */
- DRIVER( crossbow ) /* (c) 1983 */
- DRIVER( cheyenne ) /* (c) 1984 */
- DRIVER( combat ) /* (c) 1985 */
- DRIVER( catch22 ) /* (c) 1985 */
- DRIVER( cracksht ) /* (c) 1985 */
- DRIVER( claypign ) /* (c) 1986 */
- DRIVER( chiller ) /* (c) 1986 */
- DRIVER( topsecex ) /* (c) 1986 */
- DRIVER( hitnmiss ) /* (c) 1987 */
- DRIVER( hitnmiss2 ) /* (c) 1987 */
- DRIVER( whodunit ) /* (c) 1988 */
- DRIVER( showdown ) /* (c) 1988 */
- DRIVER( yukon ) /* (c) 1989 */
- DRIVER( yukon1 ) /* (c) 1989 */
-
- /* Exidy Max-A-Flex */
- DRIVER( maxaflex )
- DRIVER( mf_achas ) /* (c) 1982 Exidy / First Star Software */
- DRIVER( mf_brist ) /* (c) 1983 Exidy / First Star Software */
- DRIVER( mf_flip ) /* (c) 1983 Exidy / First Star Software */
- DRIVER( mf_bdash ) /* (c) 1984 Exidy / First Star Software */
-
- /* Atari b/w games */
- DRIVER( tank8 ) /* ?????? 1976/04 [6800] */
- DRIVER( tank8a ) /* ?????? 1976/04 [6800] */
- DRIVER( tank8b ) /* ?????? 1976/04 [6800] */
- DRIVER( tank8c ) /* ?????? 1976/04 [6800] */
- DRIVER( tank8d ) /* ?????? 1976/04 [6800] */
- DRIVER( cball ) /* ?????? prototype 1976/?? [6800] */
- DRIVER( copsnrob ) /* 005625 1976/07 [6502] */
- DRIVER( flyball ) /* 005629 1976/07 [6502] */
- DRIVER( sprint2 ) /* 005922 1976/11 [6502] */
- DRIVER( sprint2a ) /* 005922 1976/11 [6502] */
- DRIVER( sprint4 ) /* 008716 1977/12 [6502] */
- DRIVER( sprint4a ) /* 008716 1977/12 [6502] */
- DRIVER( nitedrvr ) /* 006321 1976/10 [6502] */
- DRIVER( dominos ) /* 007305 1977/01 [6502] */
- DRIVER( triplhnt ) /* 008422-008791 1977/04 [6800] */
- DRIVER( sprint8 ) /* ?????? 1977/05 [6800] */
- DRIVER( sprint8a ) /* ?????? 1977/05 [6800] */
- DRIVER( dragrace ) /* 008505-008521 1977/06 [6800] */
- DRIVER( poolshrk ) /* 006281 1977/06 [6800] */
- DRIVER( starshp1 ) /* 007513-007531 1977/07 [6502] */
- DRIVER( starshpp ) /* 007513-007531 1977/07 [6502] */
- DRIVER( superbug ) /* 009115-009467 1977/09 [6800] */
- DRIVER( canyon ) /* 009493-009504 1977/10 [6502] */
- DRIVER( canyonp ) /* 009493-009504 1977/10 [6502] */
- DRIVER( destroyr ) /* 030131-030136 1977/10 [6800] */
- DRIVER( destroyr1 ) /* 030131-030136 1977/10 [6800] */
- DRIVER( catchp ) /* 008837 prototype 1977/?? [6502] */
- DRIVER( sprint1 ) /* 006443 1978/01 [6502] */
- DRIVER( ultratnk ) /* 009801 1978/02 [6502] */
- DRIVER( skyraid ) /* 009709 1978/03 [6502] */
- DRIVER( tourtabl ) /* 030170 1978/03 [6507] */
- DRIVER( tourtab2 ) /* 030170 1978/03 [6507] */
- DRIVER( avalnche ) /* 030574 1978/04 [6502] */
- DRIVER( cascade ) /* bootleg */
- DRIVER( firetrk ) /* 030926 1978/06 [6808] */
- DRIVER( skydiver ) /* 009787 1978/06 [6800] */
- /* Smokey Joe */ /* 030926 1978/07 [6502] */
- DRIVER( sbrkout3 ) /* 033442-033452 1978/09 [6502] */
- DRIVER( sbrkout ) /* 033453-033455 1978/09 [6502] */
- DRIVER( atarifb ) /* 033xxx 1978/10 [6502] */
- DRIVER( atarifb1 ) /* 033xxx 1978/10 [6502] */
- DRIVER( orbit ) /* 033689-033702 1978/11 [6800] */
- DRIVER( boxer ) /* ?????? prototype 1978 [6502] */
- DRIVER( wolfpack ) /* ?????? prototype [6502] */
- DRIVER( mgolf ) /* ?????? prototype 1978 [6502] */
- DRIVER( videopin ) /* 034253-034267 1979/02 [6502] */
- DRIVER( atarifb4 ) /* 034754 1979/04 [6502] */
- DRIVER( subs ) /* 033714 1979/05 [6502] */
- DRIVER( bsktball ) /* 034756-034766 1979/05 [6502] */
- DRIVER( abaseb ) /* 034711-034738 1979/06 [6502] */
- DRIVER( abaseb2 ) /* 034711-034738 1979/06 [6502] */
- DRIVER( montecar ) /* 035763-035780 1980/04 [6502] */
- DRIVER( soccer ) /* 035222-035260 1980/04 [6502] */
-
- /* Atari "Missile Command hardware" games */
- DRIVER( missile ) /* 035820-035825 (c) 1980 */
- DRIVER( missile2 ) /* 035820-035825 (c) 1980 */
- DRIVER( suprmatk ) /* (c) 1980 + (c) 1981 Gencomp */
- DRIVER( suprmatkd ) /* (c) 1980 + (c) 1981 Gencomp */
- DRIVER( mcombat )
- DRIVER( mcombata )
-
- /* Atari vector games */
- DRIVER( llander ) /* 0345xx no copyright notice */
- DRIVER( llander1 ) /* 0345xx no copyright notice */
- DRIVER( asteroid ) /* 035127-035145 (c) 1979 */
- DRIVER( asteroid2 ) /* 035127-035145 (c) 1979 */
- DRIVER( asteroid1 ) /* 035127-035145 no copyright notice */
- DRIVER( asteroidb ) /* (bootleg) */
- DRIVER( asterock ) /* Sidam bootleg (c) 1979 */
- DRIVER( meteorts ) /* VCC bootleg (c) 1979 */
- DRIVER( meteorho ) /* Hoei? bootleg (c) 1980 */
- DRIVER( astdelux ) /* 0351xx (c) 1980 */
- DRIVER( astdelux2 ) /* 0351xx (c) 1980 */
- DRIVER( astdelux1 ) /* 0351xx (c) 1980 */
- DRIVER( bzone ) /* 0364xx (c) 1980 */
- DRIVER( bzone2 ) /* 0364xx (c) 1980 */
- DRIVER( bzonec ) /* 0364xx (c) 1980 */
- DRIVER( bradley ) /* ?? (c) 1980 */
- DRIVER( redbaron ) /* 036995-037007 (c) 1980 */
- DRIVER( tempest ) /* 136002 (c) 1980 */
- DRIVER( tempest1 ) /* 136002 (c) 1980 */
- DRIVER( tempest2 ) /* 136002 (c) 1980 */
- DRIVER( tempest3 ) /* 136002 (c) 1980 */
- DRIVER( temptube ) /* (hack) */
- DRIVER( spacduel ) /* 136006 (c) 1980 */
- DRIVER( gravitar ) /* 136010 (c) 1982 */
- DRIVER( gravitar2 ) /* 136010 (c) 1982 */
- DRIVER( gravp ) /* (proto) (c) 1982 */
- DRIVER( lunarbat ) /* (proto) (c) 1982 */
- DRIVER( lunarba1 ) /* (proto) (c) 1982 */
- DRIVER( quantum ) /* 136016 (c) 1982 */ /* made by Gencomp */
- DRIVER( quantum1 ) /* 136016 (c) 1982 */ /* made by Gencomp */
- DRIVER( quantump ) /* 136016 (c) 1982 */ /* made by Gencomp */
- DRIVER( bwidow ) /* 136017 (c) 1982 */
- DRIVER( starwars ) /* 136021 (c) 1983 */
- DRIVER( starwars1 ) /* 136021 (c) 1983 */
- DRIVER( tomcatsw ) /* (proto) (c) 1983 */
- DRIVER( mhavoc ) /* 136025 (c) 1983 */
- DRIVER( mhavoc2 ) /* 136025 (c) 1983 */
- DRIVER( mhavocp ) /* 136025 (c) 1983 */
- DRIVER( mhavocrv ) /* (hack) */
- DRIVER( alphaone ) /* (proto) (c) 1983 */
- DRIVER( alphaonea ) /* (proto) (c) 1983 */
- DRIVER( esb ) /* 136031 (c) 1985 */
- DRIVER( tomcat ) /* (proto) (c) 1985 */
-
- /* Atari "Centipede hardware" games */
- DRIVER( warlords ) /* 037153-037159 (c) 1980 */
- DRIVER( centiped ) /* 136001 (c) 1980 */
- DRIVER( centiped2 ) /* 136001 (c) 1980 */
- DRIVER( centtime ) /* 136001 (c) 1980 */
- DRIVER( centipdb ) /* (bootleg) */
- DRIVER( centipdd ) /* hack by Two Bit Score */
- DRIVER( caterplr ) /* (bootleg) */
- DRIVER( millpac ) /* Valadon */
- DRIVER( magworm ) /* (bootleg) */
- DRIVER( mazeinv ) /* (proto) (c) 1982 */
- DRIVER( milliped ) /* 136013 (c) 1982 */
- DRIVER( millipdd ) /* hack by Two Bit Score */
- DRIVER( qwak ) /* (proto) (c) 1982 */
- DRIVER( runaway ) /* (proto) (c) 1982 */
- DRIVER( bullsdrt ) /* (c) 1985 Shinkai */
- DRIVER( cmmb162 )
-
- /* misc Atari games */
- DRIVER( tunhunt ) /* 136000 (c) 1979 */
- DRIVER( tunhuntc ) /* 136000 (c) 1981 */ /* licensed to / distributed by Centuri */
- DRIVER( liberatr ) /* 136012 (c) 1982 */
- DRIVER( liberatr2 ) /* 136012 (c) 1982 */
- DRIVER( foodf ) /* 136020 (c) 1982 */ /* made by Gencomp */
- DRIVER( foodf2 ) /* 136020 (c) 1982 */ /* made by Gencomp */
- DRIVER( foodfc ) /* 136020 (c) 1982 */ /* made by Gencomp */
- DRIVER( ccastles ) /* 136022 (c) 1983 */
- DRIVER( ccastlesg ) /* 136022 (c) 1983 */
- DRIVER( ccastlesp ) /* 136022 (c) 1983 */
- DRIVER( ccastlesf ) /* 136022 (c) 1983 */
- DRIVER( ccastles3 ) /* 136022 (c) 1983 */
- DRIVER( ccastles2 ) /* 136022 (c) 1983 */
- DRIVER( ccastles1 ) /* 136022 (c) 1983 */
- DRIVER( ccastlesj ) /* 136022 (c) 1983 */
- DRIVER( cloak ) /* 136023 (c) 1983 */
- DRIVER( cloaksp ) /* 136023 (c) 1983 */
- DRIVER( cloakfr ) /* 136023 (c) 1983 */
- DRIVER( cloakgr ) /* 136023 (c) 1983 */
- DRIVER( agentx4 ) /* 136023 (c) 1983 */
- DRIVER( agentx3 ) /* 136023 (c) 1983 */
- DRIVER( agentx2 ) /* 136023 (c) 1983 */
- DRIVER( agentx1 ) /* 136023 (c) 1983 */
- DRIVER( cloud9 ) /* (proto) (c) 1983 */
- DRIVER( firebeas ) /* (proto) (c) 1983 */
- DRIVER( barbball ) /* (proto) (c) 1983 */
- DRIVER( firefox ) /* 136026 (c) 1984 */
- DRIVER( firefoxa ) /* 136026 (c) 1984 */
- DRIVER( jedi ) /* 136030 (c) 1984 */
-
- /* Atari System 1 games */
- DRIVER( atarisy1 ) /* 136033 (c) 1984 */
- DRIVER( peterpak ) /* 136028 (c) 1984 */
- /* Marble Madness */
- DRIVER( marble ) /* 136033 (c) 1984 */
- DRIVER( marble2 ) /* 136033 (c) 1984 */
- DRIVER( marble3 ) /* 136033 (c) 1984 */
- DRIVER( marble4 ) /* 136033 (c) 1984 */
- DRIVER( marble5 ) /* 136033 (c) 1984 (LSI Cartridge) */
- /* Indiana Jones and the Temple of Doom */
- DRIVER( indytemp ) /* 136036 (c) 1985 */
- DRIVER( indytemp2 ) /* 136036 (c) 1985 */
- DRIVER( indytemp3 ) /* 136036 (c) 1985 */
- DRIVER( indytemp4 ) /* 136036 (c) 1985 */
- DRIVER( indytempd ) /* 136036 (c) 1985 */
- DRIVER( indytempc ) /* 136036 (c) 1985 */
- /* Road Runner */
- DRIVER( roadrunn ) /* 136040 (c) 1985 */
- DRIVER( roadrunn2 ) /* 136040 (c) 1985 */
- DRIVER( roadrunn1 ) /* 136040 (c) 1985 */
- /* Road Blasters */
- DRIVER( roadblst ) /* 136048 (c) 1986, 1987 */
- DRIVER( roadblstg ) /* 136048 (c) 1986, 1987 */
- DRIVER( roadblst3 ) /* 136048 (c) 1986, 1987 */
- DRIVER( roadblstg2 )/* 136048 (c) 1986, 1987 */
- DRIVER( roadblst2 ) /* 136048 (c) 1986, 1987 */
- DRIVER( roadblstg1 )/* 136048 (c) 1986, 1987 */
- DRIVER( roadblst1 ) /* 136048 (c) 1986, 1987 */
- DRIVER( roadblstc ) /* 136048 (c) 1986, 1987 */
- DRIVER( roadblstcg )/* 136048 (c) 1986, 1987 */
- DRIVER( roadblstc1 )/* 136048 (c) 1986, 1987 */
-
- /* Atari System 2 games */
- /* Paperboy */
- DRIVER( paperboy ) /* 136034 (c) 1984 */
- DRIVER( paperboyr2 )/* 136034 (c) 1984 */
- DRIVER( paperboyr1 )/* 136034 (c) 1984 */
- /* Super Sprint */
- DRIVER( ssprint ) /* 136042 (c) 1986 */
- DRIVER( ssprint3 ) /* 136042 (c) 1986 */
- DRIVER( ssprint1 ) /* 136042 (c) 1986 */
- DRIVER( ssprintg ) /* 136042 (c) 1986 */
- DRIVER( ssprintg1 ) /* 136042 (c) 1986 */
- DRIVER( ssprintf ) /* 136042 (c) 1986 */
- DRIVER( ssprints ) /* 136042 (c) 1986 */
- /* Championship Sprint */
- DRIVER( csprint ) /* 136045 (c) 1986 */
- DRIVER( csprint2 ) /* 136045 (c) 1986 */
- DRIVER( csprint1 ) /* 136045 (c) 1986 */
- DRIVER( csprintg ) /* 136045 (c) 1986 */
- DRIVER( csprintg1 ) /* 136045 (c) 1986 */
- DRIVER( csprintf ) /* 136045 (c) 1986 */
- DRIVER( csprints ) /* 136045 (c) 1986 */
- DRIVER( csprints1 ) /* 136045 (c) 1986 */
- /* 720 Degrees */
- DRIVER( 720 ) /* 136047 (c) 1986 */
- DRIVER( 720r3 ) /* 136047 (c) 1986 */
- DRIVER( 720r2 ) /* 136047 (c) 1986 */
- DRIVER( 720r1 ) /* 136047 (c) 1986 */
- DRIVER( 720g ) /* 136047 (c) 1986 */
- DRIVER( 720gr1 ) /* 136047 (c) 1986 */
- /* APB. */
- DRIVER( apb ) /* 136051 (c) 1987 */
- DRIVER( apb6 ) /* 136051 (c) 1987 */
- DRIVER( apb5 ) /* 136051 (c) 1987 */
- DRIVER( apb4 ) /* 136051 (c) 1987 */
- DRIVER( apb3 ) /* 136051 (c) 1987 */
- DRIVER( apb2 ) /* 136051 (c) 1987 */
- DRIVER( apb1 ) /* 136051 (c) 1987 */
- DRIVER( apbg ) /* 136051 (c) 1987 */
- DRIVER( apbf ) /* 136051 (c) 1987 */
-
- /* Atari polygon games */
- DRIVER( irobot ) /* 136029 (c) 1983 */
- /* Atari System IV */
- DRIVER( laststar ) /* (proto) (c) 1984 */
- DRIVER( airrace ) /* (proto) (c) 1985 */
- /* Hard Drivin' */
- DRIVER( harddriv ) /* 136052 (c) 1988 */
- DRIVER( harddrivb ) /* 136052 (c) 1988 */
- DRIVER( harddrivg ) /* 136052 (c) 1988 */
- DRIVER( harddrivj ) /* 136052 (c) 1988 */
- DRIVER( harddrivb6 )/* 136052 (c) 1988 */
- DRIVER( harddrivj6 )/* 136052 (c) 1988 */
- DRIVER( harddrivb5 )/* 136052 (c) 1988 */
- DRIVER( harddrivg4 )/* 136052 (c) 1988 */
- DRIVER( harddriv3 ) /* 136052 (c) 1988 */
- DRIVER( harddriv2 ) /* 136052 (c) 1988 */
- DRIVER( harddriv1 ) /* 136052 (c) 1988 */
- /* Hard Drivin' Compact */
- DRIVER( harddrivc ) /* 136068 (c) 1990 */
- DRIVER( harddrivcg )/* 136068 (c) 1990 */
- DRIVER( harddrivcb )/* 136068 (c) 1990 */
- DRIVER( harddrivc1 )/* 136068 (c) 1990 */
- /* Stun Runner */
- DRIVER( stunrun ) /* 136070 (c) 1989 */
- DRIVER( stunrunj ) /* 136070 (c) 1989 */
- DRIVER( stunrun5 ) /* 136070 (c) 1989 */
- DRIVER( stunrune ) /* 136070 (c) 1989 */
- DRIVER( stunrun4 ) /* 136070 (c) 1989 */
- DRIVER( stunrun3 ) /* 136070 (c) 1989 */
- DRIVER( stunrun3e ) /* 136070 (c) 1989 */
- DRIVER( stunrun2 ) /* 136070 (c) 1989 */
- DRIVER( stunrun2e ) /* 136070 (c) 1989 */
- DRIVER( stunrun0 ) /* 136070 (c) 1989 */
- DRIVER( stunrunp ) /* (proto) (c) 1989 */
- /* Race Drivin' */
- DRIVER( racedriv ) /* 136077 (c) 1990 */
- DRIVER( racedrivb ) /* 136077 (c) 1990 */
- DRIVER( racedrivg ) /* 136077 (c) 1990 */
- DRIVER( racedriv4 ) /* 136077 (c) 1990 */
- DRIVER( racedrivb4 )/* 136077 (c) 1990 */
- DRIVER( racedrivg4 )/* 136077 (c) 1990 */
- DRIVER( racedriv3 ) /* 136077 (c) 1990 */
- DRIVER( racedriv2 ) /* 136077 (c) 1990 */
- DRIVER( racedriv1 ) /* 136077 (c) 1990 */
- DRIVER( racedrivb1 )/* 136077 (c) 1990 */
- DRIVER( racedrivg1 )/* 136077 (c) 1990 */
- /* Race Drivin' Compact */
- DRIVER( racedrivc ) /* 136077 (c) 1990 */
- DRIVER( racedrivcb ) /* 136077 (c) 1990 */
- DRIVER( racedrivcg ) /* 136077 (c) 1990 */
- DRIVER( racedrivc4 ) /* 136077 (c) 1990 */
- DRIVER( racedrivcb4 ) /* 136077 (c) 1990 */
- DRIVER( racedrivcg4 ) /* 136077 (c) 1990 */
- DRIVER( racedrivc2 ) /* 136077 (c) 1990 */
- DRIVER( racedrivc1 ) /* 136077 (c) 1990 */
- /* Race Drivin' Panorama */
- DRIVER( racedrivpan ) /* 136077 (c) 1990 */
- /* 136086 - BMX Heat (proto) */
- /* Steel Talons */
- DRIVER( steeltal ) /* 136087 (c) 1990 */
- DRIVER( steeltalg ) /* 136087 (c) 1990 */
- DRIVER( steeltal1 ) /* 136087 (c) 1990 */
- DRIVER( steeltalp ) /* 136087 (c) 1990 */
- /* 136088 - Race Drivin' Panorama */
- /* Street Drivin' */
- DRIVER( strtdriv ) /* 136091 (proto) */
- /* Hard Drivin' Airbourne */
- DRIVER( hdrivair ) /* 136098 (proto) */
- DRIVER( hdrivairp ) /* 136098 (proto) */
-
- /* later Atari games */
-
- /* Gauntlet Hardware */
- /* Gauntlet */
- DRIVER( gauntlet ) /* 136037 (c) 1985 */
- DRIVER( gauntlets ) /* 136037 (c) 1985 */
- DRIVER( gauntletj ) /* 136037 (c) 1985 */
- DRIVER( gauntletg ) /* 136037 (c) 1985 */
- DRIVER( gauntletj12 ) /* 136037 (c) 1985 */
- DRIVER( gauntletr9 ) /* 136037 (c) 1985 */
- DRIVER( gauntletgr8 ) /* 136037 (c) 1985 */
- DRIVER( gauntletr7 ) /* 136037 (c) 1985 */
- DRIVER( gauntletgr6 ) /* 136037 (c) 1985 */
- DRIVER( gauntletr5 ) /* 136037 (c) 1985 */
- DRIVER( gauntletr4 ) /* 136037 (c) 1985 */
- DRIVER( gauntletgr3 ) /* 136037 (c) 1985 */
- DRIVER( gauntletr2 ) /* 136037 (c) 1985 */
- DRIVER( gauntletr1 ) /* 136037 (c) 1985 */
- /* Gauntlet - 2 Player */
- DRIVER( gauntlet2p ) /* 136037 (c) 1985 */
- DRIVER( gauntlet2pj ) /* 136037 (c) 1985 */
- DRIVER( gauntlet2pg ) /* 136037 (c) 1985 */
- DRIVER( gauntlet2pr3 ) /* 136037 (c) 1985 */
- DRIVER( gauntlet2pj2 ) /* 136037 (c) 1985 */
- DRIVER( gauntlet2pg1 ) /* 136037 (c) 1985 */
- /* Gauntlet 2 */
- DRIVER( gaunt2 ) /* 136043 (c) 1986 */
- DRIVER( gaunt2g ) /* 136043 (c) 1986 */
- /* Gauntlet 2 - 2 Player */
- DRIVER( gaunt22p ) /* 136043 (c) 1986 */
- DRIVER( gaunt22p1 ) /* 136043 (c) 1986 */
- DRIVER( gaunt22pg ) /* 136043 (c) 1986 */
- /* Vindicators Part II */
- DRIVER( vindctr2 ) /* 136059 (c) 1988 */
- DRIVER( vindctr2r2 ) /* 136059 (c) 1988 */
- DRIVER( vindctr2r1 ) /* 136059 (c) 1988 */
-
- /* Other Hardware */
-
- /* Xybots */
- DRIVER( xybots ) /* 136054 (c) 1987 */
- DRIVER( xybotsg ) /* 136054 (c) 1987 */
- DRIVER( xybotsf ) /* 136054 (c) 1987 */
- DRIVER( xybots1 ) /* 136054 (c) 1987 */
- DRIVER( xybots0 ) /* 136054 (c) 1987 */
- /* Blasteroids */
- DRIVER( blstroid ) /* 136057 (c) 1987 */
- DRIVER( blstroid3 ) /* 136057 (c) 1987 */
- DRIVER( blstroid2 ) /* 136057 (c) 1987 */
- DRIVER( blstroidg ) /* 136057 (c) 1987 */
- DRIVER( blstroidh ) /* (proto) (c) 1987 */
- /* Vindicators */
- DRIVER( vindictr ) /* 136059 (c) 1988 */
- DRIVER( vindictre ) /* 136059 (c) 1988 */
- DRIVER( vindictrg ) /* 136059 (c) 1988 */
- DRIVER( vindictre4 )/* 136059 (c) 1988 */
- DRIVER( vindictr4 ) /* 136059 (c) 1988 */
- DRIVER( vindictre3 )/* 136059 (c) 1988 */
- DRIVER( vindictr2 ) /* 136059 (c) 1988 */
- DRIVER( vindictr1 ) /* 136059 (c) 1988 */
- /* Toobin */
- DRIVER( toobin ) /* 136061 (c) 1988 */
- DRIVER( toobine ) /* 136061 (c) 1988 */
- DRIVER( toobing ) /* 136061 (c) 1988 */
- DRIVER( toobin2 ) /* 136061 (c) 1988 */
- DRIVER( toobin2e ) /* 136061 (c) 1988 */
- DRIVER( toobin1 ) /* 136061 (c) 1988 */
- /* Cyberball */
- DRIVER( cyberbal ) /* 136064 (c) 1989 */
- DRIVER( cyberbal2 ) /* 136064 (c) 1989 */
- DRIVER( cyberbalp ) /* 136064 (c) 1989 */
- /* Atari Tetris */
- DRIVER( atetrisc ) /* 136066 (c) 1989 */
- DRIVER( atetrisc2 ) /* 136066 (c) 1989 */
- DRIVER( atetris ) /* 136066 (c) 1988 */
- DRIVER( atetrisa ) /* 136066 (c) 1988 */
- DRIVER( atetrisb ) /* (bootleg) */
- DRIVER( atetrisb2 ) /* (bootleg) */
- /* Escape from the Planet of Robot Monsters */
- DRIVER( eprom ) /* 136069 (c) 1989 */
- DRIVER( eprom2 ) /* 136069 (c) 1989 */
- DRIVER( guts ) /* prototype */
- /* Cyberball 2 Player */
- DRIVER( cyberbal2p ) /* 136071 (c) 1989 */
- DRIVER( cyberbal2p3 ) /* 136071 (c) 1989 */
- DRIVER( cyberbal2p2 ) /* 136071 (c) 1989 */
- DRIVER( cyberbal2p1 ) /* 136071 (c) 1989 */
- /* Skull and Crossbones */
- DRIVER( skullxbo ) /* 136072 (c) 1989 */
- DRIVER( skullxbo4 ) /* 136072 (c) 1989 */
- DRIVER( skullxbo3 ) /* 136072 (c) 1989 */
- DRIVER( skullxbo2 ) /* 136072 (c) 1989 */
- DRIVER( skullxbo1 ) /* 136072 (c) 1989 */
- /* Cyberball Tournament */
- DRIVER( cyberbalt ) /* 136073 (c) 1989 */
- DRIVER( cyberbalt1 )/* 136073 (c) 1989 */
-
- DRIVER( badlands ) /* 136074 (c) 1989 */
- DRIVER( badlandsb ) /* bootleg */
- DRIVER( klax ) /* 136075 (c) 1989 */
- DRIVER( klax2 ) /* 136075 (c) 1989 */
- DRIVER( klax3 ) /* 136075 (c) 1989 */
- DRIVER( klaxj ) /* 136075 (c) 1989 (Japan) */
- DRIVER( klaxd ) /* 136075 (c) 1989 (Germany) */
- DRIVER( klaxp1 ) /* prototype */
- DRIVER( klaxp2 ) /* prototype */
- DRIVER( thunderj ) /* 136076 (c) 1990 */
-
- DRIVER( hydra ) /* 136079 (c) 1990 */
- DRIVER( hydrap ) /* (proto) (c) 1990 */
- DRIVER( hydrap2 ) /* (proto) (c) 1990 */
- DRIVER( pitfight ) /* 136081 (c) 1990 */
- DRIVER( pitfight7 ) /* 136081 (c) 1990 */
- DRIVER( pitfight6 ) /* 136081 (c) 1990 */
- DRIVER( pitfight5 ) /* 136081 (c) 1990 */
- DRIVER( pitfight4 ) /* 136081 (c) 1990 */
- DRIVER( pitfight3 ) /* 136081 (c) 1990 */
- DRIVER( pitfightj ) /* Japan */
- DRIVER( pitfightb ) /* bootleg */
- DRIVER( rampart ) /* 136082 (c) 1990 */
- DRIVER( rampart2p ) /* 136082 (c) 1990 */
- DRIVER( rampartj ) /* 136082 (c) 1990 (Japan) */
- DRIVER( shuuz ) /* 136083 (c) 1990 */
- DRIVER( shuuz2 ) /* 136083 (c) 1990 */
- /* 136084 - Marble Man (proto) */
- DRIVER( batman ) /* 136085 (c) 1991 */
- DRIVER( roadriot ) /* 136089 (c) 1991 */
- DRIVER( roadrioto ) /* 136089 (c) 1991 */
- DRIVER( offtwall ) /* 136090 (c) 1991 */
- DRIVER( offtwallc ) /* 136090 (c) 1991 */
- DRIVER( guardian ) /* 136092 (c) 1992 */
- DRIVER( relief ) /* 136093 (c) 1992 */
- DRIVER( relief2 ) /* 136093 (c) 1992 */
- DRIVER( relief3 ) /* 136093 (c) 1992 */
- DRIVER( arcadecl ) /* (proto) (c) 1992 */
- DRIVER( sparkz ) /* (proto) (c) 1992 */
- DRIVER( motofren ) /* 136094 (c) 1992 */
- DRIVER( motofrenmd ) /* 136094 (c) 1992 */
- DRIVER( motofrenft ) /* 136094 (c) 1992 */
- DRIVER( motofrenmf ) /* 136094 (c) 1992 */
- DRIVER( spclords ) /* 136095 (c) 1992 */
- DRIVER( spclordsb ) /* 136095 (c) 1992 */
- DRIVER( spclordsa ) /* 136095 (c) 1992 */
- DRIVER( spclordsg ) /* 136095 (c) 1992 */
- DRIVER( rrreveng ) /* ?? (c) 1993 */
- DRIVER( rrrevenga ) /* ?? (c) 1993 */
- DRIVER( rrrevengb ) /* ?? (c) 1993 */
- DRIVER( beathead ) /* (proto) (c) 1993 */
- DRIVER( tmek ) /* 136100 (c) 1994 */
- DRIVER( tmek51p ) /* 136100 (c) 1994 */
- DRIVER( tmek45 ) /* 136100 (c) 1994 */
- DRIVER( tmek44 ) /* 136100 (c) 1994 */
- DRIVER( tmek20 ) /* 136100 (c) 1994 */
- DRIVER( primrage ) /* 136102 (c) 1994 */
- DRIVER( primrage20 )/* 136102 (c) 1994 */
- DRIVER( metalmx ) /* 136103? (c) 1994 */
- DRIVER( area51 ) /* 136105 (c) 1995 */
- DRIVER( area51t ) /* 136105 (c) 1995 */
- DRIVER( area51a ) /* 136105 (c) 1995 */
- DRIVER( fishfren ) /* (proto) (c) 1995 */
- DRIVER( freezeat ) /* (proto) (c) 1996 */
- DRIVER( freezeatjp ) /* (proto) (c) 1996 */
- DRIVER( freezeat2 ) /* (proto) (c) 1996 */
- DRIVER( freezeat3 ) /* (proto) (c) 1996 */
- DRIVER( freezeat4 ) /* (proto) (c) 1996 */
- DRIVER( freezeat5 ) /* (proto) (c) 1996 */
- DRIVER( freezeat6 ) /* (proto) (c) 1996 */
- DRIVER( area51mx ) /* 136105 (c) 1998 */
- DRIVER( a51mxr3k ) /* ?? (c) 1998 */
- DRIVER( maxforce ) /* ?? (c) 1996 */
- DRIVER( maxf_102 ) /* ?? (c) 1996 */
- DRIVER( maxf_ng ) /* ?? (c) 1996 */
- DRIVER( vcircle ) /* (proto) (c) 1996 */
- DRIVER( a51site4 ) /* ?? (c) 1998 */
-
- /* SNK / Rock-ola games */
- DRIVER( sasuke ) /* [1980] Shin Nihon Kikaku (SNK) */
- DRIVER( satansat ) /* (c) 1981 SNK */
- DRIVER( satansata ) /* (c) 1981 SNK */
- DRIVER( zarzon ) /* (c) 1981 Taito, gameplay says SNK */
- DRIVER( vanguard ) /* (c) 1981 SNK */
- DRIVER( vanguardc ) /* (c) 1981 SNK + Centuri */
- DRIVER( vanguardj ) /* (c) 1981 SNK */
- DRIVER( fantasy ) /* (c) 1981 SNK */
- DRIVER( fantasyu ) /* (c) 1981 Rock-Ola */
- DRIVER( fantasyj ) /* (c) 1981 SNK */
- DRIVER( pballoon ) /* (c) 1982 SNK */
- DRIVER( pballoonr ) /* (c) 1982 SNK (Rock-Ola license) */
- DRIVER( nibbler ) /* (c) 1982 Rock-ola */
- DRIVER( nibblera ) /* (c) 1982 Rock-ola */
- DRIVER( nibblerb ) /* (c) 1982 Rock-ola */
- DRIVER( nibblero ) /* (c) 1982 Olympia */
-
- /* later SNK games, each game can be identified by PCB code and ROM
- code, the ROM code is the same between versions, and usually based
- upon the Japanese title. */
- DRIVER( lasso ) /* 'WM' (c) 1982 */
- DRIVER( chameleo ) /* (c) 1983 Jaleco */
- DRIVER( wwjgtin ) /* (c) 1984 Jaleco / Casio */
- DRIVER( photof ) /* (c) 1984 Jaleco / Casio */
- DRIVER( pinbo ) /* (c) 1984 Jaleco */
- DRIVER( pinboa ) /* (c) 1984 Jaleco */
- DRIVER( pinbos ) /* (c) 1985 Strike */
- DRIVER( joyfulr ) /* A2001 (c) 1983 */
- DRIVER( mnchmobl ) /* A2001 (c) 1983 + Centuri license */
- DRIVER( marvins ) /* A2003 (c) 1983 */
- DRIVER( madcrash ) /* A2005 (c) 1984 */
- DRIVER( madcrush ) /* A2005 (c) 1984 */
- DRIVER( vangrd2 ) /* A2005 (c) 1984 */
- DRIVER( mainsnk ) /* (c) 1984 */
- DRIVER( canvas ) /* A3008 (c) 1985 */
- DRIVER( jcross ) /* A3006 (c) 1984 */
- DRIVER( sgladiat ) /* A3006 (c) 1984 */
- DRIVER( hal21 ) /* A4031 (c) 1985 */
- DRIVER( hal21j ) /* (c) 1985 (Japan) */
- DRIVER( aso ) /* (c) 1985 */
- DRIVER( alphamis ) /* (c) 1985 */
- DRIVER( arian ) /* (c) 1985 */
- DRIVER( tnk3 ) /* A5001 (c) 1985 */
- DRIVER( tnk3j ) /* A5001 (c) 1985 */
- DRIVER( athena ) /* 'UP' (c) 1986 */
- DRIVER( fitegolf ) /* 'GU' (c) 1988 */
- DRIVER( fitegolfu ) /* 'GU' (c) 1988 */
- DRIVER( countryc ) /* A7004 'CC' (c) 1988 */
- DRIVER( ikari ) /* A5004 'IW' (c) 1986 */
- DRIVER( ikaria ) /* A5004 'IW' (c) 1986 */
- DRIVER( ikarinc ) /* A5004 'IW' (c) 1986 */
- DRIVER( ikarijp ) /* A5004 'IW' (c) 1986 (Japan) */
- DRIVER( ikarijpb ) /* bootleg */
- DRIVER( victroad ) /* A6002 (c) 1986 */
- DRIVER( dogosoke ) /* A6002 (c) 1986 */
- DRIVER( dogosokb ) /* bootleg */
- DRIVER( gwar ) /* A7003 'GV' (c) 1987 */
- DRIVER( gwarj ) /* A7003 'GV' (c) 1987 (Japan) */
- DRIVER( gwara ) /* A7003 'GV' (c) 1987 */
- DRIVER( gwarb ) /* bootleg */
- DRIVER( bermudat ) /* (c) 1987 */
- DRIVER( bermudatj ) /* (c) 1987 */
- DRIVER( bermudata ) /* A6004 'WW' (c) 1987 */
- DRIVER( worldwar ) /* A6004 'WW' (c) 1987 */
- DRIVER( psychos ) /* 'PS' (c) 1987 */
- DRIVER( psychosj ) /* 'PS' (c) 1987 (Japan) */
- DRIVER( chopper ) /* A7003 'KK' (c) 1988 */
- DRIVER( choppera ) /* A7003 'KK' (c) 1988 */
- DRIVER( chopperb ) /* A7003 'KK' (c) 1988 */
- DRIVER( legofair ) /* A7003 'KK' (c) 1988 */
- DRIVER( fsoccer ) /* A6006 'FS' (c) 1988 */
- DRIVER( fsoccerj ) /* A6006 'FS' (c) 1988 */
- DRIVER( fsoccerb ) /* (c) 1988 */
- DRIVER( tdfever ) /* A6006 'TD' (c) 1987 */
- DRIVER( tdfeverj ) /* A6006 'TD' (c) 1987 */
- DRIVER( tdfever2 ) /* A6006 'TD'?(c) 1988 */
- DRIVER( ikari3 ) /* A7007 'IK3'(c) 1989 */
- DRIVER( ikari3nr ) /* A7007 'IK3'(c) 1989 */
- DRIVER( pow ) /* A7008 'DG' (c) 1988 */
- DRIVER( powj ) /* A7008 'DG' (c) 1988 */
- DRIVER( searchar ) /* A8007 'BH' (c) 1989 */
- DRIVER( searcharu ) /* A8007 'BH' (c) 1989 */
- DRIVER( searcharj ) /* A8007 'BH' (c) 1989 */
- DRIVER( streetsm ) /* A8007 'S2' (c) 1989 */
- DRIVER( streetsm1 ) /* A7008 'S2' (c) 1989 */
- DRIVER( streetsmw ) /* (c) 1989 */
- DRIVER( streetsmj ) /* A8007 'S2' (c) 1989 */
- DRIVER( prehisle ) /* A8003 'GT' (c) 1989 */
- DRIVER( prehisleu ) /* A8003 'GT' (c) 1989 */
- DRIVER( prehislek ) /* A8003 'GT' (c) 1989 */
- DRIVER( gensitou ) /* A8003 'GT' (c) 1989 */
- DRIVER( mechatt ) /* A8002 'MA' (c) 1989 */
- DRIVER( mechattu ) /* A8002 'MA' (c) 1989 */
- DRIVER( bbusters ) /* A9003 'BB' (c) 1989 */
- DRIVER( bbustersu ) /* A9003 'BB' (c) 1989 */
-
- /* Electrocoin on early SNK hardware */
- DRIVER( dmndrby ) /* G4001 'DD' (c) 1986 */
- DRIVER( dmndrbya ) /* G4001 'DD' (c) 1986 */
-
- /* Neo Geo games */
- /* the four digits number is the game ID stored at address 0x0108 of the program ROM */
- /* info on prototypes taken from http://www.members.tripod.com/fresa/proto/puzzle.htm */
- DRIVER( neogeo )
- DRIVER( nam1975 ) /* 0001 (c) 1990 SNK */
- DRIVER( bstars ) /* 0002 (c) 1990 SNK */
- DRIVER( bstarsh ) /* 0002 (c) 1990 SNK */
- DRIVER( tpgolf ) /* 0003 (c) 1990 SNK */
- DRIVER( mahretsu ) /* 0004 (c) 1990 SNK */
- DRIVER( maglord ) /* 0005 (c) 1990 Alpha Denshi Co. */
- DRIVER( maglordh ) /* 0005 (c) 1990 Alpha Denshi Co. */
- DRIVER( ridhero ) /* 0006 (c) 1990 SNK */
- DRIVER( ridheroh ) /* 0006 (c) 1990 SNK */
- DRIVER( alpham2 ) /* 0007 (c) 1991 SNK */
- /* 0008 Sunshine (prototype) 1990 SNK */
- DRIVER( ncombat ) /* 0009 (c) 1990 Alpha Denshi Co. */
- DRIVER( ncombath ) /* 0009 (c) 1990 Alpha Denshi Co. */
- DRIVER( cyberlip ) /* 0010 (c) 1990 SNK */
- DRIVER( superspy ) /* 0011 (c) 1990 SNK */
- /* 0012 */
- /* 0013 */
- DRIVER( mutnat ) /* 0014 (c) 1992 SNK */
- /* 0015 */
- DRIVER( kotm ) /* 0016 (c) 1991 SNK */
- DRIVER( kotmh ) /* 0016 (c) 1991 SNK */
- DRIVER( sengoku ) /* 0017 (c) 1991 SNK */
- DRIVER( sengokuh ) /* 0017 (c) 1991 SNK */
- DRIVER( burningf ) /* 0018 (c) 1991 SNK */
- DRIVER( burningfh ) /* 0018 (c) 1991 SNK */
- DRIVER( lbowling ) /* 0019 (c) 1990 SNK */
- DRIVER( gpilots ) /* 0020 (c) 1991 SNK */
- DRIVER( gpilotsh ) /* 0020 (c) 1991 SNK */
- DRIVER( joyjoy ) /* 0021 (c) 1990 SNK */
- DRIVER( bjourney ) /* 0022 (c) 1990 Alpha Denshi Co. */
- DRIVER( quizdais ) /* 0023 (c) 1991 SNK */
- DRIVER( quizdaisk ) /* 0123 (c) 1991 SNK */
- DRIVER( lresort ) /* 0024 (c) 1992 SNK */
- DRIVER( eightman ) /* 0025 (c) 1991 SNK / Pallas */
- /* 0026 Fun Fun Brothers (prototype) 1991 Alpha */
- DRIVER( minasan ) /* 0027 (c) 1990 Monolith Corp. */
- /* 0028 Dunk Star (prototype) Sammy */
- DRIVER( legendos ) /* 0029 (c) 1991 SNK */
- DRIVER( 2020bb ) /* 0030 (c) 1991 SNK / Pallas */
- DRIVER( 2020bba ) /* 0030 (c) 1991 SNK / Pallas */
- DRIVER( 2020bbh ) /* 0030 (c) 1991 SNK / Pallas */
- DRIVER( socbrawl ) /* 0031 (c) 1991 SNK */
- DRIVER( socbrawlh ) /* 0031 (c) 1991 SNK */
- DRIVER( roboarmy ) /* 0032 (c) 1991 SNK */
- DRIVER( fatfury1 ) /* 0033 (c) 1991 SNK */
- DRIVER( fbfrenzy ) /* 0034 (c) 1992 SNK */
- /* 0035 Mystic Wand (prototype) 1991 Alpha */
- DRIVER( bakatono ) /* 0036 (c) 1991 Monolith Corp. */
- DRIVER( crsword ) /* 0037 (c) 1991 Alpha Denshi Co. */
- DRIVER( trally ) /* 0038 (c) 1991 Alpha Denshi Co. */
- DRIVER( kotm2 ) /* 0039 (c) 1992 SNK */
- DRIVER( sengoku2 ) /* 0040 (c) 1993 SNK */
- DRIVER( bstars2 ) /* 0041 (c) 1992 SNK */
- DRIVER( quizdai2 ) /* 0042 (c) 1992 SNK */
- DRIVER( 3countb ) /* 0043 (c) 1993 SNK */
- DRIVER( aof ) /* 0044 (c) 1992 SNK */
- DRIVER( samsho ) /* 0045 (c) 1993 SNK */
- DRIVER( samshoh ) /* 0045 (c) 1993 SNK */
- DRIVER( tophuntr ) /* 0046 (c) 1994 SNK */
- DRIVER( tophuntrh ) /* 0046 (c) 1994 SNK */
- DRIVER( fatfury2 ) /* 0047 (c) 1992 SNK */
- DRIVER( janshin ) /* 0048 (c) 1994 Aicom */
- DRIVER( androdun ) /* 0049 (c) 1992 Visco */
- DRIVER( ncommand ) /* 0050 (c) 1992 Alpha Denshi Co. */
- DRIVER( viewpoin ) /* 0051 (c) 1992 Sammy */
- DRIVER( ssideki ) /* 0052 (c) 1992 SNK */
- DRIVER( wh1 ) /* 0053 (c) 1992 Alpha Denshi Co. */
- DRIVER( wh1h ) /* 0053 (c) 1992 Alpha Denshi Co. */
- DRIVER( wh1ha ) /* 0053 (c) 1992 Alpha Denshi Co. */
- /* 0054 Crossed Swords 2 (CD only? not confirmed, MVS might exist) */
- DRIVER( kof94 ) /* 0055 (c) 1994 SNK */
- DRIVER( aof2 ) /* 0056 (c) 1994 SNK */
- DRIVER( aof2a ) /* 0056 (c) 1994 SNK */
- DRIVER( wh2 ) /* 0057 (c) 1993 ADK */
- DRIVER( fatfursp ) /* 0058 (c) 1993 SNK */
- DRIVER( fatfurspa ) /* 0058 (c) 1993 SNK */
- DRIVER( savagere ) /* 0059 (c) 1995 SNK */
- DRIVER( fightfev ) /* 0060 (c) 1994 Viccom */
- DRIVER( fightfeva ) /* 0060 (c) 1994 Viccom */
- DRIVER( ssideki2 ) /* 0061 (c) 1994 SNK */
- DRIVER( spinmast ) /* 0062 (c) 1993 Data East Corporation */
- DRIVER( samsho2 ) /* 0063 (c) 1994 SNK */
- DRIVER( samsho2k ) /* 0063 (c) 1994 SNK (Korean hack) */
- DRIVER( wh2j ) /* 0064 (c) 1994 ADK / SNK */
- DRIVER( wjammers ) /* 0065 (c) 1994 Data East Corporation */
- DRIVER( karnovr ) /* 0066 (c) 1994 Data East Corporation */
- DRIVER( gururin ) /* 0067 (c) 1994 Face */
- DRIVER( pspikes2 ) /* 0068 (c) 1994 Video System Co. */
- /* Super Volley '94 was once released in Mar.1994, and recalled. Then released as Power Spikes 2 (with some tweaks). */
- DRIVER( fatfury3 ) /* 0069 (c) 1995 SNK */
- DRIVER( zupapa ) /* 0070 Zupapa - released in 2001, 1994 prototype probably exists */
- /* 0071 Bang Bang Busters (prototype) 1994 Visco */
- /* 0072 Last Odyssey Pinball Fantasia (prototype) 1995 Monolith */
- DRIVER( panicbom ) /* 0073 (c) 1994 Eighting / Hudson */
- DRIVER( aodk ) /* 0074 (c) 1994 ADK / SNK */
- DRIVER( sonicwi2 ) /* 0075 (c) 1994 Video System Co. */
- DRIVER( zedblade ) /* 0076 (c) 1994 NMK */
- /* 0077 The Warlocks of the Fates (prototype) 1995 Astec */
- DRIVER( galaxyfg ) /* 0078 (c) 1995 Sunsoft */
- DRIVER( strhoop ) /* 0079 (c) 1994 Data East Corporation */
- DRIVER( quizkof ) /* 0080 (c) 1995 Saurus */
- DRIVER( quizkofk ) /* 0080 (c) 1995 Saurus */
- DRIVER( ssideki3 ) /* 0081 (c) 1995 SNK */
- DRIVER( doubledr ) /* 0082 (c) 1995 Technos */
- DRIVER( pbobblen ) /* 0083 (c) 1994 Taito */
- DRIVER( pbobblenb ) /* bootleg */
- DRIVER( kof95 ) /* 0084 (c) 1995 SNK */
- DRIVER( kof95h ) /* 0084 (c) 1995 SNK */
- /* 0085 Shinsetsu Samurai Spirits Bushidoretsuden / Samurai Shodown RPG (CD only) */
- DRIVER( tws96 ) /* 0086 (c) 1996 Tecmo */
- DRIVER( samsho3 ) /* 0087 (c) 1995 SNK */
- DRIVER( samsho3h ) /* 0087 (c) 1995 SNK */
- DRIVER( fswords ) /* 0187 Korean hack of samsho3 */
- DRIVER( stakwin ) /* 0088 (c) 1995 Saurus */
- DRIVER( pulstar ) /* 0089 (c) 1995 Aicom */
- DRIVER( whp ) /* 0090 (c) 1995 ADK / SNK */
- /* 0091 */
- DRIVER( kabukikl ) /* 0092 (c) 1995 Hudson */
- DRIVER( neobombe ) /* 0093 (c) 1997 Hudson */
- DRIVER( gowcaizr ) /* 0094 (c) 1995 Technos */
- DRIVER( rbff1 ) /* 0095 (c) 1995 SNK */
- DRIVER( rbff1a ) /* 0095 (c) 1995 SNK */
- DRIVER( aof3 ) /* 0096 (c) 1996 SNK */
- DRIVER( aof3k ) /* 0196 Censored Korean release of aof3 */
- DRIVER( sonicwi3 ) /* 0097 (c) 1995 Video System Co. */
- /* 0098 Idol Mahjong - final romance 2 (CD only? not confirmed, MVS might exist) */
- /* 0099 Neo Pool Masters */
- DRIVER( turfmast ) /* 0200 (c) 1996 Nazca */
- DRIVER( mslug ) /* 0201 (c) 1996 Nazca */
- DRIVER( puzzledp ) /* 0202 (c) 1995 Taito (Visco license) */
- DRIVER( mosyougi ) /* 0203 (c) 1995 ADK / SNK */
- /* 0204 QP (prototype) */
- /* 0205 Neo-Geo CD Special (CD only) */
- DRIVER( marukodq ) /* 0206 (c) 1995 Takara */
- DRIVER( neomrdo ) /* 0207 (c) 1996 Visco */
- DRIVER( sdodgeb ) /* 0208 (c) 1996 Technos */
- DRIVER( goalx3 ) /* 0209 (c) 1995 Visco */
- /* 0210 Karate Ninja Sho (prototype) 1995 Yumekobo */
- /* 0211 Oshidashi Zintrick (CD only? not confirmed, MVS might exist) 1996 SNK/ADK */
- DRIVER( zintrckb ) /* 0211 hack - this is not a genuine MVS proto, its a bootleg made from the CD version */
- DRIVER( overtop ) /* 0212 (c) 1996 ADK */
- DRIVER( neodrift ) /* 0213 (c) 1996 Visco */
- DRIVER( kof96 ) /* 0214 (c) 1996 SNK */
- DRIVER( kof96h ) /* 0214 (c) 1996 SNK */
- DRIVER( ssideki4 ) /* 0215 (c) 1996 SNK */
- DRIVER( kizuna ) /* 0216 (c) 1996 SNK */
- /* Fu-un Super Tag Battle Special Version (4-player battle available) exists */
- DRIVER( ninjamas ) /* 0217 (c) 1996 ADK / SNK */
- DRIVER( ragnagrd ) /* 0218 (c) 1996 Saurus */
- DRIVER( pgoal ) /* 0219 (c) 1996 Saurus */
- /* 0220 (c) 1996 Saurus - Choutetsu Brikin'ger - Iron clad (undumped protoype) */
- DRIVER( magdrop2 ) /* 0221 (c) 1996 Data East Corporation */
- DRIVER( samsho4 ) /* 0222 (c) 1996 SNK */
- DRIVER( samsho4k ) /* Censored Korean release of samsho4 */
- DRIVER( rbffspec ) /* 0223 (c) 1996 SNK */
- DRIVER( rbffspeck ) /* 0124 (c) 1996 SNK */
- DRIVER( twinspri ) /* 0224 (c) 1996 ADK */
- DRIVER( wakuwak7 ) /* 0225 (c) 1996 Sunsoft */
- /* 0226 Pair Pair Wars (prototype) 1996 Sunsoft? */
- DRIVER( stakwin2 ) /* 0227 (c) 1996 Saurus */
- DRIVER( ghostlop ) /* 0228 GhostLop (prototype) 1996? Data East */
- /* 0229 King of Fighters '96 CD Collection (CD only) */
- DRIVER( breakers ) /* 0230 (c) 1996 Visco */
- DRIVER( miexchng ) /* 0231 (c) 1997 Face */
- DRIVER( kof97 ) /* 0232 (c) 1997 SNK */
- DRIVER( kof97h ) /* 0232 (c) 1997 SNK */
- DRIVER( kof97pls ) /* bootleg of kof97 */
- DRIVER( kog ) /* bootleg of kof97 */
- DRIVER( magdrop3 ) /* 0233 (c) 1997 Data East Corporation */
- DRIVER( lastblad ) /* 0234 (c) 1997 SNK */
- DRIVER( lastbladh ) /* 0234 (c) 1997 SNK */
- DRIVER( lastsold ) /* 0196 Censored Korean release of lastblad */
- DRIVER( puzzldpr ) /* 0235 (c) 1997 Taito (Visco license) */
- DRIVER( irrmaze ) /* 0236 (c) 1997 SNK / Saurus */
- DRIVER( popbounc ) /* 0237 (c) 1997 Video System Co. */
- DRIVER( shocktro ) /* 0238 (c) 1997 Saurus */
- DRIVER( shocktroa ) /* 0238 (c) 1997 Saurus */
- DRIVER( blazstar ) /* 0239 (c) 1998 Yumekobo */
- DRIVER( rbff2 ) /* 0240 (c) 1998 SNK */
- DRIVER( rbff2h ) /* 0240 (c) 1998 SNK */
- DRIVER( rbff2k ) /* 0140 Censored Korean release of rbff2 */
- DRIVER( mslug2 ) /* 0241 (c) 1998 SNK */
- DRIVER( kof98 ) /* 0242 (c) 1998 SNK */
- DRIVER( kof98k ) /* 0242 (c) 1998 SNK */
- DRIVER( kof98ka ) /* 0242 (c) 1998 SNK */
- DRIVER( kof98h ) /* 0242 (c) 1998 SNK */
- DRIVER( lastbld2 ) /* 0243 (c) 1998 SNK */
- DRIVER( neocup98 ) /* 0244 (c) 1998 SNK */
- DRIVER( breakrev ) /* 0245 (c) 1998 Visco */
- DRIVER( shocktr2 ) /* 0246 (c) 1998 Saurus */
- DRIVER( lans2004 ) /* bootleg of shocktr2 */
- DRIVER( flipshot ) /* 0247 (c) 1998 Visco */
- DRIVER( pbobbl2n ) /* 0248 (c) 1999 Taito (SNK license) */
- DRIVER( ctomaday ) /* 0249 (c) 1999 Visco */
- DRIVER( mslugx ) /* 0250 (c) 1999 SNK */
- DRIVER( kof99 ) /* 0251 (c) 1999 SNK */
- DRIVER( kof99h ) /* 0251 (c) 1999 SNK */
- DRIVER( kof99e ) /* 0251 (c) 1999 SNK */
- DRIVER( kof99k ) /* 0152 (c) 1999 SNK */
- DRIVER( kof99p ) /* 0251 (c) 1999 SNK */
- DRIVER( ganryu ) /* 0252 (c) 1999 Visco */
- DRIVER( garou ) /* 0253 (c) 1999 SNK */
- DRIVER( garouo ) /* 0253 (c) 1999 SNK */
- DRIVER( garoup ) /* 0253 (c) 1999 SNK */
- DRIVER( garoubl ) /* bootleg */
- DRIVER( s1945p ) /* 0254 (c) 1999 Psikyo */
- DRIVER( preisle2 ) /* 0255 (c) 1999 Yumekobo */
- DRIVER( mslug3 ) /* 0256 (c) 2000 SNK */
- DRIVER( mslug3h ) /* 0256 (c) 2000 SNK */
- DRIVER( mslug3b6 ) /* bootleg */
- DRIVER( kof2000 ) /* 0257 (c) 2000 SNK */
- DRIVER( kof2000n ) /* 0257 (c) 2000 SNK */
- /* 0258 SNK vs. Capcom? */
- DRIVER( bangbead ) /* 0259 (c) 2000 Visco */
- DRIVER( nitd ) /* 0260 (c) 2000 Eleven / Gavaking */
- DRIVER( nitdbl ) /* bootleg */
- DRIVER( sengoku3 ) /* 0261 (c) 2001 Noise Factory / SNK */
- DRIVER( kof2001 ) /* 0262 (c) 2001 Eolith / SNK */
- DRIVER( kof2001h ) /* 0262 (c) 2001 Eolith / SNK */
- DRIVER( cthd2003 ) /* bootleg of kof2001 */
- DRIVER( ct2k3sp ) /* bootleg of kof2001 */
- DRIVER( ct2k3sa ) /* bootleg of kof2001 */
- DRIVER( mslug4 ) /* 0263 (c) 2002 Mega Enterprise */
- DRIVER( mslug4h ) /* 0263 (c) 2002 Mega Enterprise */
- DRIVER( ms4plus ) /* bootleg */
- DRIVER( rotd ) /* 0264 (c) 2002 Evoga */
- DRIVER( kof2002 ) /* 0265 (c) 2002 Eolith / Playmore */
- DRIVER( kof2002b ) /* bootleg */
- DRIVER( kf2k2pls ) /* bootleg */
- DRIVER( kf2k2pla ) /* bootleg */
- DRIVER( kf2k2mp ) /* bootleg */
- DRIVER( kf2k2mp2 ) /* bootleg */
- DRIVER( kof10th ) /* bootleg of kof2002 */
- DRIVER( kf2k5uni ) /* bootleg of kof2002 */
- DRIVER( kf10thep ) /* bootleg of kof2002 */
- DRIVER( kof2k4se ) /* bootleg of kof2002 */
- DRIVER( matrim ) /* 0266 (c) 2002 Atlus */
- DRIVER( matrimbl ) /* bootleg */
- DRIVER( pnyaa ) /* 0267 (c) 2003 Aiky / Taito */
- DRIVER( ms5pcb ) /* 0268 (c) 2003 Playmore */
- DRIVER( mslug5 ) /* 0268 (c) 2003 Playmore */
- DRIVER( mslug5h ) /* 0268 (c) 2003 Playmore */
- DRIVER( ms5plus ) /* bootleg */
- DRIVER( svcpcb ) /* 0269 (c) 2003 Playmore / Capcom - JAMMA PCB */
- DRIVER( svcpcba ) /* 0269 (c) 2003 Playmore / Capcom - JAMMA PCB */
- DRIVER( svc ) /* 0269 (c) 2003 Playmore / Capcom */
- DRIVER( svcboot ) /* bootleg */
- DRIVER( svcplus ) /* bootleg */
- DRIVER( svcplusa ) /* bootleg */
- DRIVER( svcsplus ) /* bootleg */
- DRIVER( samsho5 ) /* 0270 (c) 2003 Playmore */
- DRIVER( samsho5h ) /* 0270 (c) 2003 Playmore */
- DRIVER( samsho5b ) /* bootleg */
- DRIVER( kf2k3pcb ) /* 0271 (c) 2003 Playmore - JAMMA PCB */
- DRIVER( kof2003 ) /* 0271 (c) 2003 Playmore */
- DRIVER( kof2003h ) /* 0271 (c) 2003 Playmore */
- DRIVER( kf2k3bl ) /* bootleg */
- DRIVER( kf2k3bla ) /* bootleg */
- DRIVER( kf2k3pl ) /* bootleg */
- DRIVER( kf2k3upl ) /* bootleg */
- DRIVER( samsh5sp ) /* 0272 (c) 2004 Playmore */
- DRIVER( samsh5sph ) /* 0272 (c) 2004 Playmore */
- DRIVER( samsh5spn ) /* 0272 (c) 2004 Playmore */
-
- /* The BrezzaSoft games don't have proper ID codes */
- DRIVER( jockeygp )
- DRIVER( jockeygpa )
- DRIVER( vliner )
- DRIVER( vlinero )
-
- /* Nor does Digger Man */
- DRIVER( diggerma ) /* No Game ID (unlicensed), (c) 2000 Kyle Hodgetts, prototype */
-
- /* Hyper NeoGeo 64 uses a 3 digit rom code? */
-
- DRIVER( hng64 )
- DRIVER( roadedge ) /* 001 1997/09/10 Roads Edge / Round Trip RV */
- DRIVER( sams64 ) /* 002 1997/12/19 Samurai Shodown 64 / Samurai Spirits 64 */
- DRIVER( xrally ) /* 003 1998/05/13 Xtreme Rally / Off Beat Racer! */
- DRIVER( bbust2 ) /* 004 1998/09/11 Beast Busters: Second Nightmare */
- DRIVER( sams64_2 ) /* 005 1998/10/16 Samurai Shodown: Warrior's Rage / Samurai Spirits: Asura Zanmaden */
- DRIVER( fatfurwa ) /* 006 1999/01/28 Fatal Fury: Wild Ambition / Garou Densetsu: Wild Ambition */
- DRIVER( buriki ) /* 007 1999/05/21 Buriki One */
-
- /* Neo Print */
- DRIVER( npcartv1 )
- DRIVER( 98best44 )
- DRIVER( nprsp )
-
- /* Alpha Denshi games */
- DRIVER( shougi ) /* (c) 1982 (Arcade TV Game List - P.80, Left, 9 from top) */
- DRIVER( shougi2 ) /* (c) 1982 (Arcade TV Game List - P.80, Left, 10 from top) */
- DRIVER( champbas ) /* (c) 1983 Sega */
- DRIVER( champbasj ) /* (c) 1983 Alpha Denshi Co. */
- DRIVER( champbasja )/* (c) 1983 Alpha Denshi Co. */
- DRIVER( champbb2 ) /* (c) 1983 Sega */
- DRIVER( champbb2a ) /* (c) 1983 ? */
- DRIVER( champbb2j ) /* (c) 1983 ? */
- DRIVER( exctsccr ) /* (c) 1983 Alpha Denshi Co. */
- DRIVER( exctsccra ) /* (c) 1983 Alpha Denshi Co. */
- DRIVER( exctsccrj ) /* (c) 1983 Alpha Denshi Co. */
- DRIVER( exctsccrj2 )/* (c) 1983 Alpha Denshi Co. */
- DRIVER( exctsccrb ) /* bootleg */
- DRIVER( exctscc2 ) /* (c) 1984 Alpha Denshi Co. */
- DRIVER( talbot ) /* Volt Electronics */
- DRIVER( equites ) /* (c) 1984 Alpha Denshi Co. */
- DRIVER( equitess ) /* (c) 1984 Alpha Denshi Co./Sega */
- DRIVER( gekisou ) /* (c) 1985 Eastern */
- DRIVER( bullfgtr ) /* (c) 1984 Alpha Denshi Co. */
- DRIVER( bullfgtrs ) /* (c) 1984 Alpha Denshi Co./Sega */
- DRIVER( kouyakyu ) /* (c) 1985 Alpha Denshi Co. */
- DRIVER( splndrbt ) /* (c) 1985 Alpha Denshi Co. */
- DRIVER( hvoltage ) /* (c) 1985 Alpha Denshi Co. */
-
- /* SNK / Alpha 68K games */
- DRIVER( sstingry ) /* (c) 1986 Alpha Denshi Co. */
- DRIVER( kyros ) /* (c) 1987 World Games */
- DRIVER( kyrosj ) /* (c) 1986 Alpha Denshi Co. */
- DRIVER( jongbou ) /* (c) 1987 SNK */
- DRIVER( paddlema ) /* Alpha-68K96I 'PM' (c) 1988 SNK */
- DRIVER( timesold ) /* Alpha-68K96II 'BT' (c) 1987 SNK / Romstar */
- DRIVER( timesold1 ) /* Alpha-68K96II 'BT' (c) 1987 */
- DRIVER( btlfield ) /* Alpha-68K96II 'BT' (c) 1987 */
- DRIVER( btlfieldb ) /* bootleg */
- DRIVER( skysoldr ) /* Alpha-68K96II 'SS' (c) 1988 SNK (Romstar with dip switch) */
- DRIVER( goldmedl ) /* Alpha-68K96II 'GM' (c) 1988 SNK */
- DRIVER( goldmedla ) /* Alpha-68K96II 'GM' (c) 1988 SNK */
- DRIVER( goldmedlb ) /* Alpha-68K96II bootleg */
- DRIVER( skyadvnt ) /* Alpha-68K96V 'SA' (c) 1989 Alpha Denshi Co. */
- DRIVER( skyadvntu ) /* Alpha-68K96V 'SA' (c) 1989 SNK of America licensed from Alpha */
- DRIVER( skyadvntj ) /* Alpha-68K96V 'SA' (c) 1989 Alpha Denshi Co. */
- DRIVER( gangwars ) /* Alpha-68K96V (c) 1989 Alpha Denshi Co. */
- DRIVER( gangwarsu ) /* Alpha-68K96V (c) 1989 Alpha Denshi Co. */
- DRIVER( sbasebal ) /* Alpha-68K96V (c) 1989 SNK of America licensed from Alpha */
- DRIVER( tnextspc ) /* A8003 'NS' (c) 1989 */
- DRIVER( tnextspcj ) /* A8003 'NS' (c) 1989 */
-
- DRIVER( meijinsn ) /* (c) 1986 SNK */
-
- /* Technos games */
- DRIVER( scregg ) /* TA-0001 (c) 1983 */
- DRIVER( eggs ) /* TA-0002 (c) 1983 Universal USA */
- DRIVER( dommy ) /* TA-00?? (c) 1983 (Arcade TV Game List - P.90, Left, 13 from top) */
- DRIVER( bigprowr ) /* TA-0007 (c) 1983 */
- DRIVER( tagteam ) /* TA-0007 (c) 1983 + Data East license */
- DRIVER( ssozumo ) /* TA-0008 (c) 1984 */
- DRIVER( mystston ) /* TA-0010 (c) 1984 */
- DRIVER( myststono ) /* TA-0010 (c) 1984 */
- DRIVER( dogfgt ) /* TA-0011 (c) 1984 */
- DRIVER( dogfgtu ) /* TA-0011 (c) 1985 Data East USA, Inc. */
- DRIVER( dogfgtj ) /* TA-0011 (c) 1984 */
- DRIVER( bogeyman ) /* -0204-0 (Data East part number) (c) 1985 (Arcade TV Game List - P.96, Right, 8 from top) */
- DRIVER( matmania ) /* TA-0015 (c) 1985 + Taito America license */
- DRIVER( excthour ) /* TA-0015 (c) 1985 + Taito license */
- DRIVER( maniach ) /* TA-0017 (c) 1986 + Taito America license */
- DRIVER( maniach2 ) /* TA-0017 (c) 1986 + Taito America license */
- DRIVER( renegade ) /* TA-0018 (c) 1986 + Taito America license */
- DRIVER( kuniokun ) /* TA-0018 (c) 1986 */
- DRIVER( kuniokunb ) /* bootleg */
- DRIVER( xsleena ) /* TA-0019 (c) 1986 */
- DRIVER( xsleenab ) /* bootleg */
- DRIVER( solarwar ) /* TA-0019 (c) 1986 Taito + Memetron license */
- DRIVER( battlane ) /* -0215, -0216 (Data East part number) (c) 1986 + Taito license */
- DRIVER( battlane2 ) /* -0215, -0216 (Data East part number) (c) 1986 + Taito license */
- DRIVER( battlane3 ) /* -0215, -0216 (Data East part number) (c) 1986 + Taito license */
- DRIVER( ddragon ) /* TA-0021 (c) 1987 */
- DRIVER( ddragonu ) /* TA-0021 (c) 1987 Taito America */
- DRIVER( ddragonua ) /* TA-0021 (c) 1987 Taito America */
- DRIVER( ddragonub ) /* TA-0021 (c) 1987 Taito America */
- DRIVER( ddragonw ) /* TA-0021 (c) 1987 Taito */
- DRIVER( ddragonw1 ) /* TA-0021 (c) 1987 Taito */
- DRIVER( ddragonb ) /* bootleg */
- DRIVER( ddragonba ) /* bootleg */
- DRIVER( ddragon6809 ) /* bootleg */
- DRIVER( ddragon6809a ) /* bootleg */
- DRIVER( ddragonb2 ) /* bootleg */
- DRIVER( spdodgeb ) /* TA-0022 (c) 1987 */
- DRIVER( nkdodge ) /* TA-0022 (c) 1987 (Japan) */
- DRIVER( nkdodgeb ) /* TA-0022 (c) 1987 (Japan) */
- DRIVER( chinagat ) /* TA-0023 (c) 1988 Taito + Romstar license (US) */
- DRIVER( saiyugou ) /* TA-0023 (c) 1988 (Japan) */
- DRIVER( saiyugoub1 ) /* bootleg */
- DRIVER( saiyugoub2 ) /* bootleg */
- DRIVER( wwfsstar ) /* TA-0024 (c) 1989 (Europe) */
- DRIVER( wwfsstara ) /* TA-0024 (c) 1989 (US, newer) */
- DRIVER( wwfsstaru ) /* TA-0024 (c) 1989 (US) */
- DRIVER( wwfsstarj ) /* TA-0024 (c) 1989 (Japan) */
- DRIVER( vball ) /* TA-0025 (c) 1988 (US) */
- DRIVER( vball2pj ) /* TA-0025 (c) 1988 (Japan) */
- DRIVER( vballb ) /* TA-0025 (c) 1988 */
- DRIVER( ddragon2 ) /* TA-0026 (c) 1988 (World) */
- DRIVER( ddragon2u ) /* TA-0026 (c) 1988 (US) */
- DRIVER( toffy ) /* (c) 1993 Midas */
- DRIVER( stoffy ) /* (c) 1994 Midas + Unico */
- DRIVER( ddungeon ) /* Game Room */
- DRIVER( ddungeone ) /* East Coast Coin Company (Melbourne) */
- DRIVER( darktowr ) /* Game Room */
- DRIVER( tstrike ) /* East Coast Coin Company (Melbourne) */
- DRIVER( tstrikea ) /* Game Room */
- DRIVER( ctribe ) /* TA-0028 (c) 1990 (US) */
- DRIVER( ctribe1 ) /* TA-0028 (c) 1990 (US) - Set 1? */
- DRIVER( ctribej ) /* TA-0028 (c) 1990 (Japan) */
- DRIVER( ctribeb ) /* bootleg */
- DRIVER( ctribeb2 ) /* bootleg */
- DRIVER( blockout ) /* TA-0029 (c) 1989 + California Dreams */
- DRIVER( blockout2 ) /* TA-0029 (c) 1989 + California Dreams */
- DRIVER( blockoutj ) /* TA-0029 (c) 1989 + California Dreams (Japan) */
- DRIVER( agress ) /* TA-0029 (c) 1991 Palco */
- DRIVER( agressb ) /* TA-0029 (c) 1991 Palco */
- DRIVER( ddragon3 ) /* TA-0030 (c) 1990 */
- DRIVER( ddragon3p ) /* TA-0030 (c) 1990 */
- DRIVER( ddragon3j ) /* TA-0030 (c) 1990 (Japan) */
- DRIVER( ddragon3b ) /* bootleg */
- DRIVER( wwfwfest ) /* TA-0031 (c) 1991 (US) */
- DRIVER( wwfwfesta ) /* TA-0031 (c) 1991 + Tecmo license (US) */
- DRIVER( wwfwfestb ) /* bootleg */
- DRIVER( wwfwfestj ) /* TA-0031 (c) 1991 (Japan) */
- DRIVER( shadfrce ) /* TA-0032 (c) 1993 (US) */
- DRIVER( shadfrcej ) /* TA-0032 (c) 1993 (Japan) */
- DRIVER( shadfrcejv2 )/* TA-0032 (c) 1993 (Japan) */
-
- /* Stern "Berzerk hardware" games */
- DRIVER( berzerk ) /* (c) 1980 */
- DRIVER( berzerk1 ) /* (c) 1980 */
- DRIVER( berzerkg ) /* (c) 1980 */
- DRIVER( frenzy ) /* (c) 1982 */
- DRIVER( moonwarp ) /* (c) 1982 - prototype */
-
- /* Stern 'Mazer Blazer hardware' games */
- DRIVER( mazerbla ) /* (c) 1983 */
- DRIVER( mazerblaa ) /* (c) 1983 */
- DRIVER( greatgun ) /* (c) 1983 */
-
- /* Other Stern */
- DRIVER( cliffhgr ) /* (c) 1983 */
- DRIVER( cliffhgra ) /* (c) 1983 */
- DRIVER( goaltogo ) /* (c) 1983 */
-
- /* GamePlan games */
- DRIVER( toratora ) /* (c) 1980 Game Plan */
- DRIVER( megatack ) /* (c) 1980 Centuri */
- DRIVER( killcom ) /* (c) 1980 Centuri */
- DRIVER( challeng ) /* (c) 1981 Centuri */
- DRIVER( kaos ) /* (c) 1981 */
-
- /* Zaccaria games */
- DRIVER( sia2650 ) /* (c) 1978 */
- DRIVER( tinv2650 ) /* (c) 1978 */
- DRIVER( dodgem ) /* (c) 1979 */
- DRIVER( galaxia ) /* (c) 1979 */
- DRIVER( astrowar ) /* (c) 1980 */
- DRIVER( laserbat ) /* (c) 1981 */
- DRIVER( lazarian ) /* (c) 1981 */
- DRIVER( catnmous ) /* (c) 1982 */
- DRIVER( catnmousa ) /* (c) 1982 */
- DRIVER( monymony ) /* (c) 1983 */
- DRIVER( jackrabt ) /* (c) 1984 */
- DRIVER( jackrabt2 ) /* (c) 1984 */
- DRIVER( jackrabts ) /* (c) 1984 */
-
- /* UPL games */
- DRIVER( mouser ) /* UPL-83001 (c) 1983 */
- DRIVER( mouserc ) /* UPL-83001 (c) 1983 */
- DRIVER( nova2001 ) /* UPL-83005 (c) 1983 */
- DRIVER( nova2001u ) /* UPL-83005 (c) [1983] + Universal license */
- DRIVER( ninjakun ) /* UPL-84003 (c) 1984 Taito Corporation */
- DRIVER( raiders5 ) /* UPL-85004 (c) 1985 */
- DRIVER( raiders5t ) /* UPL-85004 (c) 1985 Taito license */
- DRIVER( pkunwar ) /* UPL-????? (c) 1985 (Arcade Game TV List - P.98, Left, 22 from top) */
- DRIVER( pkunwarj ) /* UPL-????? (c) 1985 (Arcade Game TV List - P.98, Left, 22 from top) */
- DRIVER( xxmissio ) /* UPL-86001 [1986] */
- DRIVER( ninjakd2 ) /* UPL-????? (c) 1987 */
- DRIVER( ninjakd2a ) /* UPL-????? (c) 1987 */
- DRIVER( ninjakd2b ) /* UPL-????? (c) 1987 */
- DRIVER( rdaction ) /* UPL-87003?(c) 1987 + World Games license */
- DRIVER( mnight ) /* UPL-????? (c) 1987 distributed by Kawakus */
- DRIVER( arkarea ) /* UPL-87007 (c) 1988 (Arcade TV Game List - P.67, Right, 2 from top)*/
- DRIVER( robokid ) /* UPL-88013 (c) 1988 */
- DRIVER( robokidj ) /* UPL-88013 (c) 1988 */
- DRIVER( robokidj2 ) /* UPL-88013 (c) 1988 */
- DRIVER( omegaf ) /* UPL-89016 (c) 1989 */
- DRIVER( omegafs ) /* UPL-89016 (c) 1989 */
-
- /* UPL/NMK/Banpresto games */
- DRIVER( urashima ) /* UPL-89052 */
- DRIVER( tharrier ) /* UPL-89053 (c) 1989 UPL + American Sammy license */
- DRIVER( tharrierj ) /* UPL-89053 (c) 1989 UPL (Japan) */
- DRIVER( mustang ) /* UPL-90058 (c) 1990 UPL */
- DRIVER( mustangs ) /* UPL-90058 (c) 1990 UPL + Seoul Trading */
- DRIVER( bioship ) /* UPL-90062 (c) 1990 UPL + American Sammy license */
- DRIVER( sbsgomo ) /* UPL-90062 (c) 1990 UPL */
- DRIVER( vandyke ) /* UPL-90064 (c) UPL */
- DRIVER( vandykejal ) /* UPL-90064 (c) Jaleco */
- DRIVER( vandykejal2 ) /* UPL-90064 (c) Jaleco */
- DRIVER( vandykeb ) /* bootleg */
- DRIVER( blkheart ) /* UPL-91069 */
- DRIVER( blkheartj ) /* UPL-91069 */
- DRIVER( acrobatm ) /* UPL-91073 (c) 1991 UPL + Taito license */
- DRIVER( strahl ) /* UPL-91074 (c) 1992 UPL (Japan) */
- DRIVER( strahla ) /* UPL-91074 (c) 1992 UPL (Japan) */
- DRIVER( bjtwin ) /* UPL-93087 (c) 1993 NMK */
- DRIVER( bjtwina ) /* UPL-93087 (c) 1993 NMK */
- DRIVER( bjtwinp ) /* UPL-93087 (c) 1993 NMK */
- DRIVER( tdragon2 ) /* UPL-93091 (c) 1993 NMK */
- DRIVER( tdragon2a ) /* UPL-93091 (c) 1993 NMK */
- DRIVER( bigbang ) /* UPL-93091 (c) 1993 NMK */
- DRIVER( tdragon ) /* (c) 1991 NMK / Tecmo */
- DRIVER( tdragon1 ) /* (c) 1991 NMK / Tecmo */
- DRIVER( hachamf ) /* (c) 1991 NMK */
- DRIVER( macross ) /* (c) 1992 Banpresto */
- DRIVER( riot ) /* (c) 1992 NMK */
- DRIVER( gunnail ) /* (c) 1993 NMK / Tecmo */
- DRIVER( macross2 ) /* (c) 1993 Banpresto */
- DRIVER( sabotenb ) /* (c) 1992 NMK / Tecmo */
- DRIVER( sabotenba ) /* (c) 1992 NMK / Tecmo */
- DRIVER( cactus ) /* bootleg */
- DRIVER( nouryoku ) /* (c) 1995 Tecmo */
- DRIVER( raphero ) /* (c) 1994 Media Trading Corp */
-
- /* nmk16.c bootlegs using the Seibu Sound System */
- DRIVER( mustangb ) /* bootleg */
- DRIVER( mustangb2 ) /* TAB Austria bootleg */
- DRIVER( tdragonb ) /* bootleg */
-
- /* Comad games on unofficial hardware based on nmk16.c */
- DRIVER( ssmissin ) /* (c) 1992 Comad */
- DRIVER( airattck ) /* (c) 1996 Comad */
- DRIVER( airattcka ) /* (c) 1996 Comad */
-
- /* Bee-Oh games on unofficial hardware based on nmk16.c */
- DRIVER( manybloc ) /* (c) 1991 Bee-Oh */
-
- /* Jaleco Mahjong Games, Similar Hardware to the NMK ones above? */
- DRIVER( daireika ) /* (c) 1989 Jaleco/NMK */
- DRIVER( mjzoomin ) /* (c) 1990 */
- DRIVER( kakumei ) /* (c) 1990 */
- DRIVER( kakumei2 ) /* (c) 1992 */
- DRIVER( suchipi ) /* (c) 1993 */
-
- /* NMK Double Dealer, Similar Hardware to Jaleco Mahjong games above */
- DRIVER( ddealer ) /* (c) 1991 NMK */
-
- /* Based on nmk16? */
- DRIVER( quizpani ) /* (c) 1993 NMK */
- DRIVER( acommand ) /* (c) 1990 */
-
- /* don't know what hardare Banpresto used for these games */
- DRIVER( macrossp ) /* (c) 1996 Banpresto */
- DRIVER( quizmoon ) /* (c) 1997 Banpresto */
-
- /* Face/NMK games */
- DRIVER( gakupara ) /* (c) 1991 NMK */
- DRIVER( quizdna ) /* (c) 1992 Face */
- DRIVER( gekiretu ) /* (c) 1992 Face */
- DRIVER( cultures ) /* (c) 1994 Face */
-
- /* Williams/Midway TMS games */
- DRIVER( narc ) /* (c) 1988 Williams */
- DRIVER( narc3 ) /* (c) 1988 Williams */
- DRIVER( narc2 ) /* (c) 1988 Williams */
- DRIVER( trog ) /* (c) 1990 Midway */
- DRIVER( trog4 ) /* (c) 1990 Midway */
- DRIVER( trog3 ) /* (c) 1990 Midway */
- DRIVER( trogpa6 ) /* (c) 1990 Midway */
- DRIVER( trogpa4 ) /* (c) 1990 Midway */
- DRIVER( smashtv ) /* (c) 1990 Williams */
- DRIVER( smashtv6 ) /* (c) 1990 Williams */
- DRIVER( smashtv5 ) /* (c) 1990 Williams */
- DRIVER( smashtv4 ) /* (c) 1990 Williams */
- DRIVER( smashtv3 ) /* (c) 1990 Williams */
- DRIVER( hiimpact ) /* (c) 1990 Williams */
- DRIVER( hiimpact4 ) /* (c) 1990 Williams */
- DRIVER( hiimpact3 ) /* (c) 1990 Williams */
- DRIVER( hiimpact2 ) /* (c) 1990 Williams */
- DRIVER( hiimpact1 ) /* (c) 1990 Williams */
- DRIVER( hiimpactp ) /* (c) 1990 Williams */
- DRIVER( shimpact ) /* (c) 1991 Midway */
- DRIVER( shimpactp6 ) /* (c) 1991 Midway */
- DRIVER( shimpactp5 ) /* (c) 1991 Midway */
- DRIVER( shimpactp4 ) /* (c) 1991 Midway */
- DRIVER( strkforc ) /* (c) 1991 Midway */
- DRIVER( mk ) /* (c) 1992 Midway */
- DRIVER( mkr4 ) /* (c) 1992 Midway */
- DRIVER( mktturbo ) /* hack */
- DRIVER( mkyturbo ) /* hack */
- DRIVER( mkprot4 ) /* (c) 1992 Midway */
- DRIVER( mkprot8 ) /* (c) 1992 Midway */
- DRIVER( mkprot9 ) /* (c) 1992 Midway */
- DRIVER( mkla1 ) /* (c) 1992 Midway */
- DRIVER( mkla2 ) /* (c) 1992 Midway */
- DRIVER( mkla3 ) /* (c) 1992 Midway */
- DRIVER( mkla4 ) /* (c) 1992 Midway */
- DRIVER( mkyawdim ) /* bootleg */
- DRIVER( term2 ) /* (c) 1992 Midway */
- DRIVER( term2la3 ) /* (c) 1992 Midway */
- DRIVER( term2la2 ) /* (c) 1992 Midway */
- DRIVER( term2la1 ) /* (c) 1992 Midway */
- DRIVER( totcarn ) /* (c) 1992 Midway */
- DRIVER( totcarnp ) /* (c) 1992 Midway */
- DRIVER( mk2 ) /* (c) 1993 Midway */
- DRIVER( mk2r31e ) /* (c) 1993 Midway */
- DRIVER( mk2r32 ) /* (c) 1993 Midway */
- DRIVER( mk2r30 ) /* (c) 1993 Midway */
- DRIVER( mk2r21 ) /* (c) 1993 Midway */
- DRIVER( mk2r14 ) /* (c) 1993 Midway */
- DRIVER( mk2r11 ) /* (c) 1993 Midway */
- DRIVER( mk2r42 ) /* hack */
- DRIVER( mk2r91 ) /* hack */
- DRIVER( mk2chal ) /* hack */
- DRIVER( jdreddp ) /* (c) 1993 Midway */
- DRIVER( nbajam ) /* (c) 1993 Midway */
- DRIVER( nbajamr2 ) /* (c) 1993 Midway */
- DRIVER( nbajamte ) /* (c) 1994 Midway */
- DRIVER( nbajamt1 ) /* (c) 1994 Midway */
- DRIVER( nbajamt2 ) /* (c) 1994 Midway */
- DRIVER( nbajamt3 ) /* (c) 1994 Midway */
- DRIVER( revx ) /* (c) 1994 Midway */
- DRIVER( mk3 ) /* (c) 1994 Midway */
- DRIVER( mk3r20 ) /* (c) 1994 Midway */
- DRIVER( mk3r10 ) /* (c) 1994 Midway */
- DRIVER( mk3p40 ) /* (c) 1994 Midway */
- DRIVER( umk3 ) /* (c) 1994 Midway */
- DRIVER( umk3r11 ) /* (c) 1994 Midway */
- DRIVER( umk3r10 ) /* (c) 1994 Midway */
- DRIVER( wwfmania ) /* (c) 1995 Midway */
- DRIVER( wwfmaniab ) /* (c) 1995 Midway */
- DRIVER( openice ) /* (c) 1995 Midway */
- DRIVER( nbahangt ) /* (c) 1996 Midway */
- DRIVER( nbamht ) /* (c) 1996 Midway */
- DRIVER( nbamht1 ) /* (c) 1996 Midway */
- DRIVER( rmpgwt ) /* (c) 1997 Midway */
- DRIVER( rmpgwt11 ) /* (c) 1997 Midway */
-
- /* Midway V-unit games */
- DRIVER( crusnusa ) /* (c) 1994 Midway */
- DRIVER( crusnusa40 ) /* (c) 1994 Midway */
- DRIVER( crusnusa21 ) /* (c) 1994 Midway */
- DRIVER( crusnwld ) /* (c) 1996 Midway */
- DRIVER( crusnwld23 ) /* (c) 1996 Midway */
- DRIVER( crusnwld20 ) /* (c) 1996 Midway */
- DRIVER( crusnwld17 ) /* (c) 1996 Midway */
- DRIVER( crusnwld13 ) /* (c) 1996 Midway */
- DRIVER( offroadc ) /* (c) 1997 Midway (v1.63) */
- DRIVER( offroadc4 ) /* (c) 1997 Midway (v1.40) */
- DRIVER( offroadc3 ) /* (c) 1997 Midway (v1.30) */
- DRIVER( offroadc1 ) /* (c) 1997 Midway (v1.10) */
- DRIVER( wargods ) /* (c) 1996 Midway */
-
- /* Midway Zeus games */
- DRIVER( mk4 ) /* (c) 1997 Midway (v3.0) Latest offical release */
- DRIVER( mk4a ) /* (c) 1997 Midway (v2.1) */
- DRIVER( mk4b ) /* (c) 1997 Midway (v1.0) */
- DRIVER( invasnab ) /* (c) 1999 Midway (v5.0) Latest offical release */
- DRIVER( invasnv4 ) /* (c) 1999 Midway (v4.0) */
- DRIVER( crusnexo ) /* (c) 1999 Midway (v2.4) Latest offical release */
- DRIVER( crusnexoa ) /* (c) 1999 Midway (v2.0) */
- DRIVER( crusnexob ) /* (c) 1999 Midway (v1.6) */
- DRIVER( thegrid ) /* (c) 2001 Midway (v1.2) Latest offical release */
- DRIVER( thegrida ) /* (c) 2001 Midway (v1.1) */
-
- /* Midway / Atari Voodoo based Hardware (Seattle, Flagstaff) */
- DRIVER( wg3dh ) /* (c) 1996 Atari Games */
- DRIVER( mace ) /* (c) 1996 Atari Games */
- DRIVER( macea ) /* (c) 1996 Atari Games */
- DRIVER( sfrush ) /* (c) 1996 Atari Games */
- DRIVER( sfrushrk ) /* (c) 1996 Atari Games */
- DRIVER( calspeed ) /* (c) 1996 Atari Games */
- DRIVER( calspeeda ) /* (c) 1996 Atari Games */
- DRIVER( vaportrx ) /* (c) 1998 Atari Games */
- DRIVER( vaportrxp ) /* (c) 1998 Atari Games */
- DRIVER( carnevil ) /* (c) 1998 Midway Games (v1.0.3) */
- DRIVER( carnevil1 ) /* (c) 1998 Midway Games (v1.0.1) */
- DRIVER( biofreak ) /* (c) 1997 Midway Games (prototype) */
- DRIVER( blitz ) /* (c) 1997 Midway Games */
- DRIVER( blitz11 ) /* (c) 1997 Midway Games */
- DRIVER( blitz99 ) /* (c) 1998 Midway Games */
- DRIVER( blitz2k ) /* (c) 1999 Midway Games */
- DRIVER( hyprdriv ) /* (c) 1998 Midway Games */
-
- /* Midway / Atari Voodoo 2 & 3 - based Hardware (Vegas, Denver, Durango) */
- DRIVER( gauntleg ) /* (c) 1998 Atari Games */
- DRIVER( gauntleg12 ) /* (c) 1998 Atari Games */
- DRIVER( tenthdeg ) /* (c) 1998 Atari Games (prototype) */
- DRIVER( roadburn ) /* (c) 1999 Atari Games */
- DRIVER( sf2049 ) /* (c) 1999 Atari Games */
- DRIVER( sf2049se ) /* (c) 1999 Atari Games */
- DRIVER( sf2049te ) /* (c) 1999 Atari Games */
- DRIVER( warfa ) /* (c) 1999 Atari Games */
- DRIVER( nbashowt ) /* (c) 1998 Midway Games */
- DRIVER( nbanfl ) /* (c) 1999 Midway Games */
- DRIVER( gauntdl ) /* (c) 1999 Midway Games */
- DRIVER( gauntdl24 ) /* (c) 1999 Midway Games */
- DRIVER( cartfury ) /* (c) 2000 Midway Games */
-
- /* Midway Quicksilver */
- DRIVER( hydrthnd ) /* (c) 1999 Midway Games */
- DRIVER( offrthnd ) /* (c) 2000 Midway Games */
-
- /* Midway Touchmaster / Galaxy Games */
- DRIVER( tm ) /* (c) 1996 Midway Games */
- DRIVER( tmdo ) /* (c) 1996 Midway Games */
- DRIVER( tm2k ) /* (c) 1996 Midway Games */
- DRIVER( tm2ka ) /* (c) 1996 Midway Games */
- DRIVER( tm2kb ) /* (c) 1996 Midway Games */
- DRIVER( tm3k ) /* (c) 1997 Midway Games */
- DRIVER( tm3ka ) /* (c) 1997 Midway Games */
- DRIVER( tm4k ) /* (c) 1998 Midway Games */
- DRIVER( tm4ka ) /* (c) 1998 Midway Games */
- DRIVER( tm4kb ) /* (c) 1998 Midway Games */
- DRIVER( tm5k ) /* (c) 1998 Midway Games */
- DRIVER( tm5kca ) /* (c) 1998 Midway Games */
- DRIVER( tm5ka ) /* (c) 1998 Midway Games */
- DRIVER( tm7k ) /* (c) 1999 Midway Games */
- DRIVER( tm7ka ) /* (c) 1999 Midway Games */
- DRIVER( tm7keval ) /* (c) 1999 Midway Games */
- DRIVER( tm8k ) /* (c) 2000 Midway Games */
- DRIVER( tm8k902 ) /* (c) 2000 Midway Games */
- DRIVER( galgbios ) /* (c) 1998 Creative Electronics & Software (CES) */
- DRIVER( galgame2 ) /* (c) 1998 Creative Electronics & Software (CES) / Namco */
-
- /* Creative Electronics & Software */
- DRIVER( hrclass )
- DRIVER( ccclass )
- DRIVER( tsclass )
-
- /* Cinematronics raster games */
- DRIVER( embargo )
- DRIVER( tripool ) /* (c) 1981 Noma (Casino Tech license) */
- DRIVER( tripoola ) /* (c) 1981 Noma (Costal Games license) */
- DRIVER( unclepoo ) /* (c) 1983 Diatec */
- DRIVER( joinem ) /* (c) 1986 Global */
- DRIVER( loverboy ) /* (c) 1983 Global */
- DRIVER( striv ) /* (c) 1985 Hara Industries */
- DRIVER( jack ) /* (c) 1982 Cinematronics */
- DRIVER( jack2 ) /* (c) 1982 Cinematronics */
- DRIVER( jack3 ) /* (c) 1982 Cinematronics */
- DRIVER( treahunt ) /* (c) 1982 Hara Ind. */
- DRIVER( zzyzzyxx ) /* (c) 1982 Cinematronics + Advanced Microcomputer Systems */
- DRIVER( zzyzzyxx2 ) /* (c) 1982 Cinematronics + Advanced Microcomputer Systems */
- DRIVER( brix ) /* (c) 1982 Cinematronics + Advanced Microcomputer Systems */
- DRIVER( freeze ) /* Cinematronics */
- DRIVER( sucasino ) /* (c) 1982 Data Amusement */
-
- /* Cinematronics vector games */
- DRIVER( spacewar ) /* (c) 1977 */
- DRIVER( spaceshp ) /* (c) 1978 Cinematronics (Sega licence) */
- DRIVER( barrier ) /* (c) 1979 Vectorbeam */
- DRIVER( starcas ) /* (c) 1980 */
- DRIVER( starcas1 ) /* (c) 1980 */
- DRIVER( starcasp ) /* (c) 1980 prototype */
- DRIVER( starcase ) /* (c) 1980 Cinematronics (Mottoeis license) */
- DRIVER( stellcas ) /* bootleg */
- DRIVER( spaceftr ) /* (c) 1981 Zaccaria */
- DRIVER( tailg ) /* (c) 1979 */
- DRIVER( ripoff ) /* (c) 1980 */
- DRIVER( armora ) /* (c) 1980 */
- DRIVER( armorap ) /* (c) 1980 */
- DRIVER( armorar ) /* (c) 1980 Cinematronics (Rock-ola license) */
- DRIVER( wotw ) /* (c) 1981 */
- DRIVER( wotwc ) /* (c) 1981 */
- DRIVER( warrior ) /* (c) 1979 Vectorbeam */
- DRIVER( starhawk ) /* (c) 1979 */
- DRIVER( solarq ) /* (c) 1981 */
- DRIVER( boxingb ) /* (c) 1981 */
- DRIVER( speedfrk ) /* (c) 1979 Vectorbeam */
- DRIVER( sundance ) /* (c) 1979 */
- DRIVER( demon ) /* (c) 1982 Rock-ola */
- DRIVER( qb3 ) /* (c) 1982 Rock-ola - prototype */
- /* this one uses 68000+Z80 instead of the Cinematronics CPU */
- DRIVER( cchasm )
- DRIVER( cchasm1 ) /* (c) 1983 Cinematronics / GCE */
-
- /* "The Pit hardware" games */
- DRIVER( roundup ) /* (c) 1981 Amenip/Centuri */
- DRIVER( fitter ) /* (c) 1981 Taito */
- DRIVER( fitterbl ) /* bootleg */
- DRIVER( thepit ) /* (c) 1982 Zilec */
- DRIVER( thepitu1 ) /* (c) 1982 Centuri (licensed) */
- DRIVER( thepitu2 ) /* (c) 1982 Centuri (licensed) */
- DRIVER( thepitj ) /* (c) 1982 Taito (licensed) */
- DRIVER( thepitm ) /* bootleg */
- DRIVER( dockman ) /* (c) 1982 Taito Corp. */
- DRIVER( portman ) /* (c) 1982 Nova Games Ltd. */
- DRIVER( suprmous ) /* (c) 1982 Taito */
- DRIVER( funnymou ) /* (c) 1982 Chuo Co. Ltd */
- DRIVER( machomou ) /* (c) 1982 Techstar */
- DRIVER( intrepid ) /* (c) 1983 Nova Games Ltd. */
- DRIVER( intrepid2 ) /* (c) 1983 Nova Games Ltd. */
- DRIVER( zaryavos ) /* (c) 1983 Nova Games of Canada (prototype) */
- DRIVER( timelimt ) /* (c) 1983 Chuo Co. Ltd */
- DRIVER( progress ) /* (c) 1984 Chuo Co. Ltd */
- DRIVER( koroleva ) /* (c) 1988 Terminal */
- DRIVER( rtriv ) /* (c) 198? Romar */
-
- /* TIA-MC1 hardware games */
- DRIVER( konek ) /* (c) 1988 Terminal */
- DRIVER( sosterm ) /* (c) 1988 Terminal */
- DRIVER( bilyard ) /* (c) 1988 Terminal */
-
- /* Photon hardware games */
- DRIVER( phtetris )
- DRIVER( phpython )
- DRIVER( phklad )
-
- /* Photon IK2 hardware */
- DRIVER( kok )
- DRIVER( black )
- DRIVER( brod )
-
- /* Valadon Automation games */
- DRIVER( bagman ) /* (c) 1982 */
- DRIVER( bagnard ) /* (c) 1982 */
- DRIVER( bagnarda ) /* (c) 1982 */
- DRIVER( bagmans ) /* (c) 1982 + Stern license */
- DRIVER( bagmans2 ) /* (c) 1982 + Stern license */
- DRIVER( pickin ) /* (c) 1983 */
- DRIVER( supdrapo ) /* (c) 1983 + Stern license */
- DRIVER( supdrapoa ) /* (c) 1983 + Jeutel license? */
- DRIVER( supdrapob ) /* bootleg */
- DRIVER( sbagman ) /* (c) 1984 */
- DRIVER( sbagmans ) /* (c) 1984 + Stern license */
- DRIVER( botanic ) /* (c) 1985 */
- DRIVER( squaitsa ) /* (c) 1985 */
- DRIVER( tankbust ) /* (c) 1985 */
-
- /* Seibu Denshi / Seibu Kaihatsu games */
- DRIVER( stinger ) /* (c) 1983 Seibu Denshi */
- DRIVER( stinger2 ) /* (c) 1983 Seibu Denshi */
- DRIVER( scion ) /* (c) 1984 Seibu Denshi */
- DRIVER( scionc ) /* (c) 1984 Seibu Denshi + Cinematronics license */
- DRIVER( kungfut ) /* (c) 1984 Seibu Kaihatsu */
- DRIVER( kungfuta ) /* (c) 1984 Seibu Kaihatsu */
- DRIVER( wiz ) /* (c) 1985 Seibu Kaihatsu */
- DRIVER( wizt ) /* (c) 1985 Taito Corporation */
- DRIVER( wizta ) /* (c) 1985 Taito Corporation */
- DRIVER( kncljoe ) /* (c) 1985 Taito Corporation */
- DRIVER( kncljoea ) /* (c) 1985 Taito Corporation */
- DRIVER( bcrusher ) /* bootleg */
- DRIVER( empcity ) /* (c) 1986 Seibu Kaihatsu (bootleg?) */
- DRIVER( empcityu ) /* (c) 1986 Taito (Romstar License) */
- DRIVER( empcityj ) /* (c) 1986 Taito Corporation (Japan) */
- DRIVER( empcityi ) /* (c) 1986 Seibu Kaihatsu (Eurobed license) */
- DRIVER( stfight ) /* (c) 1986 Seibu Kaihatsu (Germany) (bootleg?) */
- DRIVER( stfighta ) /* (c) 1986 Seibu Kaihatsu (bootleg?) */
- DRIVER( darkmist ) /* (c) 1986 Taito */
- DRIVER( mustache ) /* (c) 1987 March */
- DRIVER( cshooter ) /* (c) 1987 Taito */
- DRIVER( cshootere ) /* (c) 1987 JKH (bootleg) */
- DRIVER( airraid ) /* (c) 1987 Seibu Kaihatsu */
- DRIVER( panicr ) /* Seibu / Taito */
- DRIVER( deadang ) /* (c) 1988 Seibu Kaihatsu */
- DRIVER( leadang ) /* (c) 1988 Seibu Kaihatsu */
- DRIVER( ghunter ) /* (c) 1988 Seibu Kaihatsu + Segasa/Sonic license */
- DRIVER( dynduke ) /* (c) 1989 Seibu Kaihatsu + Fabtek license */
- DRIVER( dyndukef ) /* (c) 1989 Seibu Kaihatsu + Fabtek license */
- DRIVER( dbldyn ) /* (c) 1989 Seibu Kaihatsu + Fabtek license */
- DRIVER( dbldynf ) /* (c) 1989 Seibu Kaihatsu + Fabtek license */
- DRIVER( raiden ) /* (c) 1990 Seibu Kaihatsu */
- DRIVER( raidena ) /* (c) 1990 Seibu Kaihatsu */
- DRIVER( raidenk ) /* (c) 1990 Seibu Kaihatsu + IBL Corporation license */
- DRIVER( raident ) /* (c) 1990 Seibu Kaihatsu + Liang HWA Electronics license */
- DRIVER( raidenu ) /* (c) 1990 Seibu Kaihatsu + Fabtek license */
- DRIVER( raidenua ) /* (c) 1990 Seibu Kaihatsu + Fabtek license */
- DRIVER( sdgndmps ) /* (c) Banpresto / Bandai (Japan) */
- DRIVER( dcon ) /* (c) 1992 Success */
- DRIVER( sengokmj ) /* (c) 1991 Sigma */
- DRIVER( totmejan ) /* (c) 1991 Seibu/Tecmo */
- DRIVER( goodejan ) /* (c) 1991 Seibu/Tecmo */
- DRIVER( goodejana ) /* (c) 1991 Seibu/Tecmo */
-
-
- DRIVER( raiden2 ) /* (c) 1993 Seibu Kaihatsu + Fabtek license */
- DRIVER( raiden2a ) /* (c) 1993 Seibu Kaihatsu + Metrotainment license */
- DRIVER( raiden2b ) /* (c) 1993 Seibu Kaihatsu */
- DRIVER( raiden2c ) /* (c) 1993 Seibu Kaihatsu */
- DRIVER( raiden2d ) /* (c) 1993 Seibu Kaihatsu */
- DRIVER( raiden2e ) /* (c) 1993 Seibu Kaihatsu */
- DRIVER( raiden2f ) /* (c) 1993 Seibu Kaihatsu */
- DRIVER( raidndx ) /* (c) 1994 Seibu Kaihatsu */
- DRIVER( raidndxj ) /* (c) 1994 Seibu Kaihatsu */
- DRIVER( raidndxu ) /* (c) 1994 Seibu Kaihatsu + Fabtek license */
- DRIVER( raidndxa1 ) /* (c) 1994 Seibu Kaihatsu + Metrotainment license */
- DRIVER( raidndxa2 ) /* (c) 1994 Seibu Kaihatsu + Metrotainment license */
- DRIVER( raidndxg ) /* (c) 1994 Seibu Kaihatsu + Tuning license */
- DRIVER( zeroteam ) /* (c) 1993 Seibu Kaihatsu */
- DRIVER( zeroteama ) /* (c) 1993 Seibu Kaihatsu */
- DRIVER( zeroteamb ) /* (c) 1993 Seibu Kaihatsu */
- DRIVER( zeroteamc ) /* (c) 1993 Seibu Kaihatsu */
- DRIVER( zeroteams ) /* (c) 1993 Seibu Kaihatsu */
- DRIVER( zeroteamsr )/* (c) 1993 Seibu Kaihatsu */
- DRIVER( xsedae ) /* (c) 1995 Dream Island */
-
- /* Newer V33 PCB with COP3 protection */
- DRIVER( r2dx_v33 ) /* (c) 1996 Seibu Kaihatsu */
- DRIVER( nzerotea ) /* (c) 1997 Seibu Kaihatsu */
-
- /* Seibu SPI System games */
-
- DRIVER( senkyu ) /* (c) 1995 Seibu Kaihatsu */
- DRIVER( senkyua ) /* (c) 1995 Seibu Kaihatsu */
- DRIVER( batlball ) /* (c) 1995 Seibu Kaihatsu (Tuning License) */
- DRIVER( batlballa ) /* (c) 1995 Seibu Kaihatsu (Metrotainment License) */
- DRIVER( batlballu ) /* (c) 1995 Seibu Kaihatsu (Metrotainment License) */
-
- DRIVER( viprp1 ) /* (c) 1995 Seibu Kaihatsu */
- DRIVER( viprp1u ) /* (c) 1995 Seibu Kaihatsu (Fabtek license) */
- DRIVER( viprp1j ) /* (c) 1995 Seibu Kaihatsu */
- DRIVER( viprp1s ) /* (c) 1995 Seibu Kaihatsu */
- DRIVER( viprp1oj ) /* (c) 1995 Seibu Kaihatsu */
- DRIVER( viprp1ot ) /* (c) 1995 Seibu Kaihatsu (Tuning License) */
- DRIVER( viprp1hk ) /* (c) 1995 Seibu Kaihatsu (Metrotainment License) */
-
- DRIVER( ejanhs ) /* (c) 1996 Seibu Kaihatsu */
-
- DRIVER( rdft ) /* (c) 1996 Seibu Kaihatsu */
- DRIVER( rdftu ) /* (c) 1996 Seibu Kaihatsu (Fabtek license) */
- DRIVER( rdftau ) /* (c) 1996 Seibu Kaihatsu */
- DRIVER( rdftj ) /* (c) 1996 Seibu Kaihatsu */
- DRIVER( rdftadi ) /* (c) 1996 Seibu Kaihatsu (Dream Island license) */
- DRIVER( rdftam ) /* (c) 1996 Seibu Kaihatsu (Metrotainment license) */
- DRIVER( rdftit ) /* (c) 1996 Seibu Kaihatsu */
- DRIVER( rdfta ) /* (c) 1996 Seibu Kaihatsu */
-
- DRIVER( rdft2 ) /* (c) 1997 Seibu Kaihatsu (Tuning License) */
- DRIVER( rdft2a ) /* (c) 1997 Seibu Kaihatsu (Metrotainment license) */
- DRIVER( rdft2a2 ) /* (c) 1997 Seibu Kaihatsu (Dream Island license) */
- DRIVER( rdft2j ) /* (c) 1997 Seibu Kaihatsu */
- DRIVER( rdft2j2 ) /* (c) 1997 Seibu Kaihatsu */
- DRIVER( rdft2t ) /* (c) 1997 Seibu Kaihatsu */
- DRIVER( rdft2u ) /* (c) 1997 Seibu Kaihatsu (Fabtek license) */
- DRIVER( rdft2us ) /* (c) 1997 Seibu Kaihatsu (Fabtek license) */
- DRIVER( rdft22kc ) /* (c) 2000 Seibu Kaihatsu */
-
- DRIVER( rfjet ) /* (c) 1998 Seibu Kaihatsu (Tuning License) */
- DRIVER( rfjetu ) /* (c) 1998 Seibu Kaihatsu (Fabtek license) */
- DRIVER( rfjeta ) /* (c) 1998 Seibu Kaihatsu (Dream Island license) */
- DRIVER( rfjetj ) /* (c) 1998 Seibu Kaihatsu */
- DRIVER( rfjets ) /* (c) 1998 Seibu Kaihatsu */
- DRIVER( rfjet2kc ) /* (c) 2000 Seibu Kaihatsu */
-
- DRIVER( ejsakura ) /* (c) 1999 Seibu Kaihatsu */
- DRIVER( ejsakura12 ) /* (c) 1999 Seibu Kaihatsu */
-
- /* Seibu System SH2B games */
- DRIVER( feversoc ) /* (c) 2000 */
-
- /* Tad games (Tad games run on Seibu hardware) */
- DRIVER( cabal ) /* (c) 1988 Tad + Fabtek license */
- DRIVER( cabala ) /* (c) 1988 Tad + Fabtek license */
- DRIVER( cabalbl ) /* bootleg */
- DRIVER( cabalbl2 ) /* bootleg */
- DRIVER( cabalus ) /* (c) 1988 Tad + Fabtek license */
- DRIVER( cabalus2 ) /* (c) 1988 Tad + Fabtek license */
- DRIVER( toki ) /* (c) 1989 Tad (World) */
- DRIVER( tokia ) /* (c) 1989 Tad (World) */
- DRIVER( tokiu ) /* (c) 1989 Tad + Fabtek license (US) */
- DRIVER( tokiua ) /* (c) 1989 Tad + Fabtek license (US) */
- DRIVER( tokib ) /* bootleg */
- DRIVER( juju ) /* (c) 1989 Tad (Japan) */
- DRIVER( jujub ) /* (c) 1989 Tad (Japan) */
- DRIVER( bloodbro ) /* (c) 1990 Tad */
- DRIVER( bloodbroa ) /* (c) 1990 Tad */
- DRIVER( bloodbrob ) /* (c) 1990 Tad */
- DRIVER( weststry ) /* bootleg */
- DRIVER( skysmash ) /* (c) 1990 Nihon System Inc. */
- DRIVER( legionna ) /* (c) 1992 Tad (World) */
- DRIVER( legionnau ) /* (c) 1992 Tad + Fabtek license (US) */
- DRIVER( heatbrl ) /* (c) 1992 Tad (World version 3) */
- DRIVER( heatbrl2 ) /* (c) 1992 Tad (World version 2) */
- DRIVER( heatbrlo ) /* (c) 1992 Tad (World) */
- DRIVER( heatbrlu ) /* (c) 1992 Tad (US) */
- DRIVER( godzilla ) /* (c) 1993 Banpresto */
- DRIVER( denjinmk ) /* (c) 199? Banpresto */
- DRIVER( grainbow ) /* (c) 1993 Banpresto */
- DRIVER( cupsoc ) /* (c) 1992 Seibu */
- DRIVER( cupsoca ) /* (c) 1992 Seibu */
- DRIVER( cupsocs ) /* (c) 1992 Seibu */
- DRIVER( cupsocs2 ) /* (c) 1992 Seibu */
- DRIVER( cupsocsb ) /* bootleg */
- DRIVER( cupsocsb2 ) /* bootleg */
- DRIVER( olysoc92 ) /* (c) 1992 Seibu */
- DRIVER( goal92 ) /* bootleg */
-
- /* Jaleco games */
- DRIVER( exerion ) /* (c) 1983 Jaleco */
- DRIVER( exeriont ) /* (c) 1983 Jaleco + Taito America license */
- DRIVER( exerionb ) /* bootleg */
- DRIVER( fcombat ) /* (c) 1985 Jaleco */
- DRIVER( pturn ) /* (c) 1984 Jaleco */
- DRIVER( ddayjlc ) /* (c) 1984 Jaleco */
- DRIVER( ddayjlca ) /* (c) 1984 Jaleco */
- DRIVER( formatz ) /* (c) 1984 Jaleco */
- DRIVER( aeroboto ) /* (c) 1984 Williams */
- DRIVER( citycon ) /* (c) 1985 Jaleco */
- DRIVER( citycona ) /* (c) 1985 Jaleco */
- DRIVER( cruisin ) /* (c) 1985 Jaleco/Kitkorp */
- DRIVER( momoko ) /* (c) 1986 Jaleco */
- DRIVER( argus ) /* (c) 1986 Jaleco */
- DRIVER( valtric ) /* (c) 1986 Jaleco */
- DRIVER( butasan ) /* (c) 1987 Jaleco */
- DRIVER( psychic5 ) /* (c) 1987 Jaleco */
- DRIVER( psychic5a ) /* (c) 1987 Jaleco */
- DRIVER( bombsa ) /* (c) 1988 Jaleco */
- DRIVER( ginganin ) /* (c) 1987 Jaleco */
- DRIVER( ginganina ) /* (c) 1987 Jaleco */
- DRIVER( skyfox ) /* (c) 1987 Jaleco + Nichibutsu USA license */
- DRIVER( exerizer ) /* (c) 1987? Jaleco */
- DRIVER( exerizerb ) /* bootleg */
- DRIVER( homerun ) /* (c) 1988 Jaleco */
- DRIVER( dynashot ) /* (c) 1988 Jaleco */
- DRIVER( bigrun ) /* (c) 1989 Jaleco */
- DRIVER( cischeat ) /* (c) 1990 Jaleco */
- DRIVER( f1gpstar ) /* (c) 1991 Jaleco */
- DRIVER( armchmp2 ) /* (c) 1992 Jaleco */
- DRIVER( armchmp2o ) /* (c) 1992 Jaleco */
- DRIVER( wildplt ) /* (c) 1992 Jaleco */
- DRIVER( f1gpstr2 ) /* (c) 1993 Jaleco */
- DRIVER( scudhamm ) /* (c) 1994 Jaleco */
- DRIVER( tetrisp2 ) /* (c) 1997 Jaleco */
- DRIVER( tetrisp2j ) /* (c) 1997 Jaleco */
- DRIVER( tetrisp2ja )/* (c) 1997 Jaleco */
- DRIVER( nndmseal ) /* (c) 1997 I'Max/Jaleco */
- DRIVER( stepstag ) /* (c) 1999 Jaleco */
- DRIVER( step3 ) /* (c) 1999 Jaleco */
- DRIVER( rockn ) /* (c) 1999 Jaleco */
- DRIVER( rockna ) /* (c) 1999 Jaleco */
- DRIVER( rockn2 ) /* (c) 1999 Jaleco */
- DRIVER( rocknms ) /* (c) 1999 Jaleco */
- DRIVER( rockn3 ) /* (c) 1999 Jaleco */
- DRIVER( rockn4 ) /* (c) 2000 Jaleco */
-
- /* Jaleco Mega System 1 games */
- DRIVER( lomakai ) /* (c) 1988 (World) */
- DRIVER( makaiden ) /* (c) 1988 (Japan) */
- DRIVER( p47 ) /* (c) 1988 */
- DRIVER( p47j ) /* (c) 1988 (Japan) */
- DRIVER( kickoff ) /* (c) 1988 (Japan) */
- DRIVER( tshingen ) /* (c) 1988 (Japan) */
- DRIVER( tshingena ) /* (c) 1988 (Japan) */
- DRIVER( kazan ) /* (c) 1988 (World) */
- DRIVER( iganinju ) /* (c) 1988 (Japan) */
- DRIVER( astyanax ) /* (c) 1989 */
- DRIVER( lordofk ) /* (c) 1989 (Japan) */
- DRIVER( hachoo ) /* (c) 1989 */
- DRIVER( jitsupro ) /* (c) 1989 (Japan) */
- DRIVER( plusalph ) /* (c) 1989 */
- DRIVER( stdragon ) /* (c) 1989 */
- DRIVER( rodland ) /* (c) 1990 */
- DRIVER( rodlandj ) /* (c) 1990 (Japan) */
- DRIVER( rodlandjb ) /* bootleg */
- DRIVER( avspirit ) /* (c) 1991 */
- DRIVER( phantasm ) /* (c) 1991 (Japan) */
- DRIVER( monkelf ) /* bootleg */
- DRIVER( edf ) /* (c) 1991 */
- DRIVER( edfu ) /* (c) 1991 */
- DRIVER( edfbl ) /* (c) 1991 */
- DRIVER( 64street ) /* (c) 1991 */
- DRIVER( 64streetj ) /* (c) 1991 (Japan) */
- DRIVER( soldam ) /* (c) 1992 */
- DRIVER( soldamj ) /* (c) 1992 (Japan) */
- DRIVER( bigstrik ) /* (c) 1992 */
- DRIVER( bigstrkb ) /* bootleg on different hardware */
- DRIVER( bestleag ) /* bootleg, by Playmark? */
- DRIVER( bestleaw ) /* bootleg */
- DRIVER( chimerab ) /* (c) 1993 */
- DRIVER( cybattlr ) /* (c) 1993 */
- DRIVER( hayaosi1 ) /* (c) 1993 */
- DRIVER( peekaboo ) /* (c) 1993 */
-
- /* Jaleco Mega System 32 games */
- DRIVER( hayaosi2 ) /* (c) 1993 */
- DRIVER( hayaosi3 ) /* (c) 1994 */
- DRIVER( bbbxing ) /* (c) 1994 */
- DRIVER( 47pie2 ) /* (c) 1994 */
- DRIVER( 47pie2o ) /* (c) 1994 */
- DRIVER( desertwr ) /* (c) 1995 */
- DRIVER( gametngk ) /* (c) 1995 */
- DRIVER( tetrisp ) /* (c) 1995 Jaleco / BPS */
- DRIVER( p47aces ) /* (c) 1995 */
- DRIVER( akiss ) /* (c) 1995 */
- DRIVER( gratia ) /* (c) 1996 */
- DRIVER( gratiaa ) /* (c) 1996 */
- DRIVER( kirarast ) /* (c) 1996 */
- DRIVER( tp2m32 ) /* (c) 1997 */
- DRIVER( bnstars ) /* (c) 1997 */
- DRIVER( wpksocv2 ) /* (c) 1997 */
-
- DRIVER( f1superb ) /* (c) 1994 */
-
- DRIVER( bnstars1 ) /* (c) 1994 */
-
- /* Video System Co. games */
- DRIVER( rabiolep ) /* (c) 1987 V-System Co. (Japan) */
- DRIVER( rpunch ) /* (c) 1987 V-System Co. + Bally/Midway/Sente license (US) */
- DRIVER( svolley ) /* (c) 1989 V-System Co. (Japan) */
- DRIVER( svolleyk ) /* (c) 1989 V-System Co. (Korea) */
- DRIVER( svolleyu ) /* (c) 1989 V-System Co. + Data East license (US) */
- DRIVER( tail2nos ) /* [1989] V-System Co. */
- DRIVER( sformula ) /* [1989] V-System Co. (Japan) */
- DRIVER( ojankoc ) /* [1986] V-System Co. (Japan) */
- DRIVER( ojankoy ) /* [1986] V-System Co. (Japan) */
- DRIVER( ojanko2 ) /* [1987] V-System Co. (Japan) */
- DRIVER( ccasino ) /* [1987] V-System Co. (Japan) */
- DRIVER( ojankohs ) /* [1988] V-System Co. (Japan) */
- DRIVER( nekkyoku ) /* [1988] Video System Co. (Japan) */
- DRIVER( idolmj ) /* [1988] (c) System Service (Japan) */
- DRIVER( mjnatsu ) /* [1989] Video System presents (Japan) */
- DRIVER( natsuiro ) /* [1989] Video System presents (Japan) */
- DRIVER( mfunclub ) /* [1989] V-System (Japan) */
- DRIVER( daiyogen ) /* [1990] Video System Co. (Japan) */
- DRIVER( nmsengen ) /* (c) 1991 Video System (Japan) */
- DRIVER( fromance ) /* (c) 1991 Video System Co. (Japan) */
- DRIVER( pipedrm ) /* (c) 1990 Video System Co. (World) */
- DRIVER( pipedrmu ) /* (c) 1990 Video System Co. (US) */
- DRIVER( pipedrmj ) /* (c) 1990 Video System Co. (Japan) */
- DRIVER( hatris ) /* (c) 1990 Video System Co. (US) */
- DRIVER( hatrisj ) /* (c) 1990 Video System Co. (Japan) */
- DRIVER( spinlbrk ) /* (c) 1990 V-System Co. (World) */
- DRIVER( spinlbrku ) /* (c) 1990 V-System Co. (US) */
- DRIVER( spinlbrkj ) /* (c) 1990 V-System Co. (Japan) */
- DRIVER( pspikes ) /* (c) 1991 Video System Co. (World) */
- DRIVER( pspikesk ) /* (c) 1991 Video System Co. (Korea) */
- DRIVER( svolly91 ) /* (c) 1991 Video System Co. (Japan) */
- DRIVER( pspikesb ) /* bootleg */
- DRIVER( spikes91 ) /* bootleg */
- DRIVER( pspikesc ) /* bootleg */
- DRIVER( karatblz ) /* (c) 1991 Video System Co. */
- DRIVER( karatblzu ) /* (c) 1991 Video System Co. (US) */
- DRIVER( karatblzj ) /* (c) 1991 Video System / Tecmo (Japan) */
- DRIVER( turbofrc ) /* (c) 1991 Video System Co. */
- DRIVER( aerofgt ) /* (c) 1992 Video System Co. */
- DRIVER( aerofgtb ) /* (c) 1992 Video System Co. */
- DRIVER( aerofgtc ) /* (c) 1992 Video System Co. */
- DRIVER( sonicwi ) /* (c) 1992 Video System Co. (Japan) */
- DRIVER( aerfboot ) /* bootleg */
- DRIVER( aerfboo2 ) /* bootleg */
- DRIVER( wbbc97 ) /* (c) 1997 Comad */
- DRIVER( welltris ) /* (c) 1991 Video System Co. (Japan) */
- DRIVER( welltrisj ) /* (c) 1991 Video System Co. (Japan) */
- DRIVER( quiz18k ) /* (c) 1992 EIM (Welltris hardware) */
- DRIVER( f1gp ) /* (c) 1991 Video System Co. */
- DRIVER( f1gpb ) /* bootleg */
- DRIVER( f1gp2 ) /* (c) 1992 Video System Co. */
- DRIVER( crshrace ) /* (c) 1993 Video System Co. */
- DRIVER( crshrace2 ) /* (c) 1993 Video System Co. */
- DRIVER( taotaido ) /* (c) 1993 Video System Co. */
- DRIVER( taotaidoa ) /* (c) 1993 Video System Co. */
- DRIVER( gstriker ) /* (c) [1993] Human */
- DRIVER( gstrikera ) /* (c) [1993] Human */
- DRIVER( vgoalsoc ) /* (c) 199? Temco */
- DRIVER( vgoalsca ) /* (c) 199? Temco */
- DRIVER( twrldc94 ) /* (c) 1994 Tecmo */
- DRIVER( twrldc94a ) /* (c) 1994 Tecmo */
- DRIVER( suprslam ) /* (c) 1995 Banpresto */
- DRIVER( fromanc2 ) /* (c) 1995 Video System Co. (Japan) */
- DRIVER( fromancr ) /* (c) 1995 Video System Co. (Japan) */
- DRIVER( fromanc4 ) /* (c) 1998 Video System Co. (Japan) */
- DRIVER( inufuku ) /* (c) 1998 Video System Co. (Japan) */
-
- /* Psikyo games */
- DRIVER( samuraia ) /* (c) 1993 (World) */
- DRIVER( sngkace ) /* (c) 1993 (Japan) */
- DRIVER( gunbird ) /* (c) 1994 */
- DRIVER( gunbirdk ) /* (c) 1994 */
- DRIVER( gunbirdj ) /* (c) 1994 */
- DRIVER( btlkroad ) /* (c) 1994 */
- DRIVER( s1945 ) /* (c) 1995 */
- DRIVER( s1945a ) /* (c) 1995 */
- DRIVER( s1945j ) /* (c) 1995 */
- DRIVER( s1945jn ) /* (c) 1995 */
- DRIVER( s1945bl ) /* (c) 1995 (Hong Kong bootleg) */
- DRIVER( s1945k ) /* (c) 1995 */
- DRIVER( tengai ) /* (c) 1996 */
- DRIVER( tengaij ) /* (c) 1996 */
- DRIVER( s1945ii ) /* (c) 1997 */
- DRIVER( soldivid ) /* (c) 1997 */
- DRIVER( sbomber ) /* (c) 1998 */
- DRIVER( sbombera ) /* (c) 1998 */
- DRIVER( daraku ) /* (c) 1998 */
- DRIVER( gunbird2 ) /* (c) 1998 */
- DRIVER( s1945iii ) /* (c) 1999 */
- DRIVER( dragnblz ) /* (c) 2000 */
- DRIVER( tgm2 ) /* (c) 2000 */
- DRIVER( tgm2p ) /* (c) 2000 */
- DRIVER( gnbarich ) /* (c) 2001 */
- DRIVER( mjgtaste ) /* (c) 2002 */
- DRIVER( hotgmck ) /* (c) 1997 */
- DRIVER( hgkairak ) /* (c) 1998 */
- DRIVER( hotgmck3 ) /* (c) 1999 */
- DRIVER( hotgm4ev ) /* (c) 2000 */
- DRIVER( hotgmcki ) /* (c) 2001 */
- DRIVER( loderndf ) /* (c) 2000 */
- DRIVER( loderndfa ) /* (c) 2000 */
- DRIVER( hotdebut ) /* (c) 2000 */
-
- /* Orca games */
- DRIVER( marineb ) /* (c) 1982 Orca */
- DRIVER( changes ) /* (c) 1982 Orca */
- DRIVER( changesa ) /* (c) 1982 Orca + Eastern Micro Electronics license */
- DRIVER( looper ) /* (c) 1982 Orca */
- DRIVER( springer ) /* (c) 1982 Orca */
- DRIVER( hoccer ) /* (c) 1983 Eastern Micro Electronics, Inc. */
- DRIVER( hoccer2 ) /* (c) 1983 Eastern Micro Electronics, Inc. */
- DRIVER( bcruzm12 ) /* (c) 1983 Sigma Ent. Inc. */
- DRIVER( hopprobo ) /* (c) 1983 Sega */
- DRIVER( wanted ) /* (c) 1984 Sigma Ent. Inc. */
- DRIVER( funkybee ) /* (c) 1982 Orca */
- DRIVER( funkybeeb ) /* (c) 1982 Orca */
- DRIVER( skylancr ) /* (c) 1983 Orca */
- DRIVER( skylancre ) /* (c) 1983 Orca + Esco Trading Co license */
- DRIVER( zodiack ) /* (c) 1983 Orca + Esco Trading Co license */
- DRIVER( dogfight ) /* (c) 1983 Thunderbolt */
- DRIVER( moguchan ) /* (c) 1982 Orca + Eastern Commerce Inc. license (doesn't appear on screen) */
- DRIVER( percuss ) /* (c) 1981 Orca */
- DRIVER( bounty ) /* (c) 1982 Orca */
- DRIVER( espial ) /* (c) 1983 Thunderbolt, Orca logo is hidden in title screen */
- DRIVER( espialu ) /* (c) 1983 Thunderbolt, Orca logo is hidden in title screen */
- DRIVER( netwars ) /* (c) 1983 Orca + Esco Trading Co license */
- /* Vastar was made by Orca, but when it was finished, Orca had already bankrupted. */
- /* So they sold this game as "Made by Sesame Japan" because they couldn't use */
- /* the name "Orca" */
- DRIVER( vastar ) /* (c) 1983 Sesame Japan */
- DRIVER( vastar2 ) /* (c) 1983 Sesame Japan */
-/*
- other Orca games:
- 82 Battle Cross Kit 2P
- 82 River Patrol Empire Mfg/Kerstens Ind Ded 2P HC Action
- 82 Slalom Kit 2P HC Action
- 83 Net Wars 2P
- 83 Super Crush Kit 2P Action
-*/
-
- /* Gaelco 2D games */
- DRIVER( mastboy ) /* (c) 1987 - No Ref on the PCB */
- DRIVER( mastboyi ) /* (c) 1987 - No Ref on the PCB */
- DRIVER( xorworld ) /* (c) 1990 - prototype */
- DRIVER( bigkarnk ) /* (c) 1991 - Ref 901112-1 */
- /* Master Boy 2 */ /* (c) 1991 - Ref ??? */
- DRIVER( splash ) /* (c) 1992 - Ref 922804 */
- DRIVER( splash10 ) /* (c) 1992 - Ref 922804 */
- DRIVER( paintlad ) /* (c) 1992 - ver 1.3 */
- DRIVER( roldfrog ) /* not a gaelco game but based on splash code */
- DRIVER( roldfroga ) /* not a gaelco game but based on splash code */
- DRIVER( rebus ) /* not a gaelco game but on similar hw to splash */
- DRIVER( funystrp ) /* not a gaelco game but on similar hw to splash */
- DRIVER( puckpepl ) /* not a gaelco game but on similar hw to splash */
- DRIVER( thoop ) /* (c) 1992 - Ref 922804/1 */
- DRIVER( squash ) /* (c) 1992 - Ref 922804/2 */
- DRIVER( wrally ) /* (c) 1993 - Ref 930705 */
- DRIVER( wrallya ) /* (c) 1993 - Ref 930705 */
- DRIVER( wrallyb ) /* (c) 1993 - Ref 930217 */
- DRIVER( glass ) /* (c) 1993 - Ref 931021 */
- DRIVER( glass10 ) /* (c) 1993 - Ref 931021 */
- DRIVER( glassbrk ) /* (c) 1993 - Ref 931021 shows "Break Edition" on a real PCB */
- DRIVER( targeth ) /* (c) 1994 - Ref 940531 */
- DRIVER( targetha ) /* (c) 1994 - Ref 940531 */
- DRIVER( thoop2 ) /* (c) 1994 - Ref ??? */
- DRIVER( aligator ) /* (c) 1994 - Ref 940411 */
- DRIVER( aligatorun ) /* (c) 1994 - Ref 940411 (unprotected) */
- DRIVER( biomtoy ) /* (c) 1995 - Ref 922804/2 - (unprotected) */
- DRIVER( touchgo ) /* (c) 1995 - Ref 950906 */
- DRIVER( touchgon ) /* (c) 1995 - Ref 950906 */
- DRIVER( touchgoe ) /* (c) 1995 - Ref 950510-1 */
- DRIVER( wrally2 ) /* (c) 1995 - Ref 950510 */
- DRIVER( maniacsp ) /* (c) 1996 - Ref 922804/2 - (prototype) */
- DRIVER( maniacsq ) /* (c) 1996 - Ref ??? - (unprotected) */
- DRIVER( snowboar ) /* (c) 1996 - Ref 960419/1 */
- DRIVER( snowboara ) /* (c) 1996 - Ref 960419/1 */
- DRIVER( bang ) /* (c) 1998 - Ref ??? */
- DRIVER( bangj ) /* (c) 1999 - Ref ??? */
- DRIVER( grtesoro ) /* (c) 1999 - Ref ??? */
- DRIVER( grtesoro4 ) /* (c) 1999 - Ref ??? */
-
- /* Gaelco 3D games */
- DRIVER( speedup ) /* (c) 1996 - Ref ??? */
- DRIVER( surfplnt ) /* (c) 1997 - Ref 971223 */
- DRIVER( surfplnt40 ) /* (c) 1997 - Ref 970514 */
- DRIVER( radikalb ) /* (c) 1998 - Ref ??? */
-
- /* SH-4 hardware */
- DRIVER( atvtrack ) /* (c) 2002 - Ref 020419 */
- DRIVER( atvtracka ) /* (c) 2002 - Ref 020419 */
-
- /*
- Remaining Gaelco Games:
- =======================
- 1999: Rolling Extreme
- 2000: Football Power
- 2001: Smashing Drive
- */
-
- /* Galeco PC based games */
- DRIVER( tokyocop ) /* (c) 2003 (Arcade TV Game List - P.168, Right, 19 from bottom) */
-
- /* Kaneko games */
- DRIVER( hvyunit ) /* (c) 1988 Kaneko */
- DRIVER( hvyunitj ) /* (c) 1988 Kaneko */
- DRIVER( hvyunitjo ) /* (c) 1988 Kaneko */
- DRIVER( hvyunitu ) /* (c) 1988 Kaneko */
- DRIVER( djboy ) /* (c) 1989 Kaneko */
- DRIVER( djboyj ) /* (c) 1989 Kaneko */
- DRIVER( djboya ) /* (c) 1989 Kaneko */
- DRIVER( airbustr ) /* (c) 1990 Kaneko + Namco */
- DRIVER( airbustrj ) /* (c) 1990 Kaneko + Namco (Japan) */
- DRIVER( airbustrb ) /* bootleg */
- DRIVER( galpanic ) /* (c) 1990 Kaneko */
- DRIVER( galpanica ) /* (c) 1990 Kaneko */
- DRIVER( galsnew ) /* (c) 1990 Kaneko */
- DRIVER( galsnewa ) /* (c) 1990 Kaneko */
- DRIVER( galsnewj ) /* (c) 1990 Kaneko */
- DRIVER( galsnewk ) /* (c) 1990 Kaneko */
- DRIVER( galpani2 ) /* (c) 1993 Kaneko */
- DRIVER( galpani2g ) /* (c) 1993 Kaneko */
- DRIVER( galpani2t ) /* (c) 1993 Kaneko */
- DRIVER( galpani2i ) /* (c) 1993 Kaneko */
- DRIVER( galpani2j ) /* (c) 1993 Kaneko */
- DRIVER( gp2quiz ) /* (c) 1993 Kaneko */
- DRIVER( gp2se ) /* (c) 1994 Kaneko */
- DRIVER( jchan ) /* (c) 1995 Kaneko */
- DRIVER( jchan2 ) /* (c) 1995 Kaneko */
- DRIVER( galpani3 ) /* (c) 1995 Kaneko */
-
- /* Kaneko "AX System" games */
- DRIVER( berlwall ) /* (c) 1991 Kaneko */
- DRIVER( berlwallt ) /* (c) 1991 Kaneko */
- DRIVER( mgcrystl ) /* (c) 1991 Kaneko (World) */
- DRIVER( mgcrystlo ) /* (c) 1991 Kaneko (World) */
- DRIVER( mgcrystlj ) /* (c) 1991 Kaneko + distributed by Atlus (Japan) */
- DRIVER( blazeon ) /* (c) 1992 Atlus */
- DRIVER( sandscrp ) /* (c) 1992 Face */
- DRIVER( sandscrpa ) /* (c) 1992 Face */
- DRIVER( sandscrpb ) /* (c) 1992 Face */
- DRIVER( explbrkr ) /* (c) 1992 Kaneko */
- DRIVER( bakubrkr ) /* (c) 1992 Kaneko */
- DRIVER( shogwarr ) /* (c) 1992 Kaneko */
- DRIVER( shogwarru ) /* (c) 1992 Kaneko */
- DRIVER( fjbuster ) /* (c) 1992 Kaneko */
- DRIVER( brapboys ) /* (c) 1992 Kaneko */
- DRIVER( brapboysj ) /* (c) 1992 Kaneko */
- DRIVER( bloodwar ) /* (c) 1994 Kaneko */
- DRIVER( oedfight ) /* (c) 1994 Kaneko */
- DRIVER( bonkadv ) /* (c) 1994 Kaneko */
- DRIVER( gtmr ) /* (c) 1994 Kaneko */
- DRIVER( gtmra ) /* (c) 1994 Kaneko */
- DRIVER( gtmre ) /* (c) 1994 Kaneko */
- DRIVER( gtmrusa ) /* (c) 1994 Kaneko (US) */
- DRIVER( gtmr2 ) /* (c) 1995 Kaneko */
- DRIVER( gtmr2a ) /* (c) 1995 Kaneko */
- DRIVER( gtmr2u ) /* (c) 1995 Kaneko */
-
- /* Kaneko "Super Nova System" games */
- DRIVER( skns )
- DRIVER( galpani4 ) /* 1996.09 (c) 1996 Kaneko (Japan) */
- DRIVER( galpani4k ) /* 1996.09 (c) 1996 Kaneko (Korea) */
- DRIVER( jjparads ) /* 1996.12 (c) 1996 Electro Design Co. (Japan) */
- DRIVER( sarukani ) /* 1997.01 (c) 1997 Kaneko / Mediaworks (Japan) */
- DRIVER( vblokbrk ) /* 1997.?? (c) 1997 Kaneko / Mediaworks (Asia) */
- DRIVER( galpanis ) /* 1997.04 (c) 1997 Kaneko (Japan) */
- DRIVER( galpanisk ) /* 1997.04 (c) 1997 Kaneko (Korea) */
- DRIVER( sengekis ) /* 1997.?? (c) 1997 Kaneko / Warashi (Asia) */
- DRIVER( sengekisj ) /* 1997.07 (c) 1997 Kaneko / Warashi (Japan) */
- DRIVER( jjparad2 ) /* 1997.12 (c) 1997 Electro Design Co. (Japan) */
- DRIVER( cyvern ) /* 1998.02 (c) 1998 Kaneko (US) */
- DRIVER( cyvernj ) /* 1998.02 (c) 1998 Kaneko (Japan) */
- DRIVER( ryouran ) /* 1998.07 (c) 1998 Electro Design Co. (Japan) */
- DRIVER( puzzloop ) /* 1998.?? (c) 1998 Mitchell (Europe) */
- DRIVER( puzzloopj ) /* 1998.12 (c) 1998 Mitchell (Japan) */
- DRIVER( puzzloopa ) /* 1998.?? (c) 1998 Mitchell (Asia) */
- DRIVER( puzzloopk ) /* 1998.?? (c) 1998 Mitchell (Korea) */
- DRIVER( puzzloopu ) /* 1999.05 (c) 1998 Mitchell (USA) */
- DRIVER( galpans2 ) /* 1999.02 (c) 1999 Kaneko (Japan) */
- DRIVER( galpans2a ) /* 1999.?? (c) 1999 Kaneko (Asia) */
- DRIVER( galpansu ) /* 1999.?? (c) 1999 Kaneko (Korea) */
- DRIVER( senknow ) /* 1999.04 (c) 1999 Kaneko / Kouyousha (Japan) */
- DRIVER( panicstr ) /* 1999.09 (c) 1999 Kaneko (Japan) */
- DRIVER( teljan ) /* 1999.11 (c) 1999 Electro Design Co. (Japan) */
- DRIVER( gutsn ) /* 2000.06 (c) 2000 Kaneko / Kouyousha (Japan) */
- DRIVER( galpans3 ) /* 2002.07 (c) 2002 Kaneko (Japan) */
-
- /* Seta games */
- DRIVER( hanaawas ) /* (c) SetaKikaku */
- DRIVER( speedatk ) /* CB-0 (c) SetaKikaku */
- DRIVER( srmp1 ) /* UB or UC?? (c) 1987 */
- DRIVER( srmp2 ) /* UB or UC?? (c) 1987 */
- DRIVER( srmp3 ) /* ZA-0? (c) 1988 */
- DRIVER( rmgoldyh ) /* ZF-0? (c) 1988 */
- DRIVER( mjyuugi ) /* (c) 1990 Visco */
- DRIVER( mjyuugia ) /* (c) 1990 Visco */
- DRIVER( ponchin ) /* (c) 1991 Visco */
- DRIVER( ponchina ) /* (c) 1991 Visco */
-
- /* Seta 1st Generation HW (seta.c) */
- DRIVER( tndrcade ) /* UA-0 (c) 1987 Taito */
- DRIVER( tndrcadej ) /* UA-0 (c) 1987 Taito */
- DRIVER( twineagl ) /* UA-2 (c) 1988 + Taito license */
- DRIVER( downtown ) /* UD-2 (c) 1989 + Romstar or Taito license (DSW) */
- DRIVER( downtown2 ) /* UD-2 (c) 1989 + Romstar or Taito license (DSW) */
- DRIVER( downtownj ) /* UD-2 (c) 1989 + Romstar or Taito license (DSW) */
- DRIVER( downtownp ) /* UD-2 (c) 1989 + Romstar or Taito license (DSW) */
- DRIVER( usclssic ) /* UE (c) 1989 + Romstar or Taito license (DSW) */
- DRIVER( calibr50 ) /* UH (c) 1989 + Romstar or Taito license (DSW) */
- DRIVER( arbalest ) /* UK (c) 1989 + Jordan, Romstar or Taito license (DSW) */
- DRIVER( metafox ) /* UP (c) 1989 + Jordan, Romstar or Taito license (DSW) */
- DRIVER( setaroul ) /* UF (c) 19?? Seta / Visco */
- DRIVER( drgnunit ) /* (c) 1989 Athena / Seta + Romstar or Taito license (DSW) */
- DRIVER( wits ) /* (c) 1989 Athena (Visco license) */
- DRIVER( thunderl ) /* (c) 1990 Seta + Romstar or Visco license (DSW) */
- DRIVER( thunderlbl ) /* (c) 1990 Seta + Romstar or Visco license (DSW) - bootleg with Tetris sound */
- DRIVER( wiggie ) /* (c) 1994 Promat (not genuine seta hardware, but based on thunderl code) */
- DRIVER( superbar ) /* (c) 1994 Promat (not genuine seta hardware, but based on thunderl code) */
- DRIVER( jockeyc ) /* (c) 1990 [Seta] (Visco license) */
- DRIVER( rezon ) /* (c) 1991 Allumer */
- DRIVER( rezont ) /* (c) 1991 Allumer / Taito */
- DRIVER( stg ) /* (c) 1991 Athena / Tecmo */
- DRIVER( pairlove ) /* (c) 1991 Athena */
- DRIVER( blandia ) /* (c) 1992 Allumer */
- DRIVER( blandiap ) /* (c) 1992 Allumer */
- DRIVER( blockcar ) /* (c) 1992 Visco */
- DRIVER( qzkklogy ) /* (c) 1992 Tecmo */
- DRIVER( neobattl ) /* (c) 1992 Banpresto / Sotsu Agency. Sunrise */
- DRIVER( umanclub ) /* (c) 1992 Tsuburaya Prod. / Banpresto */
- DRIVER( zingzip ) /* UY (c) 1992 Allumer + Tecmo */
- DRIVER( zingzipbl ) /* bootleg */
- DRIVER( atehate ) /* (C) 1993 Athena */
- DRIVER( jjsquawk ) /* (c) 1993 Athena / Able */
- DRIVER( jjsquawkb ) /* bootleg */
- DRIVER( kamenrid ) /* (c) 1993 Toei / Banpresto */
- DRIVER( madshark ) /* (c) 1993 Allumer */
- DRIVER( msgundam ) /* (c) 1993 Banpresto */
- DRIVER( msgundam1 ) /* (c) 1993 Banpresto */
- DRIVER( daioh ) /* (C) 1993 Athena */
- DRIVER( oisipuzl ) /* (c) 1993 SunSoft / Atlus */
- DRIVER( triplfun ) /* bootleg */
- DRIVER( utoukond ) /* (c) 1993 Banpresto + Tsuburaya Prod. */
- DRIVER( qzkklgy2 ) /* (c) 1993 Tecmo */
- DRIVER( wrofaero ) /* (c) 1993 Yang Cheng */
- DRIVER( eightfrc ) /* (c) 1994 Tecmo */
- DRIVER( kiwame ) /* (c) 1994 Athena */
- DRIVER( krzybowl ) /* (c) 1994 American Sammy */
- DRIVER( orbs ) /* (c) 1994 American Sammy */
- DRIVER( keroppi ) /* (c) 1993 Sammy */
- DRIVER( extdwnhl ) /* (c) 1995 Sammy Japan */
- DRIVER( gundhara ) /* (c) 1995 Banpresto */
- DRIVER( sokonuke ) /* (c) 1995 Sammy Industries */
- DRIVER( zombraid ) /* (c) 1995 American Sammy */
- DRIVER( crazyfgt ) /* (c) 1998 Subsino */
- DRIVER( inttoote ) /* (c) 1998 Coinmaster */
- DRIVER( inttootea ) /* (c) 1998 Coinmaster */
-
- /* Seta 2nd Generation HW (seta2.c) */
- DRIVER( gundamex ) /* (c) 1994 Banpresto */
- DRIVER( grdians ) /* (c) 1995 Banpresto */
- DRIVER( mj4simai ) /* (c) 1996 Maboroshi Ware */
- DRIVER( myangel ) /* (c) 1996 Namco */
- DRIVER( myangel2 ) /* (c) 1997 Namco */
- DRIVER( pzlbowl ) /* (c) 1999 Nihon System / Moss */
- DRIVER( penbros ) /* (c) 2000 Subsino */
- DRIVER( deerhunt ) /* (c) 2000 Sammy USA Corporation */
- DRIVER( deerhunta ) /* (c) 2000 Sammy USA Corporation */
- DRIVER( deerhuntb ) /* (c) 2000 Sammy USA Corporation */
- DRIVER( deerhuntc ) /* (c) 2000 Sammy USA Corporation */
- DRIVER( turkhunt ) /* (c) 2001 Sammy USA Corporation */
- DRIVER( wschamp ) /* (c) 2001 Sammy USA Corporation */
- DRIVER( wschampa ) /* (c) 2001 Sammy USA Corporation */
- DRIVER( funcube2 ) /* (c) 2001 Namco */
- DRIVER( funcube4 ) /* (c) 2001 Namco */
- DRIVER( trophyh ) /* (c) 2002 Sammy USA Corporation */
- DRIVER( reelquak ) /* (c) ???? <unknown> */
-
- /* SSV System (Seta, Sammy, Visco) games */
- DRIVER( srmp4 ) /* (c) 1993 Seta */
- DRIVER( srmp4o ) /* (c) 1993 Seta */
- DRIVER( twineag2 ) /* (c) 1994 Seta */
- DRIVER( srmp7 ) /* (c) 1997 Seta */
- DRIVER( dynagear ) /* (c) 1993 Sammy */
- DRIVER( survarts ) /* (c) 1993 Sammy */
- DRIVER( survartsu ) /* (c) 1993 Sammy (American) */
- DRIVER( eaglshot ) /* (c) 1994 Sammy */
- DRIVER( hypreact ) /* (c) 1995 Sammy */
- DRIVER( meosism ) /* (c) 1996?Sammy */
- DRIVER( hypreac2 ) /* (c) 1997 Sammy */
- DRIVER( sxyreact ) /* (c) 1998 Sammy */
- DRIVER( sxyreac2 ) /* (c) 1999 Sammy */
- DRIVER( cairblad ) /* (c) 1999 Sammy */
- DRIVER( keithlcy ) /* (c) 1993 Visco */
- DRIVER( drifto94 ) /* (c) 1994 Visco */
- DRIVER( janjans1 ) /* (c) 1996 Visco */
- DRIVER( stmblade ) /* (c) 1996 Visco */
- DRIVER( jsk ) /* (c) 1997 Visco */
- DRIVER( koikois2 ) /* (c) 1997 Visco */
- DRIVER( mslider ) /* (c) 1997 Visco / Datt Japan */
- DRIVER( ryorioh ) /* (c) 1998 Visco */
- DRIVER( janjans2 ) /* (c) 2000 Visco */
- DRIVER( vasara ) /* (c) 2000 Visco */
- DRIVER( vasara2 ) /* (c) 2001 Visco */
- DRIVER( vasara2a ) /* (c) 2001 Visco */
-
- DRIVER( ultrax ) /* (c) 1995 Banpresto */
- DRIVER( gdfs ) /* (c) 1995 Banpresto */
-
- DRIVER( jclub2 ) /* (c) 199? Seta */
- DRIVER( jclub2o ) /* (c) 199? Seta */
- DRIVER( darkhors ) /* bootleg of Jockey Club II */
-
- /* ST-0016 based games (ST-0016 is a SoC Z80-based HW) */
- /* plain ST-0016 */
- DRIVER( renju ) /* (c) 1994 Visco */
- DRIVER( koikois ) /* (c) 1995 Seta */
- DRIVER( nratechu ) /* (c) 1996 Seta */
- DRIVER( dcrown ) /* 199? unknown */
- /* R3000 + ST-0016 */
- DRIVER( srmp5 ) /* (c) 199? Seta */
- DRIVER( speglsht ) /* (c) 1994 Seta */
- /* V810 + ST-0016 */
- DRIVER( mayjinsn ) /* (c) 1994 Seta */
- DRIVER( mayjisn2 ) /* (c) 1994 Seta */
-
- /* Seta System S12 */
- DRIVER( srmp6 ) /* (c) 1996 Seta (Japan) */
-
- /* Seta Aleck64 and similar (N64 based) */
- DRIVER( aleck64 ) /* (c) 1998 Nintendo/Seta */
- DRIVER( 11beat ) /* (c) 1998 Hudson */
- DRIVER( mtetrisc ) /* (c) 1998 Capcom */
- DRIVER( starsldr ) /* (c) 1998 Hudson/Seta */
- DRIVER( vivdolls ) /* (c) 1998 Visco */
- DRIVER( srmvs ) /* (c) 1999 Seta */
- DRIVER( twrshaft ) /* (c) 2003 Aruze */
- DRIVER( hipai ) /* (c) 2003 Seta/Aruze (Arcade TV Game List - P.92, Right, 16 from top) */
- DRIVER( doncdoon ) /* (c) 2003 Aruze (Arcade TV Game List - P.90, Right, 8 from bottom) */
- DRIVER( kurufev ) /* (c) 2003 Aruze (Arcade TV Game List - P.75, Right, 1st entry on top) */
- DRIVER( mayjin3 ) /* (c) 2000 Seta (Arcade TV Game List - P.101, Right, 9 from top) */
-
-
- /* Atlus games */
- DRIVER( powerins ) /* (c) 1993 Atlus (USA) */
- DRIVER( powerinsj ) /* (c) 1993 Atlus (Japan) */
- DRIVER( powerinsa ) /* (c) 1993 Atlus (bootleg of USA version) */
- DRIVER( powerinsb ) /* (c) 1993 Atlus (bootleg of USA version) */
- DRIVER( ohmygod ) /* (c) 1993 Atlus (Japan) */
- DRIVER( naname ) /* (c) 1994 Atlus (Japan) */
- DRIVER( blmbycar ) /* (c) 1994 ABM & Gecas - uses same gfx chip as powerins? */
- DRIVER( blmbycaru ) /* (c) 1994 ABM & Gecas - uses same gfx chip as powerins? */
- DRIVER( watrball ) /* (c) 1996 ABM */
-
- /* Sun Electronics / SunSoft games */
- DRIVER( dai3wksi ) /* 1979.09 Dai San Wakusei (The Third Planet) */
- DRIVER( speakres ) /* [Sun Electronics] */
- DRIVER( speakresb ) /* bootleg */
- DRIVER( stratvox ) /* [1980 Sun Electronics] Taito */
- DRIVER( stratvoxb ) /* bootleg */
- DRIVER( spacecho ) /* bootleg */
- DRIVER( spacecho2 ) /* bootleg */
- DRIVER( route16 ) /* (c) 1981 Tehkan/Sun + Centuri license */
- DRIVER( route16a ) /* (c) 1981 Tehkan/Sun + Centuri license */
- DRIVER( route16b ) /* bootleg */
- DRIVER( routex ) /* bootleg */
- DRIVER( ttmahjng ) /* Taito */
- DRIVER( fnkyfish ) /* (c) 1981 Sun Electronics */
- DRIVER( kangaroo ) /* (c) 1982 Sun Electronics */
- DRIVER( kangarooa ) /* 136008 (c) 1982 Atari */
- DRIVER( kangaroob ) /* (bootleg) */
- DRIVER( arabian ) /* TVG13 (c) 1983 Sun Electronics */
- DRIVER( arabiana ) /* 136019 (c) 1983 Atari */
- DRIVER( markham ) /* TVG14 (c) 1983 Sun Electronics */
- DRIVER( strnskil ) /* TVG15 (c) 1984 Sun Electronics */
- DRIVER( guiness ) /* TVG15 (c) 1984 Sun Electronics */
- DRIVER( pettanp ) /* TVG16 (c) 1984 Sun Electronics (Japan) */
- DRIVER( banbam ) /* TVG16 (c) 1984 Sun Electronics */
- DRIVER( ikki ) /* TVG17 (c) 1985 Sun Electronics (Japan) */
- DRIVER( farmer ) /* TVG17 (c) 1985 Sun Electronics */
- DRIVER( shanghai ) /* (c) 1988 Sunsoft (Sun Electronics) */
- DRIVER( shangha2 ) /* (c) 1989 Sunsoft (Sun Electronics) */
- DRIVER( kothello ) /* (c) 1990 Success */
- DRIVER( shangha3 ) /* (c) 1993 Sunsoft */
- DRIVER( heberpop ) /* (c) 1994 Sunsoft / Atlus */
- DRIVER( blocken ) /* (c) 1994 KID / Visco */
-/*
-Other Sun games
-1978.11 (GT)Block Perfect
-1978.12 (GT)Block Challenger
-1979.04 Galaxy Force
-1979.07 Run Away
-1979.12 Warp 1
-1980.10 Cosmo Police (Cosmopolis?)
-*/
-
- /* SunA games */
- DRIVER( goindol ) /* (c) 1987 Sun a Electronics */
- DRIVER( goindolu ) /* (c) 1987 Sun a Electronics */
- DRIVER( goindolk ) /* (c) 1987 Sun a Electronics */
- DRIVER( rranger ) /* (c) 1988 SunA + Sharp Image license */
- DRIVER( sranger ) /* (c) 1988 */
- DRIVER( srangerb ) /* bootleg */
- DRIVER( srangerw ) /* (c) 1988 SunA (WDK License) */
- DRIVER( hardhead ) /* (c) 1988 SunA */
- DRIVER( hardheadb ) /* bootleg */
- DRIVER( pop_hh ) /* bootleg */
- DRIVER( sparkman ) /* (c) 1989 SunA */
- DRIVER( sparkmana ) /* (c) 1989 SunA */
- DRIVER( starfigh ) /* (c) 1990 SunA */
- DRIVER( hardhea2 ) /* (c) 1991 SunA */
- DRIVER( brickzn ) /* (c) 1992 SunA */
- DRIVER( brickzn3 ) /* (c) 1992 SunA */
- DRIVER( bestbest ) /* (c) 1994 SunA */
- DRIVER( sunaq ) /* (c) 1994 SunA */
- DRIVER( bssoccer ) /* (c) 1996 SunA */
- DRIVER( uballoon ) /* (c) 1996 SunA */
-
- /* Dooyong games */
- DRIVER( gundealr ) /* (c) 1990 Dooyong */
- DRIVER( gundealra ) /* (c) 1990 Dooyong */
- DRIVER( gundealrt ) /* (c) 1990 Tecmo */
- DRIVER( yamyam ) /* (c) 1990 Dooyong */
- DRIVER( wiseguy ) /* (c) 1990 Dooyong */
- DRIVER( lastday ) /* (c) 1990 Dooyong */
- DRIVER( lastdaya ) /* (c) 1990 Dooyong */
- DRIVER( gulfstrm ) /* (c) 1991 Dooyong */
- DRIVER( gulfstrmm ) /* (c) 1991 Dooyong + distributed by Media Shoji */
- DRIVER( pollux ) /* (c) 1991 Dooyong */
- DRIVER( polluxa ) /* (c) 1991 Dooyong */
- DRIVER( polluxa2 ) /* (c) 1991 Dooyong */
- DRIVER( flytiger ) /* (c) 1992 Dooyong */
- DRIVER( bluehawk ) /* (c) 1993 Dooyong */
- DRIVER( bluehawkn ) /* (c) 1993 NTC */
- DRIVER( sadari ) /* (c) 1993 NTC */
- DRIVER( gundl94 ) /* (c) 1994 Dooyong */
- DRIVER( primella ) /* (c) 1994 NTC */
- DRIVER( superx ) /* (c) 1994 NTC */
- DRIVER( superxm ) /* (c) 1994 Mitchell */
- DRIVER( rshark ) /* (c) 1995 Dooyong */
- DRIVER( popbingo ) /* (c) 1996 Dooyong */
-
- /* Tong Electronic games */
- DRIVER( leprechn ) /* (c) 1982 */
- DRIVER( potogold ) /* (c) 1982 */
- DRIVER( leprechp ) /* (c) 1982 */
- DRIVER( piratetr ) /* (c) 1982 */
- DRIVER( beezer ) /* (c) 1982 */
- DRIVER( beezer1 ) /* (c) 1982 */
-
- /* Comad games */
- DRIVER( pushman ) /* (c) 1990 Comad */
- DRIVER( pushmana ) /* (c) 1990 Comad */
- DRIVER( pushmans ) /* (c) 1990 Comad + American Sammy license */
- DRIVER( pushmant ) /* (c) 1990 Comad + Top Tronic license */
- DRIVER( bballs ) /* (c) 1991 Comad */
- DRIVER( zerozone ) /* (c) 1993 Comad */
- DRIVER( lvgirl94 ) /* (c) 1994 Comad */
- DRIVER( hotpinbl ) /* (c) 1995 Comad & New Japan System */
- DRIVER( galspnbl ) /* (c) 1996 Comad */
- /* the following ones run on modified Gals Panic hardware */
- DRIVER( fantasia ) /* (c) 1994 Comad & New Japan System */
- DRIVER( supmodel ) /* (c) 1994 Comad & New Japan System */
- DRIVER( newfant ) /* (c) 1995 Comad & New Japan System */
- DRIVER( fantsy95 ) /* (c) 1995 Hi-max Technology Inc. */
- DRIVER( zipzap ) /* (c) 1995 Barko Corp */
- DRIVER( missw96 ) /* (c) 1996 Comad */
- DRIVER( missmw96 ) /* (c) 1996 Comad */
- DRIVER( fantsia2 ) /* (c) 1997 Comad */
- DRIVER( fantsia2a ) /* (c) 1997 Comad */
- DRIVER( wownfant ) /* (c) 2002 Comad */
- DRIVER( galhustl ) /* (c) 1997 ACE International */
-
- /* Playmark games */
- DRIVER( sslam ) /* (c) 1993 - hack of Namco's Super World Court */
- DRIVER( sslama ) /* (c) 1993 - hack of Namco's Super World Court */
- DRIVER( powerbal ) /* (c) 1994 */
- DRIVER( powerbals ) /* (c) 1994 */
- DRIVER( magicstk ) /* (c) 1995 */
- DRIVER( hotminda ) /* (c) 1995 */
- DRIVER( bigtwin ) /* (c) 1995 */
- DRIVER( bigtwinb ) /* (c) 1995 */
- DRIVER( wbeachvl ) /* (c) 1995 */
- DRIVER( wbeachvl2 ) /* (c) 1995 */
- DRIVER( excelsr ) /* (c) 1995 */
- DRIVER( hotmind ) /* (c) 1995 */
- DRIVER( hrdtimes ) /* (c) 1994 */
- DRIVER( hrdtimesa ) /* (c) 1994 */
- DRIVER( drtomy ) /* (c) 1993 no copyright message (1993 on pcb), some code taken from 'Big Karnak' */
- DRIVER( sderby ) /* (c) 1996 */
- DRIVER( pmroulet )
- DRIVER( spacewin )
-
- /* Pacific Novelty games */
- DRIVER( sharkatt ) /* (c) 1980 */
- DRIVER( thief ) /* (c) 1981 */
- DRIVER( natodef ) /* (c) 1982 */
- DRIVER( natodefa ) /* (c) 1982 */
- DRIVER( mrflea ) /* (c) 1982 */
-
- /* Tecfri games */
- DRIVER( ambush ) /* (c) 1983 */
- DRIVER( ambushj ) /* (c) 1983 Nippon Amuse license */
- DRIVER( ambushv ) /* (c) 1983 Volt Electronics license */
- DRIVER( holeland ) /* (c) 1984 */
- DRIVER( crzrally ) /* (c) 1985 */
- DRIVER( crzrallya ) /* (c) 1985 */
- DRIVER( crzrallyg ) /* (c) 1985 */
- DRIVER( speedbal ) /* (c) 1987 */
- DRIVER( sauro ) /* (c) 1987 */
- DRIVER( trckydoc ) /* (c) 1987 */
- DRIVER( trckydoca ) /* (c) 1987 */
-
- /* Metro games */
- DRIVER( karatour ) /* (c) 1992 Mitchell */
- DRIVER( ladykill ) /* (c) 1993 Yanyaka + Mitchell license - (Arcade TV Game List - P.101, Right, 2 from Bottom) */
- DRIVER( moegonta ) /* (c) 1993 Yanyaka (Japan) (Arcade TV Game List - P.101, Right, 2 from Bottom) */
- DRIVER( pangpoms ) /* (c) 1992 */
- DRIVER( pangpomsm ) /* (c) 1992 Mitchell / Metro */
- DRIVER( skyalert ) /* (c) 1992 */
- DRIVER( poitto ) /* (c) 1993 Metro / Able Corp. */
- DRIVER( dharma ) /* (c) 1994 */
- DRIVER( dharmak ) /* (c) 1994 */
- DRIVER( lastfort ) /* (c) 1994 */
- DRIVER( lastforte ) /* (c) 1994 */
- DRIVER( lastfortk ) /* (c) 1994 */
- DRIVER( lastfortg ) /* (c) 1994 */
- DRIVER( toride2g ) /* (c) 1994 */
- DRIVER( toride2gg ) /* (c) 1994 */
- DRIVER( toride2j ) /* (c) 1994 */
- DRIVER( gunmast ) /* (c) 1994 */
- DRIVER( daitorid ) /* (c) 1995 */
- DRIVER( daitoa ) /* (c) 1995 */
- DRIVER( dokyusei ) /* (c) 1995 Make Software / Elf / Media Trading */
- DRIVER( dokyusp ) /* (c) 1995 Make Software / Elf / Media Trading */
- DRIVER( msgogo ) /* (c) 1995 Metro */
- DRIVER( puzzli ) /* (c) 1995 Metro / Banpresto */
- DRIVER( 3kokushi ) /* (c) 1996 Mitchell */
- DRIVER( pururun ) /* (c) 1995 Metro / Banpresto */
- DRIVER( balcube ) /* (c) 1996 */
- DRIVER( mouja ) /* (c) 1996 Etona (Japan) */
- DRIVER( bangball ) /* (c) 1996 Banpresto / Kunihiko Tashiro+Goodhouse */
- DRIVER( batlbubl ) /* (c) 1996 Banpresto / Kunihiko Tashiro+Goodhouse */
- DRIVER( gakusai ) /* (c) 1997 MakeSoft */
- DRIVER( gakusai2 ) /* (c) 1998 MakeSoft */
- DRIVER( blzntrnd ) /* (c) 1994 Human Amusement */
- DRIVER( gstrik2 ) /* (c) 1996 Human Amusement */
- DRIVER( gstrik2j )
- DRIVER( hyprduel ) /* (c) 1993 Technosoft (Japan) */
- DRIVER( hyprduel2 ) /* (c) 1993 Technosoft (Japan) */
- DRIVER( magerror ) /* (c) 1994 Technosoft (Japan) (Arcade TV Game List - P.100, Left, 13 from Bottom) */
- DRIVER( puzzlet ) /* (c) 2000 Yunizu Corporation (Japan) */
-
- /* Venture Line games */
- DRIVER( spcforce ) /* (c) 1980 Venture Line */
- DRIVER( spcforc2 ) /* bootleg */
- DRIVER( meteor ) /* (c) 1981 Venture Line */
- DRIVER( looping ) /* (c) 1982 Video Games GMBH */
- DRIVER( loopingv ) /* (c) 1982 Video Games GMBH (Venture Line license) */
- DRIVER( loopingva ) /* (c) 1982 Video Games GMBH (Venture Line license) */
- DRIVER( skybump ) /* (c) 1982 Venture Line */
- DRIVER( suprridr ) /* (c) 1983 Venture Line + Taito license */
-
- /* Yun Sung games */
- DRIVER( paradise ) /* (c) >1994 Yun Sung */
- DRIVER( paradlx ) /* (c) >1994 Yun Sung */
- DRIVER( para2dx ) /* (c) >1994 Yun Sung */
- DRIVER( tgtball ) /* (c) 1995 Yun Sung */
- DRIVER( tgtballa ) /* (c) 1995 Yun Sung */
- DRIVER( torus ) /* (c) 1996 Yun Sung */
- DRIVER( paprazzi ) /* (c) 1996 Yun Sung */
- DRIVER( madball ) /* (c) 1998 Yun Sung */
- DRIVER( madballn ) /* (c) 1998 Yun Sung */
- DRIVER( cannball ) /* (c) 1995 Yun Sung / Soft Visio */
- DRIVER( cannballv ) /* (c) 1995 Yun Sung / T&K */
- DRIVER( magix ) /* (c) 1995 Yun Sung */
- DRIVER( rocktris ) /* (c) 1994? Yun Sung */
- DRIVER( magicbub ) /* (c) Yun Sung */
- DRIVER( magicbuba ) /* (c) Yun Sung */
- DRIVER( shocking ) /* (c) 1997 Yun Sung */
- DRIVER( bombkick ) /* (c) 1998 Yun Sung */
- DRIVER( nmg5 ) /* (c) 1998 Yun Sung */
- DRIVER( nmg5e ) /* (c) 1998 Yun Sung */
- DRIVER( searchey ) /* (c) 1999 Yun Sung */
- DRIVER( searchp2 ) /* (c) 1999 Yun Sung */
- DRIVER( pclubys ) /* (c) 2000 Yun Sung */
- DRIVER( pclubysa ) /* (c) 2000 Yun Sung */
- DRIVER( garogun ) /* (c) 2000 Yun Sung */
- DRIVER( 7ordi ) /* (c) 2002 Yun Sung */
- DRIVER( wondstck ) /* (c) ???? Yun Sung */
-
- /* Zilec games */
- DRIVER( blueprnt ) /* (c) 1982 Bally Midway (Zilec in ROM 3U, and the programmer names) */
- DRIVER( blueprntj ) /* (c) 1982 Jaleco (Zilec in ROM 3U, and the programmer names) */
- DRIVER( saturnzi ) /* (c) 1983 Jaleco (Zilec in ROM R6, and the programmer names) */
-
- /* Fuuki FG-2 games */
- DRIVER( gogomile ) /* (c) 1995 */
- DRIVER( gogomilej ) /* (c) 1995 (Japan) */
- DRIVER( pbancho ) /* (c) 1996 (Japan) */
-
- /* Fuuki FG-3 games */
- DRIVER( asurabld ) /* (c) 1998 (Japan) */
- DRIVER( asurabus ) /* (c) 2000 (Japan) */
-
- /* Unico games */
- DRIVER( drgnmst ) /* (c) 1994 */
- DRIVER( burglarx ) /* (c) 1997 */
- DRIVER( zeropnt ) /* (c) 1998 */
- DRIVER( zeropnta ) /* (c) 1998 */
- DRIVER( zeropnt2 ) /* (c) 1999 */
- DRIVER( silkroad ) /* (c) 1999 */
- DRIVER( aoh ) /* (c) 2001 */
-
- /* Afega games */
- DRIVER( twinactn ) /* (c) 1996 - bootleg of US AFF Mustang */
- DRIVER( stagger1 ) /* (c) 1998 */
- DRIVER( redhawk ) /* (c) 1997 */
- DRIVER( redhawke ) /* (c) 1997 Excellent Co., Ltd license */
- DRIVER( redhawki ) /* (c) 1997 Haedong Corp. license */
- DRIVER( redhawkb ) /* (c) 1997 */
- DRIVER( grdnstrm ) /* (c) 1998 */
- DRIVER( grdnstrmk ) /* (c) 1998 */
- DRIVER( bubl2000 ) /* (c) 1998 Tuning */
- DRIVER( hotbubl ) /* (c) 1998 Pandora */
- DRIVER( popspops ) /* (c) 1999 */
- DRIVER( firehawk ) /* (c) 2001 ESD */
- DRIVER( mangchi ) /* (c) 2000 */
- DRIVER( spec2k ) /* (c) 2000 Yonatech */
-
- /* ESD games */
- /* http://www.esdgame.co.kr/english/ */
- DRIVER( multchmp ) /* (c) 1998 (World) */
- DRIVER( multchmpk ) /* (c) 1998 (Korea) */
- DRIVER( mchampdx ) /* (c) 1999 ESD */
- DRIVER( mchampdxa ) /* (c) 1999 ESD */
- DRIVER( mchampdxb ) /* (c) 1999 ESD */
- DRIVER( hedpanic ) /* (c) 2000 ESD */
- DRIVER( hedpanicf ) /* (c) 2000 ESD + Fuuki, Co. Ltd. */
- DRIVER( hedpanico ) /* (c) 1999 ESD */
- DRIVER( tangtang ) /* (c) 2000 ESD */
- DRIVER( swatpolc ) /* (c) 2001 ESD */
-
- /* Dyna Electronics / Dynax / Nakanihon games */
- DRIVER( royalmj ) /* (c) 1982 Nichibutsu */
- DRIVER( openmj ) /* (c) 1982 Nichibutsu */
- DRIVER( royalmah ) /* Falcon bootleg */
- DRIVER( janyoup2 ) /* Falcon bootleg */
- DRIVER( janputer ) /* (c) 1982 Taito */
- DRIVER( janoh ) /* (c) 1984 Toaplan */
- DRIVER( janoha ) /* (c) 1984 Toaplan */
- DRIVER( jansou ) /* (c) 1985 Dyna */
- DRIVER( jansoua ) /* (c) 1985 Dyna */
- DRIVER( mjsiyoub ) /* (c) 1986 Visco */
- DRIVER( mjsenka ) /* (c) 1986 Visco */
- DRIVER( mjyarou ) /* (c) 1986 Visco / Video System */
- DRIVER( mjclub ) /* (c) 1986 Xex */
- DRIVER( daisyari ) /* (c) 1989 Best System */
- DRIVER( suzume ) /* ?? (c) 1986 Dyna Electronics */
- DRIVER( hnayayoi ) /* "02" (c) 1987 Dyna Electronics */
- DRIVER( dondenmj ) /* "03" (c) 1986 Dyna Electronics */
- DRIVER( ippatsu ) /* ?? (c) 1986 Dyna Electronics */
- DRIVER( hnfubuki ) /* "06" (c) 1987 Dynax */
- DRIVER( mjdiplob ) /* "07" (c) 1987 Dynax */
- DRIVER( untoucha ) /* "08" (c) 1987 Dynax */
- DRIVER( tontonb ) /* "09" (c) 1987 Dynax */
- DRIVER( makaijan ) /* ?? (c) 1987 Dynax */
- DRIVER( hanamai ) /* "16" (c) 1988 Dynax */
- DRIVER( majs101b ) /* "17" (c) [1988] Dynax */
- DRIVER( mjapinky ) /* 1988 Dynax */
- DRIVER( mjdejavu ) /* 1989 Dynax */
- DRIVER( mjdejav2 ) /* 1989 Dynax */
- DRIVER( hnkochou ) /* "20" (c) 1989 Dynax */
- DRIVER( mjderngr ) /* "22" (c) 1989 Dynax */
- DRIVER( hnoridur ) /* "23" (c) 1989 Dynax */
- DRIVER( drgpunch ) /* "24" (c) 1989 Dynax */
- DRIVER( mjfriday ) /* "26" (c) [1989] Dynax */
- DRIVER( jantouki ) /* "27" Jantouki 1989 Dynax */
- DRIVER( gekisha ) /* "28" 1989 Dynax */
- DRIVER( mjifb ) /* "29" 1990 Dynax */
- DRIVER( mjifb2 ) /* "29" 1990 Dynax */
- DRIVER( mjifb3 ) /* "29" 1990 Dynax */
- DRIVER( mjvegas ) /* 1991 Dynax */
- DRIVER( mjvegasa ) /* 1991 Dynax */
- DRIVER( cafetime ) /* 1992 Dynax */
- DRIVER( cafedoll ) /* 1993 Dynax */
- DRIVER( janptr96 ) /* 1996 Dynax */
- DRIVER( janptrsp ) /* 1997 Dynax */
- DRIVER( sprtmtch ) /* "31" (c) 1989 Dynax + Fabtek license */
- DRIVER( maya ) /* (c) 1994 Promat */
- DRIVER( mayaa ) /* (c) 1994 Promat */
- DRIVER( inca ) /* (c) 199? ???? */
- DRIVER( blktouch ) /* (c) Yang Gi Co Ltd. */
- DRIVER( mcnpshnt ) /* "33" Mahjong Campus Hunting 1990 Dynax */
- DRIVER( 7jigen ) /* "37" 7jigen no Youseitachi 1990 Dynax */
- DRIVER( neruton ) /* "45" Mahjong Neruton Haikujiradan 1990 Dynax */
- DRIVER( nerutona ) /* "45" Mahjong Neruton Haikujiradan 1990 Dynax */
- DRIVER( mjcomv1 ) /* 1991 Dynax */
- DRIVER( shpeng ) /* (c) 1995 WSAC Systems */
- DRIVER( tenkai ) /* 1991 Dynax */
- DRIVER( tenkai2b ) /* 1991 Dynax */
- DRIVER( tenkaibb ) /* 1991 Dynax */
- DRIVER( tenkaicb ) /* 1991 Dynax */
- DRIVER( tenkaid ) /* 1991 Dynax */
- DRIVER( tenkaie ) /* 1991 Dynax */
- DRIVER( htengoku ) /* 1992 Dynax */
- DRIVER( mjreach ) /* 1994 Dynax */
- DRIVER( mjdialq2 ) /* "52" (c) 1991 Dynax */
- DRIVER( yarunara ) /* "55" Mahjong Yarunara 1991 Dynax */
- DRIVER( mjangels ) /* "61" Mahjong Angels 1991 Dynax */
- DRIVER( quiztvqq ) /* "64" Quiz TV Gassyuukoku Q&Q 1992 Dynax */
- DRIVER( mmpanic ) /* "70" 1992 Nakanihon/Taito */
- DRIVER( quizchq ) /* "73" (c) 1993 Nakanihon */
- DRIVER( quizchql ) /* "73" (c) 1993 Laxan */
- DRIVER( funkyfig ) /* "74" (c) 1993 Nakanihon + East Technology */
- DRIVER( animaljr ) /* "75" 1993 Nakanihon/Taito (USA) */
- DRIVER( animaljrs ) /* "75" 1993 Nakanihon/Taito (Spanish version) */
- DRIVER( animaljrj ) /* "75" 1993 Nakanihon/Taito (Japan) */
- DRIVER( hginga ) /* 1994 Dynax */
- DRIVER( mjmyster ) /* "?7" 1994 Dynax */
- DRIVER( mjmywrld ) /* "?7" 1994 Dynax */
- DRIVER( mjmyornt ) /* 1994 Dynax */
- DRIVER( mjmyuniv ) /* 1994 Dynax */
- DRIVER( quiz365 ) /* "78" (c) 1994 Nakanihon */
- DRIVER( quiz365t ) /* "78" (c) 1994 Nakanihon (Taiwan) */
- DRIVER( rongrong ) /* "80" (c) 1994 Nakanihon */
- DRIVER( rongrongj ) /* "80" (c) 1994 Nakanihon */
- DRIVER( rongrongg ) /* "80" (c) 1994 Nakanihon */
- DRIVER( hparadis ) /* (c) 1994 Nakanihon */
- DRIVER( hgokou ) /* (c) 1995 Nakanihon */
- DRIVER( mjdchuka ) /* (c) 1995 Nakanihon */
- DRIVER( mjtensin ) /* "100" 1995 Dynax */
- DRIVER( nettoqc ) /* "103" (c) 1995 Nakanihon */
- DRIVER( majrjhdx ) /* "105" 1996 Dynax */
- DRIVER( ddenlovj ) /* "113" (c) 1995 Dynax (Japan) */
- DRIVER( ddenlovrk ) /* "113" (c) 1995 Dynax (Korea) */
- DRIVER( ddenlovr ) /* "113" (c) 1996 Dynax (Hong Kong) */
- DRIVER( ddenlovrb ) /* bootleg */
- DRIVER( hanakanz ) /* "507" 1996 Dynax */
- DRIVER( akamaru ) /* "501" 1996 Dynax */
- DRIVER( sryudens ) /* "502" 1996 Dynax / Face */
- DRIVER( mjflove ) /* 1996 Dynax */
- DRIVER( hkagerou ) /* "510" Hana Kagerou 1996 Nakanihon */
- DRIVER( realbrk ) /* "600" Billiard Academy Real Break 1998 (Europe)*/
- DRIVER( realbrkk ) /* "600" Billiard Academy Real Break 1998 (Korea)*/
- DRIVER( realbrkj ) /* "523" Billiard Academy Real Break 1998 (Japan)*/
- DRIVER( dai2kaku ) /* "522" DaiDaiKakumei (Japan)*/
- DRIVER( mjchuuka ) /* "???" (c) 1998 Dynax */
- DRIVER( mjreach1 ) /* "526" Mahjong Reach Ippatsu 1998 Nihon System/Dynax */
- DRIVER( cafebrk ) /* "528" Mahjong Cafe Break (C) 1999 Nakanihon / Dynax */
- DRIVER( jongtei ) /* "532" Mahjong Jong-Tei (C) 1999 Dynax */
- DRIVER( daimyojn ) /* 2002 Dynax / Techno-Top */
-
- DRIVER( pkgnsh ) /* "505" Pachinko Gindama Shoubu 1998 (Japan) */
- DRIVER( pkgnshdx ) /* "522" Pachinko Gindama Shoubu DX 1998 (Japan) */
-
- DRIVER( hjingi ) /* "???" 1990 Dynax */
- DRIVER( hanayara ) /* "???" */
- DRIVER( mjelctrn ) /* "???" Mahjong Electron Base parts 2 & 4 */
- DRIVER( mjelct3 ) /* "???" Mahjong Electron Base parts 2 & 3 */
- DRIVER( mjelct3a ) /* "???" Mahjong Electron Base parts 2 & 3 */
- DRIVER( mjelctrb ) /* (c) 1993 Dynax Mahjong Electron Base parts 4 */
- DRIVER( majxtal7 ) /* "???" */
-
- /* Sigma games */
- DRIVER( nyny ) /* (c) 1980 Sigma Ent. Inc. */
- DRIVER( nynyg ) /* (c) 1980 Sigma Ent. Inc. + Gottlieb */
- DRIVER( warcadia ) /* (c) 1982 Sigma Ent. Inc. */
- DRIVER( r2dtank ) /* (c) 1980 Sigma Ent. Inc. */
- DRIVER( spiders ) /* (c) 1981 Sigma Ent. Inc. */
- DRIVER( spiders2 ) /* (c) 1981 Sigma Ent. Inc. */
- DRIVER( spiders3 ) /* (c) 1981 Sigma Ent. Inc. */
- DRIVER( spinner ) /* bootleg */
- DRIVER( sub ) /* (c) 1985 Sigma Ent. Inc. */
-
- /* Sigma B52 */
- DRIVER( jwildb52 ) /* (c) 199? Sigma */
- DRIVER( jwildb52a ) /* (c) 199? Sigma */
- DRIVER( jwildb52h ) /* (c) 199? Sigma */
-
- /* Sigma B98 / Sammy Medal Games */
- DRIVER( gegege ) /* (c) 1997 Banpresto / Sigma */
- DRIVER( sammymdl ) /* (c) 2000-2003 Sammy */
- DRIVER( animalc ) /* (c) 2000 Sammy */
- DRIVER( itazuram ) /* (c) 2000 Sammy */
- DRIVER( pyenaget ) /* (c) 2000 Sammy */
- DRIVER( tdoboon ) /* (c) 2000 Sammy */
- DRIVER( haekaka ) /* (c) 2001 Sammy */
-
- /* IGS games ( www.igs.com.tw ) */
- DRIVER( goldstar ) /* (c) 198? IGS */
- DRIVER( goldstbl ) /* (c) 198? IGS */
- DRIVER( moonlght ) /* bootleg */
- DRIVER( chry10 ) /* bootleg */
- DRIVER( chrygld ) /* bootleg */
- DRIVER( cabaret ) /* (c) 1992 AMT */
- DRIVER( cpoker ) /* (c) 1993? IGS */
- DRIVER( cpokert ) /* (c) 1993? Tuning */
- DRIVER( csk227it ) /* (c) 198? IGS */
- DRIVER( csk234it ) /* (c) 198? IGS */
- DRIVER( igs_ncs ) /* (c) 198? IGS */
- DRIVER( igs_ncs2 ) /* (c) 2000 IGS */
- DRIVER( spk115it ) /* (c) 199? IGS */
- DRIVER( spk116it ) /* (c) 199? IGS */
- DRIVER( jackie ) /* (c) 1993 IGS */
- DRIVER( pktet346 ) /* (c) 199? IGS */
- DRIVER( chleague ) /* (c) 199? IGS */
- DRIVER( chleagul ) /* (c) 199? IGS */
- DRIVER( number10 ) /* (c) IGS (Board labeled Playmark Srl) */
- DRIVER( numbr10l ) /* (c) IGS (Board labeled Playmark Srl) */
- DRIVER( cpokerpk ) /* (c) SGS (bootleg blue board) */
- DRIVER( cpokerpkg ) /* (c) SGS (bootleg green board) */
- DRIVER( citalcup ) /* (c) SGS (bootleg of IGS v220it) */
- DRIVER( stellecu ) /* (c) 1998 */
- DRIVER( iqblock ) /* (c) 1993 */
- DRIVER( grndtour ) /* (c) 1993 */
- DRIVER( 5clown ) /* (c) IGS 1993 */
- DRIVER( 5clowna ) /* (c) IGS 1993 */
- DRIVER( 5clownsp ) /* (c) IGS 1993 */
-
- /* IGS005 + IGS006 + IGS007 + IGS008 Games */
- DRIVER( lordgun ) /* (c) 1994 */
- DRIVER( aliencha ) /* (c) 1994 */
- DRIVER( alienchac ) /* (c) 1994 */
-
- /* IGS009 Games */
- DRIVER( jingbell ) /* (c) 1995? */
- DRIVER( gp98 ) /* (c) 1998 */
-
- /* IGS011 Games */
- DRIVER( lhb ) /* (c) 1995 */
- DRIVER( lhbv33c ) /* (c) 1995 */
- DRIVER( ryukobou ) /* (c) 1995 */
- DRIVER( dbc ) /* (c) 199? */
- DRIVER( lhb2 ) /* (c) 1996 */
- DRIVER( xymg ) /* (c) 1996 */
- DRIVER( wlcc ) /* (c) 1996 */
- DRIVER( vbowl ) /* (c) 1996 */
- DRIVER( vbowlj ) /* (c) 1996 */
- DRIVER( drgnwrld ) /* (c) 1997 */
- DRIVER( drgnwrldv30 ) /* (c) 1995 */
- DRIVER( drgnwrldv21 ) /* (c) 1995 */
- DRIVER( drgnwrldv21j ) /* (c) 1995 */
- DRIVER( drgnwrldv20j ) /* (c) 1995 */
- DRIVER( drgnwrldv10c ) /* (c) 1995 */
- DRIVER( drgnwrldv11h ) /* (c) 1995 */
- DRIVER( nkishusp ) /* (c) 1998 */
-
- /* IGS017 / IGS031 Games */
- DRIVER( iqblocka ) /* (c) 1996 */
- DRIVER( iqblockf ) /* (c) 1996 */
- DRIVER( tjsb ) /* (c) 1997 */
- DRIVER( sdmg2 ) /* (c) 1997 */
- DRIVER( mgdh ) /* (c) 1997 */
- DRIVER( mgdha ) /* (c) 1997 */
- DRIVER( mgcs ) /* (c) 1998 */
- DRIVER( lhzb2 ) /* (c) 1998 */
- DRIVER( lhzb2a ) /* (c) 1998 */
- DRIVER( slqz2 ) /* (c) 1998 */
- DRIVER( tarzan ) /* (c) 1999? */
- DRIVER( tarzana ) /* (c) 1999? */
- DRIVER( starzan ) /* (c) 2000? */
-
- /* IGS027A Games */
- DRIVER( bigd2 ) /* (c) 2000 */
- DRIVER( sdwx ) /* (c) 2002 */
- DRIVER( sddz ) /* (c) 200? */
- DRIVER( lhzb3 ) /* (c) 200? */
- DRIVER( lhzb4 ) /* (c) 200? */
- DRIVER( klxyj ) /* (c) 200? */
- DRIVER( mgfx ) /* (c) 200? */
-
- /* IGS PGM System Games */
- DRIVER( pgm )
- DRIVER( orlegend ) /* (c) 1997 */
- DRIVER( orlegende ) /* (c) 1997 */
- DRIVER( orlegendc ) /* (c) 1997 */
- DRIVER( orlegendca ) /* (c) 1997 */
- DRIVER( orlegend111c ) /* (c) 1997 */
- DRIVER( orlegend105k ) /* (c) 1997 */
- DRIVER( drgw2 ) /* (c) 1997 */
- DRIVER( dw2v100x ) /* (c) 1997 */
- DRIVER( drgw2c ) /* (c) 1997 */
- DRIVER( drgw2j ) /* (c) 1997 */
- DRIVER( drgw3 ) /* (c) 1998 */
- DRIVER( drgw3105 ) /* (c) 1998 */
- DRIVER( drgw3100 ) /* (c) 1998 */
- DRIVER( dwex ) /* (c) 1998 */
- DRIVER( killbld ) /* (c) 1998 */
- DRIVER( killbld104 ) /* (c) 1998 */
- DRIVER( kov ) /* (c) 1999 */
- DRIVER( kovplus ) /* (c) 1999 */
- DRIVER( kovplusa ) /* (c) 1999 */
- DRIVER( kov115 ) /* (c) 1999 */
- DRIVER( kov100 ) /* (c) 1999 */
- DRIVER( kovsh ) /* (c) 1999 */
- DRIVER( kovsh103 ) /* (c) 1999 */
- DRIVER( kovqhsgs ) /* bootleg */
- DRIVER( kovlsqh2 ) /* bootleg */
- DRIVER( kovlsjb ) /* bootleg */
- DRIVER( kovlsjba ) /* bootleg */
- DRIVER( photoy2k ) /* (c) 1999 */
- DRIVER( photoy2k102 ) /* (c) 1999 */
- DRIVER( photoy2k104 ) /* (c) 1999 */
- DRIVER( puzlstar ) /* (c) 1999 */
- DRIVER( olds ) /* (c) 1999 */
- DRIVER( olds100 ) /* (c) 1999 */
- DRIVER( olds100a ) /* (c) 1999 */
- DRIVER( kov2 ) /* (c) 2000 */
- DRIVER( kov2106 ) /* (c) 2000 */
- DRIVER( kov2103 ) /* (c) 2000 */
- DRIVER( kov2102 ) /* (c) 2000 */
- DRIVER( kov2101 ) /* (c) 2000 */
- DRIVER( kov2100 ) /* (c) 2000 */
- DRIVER( kov2p ) /* (c) 2000 */
- DRIVER( kov2p205 ) /* (c) 2000 */
- DRIVER( ddp2 ) /* (c) 2001 */
- DRIVER( ddp2100 ) /* (c) 2001 */
- DRIVER( ddp2101 ) /* (c) 2001 */
- DRIVER( puzzli2 ) /* (c) 2001 */
- DRIVER( martmast ) /* (c) 2001 */
- DRIVER( martmastc ) /* (c) 2001 */
- DRIVER( martmastc102 ) /* (c) 2001 */
- DRIVER( theglad ) /* (c) 2001 */
- DRIVER( theglada ) /* (c) 2001 */
- DRIVER( dw2001 ) /* (c) 2001 */
- DRIVER( py2k2 ) /* (c) 2001 */
- DRIVER( dmnfrnt ) /* (c) 2002 */
- DRIVER( dmnfrnta ) /* (c) 2002 */
- DRIVER( kovshp )
- DRIVER( oldsplus )
- DRIVER( killbldp )
- DRIVER( happy6 )
- DRIVER( svg )
- DRIVER( ket )
- DRIVER( keta )
- DRIVER( ketb )
- DRIVER( ddp3 )
- DRIVER( ddp3a )
- DRIVER( ddp3b )
- DRIVER( ddp3blk )
- DRIVER( espgal )
- DRIVER( orleg2 ) /* (c) 2007 */
-
- /* Spirit Tech. Corp. */
- DRIVER( dunhuang ) /* (c) 1995 */
-
- /* RamTek games */
- DRIVER( hitme ) /* (c) 05/1976 Ramtek */
- DRIVER( hitme1 ) /* (c) 05/1976 Ramtek */
- DRIVER( m21 ) /* (c) 08/1976 Mirco */
- DRIVER( barricad ) /* (c) 1976 Ramtek */
- DRIVER( brickyrd ) /* (c) 1976 Ramtek */
- DRIVER( starcrus ) /* (c) 1977 Ramtek */
- DRIVER( super21 ) /* (c) 1978 Mirco */
-
- /* Omori games */
- DRIVER( shuttlei ) /* (c) 1979 Omori (Arcade Tv Game List - P.79, Left, 6 from bottom) */
- DRIVER( skylove ) /* (c) 1979 Omori */
- DRIVER( battlex ) /* (c) 1982 Omori E. Co., Ltd. */
- DRIVER( carjmbre ) /* (c) 1983 Omori Electric Co., Ltd. */
- DRIVER( popper ) /* (c) 1983 Omori Electric Co., Ltd. */
-
- /* TCH games */
- DRIVER( speedspn ) /* (c) 1994 */
- DRIVER( mstworld ) /* (c) 1994 */
-
- DRIVER( kickgoal ) /* (c) 1995 */
- DRIVER( actionhw ) /* (c) 1995 */
-
- /* U.S. Games games */
- DRIVER( usg32 ) /* (c) 1987 */
- DRIVER( usg82 ) /* (c) 1988 */
- DRIVER( usg83 ) /* (c) 1988 */
- DRIVER( usg83x ) /* (c) 1988 */
- DRIVER( usg182 ) /* (c) 1989 */
- DRIVER( usg185 ) /* (c) 1991 */
- DRIVER( usg252 ) /* (c) 1992 */
-
- /* Sanritsu games */
- DRIVER( mermaid ) /* (c) 1982 Rock-ola, made by Sanritsu */
- DRIVER( yachtmn ) /* (c) 1982 [Sanritsu] Esco */
- DRIVER( rougien ) /* (c) 1982 Sanritsu */
- DRIVER( drmicro ) /* (c) 1983 Sanritsu */
- DRIVER( jantotsu ) /* (c) 1983 Sanritsu */
- DRIVER( appoooh ) /* (c) 1984 Sega, made by Sanritsu */
- DRIVER( robowres ) /* (c) 1986 Sega */
- DRIVER( robowresb ) /* bootleg */
- DRIVER( bankp ) /* (c) 1984 Sega, made by Sanritsu */
- DRIVER( combh ) /* (c) 1987 Sega, made by Sanritsu */
- DRIVER( mjkjidai ) /* (c) 1986 Sanritsu */
- DRIVER( chinsan ) /* (c) 1987 Sanritsu */
- DRIVER( mayumi ) /* (c) 1988 Victory L.L.C., made by Sanritsu */
-
- /* Rare games */
- DRIVER( xtheball ) /* (c) 1991 Rare */
- DRIVER( btoads ) /* (c) 1994 Rare */
- DRIVER( kinst ) /* (c) 1994 Rare */
- DRIVER( kinst14 ) /* (c) 1994 Rare */
- DRIVER( kinst13 ) /* (c) 1994 Rare */
- DRIVER( kinstp ) /* (c) 1994 Rare */
- DRIVER( kinst2 ) /* (c) 1995 Rare */
- DRIVER( kinst2k4 ) /* (c) 1995 Rare */
- DRIVER( kinst213 ) /* (c) 1995 Rare */
- DRIVER( kinst2k3 ) /* (c) 1995 Rare */
- DRIVER( kinst211 ) /* (c) 1995 Rare */
- DRIVER( kinst210 ) /* (c) 1995 Rare */
-
- /* Nihon System games */
- DRIVER( gigas ) /* (c) 1986 Sega */
- DRIVER( gigasb ) /* (c) 1986 bootleg */
- DRIVER( gigasm2b ) /* (c) 1986 bootleg */
- DRIVER( oigas ) /* (c) 1986 bootleg */
- DRIVER( pbillrd ) /* (c) 1987 Nihon System */
- DRIVER( pbillrds ) /* (c) 1988 Nihon System (+ optional Sega) */
- DRIVER( freekick ) /* (c) 1988 Nihon System (+ optional Sega) */
- DRIVER( freekickb ) /* (c) 1987 bootleg */
- DRIVER( freekickb2 ) /* (c) 1987 bootleg */
- DRIVER( countrun ) /* (c) 1988 Nihon System (+ optional Sega) */
- DRIVER( countrunb ) /* (c) 1988 bootleg */
- DRIVER( countrunb2 ) /* (c) 1988 bootleg */
-
- /* Alba games */
- DRIVER( rmhaihai ) /* (c) 1985 Alba */
- DRIVER( rmhaihib ) /* (c) 1985 Alba */
- DRIVER( rmhaijin ) /* (c) 1986 Alba */
- DRIVER( rmhaisei ) /* (c) 1986 Visco */
- DRIVER( themj ) /* (c) 1987 Visco */
- DRIVER( hanaroku ) /* (c) 1988 Alba */
- DRIVER( yumefuda ) /* (c) 198? Alba */
-
- /* Home Data games */
- DRIVER( hourouki ) /* (c) 1987 Home Data */
- DRIVER( mhgaiden ) /* (c) 1987 Home Data */
- DRIVER( mirderby ) /* (c) 1988 Home Data? */
- DRIVER( mjhokite ) /* (c) 1988 Home Data */
- DRIVER( mjclinic ) /* (c) 1988 Home Data */
- DRIVER( mrokumei ) /* (c) 1988 Home Data */
- DRIVER( reikaids ) /* (c) 1988 Home Data */
- DRIVER( mjkojink ) /* (c) 1989 Home Data */
- DRIVER( vitaminc ) /* (c) 1989 Home Data */
- DRIVER( mjyougo ) /* (c) 1989 Home Data */
- DRIVER( lemnangl ) /* (c) 1990 Home Data */
- DRIVER( mjkinjas ) /* (c) 1991 Home Data */
- DRIVER( battlcry ) /* (c) 1991 Home Data */
- DRIVER( jogakuen ) /* (c) 1992 Windom corporation */
- DRIVER( mjikaga ) /* (c) 1991 Mitchell */
- DRIVER( mjprivat ) /* (c) 1991 Matoba */
-
- /* Art & Magic games */
- DRIVER( ultennis ) /* (c) 1993 */
- DRIVER( ultennisj ) /* (c) 1993 */
- DRIVER( cheesech ) /* (c) 1994 */
- DRIVER( stonebal ) /* (c) 1994 */
- DRIVER( stonebal2 ) /* (c) 1994 */
-
- DRIVER( shtstar ) /* (c) 1994 Nova */
-
- /* Dynamo games */
- DRIVER( skeetsht ) /* (c) 1991 */
- DRIVER( toursol ) /* (c) 1995 Dynamo */
- DRIVER( toursol1 ) /* (c) 1995 Dynamo */
-
- /* Taiyo games */
- DRIVER( dynamski ) /* (c) 1984 Taiyo */
- DRIVER( chinhero ) /* (c) 1984 Taiyo */
- DRIVER( chinhero2 ) /* (c) 1984 Taiyo */
- DRIVER( chinherot ) /* (c) 1984 Taiyo */
- DRIVER( shangkid ) /* (c) 1985 Taiyo + Data East license */
- DRIVER( hiryuken ) /* (c) 1985 Taito */
-
- /* Tatsumi Games */
- DRIVER( kingdrby ) /* (c) 1981 Tatsumi */
- DRIVER( tx1 ) /* (c) 1983 Tatsumi */
- DRIVER( tx1a ) /* (c) 1983 Tatsumi */
- /* TX-1 V8 */ /* (c) 1984 Tatsumi */
- DRIVER( buggyboy ) /* (c) 1985 Tatsumi */
- DRIVER( buggyboyjr )/* (c) 1986 Tatsumi */
- DRIVER( lockon ) /* (c) 1986 Tatsumi */
- DRIVER( lockonc ) /* (c) 1986 Tatsumi */
- /* Gray-Out */ /* (c) 1987 Tatsumi */
- DRIVER( apache3 ) /* (c) 1988 Tatsumi */
- DRIVER( apache3a ) /* (c) 1988 Tatsumi + Kana Corporation license */
- DRIVER( roundup5 ) /* (c) 1989 Tatsumi */
- /* Round Up 5 cockpit */
- DRIVER( cyclwarr ) /* (c) 1991 Tatsumi */
- DRIVER( bigfight ) /* (c) 1992 Tatsumi */
- /* Life */ /* (c) 1997 Tatsumi */
-
- /* Electronic Devices */
- DRIVER( mugsmash ) /* (c) Electronic Devices (Italy) / 3D Games (England) */
- DRIVER( stlforce ) /* (c) 1994 Electronic Devices (Italy) / Ecogames S.L. (Spain) */
- DRIVER( fantland ) /* (c) 198? Electronic Devices Italy */
- DRIVER( fantlanda ) /* (c) 198? Electronic Devices Italy */
- DRIVER( wheelrun ) /* (c) 1988? International Games */
- DRIVER( galaxygn ) /* (c) 1989 Electronic Devices Italy */
- DRIVER( borntofi ) /* (c) International Games? */
- DRIVER( diverboy ) /* (c) 1992 Electronic Devices */
- DRIVER( twinbrat ) /* (c) 1995 */
- DRIVER( twinbrata ) /* (c) 1995 */
- DRIVER( ppmast93 ) /* (c) 1993 Electronic Devices S.R.L. */
- DRIVER( twins ) /* (c) 1994 */
- DRIVER( twinsa ) /* (c) 1994 */
- DRIVER( mwarr )
- DRIVER( pzletime )
-
- /* Arcadia System */
- DRIVER( ar_bios )
- DRIVER( ar_airh ) /* (c) 1988 */
- DRIVER( ar_airh2 ) /* (c) 1988 */
- DRIVER( ar_bowl ) /* (c) 1988 */
- DRIVER( ar_dart ) /* (c) 1987 */
- DRIVER( ar_dart2 ) /* (c) 1987 */
- DRIVER( ar_fast ) /* (c) 1988 */
- DRIVER( ar_ldrb ) /* (c) 1988 */
- DRIVER( ar_ldrba ) /* (c) 1988 */
- DRIVER( ar_ninj ) /* (c) 1987 */
- DRIVER( ar_ninj2 ) /* (c) 1987 */
- DRIVER( ar_rdwr ) /* (c) 1988 */
- DRIVER( ar_sdwr ) /* (c) 1988 */
- DRIVER( ar_sdwr2 ) /* (c) 1988 */
- DRIVER( ar_socc ) /* (c) 1989 */
- DRIVER( ar_spot ) /* (c) 1990 */
- DRIVER( ar_sprg ) /* (c) 1987 */
- DRIVER( ar_xeon ) /* (c) 1988 */
-
- /* Sente Super System */
- DRIVER( mquake ) /* (c) 1987 */
-
- /* Other Amiga-based games */
- DRIVER( upscope ) /* (c) 1986 Grand products */
-
- DRIVER( cd32 ) /* (c) 1993 */
- DRIVER( cndypuzl ) /* (c) 1995 */
- DRIVER( haremchl ) /* (c) 1995 */
- DRIVER( lsrquiz ) /* (c) 1995 */
- DRIVER( lsrquiz2 ) /* (c) 1995 */
- DRIVER( mgprem11 ) /* (c) 1995 */
- DRIVER( lasstixx ) /* (c) 1995 */
- DRIVER( mgnumber ) /* (c) 1995 */
- DRIVER( odeontw2 ) /* (c) 1999 */
-
- /* American Laser Games */
- DRIVER( alg_bios )
- DRIVER( maddoga ) /* (c) 1990 */
- DRIVER( wsjr ) /* (c) 1991 */
- DRIVER( wsjr15 ) /* (c) 1991 */
- DRIVER( maddog ) /* (c) 1990 */
- DRIVER( maddog2 ) /* (c) 1992 */
- DRIVER( maddog22 ) /* (c) 1992 */
- DRIVER( maddog21 ) /* (c) 1992 */
- DRIVER( spacepir ) /* (c) 1992 */
- DRIVER( gallgall ) /* (c) 1992 */
- DRIVER( crimepat ) /* (c) 1993 */
- DRIVER( crimep211 ) /* (c) 1993 */
- DRIVER( crimep2 ) /* (c) 1993 */
- DRIVER( lastbh ) /* (c) 1994 */
- DRIVER( fastdraw ) /* (c) 1995 */
- DRIVER( aplatoon ) /* (c) 199? Nova? */
- DRIVER( zortonbr ) /* (c) 1993 Web Picmatic */
-
- /* Crystal System */
- DRIVER( crysbios )
- DRIVER( crysking ) /* 2001 Brezzasoft. Crystal of the kings */
- DRIVER( evosocc ) /* 2001 Evoga. Evolution Soccer */
- DRIVER( topbladv ) /* 2002 Sonokong. Top Blade V */
- DRIVER( officeye )
-
- DRIVER( ddz ) /* (c) 200? */
-
- DRIVER( psattack ) /* 2004 Uniana */
-
- /* Bell Fruit Cobra Hardware */
- DRIVER( inquiztr ) /* 1989 BFM */
- DRIVER( escounts ) /* 1990 BFM */
- DRIVER( trebltop ) /* 1991 BFM */
- DRIVER( beeline ) /* 1991 BFM */
- DRIVER( quizvadr ) /* 1991 BFM */
- DRIVER( qos ) /* 1992 BFM */
- DRIVER( qosa ) /* 1992 BFM */
- DRIVER( qosb ) /* 1992 BFM */
-
- /* Scorpion 2+Video Board Games */
- DRIVER( qntoondo ) /* 1993 */
- DRIVER( quintoon ) /* 1993 */
- DRIVER( quintond ) /* 1993 */
- DRIVER( quintono ) /* 1993 */
- DRIVER( qntoond ) /* 1993 */
- DRIVER( pokio ) /* 1994 */
- DRIVER( slotsnl ) /* 1995 */
- DRIVER( paradice ) /* 1995 */
- DRIVER( pyramid ) /* 1996 */
- DRIVER( sltblgtk ) /* 1996 */
- DRIVER( sltblgpo ) /* 1996 */
- DRIVER( sltblgp1 ) /* 1996 */
- DRIVER( gldncrwn ) /* 1997 */
-
- /* MPU4 Diagnostic ROMs */
- DRIVER( mpu4utst )
- DRIVER( mpu4tst2 )
- DRIVER( mpu4met0 )
-
- /* MPU4 Non-Video SWPs */
- DRIVER( connect4 ) /* Dolbeck Systems */
-
- /* MPU4+Video Board Games */
- DRIVER( bctvidbs )
- DRIVER( dealem ) /* 1987 */
- DRIVER( adders ) /* 1989 */
- DRIVER( timemchn ) /* 1990 */
- DRIVER( turnover ) /* 199? */
- DRIVER( skiltrek ) /* 1990 */
- DRIVER( crmaze ) /* 1994 */
- DRIVER( crmazed ) /* 1993 */
- DRIVER( crmazea ) /* 1993 */
- DRIVER( crmaze2 ) /* 1993 */
- DRIVER( crmaze2d ) /* 1993 */
- DRIVER( crmaze2a ) /* 1993 */
- DRIVER( crmaze3 ) /* 1993 */
- DRIVER( crmaze3d ) /* 1993 */
- DRIVER( crmaze3a ) /* 1993 */
-
- DRIVER( mating ) /* 199? */
- DRIVER( matingd ) /* 199? */
-
- DRIVER( strikeit ) /* 199? */
- DRIVER( strikeitd ) /* 199? */
- DRIVER( strikeit2 ) /* 199? */
- DRIVER( strikeit2d )/* 199? */
-
- DRIVER( quidgrid ) /* 199? */
- DRIVER( quidgridd ) /* 199? */
- DRIVER( quidgrid2 ) /* 199? */
- DRIVER( quidgrid2d )/* 199? */
-
- DRIVER( eyesdown ) /* 199? */
- DRIVER( eyesdownd ) /* 199? */
-
- /* BwB games */
- DRIVER( blox ) /* 199? */
- DRIVER( bloxd ) /* 199? */
- DRIVER( bwbtetrs ) /* 199? */
- DRIVER( prizeinv ) /* 199? */
- DRIVER( vgpoker ) /* 199? */
- DRIVER( renoreel ) /* 199? */
- DRIVER( redhtpkr ) /* 199? */
-
- /* ADP games */
- DRIVER( backgamn ) /* (c) 1990 */
- DRIVER( quickjac ) /* (c) 1993 */
- DRIVER( skattv ) /* (c) 1994 */
- DRIVER( skattva ) /* (c) 1995 */
- DRIVER( fashiong ) /* (c) 1997 */
- DRIVER( fashiong2 ) /* (c) 1997 */
- DRIVER( fstation ) /* (c) 2000 */
-
- /* Other games on adp hardware */
- DRIVER( funlddlx ) /* (c) 1999 */
-
- /* JPM Give us a Break hardware */
- DRIVER( guab ) /* (c) 1986 */
- DRIVER( guab3a ) /* (c) 1986 */
- DRIVER( guab4 ) /* (c) 1986 */
- DRIVER( guab6 ) /* (c) 1986 */
- DRIVER( guab6a ) /* (c) 1986 */
- DRIVER( guab7 ) /* (c) 1986 */
- DRIVER( guab21 ) /* (c) 1986 */
- DRIVER( guab43 ) /* (c) 1986 */
- DRIVER( crisscrs ) /* (c) 1986 */
- DRIVER( tenup ) /* (c) 1988 */
- DRIVER( tenup3 ) /* (c) 1988 */
-
- /* JPM System 5 + video expansion 2 Games */
- DRIVER( monopoly ) /* (c) 1994 */
- DRIVER( monoplcl ) /* (c) 1995 */
- DRIVER( monopldx ) /* (c) 1995 */
-
- /* JPM Impact Games */
- DRIVER( cluedo ) /* (c) 1995 */
- DRIVER( cluedo2c ) /* (c) 1995 */
- DRIVER( cluedo2 ) /* (c) 1995 */
- DRIVER( trivialp ) /* (c) 1996 */
- DRIVER( scrabble ) /* (c) 1997 */
- DRIVER( hngmnjpm ) /* (c) 1998 */
- DRIVER( coronatn ) /* (c) 1999 */
-
- /* Other Games */
- DRIVER( vega ) /* (c) 19?? Olympia? */
- DRIVER( astinvad ) /* (c) 1980 Stern */
- DRIVER( kosmokil ) /* bootleg */
- DRIVER( kamikaze ) /* Leijac Corporation */
- DRIVER( spcking2 ) /* (c) 1979 Konami */
- DRIVER( spaceint ) /* [1980] Shoei */
- DRIVER( spaceintj ) /* [1980] Shoei */
- DRIVER( spacefb ) /* (c) [1980?] Nintendo */
- DRIVER( spacefbu ) /* (c) [1980?] Nintendo */
- DRIVER( spacefbe ) /* (c) [1980?] Nintendo */
- DRIVER( spacefbg ) /* 834-0031 (c) 1980 Gremlin */
- DRIVER( spacefbb ) /* bootleg */
- DRIVER( spacebrd ) /* bootleg */
- DRIVER( spacedem ) /* (c) 1980 Fortrek + made by Nintendo */
- DRIVER( omegrace ) /* (c) 1981 Midway */
- DRIVER( omegrace2 ) /* (c) 1981 Midway */
- DRIVER( deltrace ) /* bootleg */
- DRIVER( monzagp ) /* (c) 1981 Olympia */
- DRIVER( dday ) /* (c) 1982 Olympia */
- DRIVER( ddayc ) /* (c) 1982 Olympia + Centuri license */
- DRIVER( stactics ) /* [1981 Sega] */
- DRIVER( exterm ) /* (c) 1989 Premier Technology - a Gottlieb game */
- DRIVER( flower ) /* (c) 1986 Komax license */
- DRIVER( flowerj ) /* 834-5998 (c) 1986 Sega / Alpha license? */
- DRIVER( kingofb ) /* (c) 1985 Wood Place Inc. */
- DRIVER( ringking ) /* (c) 1985 Data East USA */
- DRIVER( ringking2 ) /* (c) 1985 Data East USA */
- DRIVER( ringking3 ) /* (c) 1985 Data East USA */
- DRIVER( ringkingw ) /* (c) 1985 Wood Place Inc. */
- DRIVER( homo ) /* bootleg */
- DRIVER( dlair ) /* (c) 1983 Cinematronics */
- DRIVER( dlairf ) /* (c) 1983 Cinematronics */
- DRIVER( dlaire ) /* (c) 1983 Cinematronics */
- DRIVER( dlaird ) /* (c) 1983 Cinematronics */
- DRIVER( dlairc ) /* (c) 1983 Cinematronics */
- DRIVER( dlairb ) /* (c) 1983 Cinematronics */
- DRIVER( dlaira ) /* (c) 1983 Cinematronics */
- DRIVER( dleuro ) /* (c) 1983 Atari */
- DRIVER( dlital ) /* (c) 1983 Sidam */
- DRIVER( spaceace ) /* (c) 1983 Cinematronics */
- DRIVER( spaceaa2 ) /* (c) 1983 Cinematronics */
- DRIVER( spaceaa ) /* (c) 1983 Cinematronics */
- DRIVER( saeuro ) /* (c) 1983 Atari */
- DRIVER( aztarac ) /* (c) 1983 Centuri (vector game) */
- DRIVER( mole ) /* (c) 1982 Yachiyo Electronics, Ltd. */
- DRIVER( thehand ) /* (c) 1981 T.I.C. */
- DRIVER( mrjong ) /* (c) 1983 Kiwako */
- DRIVER( crazyblk ) /* (c) 1983 Kiwako + ECI license */
- DRIVER( blkbustr ) /* (c) 1983 Kiwako + ECI license */
- DRIVER( polyplay )
- DRIVER( amspdwy ) /* no copyright notice, but (c) 1987 Enerdyne Technologies, Inc. */
- DRIVER( amspdwya ) /* no copyright notice, but (c) 1987 Enerdyne Technologies, Inc. */
- DRIVER( othldrby ) /* (c) 1995 Sunwise */
- DRIVER( quizpun2 ) /* (c) 1989 Space Computer System of Korea */
- DRIVER( mosaic ) /* (c) 1990 Space */
- DRIVER( mosaica ) /* (c) 1990 Space + Fuuki license */
- DRIVER( gfire2 ) /* (c) 1992 Topis Corp */
- DRIVER( sprcros2 ) /* (c) 1986 GM Shoji */
- DRIVER( sprcros2a ) /* (c) 1986 GM Shoji */
- DRIVER( d9final ) /* (c) 1992 Excellent System */
- DRIVER( lastbank ) /* (c) 1994 Excellent System */
- DRIVER( gcpinbal ) /* (c) 1994 Excellent System */
- DRIVER( vmetal ) /* (c) 1995 Excellent System? */
- DRIVER( vmetaln ) /* (c) 1995 Excellent System? */
- DRIVER( aquarium ) /* (c) 1996 Excellent System */
- DRIVER( policetr ) /* (c) 1996 P&P Marketing */
- DRIVER( policetr11 )/* (c) 1996 P&P Marketing */
- DRIVER( policetr10 )/* (c) 1996 P&P Marketing */
- DRIVER( policetr13a )/* (c) 1996 P&P Marketing */
- DRIVER( policetr13b )/* (c) 1996 P&P Marketing */
- DRIVER( sshooter ) /* (c) 1998 P&P Marketing */
- DRIVER( sshooter12 )/* (c) 1998 P&P Marketing */
- DRIVER( sshooter11 )/* (c) 1998 P&P Marketing */
- DRIVER( pass ) /* (c) 1992 Oksan */
- DRIVER( news ) /* "Virus"??? ((c) 1993 Poby in ROM VIRUS.4) */
- DRIVER( newsa ) /* "Jeansole / Poby */
- DRIVER( taxidrvr ) /* [1984 Graphic Techno] */
- DRIVER( xyonix ) /* [1989 Philko] */
- DRIVER( gt507uk ) /* (c) 1986 Grayhound Electronics */
- DRIVER( gt5 ) /* (c) 1984 Grayhound Electronics */
- DRIVER( gtsers8 ) /* (c) 1984 Greyhound Electronics */
- DRIVER( gtsers9 ) /* (c) 1984 Greyhound Electronics */
- DRIVER( gtsers10 ) /* (c) 1984 Greyhound Electronics */
- DRIVER( gtsers11 ) /* (c) 1984 Greyhound Electronics */
- DRIVER( gt103a1 ) /* (c) 1984 Greyhound Electronics */
- DRIVER( gt103a2 ) /* (c) 1984 Greyhound Electronics */
- DRIVER( gt103a3 ) /* (c) 1984 Greyhound Electronics */
- DRIVER( gt103aa ) /* (c) 1984 Greyhound Electronics */
- DRIVER( gt103asx ) /* (c) 1984 Greyhound Electronics */
- DRIVER( reelfun ) /* (c) 1986 Grayhound Electronics */
- DRIVER( reelfun1 ) /* (c) 1986 Grayhound Electronics */
- DRIVER( findout ) /* (c) 1987 [Elettronolo] */
- DRIVER( quizvid ) /* (c) 1986 Greyhound Electronics */
- DRIVER( quiz ) /* (c) 1986 Italian bootleg */
- DRIVER( quiz211 ) /* (c) 1986 Italian bootleg */
- DRIVER( jokpoker ) /* (c) 1982 Greyhound Electronics */
- DRIVER( jokpokera ) /* (c) 1982 Greyhound Electronics */
- DRIVER( jokpokerb )
- DRIVER( jokpokerc )
- DRIVER( superbwl ) /* (c) 1982 Greyhound Electronics */
- DRIVER( amuse ) /* (c) 1982 Greyhound Electronics */
- DRIVER( amuse1 ) /* (c) 1982 Greyhound Electronics */
- DRIVER( gs4002 ) /* (c) 1982 G.E.I. */
- DRIVER( gs4002a ) /* (c) 1982 G.E.I. */
- DRIVER( gepoker ) /* (c) 1984 Greyhound Electronics */
- DRIVER( gepoker1 ) /* (c) 1984 Greyhound Electronics */
- DRIVER( gepoker2 ) /* (c) 1984 Greyhound Electronics */
- DRIVER( gtsers1 ) /* (c) 1984 Greyhound Electronics */
- DRIVER( gtsers2 ) /* (c) 1984 Greyhound Electronics */
- DRIVER( gtsers3 ) /* (c) 1984 Greyhound Electronics */
- DRIVER( gtsers4 ) /* (c) 1984 Greyhound Electronics */
- DRIVER( gtsers5 ) /* (c) 1985 Greyhound Electronics */
- DRIVER( gtsers7 ) /* (c) 1985 Greyhound Electronics */
- DRIVER( gtsersa ) /* (c) 1985 Greyhound Electronics */
- DRIVER( gtsersb ) /* (c) 1985 Greyhound Electronics */
- DRIVER( sextriv1 ) /* (c) 1985 Kinky Kit and Game Co. */
- DRIVER( sextriv2 ) /* (c) 1985 Kinky Kit and Game Co. */
- DRIVER( geimulti ) /* (c) 1992 Grayhound Electronics */
- DRIVER( sprtauth ) /* (c) 1982 Classic Games */
- DRIVER( suprpokr ) /* (c) 1986 Grayhound Electronics */
- DRIVER( suprpkr1 ) /* (c) 1986 Grayhound Electronics */
- DRIVER( dribling ) /* (c) 1983 Model Racing */
- DRIVER( driblingo ) /* (c) 1983 Olympia */
- DRIVER( ace ) /* [1976 Allied Leisure] */
- DRIVER( clayshoo ) /* [1979 Allied Leisure] */
- DRIVER( pirates ) /* (c) 1994 NIX */
- DRIVER( genix ) /* (c) 199? NIX */
- DRIVER( fitfight ) /* bootleg of Art of Fighting */
- DRIVER( histryma ) /* bootleg of Fighter's History */
- DRIVER( bbprot ) /* unfinished prototype */
- DRIVER( beaminv ) /* (c) 1979 Tekunon Kougyou (Arcade TV Game List - P.95, Left, 9 from top) */
- DRIVER( beaminva ) /* (c) 1979 Tekunon Kougyou (Arcade TV Game List - P.95, Left, 9 from top) */
- DRIVER( mcatadv ) /* (c) 1993 Wintechno */
- DRIVER( mcatadvj ) /* (c) 1993 Wintechno */
- DRIVER( catt ) /* (c) 1993 Wintechno */
- DRIVER( nost ) /* (c) 1993 Face */
- DRIVER( nostj ) /* (c) 1993 Face */
- DRIVER( nostk ) /* (c) 1993 Face */
- DRIVER( 4enraya ) /* (c) 1990 IDSA */
- DRIVER( oneshot ) /* no copyright notice */
- DRIVER( maddonna ) /* (c) 1995 Tuning */
- DRIVER( maddonnb ) /* (c) 1995 Tuning */
- DRIVER( tugboat ) /* (c) 1982 ETM */
- DRIVER( noahsark ) /* (c) 1983 Enter-Tech */
- DRIVER( berenstn ) /* (c) 1984 Enter-Tech */
- DRIVER( gotcha ) /* (c) 1997 Dongsung + "presented by Para" */
- DRIVER( ppchamp ) /* (c) 1997 Dongsung + "presented by Para" */
- DRIVER( amerdart ) /* (c) 1989 Ameri Corporation */
- DRIVER( amerdart2 ) /* (c) 1989 Ameri Corporation */
- DRIVER( amerdart3 ) /* (c) 1989 Ameri Corporation */
- DRIVER( coolpool ) /* (c) 1992 Catalina Games */
- DRIVER( 9ballsht ) /* (c) 1993 E-Scape EnterMedia + "marketed by Bundra Games" */
- DRIVER( 9ballsht2 ) /* (c) 1993 E-Scape EnterMedia + "marketed by Bundra Games" */
- DRIVER( 9ballsht3 ) /* (c) 1993 E-Scape EnterMedia + "marketed by Bundra Games" */
- DRIVER( 9ballshtc ) /* (c) 1993 E-Scape EnterMedia + "marketed by Bundra Games" */
- DRIVER( gumbo ) /* (c) 1994 Min Corp. */
- DRIVER( mspuzzleg ) /* (c) 1994 Min Corp. */
- DRIVER( mspuzzle ) /* (c) 1994 Min Corp. */
- DRIVER( mspuzzlen ) /* (c) 1994 Min Corp. */
- DRIVER( msbingo ) /* (C) 1994 Min Corp. */
- DRIVER( dblpoint ) /* (c) 1995 Min Corp. */
- DRIVER( dblpointd ) /* (c) 1995 Dong Bang Electron */
- DRIVER( statusbj ) /* (c) 1981 Status Games */
- DRIVER( tripdraw ) /* (c) 1981 Status Games */
- DRIVER( funcsino ) /* (c) 1981 Status Games */
- DRIVER( hangman ) /* (c) 1984 Status Games */
- DRIVER( trivquiz ) /* (c) 1984 Status Games */
- DRIVER( statriv2 ) /* (c) 1984 Status Games */
- DRIVER( statriv2v ) /* (c) 1984 Status Games */
- DRIVER( statriv4 ) /* (c) 1985 Status Games */
- DRIVER( sextriv ) /* (c) 1985 Status Games */
- DRIVER( quaquiz2 ) /* (c) 1985 Status Games */
- DRIVER( supertr2 ) /* (c) 1986 Status Games */
- DRIVER( supertr3 ) /* (c) 1986 Status Games */
- DRIVER( cstripxi ) /* (c) 1981 Status Games */
- DRIVER( tickee ) /* (c) 1994 Raster Elite */
- DRIVER( ghoshunt ) /* (c) 1995? Hanaho Games */
- DRIVER( tutstomb ) /* (c) 199?? Island Design */
- DRIVER( mouseatk ) /* (c) 1996 ICE */
- DRIVER( rapidfir ) /* (c) 1998 Hanaho Games */
- DRIVER( rapidfire ) /* (c) 1998 Hanaho Games */
- DRIVER( maletmad ) /* (c) 1999 Hanaho Games, licensed to Capcom */
- DRIVER( crgolf ) /* (c) 1984 Nasco Japan */
- DRIVER( crgolfa ) /* (c) 1984 Nasco Japan */
- DRIVER( crgolfb ) /* (c) 1984 Nasco Japan */
- DRIVER( crgolfc ) /* (c) 1984 Nasco Japan */
- DRIVER( crgolfbt ) /* bootleg */
- DRIVER( crgolfhi ) /* (c) 1984 Nasco Japan */
- DRIVER( truco ) /* (c) 198? Playtronic SRL */
- DRIVER( thedeep ) /* (c) 1987 Wood Place */
- DRIVER( rundeep ) /* (c) 1988 Cream (bootleg?) */
- DRIVER( wallc ) /* (c) 1984 Midcoin */
- DRIVER( wallca ) /* (c) 1984 Midcoin */
- DRIVER( wink ) /* (c) 1985 Midcoin */
- DRIVER( winka ) /* (c) 1985 Midcoin */
- DRIVER( skyarmy ) /* (c) 1982 Shoei */
- DRIVER( lethalj ) /* (c) 1996 The Game Room */
- DRIVER( eggventr ) /* (c) 1997 The Game Room */
- DRIVER( eggventr8 ) /* (c) 1997 The Game Room */
- DRIVER( eggventr7 ) /* (c) 1997 The Game Room */
- DRIVER( eggventra ) /* (c) 1997 The Game Room (Allied Leisure license) */
- DRIVER( eggventrd ) /* (c) 1997 The Game Room */
- DRIVER( calchase ) /* (c) 1999 The Game Room */
- DRIVER( ripribit ) /* (c) 1997 LAI Games */
- DRIVER( cfarm ) /* (c) 1999 LAI Games */
- DRIVER( cclownz ) /* (c) 1999 LAI Games */
- DRIVER( rotaryf )
- DRIVER( portrait ) /* (c) 1983 Olympia */
- DRIVER( portraita ) /* (c) 1983 Olympia */
- DRIVER( enigma2 ) /* (c) 1981 Game Plan (Zilec Electronics license) */
- DRIVER( enigma2a ) /* (c) 1984 Zilec Electronics (bootleg?) */
- DRIVER( enigma2b ) /* (c) 1981 Zilec Electronics */
- DRIVER( ltcasino ) /* (c) 1982 Digital Controls Inc */
- DRIVER( mv4in1 ) /* (c) 1983 Entertainment Enterprises */
- DRIVER( ltcasinn ) /* (c) 1984 Digital Controls Inc */
- DRIVER( coolmini ) /* (c) 1999 SemiCom */
- DRIVER( luplup ) /* (c) 1999 Omega System */
- DRIVER( luplup29 ) /* (c) 1999 Omega System */
- DRIVER( puzlbang ) /* (c) 1999 Omega System */
- DRIVER( suplup ) /* (c) 1999 Omega System */
- DRIVER( jmpbreak ) /* (c) 1999 F2 System */
- DRIVER( vamphalf ) /* (c) 1999 DanBi & F2 System */
- DRIVER( vamphalfk ) /* (c) 1999 DanBi & F2 System */
- DRIVER( dquizgo2 ) /* (c) 2000 Semicom */
- DRIVER( misncrft ) /* (c) 2000 Sun */
- DRIVER( mrdig ) /* (c) 2000 Sun */
- DRIVER( hidnctch ) /* (c) 1998 Eolith */
- DRIVER( ironfort ) /* (c) 1998 Eolith */
- DRIVER( ironfortj ) /* (c) 1998 Eolith */
- DRIVER( puzzlekg ) /* (c) 1998 Eolith */
- DRIVER( hidctch2 ) /* (c) 1999 Eolith */
- DRIVER( hidctch2a) /* (c) 1999 Eolith */
- DRIVER( nhidctch ) /* (c) 1999 Eolith */
- DRIVER( landbrk ) /* (c) 1999 Eolith */
- DRIVER( landbrka ) /* (c) 1999 Eolith */
- DRIVER( penfan ) /* (c) 1999 Eolith */
- DRIVER( raccoon ) /* (c) 1999 Eolith */
- DRIVER( fort2b ) /* (c) 2001 Eolith */
- DRIVER( fort2ba ) /* (c) 2001 Eolith */
- DRIVER( klondkp ) /* (c) 1999 Eolith */
- DRIVER( hidctch3 ) /* (c) 2000 Eolith */
- DRIVER( crazywar ) /* (c) 2002 Eolith */
- DRIVER( bballoon ) /* (c) 2003 Eolith */
- DRIVER( hapytour ) /* (c) 2005 GAV Company (on Eolith's Ghost hardware) */
- DRIVER( funkball ) /* (c) 1998 dgPIX Entertainment Inc */
- DRIVER( xfiles ) /* (c) 1999 dgPIX Entertainment Inc */
- DRIVER( kdynastg ) /* (c) 1999 EZ Graphics */
- DRIVER( fmaniac3 ) /* (c) 2002 Saero Entertainment */
- DRIVER( promutrv ) /* (c) 1985 Enerdyne Technologies Inc */
- DRIVER( promutrva ) /* (c) 1985 Enerdyne Technologies Inc */
- DRIVER( promutrvb ) /* (c) 1985 Enerdyne Technologies Inc */
- DRIVER( promutrvc ) /* (c) 1985 Enerdyne Technologies Inc */
- DRIVER( strvmstr ) /* (c) 1986 Enerdyne Technologies Inc */
- DRIVER( dorachan ) /* (c) 1980 Craul Denshi */
- DRIVER( ladyfrog ) /* (c) 1990 Mondial Games */
- DRIVER( toucheme )
- DRIVER( rabbit ) /* (c) 1997 Electronic Arts */
- DRIVER( tmmjprd ) /* (c) 1997 Media / Sonnet */
- DRIVER( tmpdoki ) /* (c) 1998 Media Syouji */
- DRIVER( malzak ) /* (c) 1980? Kitronix */
- DRIVER( malzak2 ) /* (c) 1980? Kitronix */
- DRIVER( supertnk ) /* (c) 1981 VIDEO GAMES GmbH, W.-GERMANY */
- DRIVER( crospang ) /* (c) 1998 F2 System */
- DRIVER( heuksun ) /* (c) 1998 Oksan / F2 System */
- DRIVER( bestri ) /* (c) F2 System */
- DRIVER( funybubl ) /* (c) 1999 In Chang Electronic Co */
- DRIVER( funybublc ) /* (c) 1999 Comad Industries */
- DRIVER( dcheese ) /* (c) 1993 HAR */
- DRIVER( lottof2 ) /* (c) 1993 HAR */
- DRIVER( fredmem ) /* (c) 1994 Coastal Amusements */
- DRIVER( fredmemus ) /* (c) 1994 Coastal Amusements */
- DRIVER( fredmemuk ) /* (c) 1994 Coastal Amusements */
- DRIVER( fredmemj ) /* (c) 1994 Coastal Amusements */
- DRIVER( fredmemc ) /* (c) 1994 Coastal Amusements */
- DRIVER( fredmesp ) /* (c) 1994 Coastal Amusements */
- DRIVER( cecmatch ) /* (c) 1993 Coastal Amusements */
- DRIVER( f15se ) /* (c) 1991 Microprose Games Inc. */
- DRIVER( f15se21 ) /* (c) 1991 Microprose Games Inc. */
- DRIVER( botss ) /* (c) 1992 Microprose Games Inc. */
- DRIVER( botssa ) /* (c) 1992 Microprose Games Inc. */
- DRIVER( tankbatl ) /* (c) 1992 Microprose Games Inc. */
- DRIVER( dynadice ) /* ? */
- DRIVER( atamanot ) /* (c) 1983 Yachiyo Denki / Uni Enterprize */
- DRIVER( ssingles ) /* Yachiyo? */
- DRIVER( tcl ) /* (c) 1995 Uniwang */
- DRIVER( othello ) /* (c) 1984 Success */
- DRIVER( sothello ) /* (c) 1986 Success / Fujiwara */
- DRIVER( quake ) /* (c) 19?? Lazer-Tron / iD Software */
- DRIVER( majorpkr ) /* (c) 1994 PAL System. */
-
- /* Multi Amenity Cassette System */
- DRIVER( macsbios )
- DRIVER( mac2bios )
- DRIVER( kisekaem ) /* (c) 1995 I'Max */
- DRIVER( kisekaeh ) /* (c) 1995 I'Max */
- DRIVER( cultname ) /* (c) 1995 I'Max */
- DRIVER( yuka ) /* (c) 1999 Yubis */
- DRIVER( yujan ) /* (C) 1999 Yubis */
-
- DRIVER( onetwo ) /* (c) 1997 Barko */
- DRIVER( onetwoe ) /* (c) 1997 Barko */
- DRIVER( 1945kiii ) /* (c) 2000 Oriental */
- DRIVER( witch ) /* (c) 1992 Sega / Vic Tokai / Excellent Systems */
- DRIVER( pbchmp95 ) /* (c) 1995 Veltmeijer Automaten */
- DRIVER( cardline ) /* (c) 199? Veltmeijer */
- DRIVER( bmcbowl ) /* (c) 1994 BMC */
- DRIVER( koftball ) /* (c) 1995 BMC */
- DRIVER( mpoker ) /* (c) 1983 Merit */
- DRIVER( pitboss ) /* (c) 1983 Merit */
- DRIVER( pitbossa ) /* (c) 1983 Merit */
- DRIVER( pitbossb ) /* (c) 1983 Merit */
- DRIVER( pitbossc ) /* (c) 1983 Merit */
- DRIVER( casino5 ) /* (c) 1983 Merit */
- DRIVER( trvwzh ) /* (c) 1985 Merit */
- DRIVER( trvwzha ) /* (c) 1985 Merit */
- DRIVER( trvwzhb ) /* (c) 1985 Merit */
- DRIVER( trvwzv ) /* (c) 1985 Merit */
- DRIVER( trvwzva ) /* (c) 1985 Merit */
- DRIVER( trvwz2 ) /* (c) 1985 Merit */
- DRIVER( trvwz2a ) /* (c) 1985 Merit */
- DRIVER( trvwz3h ) /* (c) 1985 Merit */
- DRIVER( trvwz3ha ) /* (c) 1985 Merit */
- DRIVER( trvwz3v ) /* (c) 1985 Merit */
- DRIVER( trvwz4 ) /* (c) 1985 Merit */
- DRIVER( trvwz4a ) /* (c) 1985 Merit */
- DRIVER( dtrvwz5 ) /* (c) 1987 Merit */
- DRIVER( tictac ) /* (c) 1985 Merit */
- DRIVER( tictacv ) /* (c) 1985 Merit */
- DRIVER( phrcraze ) /* (c) 1986 Merit */
- DRIVER( phrcrazea ) /* (c) 1986 Merit */
- DRIVER( phrcrazeb ) /* (c) 1986 Merit */
- DRIVER( phrcrazec ) /* (c) 1986 Merit */
- DRIVER( phrcrazev ) /* (c) 1986 Merit */
- DRIVER( bigappg ) /* (c) 1986 Merit */
- DRIVER( dodge ) /* (c) 1986 Merit */
- DRIVER( couple ) /* (c) 1988 Merit */
- DRIVER( couplep ) /* (c) 1988 Merit */
- DRIVER( couplei ) /* (c) 1988 Merit */
- DRIVER( pitboss2 ) /* (c) 1988 Merit */
- DRIVER( spitboss ) /* (c) 1988 Merit */
- DRIVER( pitbosss ) /* (c) 1990 Merit */
- DRIVER( pitbossm ) /* (c) 1994 Merit */
- DRIVER( pitbossma ) /* (c) 1994 Merit */
- DRIVER( pbst30 ) /* (c) 1994 Merit */
- DRIVER( pbst30b ) /* (c) 1993 Merit */
- DRIVER( megat2 ) /* (c) 1994 Merit */
- DRIVER( megat2ca ) /* (c) 1994 Merit */
- DRIVER( megat3 ) /* (c) 1996 Merit */
- DRIVER( megat3a ) /* (c) 1996 Merit */
- DRIVER( megat3ca ) /* (c) 1996 Merit */
- DRIVER( megat3cb ) /* (c) 1995 Merit */
- DRIVER( megat3nj ) /* (c) 1995 Merit */
- DRIVER( megat3te ) /* (c) 1996 Merit */
- DRIVER( megat4 ) /* (c) 1996 Merit */
- DRIVER( megat4a ) /* (c) 1996 Merit */
- DRIVER( megat4b ) /* (c) 1996 Merit */
- DRIVER( megat4s ) /* (c) 1996 Merit */
- DRIVER( megat4sn ) /* (c) 1996 Merit */
- DRIVER( megat4te ) /* (c) 1996 Merit */
- DRIVER( megat4tea ) /* (c) 1996 Merit */
- DRIVER( megat4st ) /* (c) 1996 Merit */
- DRIVER( megat4stg ) /* (c) 1996 Merit */
- DRIVER( megat5 ) /* (c) 1997 Merit */
- DRIVER( megat5a ) /* (c) 1997 Merit */
- DRIVER( megat5nj ) /* (c) 1997 Merit */
- DRIVER( megat5tg ) /* (c) 1997 Merit */
- DRIVER( megat6 ) /* (c) 1998 Merit */
- DRIVER( suprgolf ) /* (c) 1989 Nasco */
- DRIVER( hotblock ) /* (c) 1993 Nics? / Nix? */
- DRIVER( pntnpuzl ) /* Century? */
- DRIVER( trucocl ) /* (c) 1991 Miky SRL */
- DRIVER( ertictac ) /* (c) 1992 Sisteme */
- DRIVER( poizone ) /* (c) 1990 Sisteme */
- DRIVER( ssfindo ) /* (c) 1999 Icarus */
- DRIVER( ppcar ) /* (c) 1999 Icarus */
- DRIVER( tetfight) /* (c) 2001 Sego */
- DRIVER( imolagp ) /* (c) 1981 Leante Games */
- DRIVER( dambustr ) /* (c) 1981 South West Research */
- DRIVER( dambustra ) /* (c) 1981 South West Research */
- DRIVER( dambustruk )/* (c) 1981 South West Research */
- DRIVER( gunpey ) /* (c) 2000 Banpresto */
- DRIVER( spaceg ) /* (c) 19?? */
- DRIVER( wldarrow ) /* (c) 1982 */
- DRIVER( unkmeyco ) /* (c) 198? */
- DRIVER( mdrawpkr ) /* (c) 19?? */
- DRIVER( mdrawpkra ) /* (c) 19?? */
- DRIVER( laserbas ) /* (c) 1981 Amstar/HOEI */
- DRIVER( laserbasa ) /* (c) 1981 Amstar/HOEI */
- DRIVER( futflash ) /* (c) 1981 HOEI (Arcade TV Game List - P.96, Right, 18 from top) */
- DRIVER( turbosub ) /* (c) 1985 Entertainment Sciences */
- DRIVER( turbosub7 ) /* (c) 1985 Entertainment Sciences */
- DRIVER( turbosub6 ) /* (c) 1985 Entertainment Sciences */
- DRIVER( pipeline ) /* (c) 1990 Daehyun Electronics */
- DRIVER( ttchamp )
- DRIVER( ttchampa )
- DRIVER( dreamwld ) /* (c) 2000 SemiCom */
- DRIVER( cybertnk ) /* (c) 1990 Coreland */
- DRIVER( cubeqst ) /* (c) 1983 Simutrek Inc. */
- DRIVER( cubeqsta ) /* (c) 1983 Simutrek Inc. */
- DRIVER( pkscram ) /* (c) 1993 Cosmo Electronics Corporation */
-
- /* Impera CD-I based */
- DRIVER( magicard ) /* (c) 199? Impera */
- DRIVER( magicarda ) /* (c) 199? Impera */
- DRIVER( magicardb ) /* (c) 199? Impera */
- DRIVER( magicardj ) /* (c) 1998 Impera */
- DRIVER( magicle ) /* (c) 1998 Impera */
-
- /* Funworld */
- DRIVER( jollycrd ) /* (c) 1985 TAB-Austria */
- DRIVER( jolyc3x3 ) /* (c) 1985 TAB-Austria */
- DRIVER( jolycmzs ) /* (c) 1993 MZS Tech */
- DRIVER( jolyc980 ) /* (c) 2000 Spale-Soft */
- DRIVER( jolycdev ) /* (c) 1998 TAB/Evona */
- DRIVER( jolyccra ) /* (c) 1985 TAB-Austria */
- DRIVER( jolyccrb ) /* (c) 1993 Soft Design */
- DRIVER( jolycdit ) /* 199? bootleg */
- DRIVER( jolycdib ) /* 1990 bootleg */
- DRIVER( sjcd2kx3 ) /* (c) 1985 M.P.*/
- DRIVER( jolycdab ) /* (c) 1986 Inter Games */
- DRIVER( bigdeal ) /* (c) 1986 Funworld */
- DRIVER( bigdealb ) /* (c) 1986 Funworld */
- DRIVER( jolycdat ) /* (c) 1986 Funworld */
- DRIVER( cuoreuno ) /* (c) 1996 C.M.C. */
- DRIVER( elephfam ) /* (c) 1997 C.M.C. */
- DRIVER( elephfmb ) /* (c) 1996 C.M.C. */
- DRIVER( pool10 ) /* (c) 1996 C.M.C. */
- DRIVER( pool10b ) /* (c) 1996 C.M.C. */
- DRIVER( pool10c ) /* (c) 1996 C.M.C. */
- DRIVER( pool10d ) /* (c) 1997 C.M.C. */
- DRIVER( tortufam ) /* (c) 1997 C.M.C. */
- DRIVER( potgame ) /* (c) 1996 C.M.C. */
- DRIVER( bottle10 ) /* (c) 1996 C.M.C. */
- DRIVER( bottl10b ) /* (c) 1996 C.M.C. */
- DRIVER( royalcrd ) /* (c) 1991 TAB-Austria */
- DRIVER( royalcrda ) /* (c) 1991 TAB-Austria */
- DRIVER( royalcrdb ) /* (c) 1991 TAB-Austria */
- DRIVER( royalcrdc ) /* (c) 1991 TAB-Austria */
- DRIVER( royalcrdd ) /* (c) 1991 TAB-Austria */
- DRIVER( royalcrde ) /* (c) 1991 TAB-Austria */
- DRIVER( royalcrdf ) /* (c) 1991 Evona Electronic */
- DRIVER( royalcrdt ) /* (c) 1991 TAB-Austria orig */
- DRIVER( royalcrdp ) /* (c) 1993 Digital Dreams */
- DRIVER( lluck3x3 ) /* (c) 1991 TAB-Austria */
- DRIVER( lluck4x1 ) /* (c) 1991 TAB-Austria */
- DRIVER( magicrd2 ) /* (c) 1996 Impera */
- DRIVER( magicd2a ) /* (c) 1996 Impera */
- DRIVER( magicd2b ) /* (c) 1996 Impera */
- DRIVER( vegasslw ) /* (c) 1993 Funworld */
- DRIVER( vegasfst ) /* (c) 1993 Soft Design */
- DRIVER( vegasfte ) /* (c) 1993 Soft Design */
- DRIVER( vegasmil ) /* (c) 1993 Mile */
- DRIVER( jolyjokr ) /* (c) 198? Impera */
- DRIVER( jolyjokra ) /* (c) 198? Impera */
- DRIVER( jolyjokrb ) /* (c) 198? Impera */
- DRIVER( multiwin ) /* (c) 1992 Funworld */
- DRIVER( jokercrd ) /* (c) 1993 Vesely Svet */
- DRIVER( mongolnw ) /* 199? bootleg */
- DRIVER( soccernw ) /* 199? bootleg */
- DRIVER( saloon ) /* 199? unknown */
- DRIVER( funquiz ) /* (c) 198? Funworld */
- DRIVER( witchryl ) /* (c) 199? Video Klein */
- DRIVER( photoply )
-
- /* Sandii' */
- DRIVER( snookr10 ) /* (c) 1998 Sandii' */
- DRIVER( apple10 ) /* (c) 1998 Sandii' */
- DRIVER( tenballs ) /* 1997 unknown */
-
- /* Game-A-Tron */
- DRIVER( gotya ) /* (c) 1981 Game-A-Tron */
- DRIVER( sbugger ) /* (c) 1981 Game-A-Tron */
- DRIVER( sbuggera ) /* (c) 1981 Game-A-Tron */
- DRIVER( poker41 ) /* (c) 1983 Game-A-Tron */
- DRIVER( pulltabs ) /* (c) 1983 Game-A-Tron */
-
- DRIVER( vroulet ) /* (c) 1989 World Game */
- DRIVER( rcasino ) /* (c) 1984 Dyna Electronics */
- DRIVER( ampoker2 ) /* (c) 1990 Novomatic */
- DRIVER( piccolop ) /* (c) 1990 Admiral - Novomatic */
- DRIVER( ampkr2b1 ) /* 1990 bootleg */
- DRIVER( ampkr2b2 ) /* 1990 bootleg */
- DRIVER( ampkr2b3 ) /* 1994 bootleg */
- DRIVER( ampkr2b4 ) /* 1994 bootleg */
- DRIVER( ampkr228 ) /* 1990 bootleg */
- DRIVER( pkrdewin ) /* 1990 bootleg */
- DRIVER( ampkr95 ) /* 1995 bootleg */
- DRIVER( videomat ) /* 1990 bootleg */
- DRIVER( rabbitpk ) /* 1990 bootleg */
- DRIVER( sigmapkr ) /* (c) 1995 Sigma */
- DRIVER( sigma2k ) /* (c) 2000 Sigma */
- DRIVER( sidewndr ) /* (c) 1981? ACE */
- DRIVER( spellbnd ) /* (c) 1981? ACE */
- DRIVER( starspnr ) /* (c) 1982? ACE */
- DRIVER( acefruit ) /* (c) 1982? ACE */
- DRIVER( attckufo ) /* (c) 1980 Ryoto Electric Co. */
- DRIVER( fortecar )
- DRIVER( jackpool ) /* (c) 1997 Electronic Projects */
- DRIVER( murogem ) /* ??? */
- DRIVER( murogema ) /* ??? */
- DRIVER( murogmbl ) /* ??? */
- DRIVER( lasvegas ) /* hack */
- DRIVER( quizmstr ) /* (c) 1985 Coinmaster */
- DRIVER( trailblz ) /* (c) 1987 Coinmaster */
- DRIVER( supnudg2 ) /* (c) 1989 Coinmaster */
- DRIVER( pokeroul ) /* (c) 1990 Coinmaster */
- DRIVER( egghunt ) /* (c) 1995 Invi Image */
- DRIVER( magic10 ) /* (c) 1995 A.W.P. Games */
- DRIVER( magic10a ) /* (c) 1995 A.W.P. Games */
- DRIVER( magic10b ) /* (c) 1995 A.W.P. Games */
- DRIVER( magic102 ) /* (c) 1997 ABM Games */
- DRIVER( suprpool ) /* (c) 1997 ABM Games */
- DRIVER( hotslot ) /* (c) 1996 ABM Electronics */
- DRIVER( mcolors ) /* 1999 unknown */
- DRIVER( sgsafari ) /* (c) 1996 New Impeuropex Corp. */
- DRIVER( musicsrt ) /* (c) 1995 ABM Games */
- DRIVER( galaxi ) /* (c) 2000 BRL S.R.L. Bologna */
- DRIVER( magjoker ) /* (c) 2000 BRL S.R.L. Bologna */
- DRIVER( dwarfd ) /* (c) 198? Electro-Sports */
- DRIVER( quarterh ) /* (c) 1983 Electro-Sports */
- DRIVER( quarterha ) /* (c) 1983 Electro-Sports */
- DRIVER( quarterhb ) /* (c) 1983 Electro-Sports */
- DRIVER( qc ) /* (c) 1995 ArJay Exports/Prestige Games */
- DRIVER( trvquest ) /* (c) 1984 Sunn / Techstar */
- DRIVER( wheelfir ) /* (c) 199? TCH */
- DRIVER( littlerb ) /* (c) 1993 TCH */
- DRIVER( tattack ) /* (c) 198? Shonan */
- DRIVER( mosaicf2 ) /* (c) 1999 F2 System */
- DRIVER( finalgdr ) /* (c) 2001 Semicom */
- DRIVER( mrkicker ) /* (c) 2001 Semicom */
- DRIVER( wyvernwg ) /* (c) 2001 Semicom / Game Vision */
- DRIVER( rbmk ) /* (c) 1995 GMS */
- DRIVER( go2000 ) /* (c) 2000 SA */
- DRIVER( mirax ) /* (c) 1985 Current Technologies */
- DRIVER( miraxa ) /* (c) 1985 Current Technologies */
-
- /* Subsino */
- DRIVER( victor5 ) /* (c) 1990 Subsino */
- DRIVER( victor21 ) /* (c) 1990 Subsino */
- DRIVER( crsbingo ) /* (c) 1991 Subsino */
- DRIVER( tisub ) /* (c) 1992 Subsino */
- DRIVER( tisuba ) /* (c) 1992 Subsino */
- DRIVER( stisub ) /* (c) 1995 Subsino (Alpha license) */
- DRIVER( victor6 ) /* (c) 1995 Subsino (Alpha license) */
- DRIVER( victor6a ) /* (c) 1995 Subsino (Alpha license) */
- DRIVER( victor6b ) /* (c) 1995 Subsino (Alpha license) */
- DRIVER( mtrain ) /* (c) 1996 Subsino */
- DRIVER( mtrainnv ) /* (c) 1996 Subsino */
- DRIVER( sharkpy ) /* (c) 1996 Subsino */
- DRIVER( sharkpya ) /* (c) 1996 Subsino */
- DRIVER( sharkpye ) /* (c) 1996 Subsino (Alpha license) */
- DRIVER( smoto20 ) /* (c) 1996 Subsino */
- DRIVER( smoto16 ) /* (c) 1996 Subsino */
- DRIVER( wtrnymph ) /* (c) 1996 Subsino */
- DRIVER( expcard ) /* (c) 1998 American Alpha */
- DRIVER( saklove ) /* (c) 1998 Subsino */
- DRIVER( bishjan ) /* (c) 1999 Subsino */
- DRIVER( xtrain ) /* (c) 1999 Subsino */
- DRIVER( lastfght ) /* (c) 2000 Subsino */
- DRIVER( xplan ) /* (c) 2006 Subsino */
-
- DRIVER( sliver ) /* (c) 1996 Hollow Corp */
- DRIVER( intrscti ) /* ???? */
- DRIVER( pasha2 ) /* (c) 1998 Dong Sung */
- DRIVER( trvmadns ) /* (c) 1985 Thunderhead Inc. */
- DRIVER( rcorsair ) /* (c) 1984 Nakasawa */
- DRIVER( pzlestar ) /* (c) 199? Sang Ho Soft */
- DRIVER( sexyboom ) /* (c) 1992 Sang Ho Soft */
- DRIVER( sfkick ) /* (c) 1988 Haesung/HJ Corp */
- DRIVER( sfkicka ) /* (c) 198? Haesung */
- DRIVER( spinkick ) /* (c) 1988 Haesung/Seojin */
- DRIVER( 7mezzo ) /* (c) 198? Unknown */
- DRIVER( magicfly ) /* (c) 198? P&A GAMES */
- DRIVER( dynabomb ) /* (c) 2000 Limenko */
- DRIVER( legendoh ) /* (c) 2000 Limenko */
- DRIVER( sb2003 ) /* (c) 2003 Limenko */
- DRIVER( sb2003a ) /* (c) 2003 Limenko */
- DRIVER( spotty ) /* (c) 2001 Prince Co. */
- DRIVER( carrera ) /* (c) 19?? BS Electronics */
-
- /* Golden Poker / Potten's Poker / Witch Card hardware */
- DRIVER( goldnpkr ) /* (c) 1981 Bonanza */
- DRIVER( goldnpkb ) /* (c) 1981 Bonanza */
- DRIVER( pottnpkr ) /* Bootleg */
- DRIVER( potnpkra ) /* Bootleg in Coinmaster H/W */
- DRIVER( potnpkrb ) /* Bootleg */
- DRIVER( potnpkrc ) /* Bootleg */
- DRIVER( potnpkrd ) /* Bootleg */
- DRIVER( potnpkre ) /* Bootleg */
- DRIVER( goodluck ) /* Unknown */
- DRIVER( superdbl ) /* 198? Karateco */
- DRIVER( ngold ) /* 198? Unknown */
- DRIVER( ngolda ) /* 198? Unknown */
- DRIVER( ngoldb ) /* 198? Unknown */
- DRIVER( witchcrd ) /* (c) 1991, Video Klein */
- DRIVER( witchcda ) /* 1991, Unknown */
- DRIVER( witchcdb ) /* 1991, Unknown */
- DRIVER( witchcdc ) /* 1991, Unknown */
- DRIVER( witchcdd ) /* 1991, Unknown */
- DRIVER( witchcdf ) /* (c) 1991, PlayMan */
- DRIVER( witchcdg ) /* (c) 199?, Falcon */
- DRIVER( witchcdh ) /* (c) 1991, TV Game Elektronik - Proma */
- DRIVER( witchgme ) /* (c) 1991 Video Klein */
- DRIVER( witchjol ) /* 1994, Unknown */
- DRIVER( wldwitch ) /* 1994, Video Klein */
- DRIVER( falcnwld ) /* 1991, TVG */
- DRIVER( falcnwlda ) /* (c) 1990, Video Klein */
- DRIVER( falcnwldb ) /* (c) 1983, Falcon */
- DRIVER( bsuerte ) /* 1990, Unknown */
- DRIVER( bsuertea ) /* 1991, Unknown */
- DRIVER( bsuerteb ) /* 1991, Unknown */
- DRIVER( bsuertec ) /* 1991, Unknown */
- DRIVER( bsuerted ) /* 1991, Unknown */
- DRIVER( bsuertee ) /* 1991, Unknown */
- DRIVER( bsuertef ) /* 1991, Unknown */
- DRIVER( bsuerteg ) /* 1991, Unknown */
- DRIVER( bsuerteh ) /* 1991, Unknown */
- DRIVER( bsuertei ) /* 1991, Unknown */
- DRIVER( bsuertej ) /* 1991, Unknown */
- DRIVER( bsuertek ) /* 1991, Unknown */
- DRIVER( bsuertel ) /* 1991, Unknown */
- DRIVER( bsuertem ) /* 1991, Unknown */
- DRIVER( bsuerten ) /* 1991, Unknown */
- DRIVER( bsuerteo ) /* 1991, Unknown */
- DRIVER( bsuertep ) /* 1991, Unknown */
- DRIVER( bsuerteq ) /* 1991, Unknown */
- DRIVER( bsuerter ) /* 1991, Unknown */
- DRIVER( bsuertes ) /* 1991, Unknown */
- DRIVER( bsuertet ) /* 1991, Unknown */
- DRIVER( bsuerteu ) /* 1991, Unknown */
- DRIVER( pmpoker ) /* (c) 1981 PlayMan */
- DRIVER( royale ) /* Unknown */
- DRIVER( royalea ) /* Unknown */
- DRIVER( sloco93 ) /* 1993, Unknown */
- DRIVER( sloco93a ) /* 1993, Unknown */
- DRIVER( maverik ) /* 198?, Unknown */
- DRIVER( brasil86 ) /* 1986, Unknown */
- DRIVER( brasil87 ) /* 1987, Unknown */
- DRIVER( brasil89 ) /* 1989, Unknown */
- DRIVER( brasil89a ) /* 1989, Unknown */
- DRIVER( brasil93 ) /* 1993, Unknown */
- DRIVER( poker91 ) /* 1991, Unknown */
- DRIVER( genie ) /* (c) 198? Video Fun Games Ltd. */
- DRIVER( silverga ) /* 1983, Unknown */
- DRIVER( pokerdub ) /* 198?, Unknown */
- DRIVER( pokerduc ) /* 198?, Unknown */
-
- /* Cal Omega */
- DRIVER( comg074 ) /* (c) 1981 Cal Omega Inc. */
- DRIVER( comg076 ) /* (c) 1981 Cal Omega Inc. */
- DRIVER( comg079 ) /* (c) 1981 Cal Omega Inc. */
- DRIVER( comg080 ) /* (c) 1981 Cal Omega Inc. */
- DRIVER( comg094 ) /* (c) 1981 Cal Omega Inc. */
- DRIVER( comg107 ) /* (c) 1982 Cal Omega Inc. */
- DRIVER( comg123 ) /* (c) 1982 Cal Omega Inc. */
- DRIVER( comg125 ) /* (c) 1982 Cal Omega Inc. */
- DRIVER( comg127 ) /* (c) 1982 Cal Omega Inc. */
- DRIVER( comg128 ) /* (c) 1982 Cal Omega Inc. */
- DRIVER( comg134 ) /* (c) 1982 Cal Omega Inc. */
- DRIVER( comg145 ) /* (c) 1982 Cal Omega Inc. */
- DRIVER( comg157 ) /* (c) 1983 Cal Omega Inc. */
- DRIVER( comg159 ) /* (c) 1983 Cal Omega Inc. */
- DRIVER( comg164 ) /* (c) 1983 Cal Omega Inc. */
- DRIVER( comg168 ) /* (c) 1983 Cal Omega Inc. */
- DRIVER( comg172 ) /* (c) 1983 Cal Omega Inc. */
- DRIVER( comg175 ) /* (c) 1984 Cal Omega / Casino Electronics Inc. */
- DRIVER( comg176 ) /* (c) 1982 Cal Omega Inc. */
- DRIVER( comg181 ) /* (c) 1983 Cal Omega Inc. */
- DRIVER( comg183 ) /* (c) 1983 Cal Omega Inc. */
- DRIVER( comg185 ) /* (c) 1983 Cal Omega Inc. */
- DRIVER( comg186 ) /* (c) 1983 Cal Omega Inc. */
- DRIVER( comg187 ) /* (c) 1983 Cal Omega Inc. */
- DRIVER( comg204 ) /* (c) 1984 Cal Omega Inc. */
- DRIVER( comg208 ) /* (c) 1984 Cal Omega Inc. */
- DRIVER( comg227 ) /* (c) 1984 Cal Omega Inc. */
- DRIVER( comg230 ) /* (c) 1984 Cal Omega Inc. */
- DRIVER( comg236 ) /* (c) 1984 Cal Omega Inc. */
- DRIVER( comg239 ) /* (c) 1985 Cal Omega / Casino Electronics Inc. */
- DRIVER( comg240 ) /* (c) 1985 Cal Omega / Casino Electronics Inc. */
- DRIVER( comg246 ) /* (c) 1985 Cal Omega Inc. */
- DRIVER( comg272a ) /* (c) 1985 Cal Omega Inc. */
- DRIVER( comg272b ) /* (c) 1985 Cal Omega Inc. */
- DRIVER( comg5108 ) /* (c) 1985 Cal Omega Inc. */
- DRIVER( comg903d ) /* (c) 198? Cal Omega Inc. */
- DRIVER( comg905d ) /* (c) 198? Cal Omega Inc. */
- DRIVER( elgrande ) /* (c) 1982 Tuni Electro Service / E.T. Marketing */
- DRIVER( jjpoker ) /* (c) 1983 Enter-Tech */
- DRIVER( jjpokerb ) /* (c) 1983 Enter-Tech */
- DRIVER( ssipkr24 ) /* (c) 1988 SSI */
- DRIVER( ssipkr30 ) /* (c) 1988 SSI */
- DRIVER( ssipkr40 ) /* (c) 1990 SSI */
-
- DRIVER( altair ) /* (c) 1981 Cidelsa */
- DRIVER( destryer ) /* (c) 1981 Cidelsa */
- DRIVER( destryera ) /* (c) 1981 Cidelsa */
- DRIVER( draco ) /* (c) 1981 Cidelsa */
- DRIVER( rockduck ) /* (c) 1983 Datel SAS */
- DRIVER( tetriskr ) /* (c) 1988? bootleg */
- DRIVER( trvhang ) /* (c) 1984 SMS MFG CORP */
- DRIVER( trvhanga ) /* (c) 1984 SMS MFG CORP */
- DRIVER( sureshot ) /* (c) 1985 SMS MFG CORP */
- DRIVER( secondch ) /* (c) 1985 SMS MFG CORP */
- DRIVER( skylncr ) /* (c) 1995 Bordun International */
- DRIVER( butrfly ) /* (c) 1995 Bordun International */
- DRIVER( madzoo ) /* (c) 1995 Bordun International */
- DRIVER( leader ) /* Bootleg? */
- DRIVER( livequiz ) /* (c) 1999 Andamiro */
- DRIVER( hammer ) /* (c) 2000 Andamiro */
- DRIVER( cowrace ) /* (c) 20?? hack */
- DRIVER( kingdrbb ) /* (c) 199? hack */
- DRIVER( discoboy ) /* (c) 1993 Soft Art Co. */
- DRIVER( pangofun ) /* (c) 1995 InfoCube */
- DRIVER( 2mindril ) /* (c) 1993 Taito */
- DRIVER( koikoi ) /* (c) 1983 Kiwako */
- DRIVER( good ) /* (c) 1983 Kiwako */
- DRIVER( filetto ) /* (c) 1990 Novamatic */
- DRIVER( quizo ) /* (c) 1985 Seoul Coin Corp. */
- DRIVER( quizoa ) /* (c) 1985 Seoul Coin Corp. */
- DRIVER( gstream ) /* (c) 2002, Oriental Soft Japan */
- DRIVER( miniboy7 ) /* (c) 1983, Bonanza Enterprises */
- DRIVER( miniboy7a ) /* (c) 1983, Bonanza Enterprises */
- DRIVER( 39in1 ) /* MAME based bootleg */
- DRIVER( 48in1 ) /* MAME based bootleg */
- DRIVER( 48in1a ) /* MAME based bootleg */
- DRIVER( kingpin ) /* (c) 1983 American Communications Laboratories Inc. */
- DRIVER( kingpinm ) /* (c) 1983 American Communications Laboratories Inc. */
- DRIVER( thayers ) /* (c) 1983 RDI Video Systems */
- DRIVER( thayersa ) /* (c) 1983 RDI Video Systems */
- DRIVER( istellar ) /* (c) 1983 Funai / Gakken */
- DRIVER( esh ) /* (c) 1984 Funai / Gakken */
- DRIVER( esha ) /* (c) 1984 Funai / Gakken */
- DRIVER( eshb ) /* (c) 1984 Funai / Gakken */
- DRIVER( comebaby ) /* (c) 2000 ExPotato */
- DRIVER( peset038 ) /* (c) 1987 IGT - International Gaming Technology */
- DRIVER( pepp0043 ) /* (c) 1987 IGT - International Gaming Technology */
- DRIVER( pepp0065 ) /* (c) 1987 IGT - International Gaming Technology */
- DRIVER( pepp0158 ) /* (c) 1987 IGT - International Gaming Technology */
- DRIVER( pepp0188 ) /* (c) 1987 IGT - International Gaming Technology */
- DRIVER( pepp0250 ) /* (c) 1987 IGT - International Gaming Technology */
- DRIVER( pepp0447 ) /* (c) 1987 IGT - International Gaming Technology */
- DRIVER( pepp0516 ) /* (c) 1987 IGT - International Gaming Technology */
- DRIVER( pebe0014 ) /* (c) 1994 IGT - International Gaming Technology */
- DRIVER( peke1012 ) /* (c) 1994 IGT - International Gaming Technology */
- DRIVER( peps0014 ) /* (c) 1996 IGT - International Gaming Technology */
- DRIVER( peps0022 ) /* (c) 1996 IGT - International Gaming Technology */
- DRIVER( peps0043 ) /* (c) 1996 IGT - International Gaming Technology */
- DRIVER( peps0045 ) /* (c) 1996 IGT - International Gaming Technology */
- DRIVER( peps0308 ) /* (c) 1996 IGT - International Gaming Technology */
- DRIVER( peps0615 ) /* (c) 1996 IGT - International Gaming Technology */
- DRIVER( peps0716 ) /* (c) 1996 IGT - International Gaming Technology */
- DRIVER( pex2069p ) /* (c) 1995 IGT - International Gaming Technology */
- DRIVER( pexp0019 ) /* (c) 1995 IGT - International Gaming Technology */
- DRIVER( pexp0112 ) /* (c) 1995 IGT - International Gaming Technology */
- DRIVER( pexs0006 ) /* (c) 1997 IGT - International Gaming Technology */
- DRIVER( pexmp006 ) /* (c) 1997 IGT - International Gaming Technology */
- DRIVER( pexmp017 ) /* (c) 1997 IGT - International Gaming Technology */
- DRIVER( pexmp024 ) /* (c) 1997 IGT - International Gaming Technology */
- DRIVER( mirage ) /* (c) 1994 Mitchell */
- DRIVER( dominob ) /* (c) 1996 Wonwoo Systems */
- DRIVER( dominobv2 ) /* (c) 1996 Wonwoo Systems */
- DRIVER( jongkyo ) /* (c) 1985 Kiwako */
- DRIVER( gamecstl ) /* MAME based bootleg */
- DRIVER( gamecst2 ) /* MAME based bootleg, version 2.613 */
- DRIVER( drw80pkr ) /* (c) 1982 IGT */
- DRIVER( drw80pk2 ) /* (c) 1983 IGT */
- DRIVER( fortune1 ) /* (c) 1984 IGT */
- DRIVER( blazlaz ) /* (c) 1989 Hudson Soft */
- DRIVER( ggconnie ) /* (c) ???? Capcom */
- DRIVER( paranoia ) /* (c) 1990 Naxat Soft */
- DRIVER( vcombat ) /* (c) 1993 VR8 Inc. */
- DRIVER( shadfgtr ) /* (c) 1993 DUTECH Inc. */
- DRIVER( skimaxx ) /* (c) 1996 Kyle Hodgetts/ICE */
- DRIVER( blackt96 ) /* (c) 1996 D.G.R.M. of Korea */
- DRIVER( magictg ) /* (c) 199? Acclaim */
- DRIVER( magictga ) /* (c) 199? Acclaim */
- DRIVER( re900 ) /* (c) 1993 Entretenimientos GEMINIS */
- DRIVER( bs94 ) /* (c) 1994 Entretenimientos GEMINIS */
- DRIVER( jokrwild ) /* (c) 1988 Sigma */
- DRIVER( pesadelo ) /* (c) 1989 Forte II Games */
- DRIVER( pengadvb ) /* (c) 1988 Screen */
- DRIVER( spool99 ) /* (c) 1998 Electronic Projects */
- DRIVER( spool99a ) /* (c) 1998 Electronic Projects */
- DRIVER( vcarn ) /* (c) 1999 Electronic Projects */
- DRIVER( 4roses ) /* (c) 1999 Unknown */
- DRIVER( 4rosesa ) /* (c) 1999 Unknown */
- DRIVER( big10 ) /* (c) 198? Unknown */
- DRIVER( bingor1 ) /* (c) 2002 Unknown */
- DRIVER( bingor2 ) /* (c) 2002 Unknown */
- DRIVER( bingor3 ) /* (c) 2002 Unknown */
- DRIVER( bingor4 ) /* (c) 2002 Unknown */
- DRIVER( bingor5 ) /* (c) 2002 Unknown */
-
- /* InterFlip / Recreativos Franco */
- DRIVER( videopkr ) /* (c) 1984 InterFlip */
- DRIVER( blckjack ) /* (c) 1984 InterFlip */
- DRIVER( videodad ) /* (c) 1987 InterFlip */
- DRIVER( videocba ) /* (c) 1987 InterFlip */
- DRIVER( babypkr ) /* (c) 1987 Recreativos Franco */
- DRIVER( babydad ) /* (c) 1987 Recreativos Franco */
-
- /* H8/3048 italian gambling games */
- DRIVER( laperla ) /* (c) 2002 Nazionale Elettronica */
- DRIVER( laperlag ) /* (c) 2001 Nazionale Elettronica */
- DRIVER( capunc ) /* (c) 2000 Nazionale Elettronica */
- DRIVER( capcor ) /* (c) 2001 Nazionale Elettronica */
- DRIVER( euro2k2 ) /* (c) 2001 Nazionale Elettronica */
- DRIVER( euro2k2a ) /* (c) 2001 Nazionale Elettronica */
- DRIVER( euro2k2s ) /* (c) 2002 Nazionale Elettronica */
- DRIVER( mnumber ) /* (c) 200? M.M. - B.R.L. */
- DRIVER( abacus ) /* (c) 200? unknown */
- DRIVER( bookthr ) /* (c) 200? unknown */
-
- /* H8/3337 italian gambling games */
- DRIVER( ntcash ) /* (c) 1999 unknown */
- DRIVER( wizard ) /* (c) 1999 A.A. */
- DRIVER( trstar2k ) /* (c) 1999 A.M. */
- DRIVER( laser2k1 ) /* (c) 2001 unknown */
- DRIVER( mdrink ) /* (c) 2001 unknown */
- DRIVER( te0144 ) /* (c) 2001 unknown */
- DRIVER( cmagica ) /* (c) 200? unknown */
- DRIVER( millsun ) /* (c) 200? unknown */
- DRIVER( sspac2k1 ) /* (c) 200? unknown */
- DRIVER( elvis ) /* (c) 200? unknown */
- DRIVER( sstar ) /* (c) 200? unknown */
- DRIVER( pirati ) /* (c) 2001 Cin */
- DRIVER( mnumitg ) /* (c) 200? unknown */
- DRIVER( mclass ) /* (c) 200? unknown */
- DRIVER( europass ) /* (c) 200? unknown */
-
- /* Intel 8086-based italian gambling games */
- DRIVER( newmcard ) /* (c) 19?? unknown */
- DRIVER( brasil ) /* (c) 2000 unknown */
- DRIVER( fashion ) /* (c) 2000 unknown */
- DRIVER( ciclone ) /* (c) 2000 unknown */
-
- /* V30-based italian gambling games */
- DRIVER( tour4000 ) /* (c) 2000 High Video */
- DRIVER( cfever40 ) /* (c) 2000 High Video */
- DRIVER( cfever50 ) /* (c) 2000 High Video */
- DRIVER( tour4010 ) /* (c) 2000 High Video */
- DRIVER( cfever51 ) /* (c) 2000 High Video */
- DRIVER( cfever61 ) /* (c) 2000 High Video */
- DRIVER( cfever1k ) /* (c) 2000 High Video */
- DRIVER( girotutt ) /* (c) 2000 High Video */
-
- /* Sure games */
- DRIVER( mil4000 ) /* (c) 2000 Sure Milano */
- DRIVER( mil4000a ) /* (c) 2000 Sure Milano */
- DRIVER( mil4000b ) /* (c) 2000 Sure Milano */
- DRIVER( mil4000c ) /* (c) 2000 Sure Milano */
-
- /* Mitsubishi/Renesas M16/62A italian gambling games */
- DRIVER( ejollyx5 ) /* (c) 200? Solar Games */
- DRIVER( grandprx ) /* (c) 200? 4fun */
- DRIVER( supjolly ) /* (c) 200? unknown */
- DRIVER( x5jokers ) /* (c) 200? Electronic Projects */
-
- /* Astro Corp. */
- DRIVER( showhand ) /* (c) 2000 Astro Corp. */
- DRIVER( showhanc ) /* (c) 2000 Astro Corp. */
- DRIVER( skilldrp ) /* (c) 2002 Astro Corp. */
- DRIVER( speeddrp ) /* (c) 2003 Astro Corp. */
- DRIVER( winbingo ) /* (c) 2005? Astro Corp. */
- DRIVER( winbingoa ) /* (c) 2005? Astro Corp. */
- DRIVER( zoo ) /* (c) 2005? Astro Corp. */
- DRIVER( westvent ) /* (c) 2007? Astro Corp. */
-
- /* Dyna */
- DRIVER( ncb3 ) /* (c) 199? Dyna Electronics */
- DRIVER( cb3a ) /* (c) 199? Dyna Electronics */
- DRIVER( cb3 ) /* (c) 199? Dyna Electronics */
- DRIVER( cb3b ) /* (c) 199? Dyna Electronics */
- DRIVER( cb3c ) /* (c) 199? Dyna Electronics */
- DRIVER( cb3d ) /* (c) 199? Dyna Electronics */
- DRIVER( chryangl ) /* (c) 199? Dyna Electronics */
- DRIVER( cmv801 ) /* (c) 198? Corsica */
- DRIVER( cmv4 ) /* (c) 1992 Dyna Electronics */
- DRIVER( cmv4a ) /* (c) 1992 Dyna Electronics */
- DRIVER( cmwm ) /* (c) 199? Dyna Electronics */
- DRIVER( cmfun ) /* (c) 1995 Dyna Electronics */
- DRIVER( cmaster ) /* (c) 1991 Dyna Electronics */
- DRIVER( cmasterb ) /* (c) 1991 Dyna Electronics */
- DRIVER( cmezspin ) /* (c) 1991 Dyna Electronics */
- DRIVER( cmasterc ) /* (c) 1991 Dyna Electronics */
- DRIVER( cmasterbv ) /* (c) 1991 Dyna Electronics / Gerald Duhamel?*/
- DRIVER( cmasterd ) /* (c) 1991 Dyna Electronics */
- DRIVER( cmastere ) /* (c) 1991 Dyna Electronics */
- DRIVER( cmasterf ) /* (c) 1991 Dyna Electronics */
- DRIVER( cmast91 ) /* (c) 1991 Dyna Electronics */
- DRIVER( cmast92 ) /* (c) 1992 Dyna Electronics */
-
- DRIVER( tonypok ) /* (c) 1991 Corsica */
- DRIVER( jkrmast ) /* (c) 199? unknown */
- DRIVER( pkrmast ) /* (c) 199? unknown */
- DRIVER( pkrmasta ) /* (c) 199? unknown */
-
- DRIVER( cb2001 ) /* (c) 2001 Dyna Electronics */
- DRIVER( scherrym ) /* (c) 2001? Dyna Electronics */
-
- /* STG? */
- DRIVER( queen )
-
- /* Aristocrat */
- DRIVER( 86lions ) /* (c) 1985? */
- DRIVER( caswin ) /* (c) 1985 */
-
- /* Aristocrat Mk4 hardware */
- DRIVER( gtroppo ) /* (c) 1986 Ainsworth Nominees P.L. */
- DRIVER( clkwise ) /* (c) 1986 Ainsworth Nominees P.L. */
- DRIVER( gldnpkr ) /* (c) 1986 Ainsworth Nominees P.L. */
- DRIVER( 3bagflvt ) /* (c) 1994 */
- DRIVER( 3bagflnz ) /* (c) 1994 */
- DRIVER( eforest ) /* (c) 1994 */
- DRIVER( eforesta ) /* (c) 1995 */
- DRIVER( eforestb ) /* (c) 1996 */
- DRIVER( cgold2 ) /* (c) 1995 */
- DRIVER( blkrhino ) /* (c) 1996 */
- DRIVER( goldenc ) /* (c) 1996 */
- DRIVER( kgbird ) /* (c) 1996 */
- DRIVER( kgbirda ) /* (c) 1996 */
- DRIVER( topgear ) /* (c) 1996 */
- DRIVER( wtigernz ) /* (c) 1996 */
- DRIVER( fhunter ) /* (c) 1996 */
- DRIVER( fhuntera ) /* (c) 1996 */
- DRIVER( arcwins ) /* (c) 1996 */
- DRIVER( wildone ) /* (c) 1997 */
- DRIVER( phantomp ) /* (c) 1998 */
- DRIVER( swtht2nz ) /* (c) 1998 */
- DRIVER( ffortune ) /* (c) 1998 */
- DRIVER( autmoon ) /* (c) 1999 */
- DRIVER( coralr2 ) /* (c) 2002 */
-
- /* Aristocrat Mk5 hardware */
- DRIVER( aristmk5 ) /* (c) 1995 */
-
- DRIVER( swthrt2v ) /* (c) 1995 */
- DRIVER( enchfrst ) /* (c) 1995 */
- DRIVER( dolphntr ) /* (c) 1996 */
- DRIVER( dolphtra ) /* (c) 1996 */
- DRIVER( dmdtouch ) /* (c) 1997 */
- DRIVER( goldprmd ) /* (c) 1997 */
- DRIVER( qotn ) /* (c) 1997 */
- DRIVER( adonis ) /* (c) 1998 */
- DRIVER( reelrock ) /* (c) 1998 */
- DRIVER( indiandr ) /* (c) 1998 */
- DRIVER( magicmsk ) /* (c) 2000 */
- DRIVER( margmgc ) /* (c) 2000 */
- DRIVER( geishanz ) /* (c) 2001 */
- DRIVER( wtiger ) /* (c) 2001 */
-
- /* Eagle */
- DRIVER( janshi )
- DRIVER( ronjan )
- DRIVER( pinkiri8 )
-
- /* Wing */
- DRIVER( slotcarn ) /* (c) 1985 Wing Co. Ltd */
- DRIVER( lucky74 ) /* (c) 1988 Wing Co. Ltd */
- DRIVER( lucky74a ) /* (c) 1988 Wing Co. Ltd */
- DRIVER( lucky8 ) /* (c) 1989 Wing Co. Ltd */
- DRIVER( lucky8a ) /* (c) 1989 Wing Co. Ltd */
- DRIVER( lucky8b ) /* (c) 1989 Wing Co. Ltd */
- DRIVER( luckgrln ) /* (c) 1991 Wing Co. Ltd */
- DRIVER( luckylad ) /* (c) 1985 Wing Co. Ltd */
-
- DRIVER( skill98 ) /* (c) 1998 Amcoe */
- DRIVER( match98 ) /* (c) 1998 Amcoe */
- DRIVER( schery97 ) /* (c) 1998 Amcoe */
- DRIVER( schery97a ) /* (c) 1998 Amcoe */
- DRIVER( roypok96 ) /* (c) 1996 Amcoe */
- DRIVER( roypok96a ) /* (c) 1996 Amcoe */
- DRIVER( roypok96b ) /* (c) 1996 Amcoe */
- DRIVER( pokonl97 ) /* (c) 1997 Amcoe */
- DRIVER( nc96 ) /* (c) 1996 Amcoe */
- DRIVER( nc96a ) /* (c) 1996 Amcoe */
- DRIVER( nc96b ) /* (c) 1996 Amcoe */
- DRIVER( nc96c ) /* (c) 1996 Amcoe */
- DRIVER( nc96txt ) /* (c) 2000 Amcoe */
- DRIVER( nfb96 ) /* (c) 1996 Amcoe */
- DRIVER( nfb96a ) /* (c) 1996 Amcoe */
- DRIVER( nfb96b ) /* (c) 1996 Amcoe */
- DRIVER( nfb96c ) /* (c) 1996 Amcoe */
- DRIVER( nfb96txt ) /* (c) 2000 Amcoe */
- DRIVER( nfb96se ) /* bootleg */
- DRIVER( nfb96sea ) /* bootleg */
- DRIVER( nfb96seb ) /* bootleg */
- DRIVER( carb2002 ) /* bootleg */
- DRIVER( carb2003 ) /* bootleg */
- DRIVER( nfm ) /* bootleg */
- DRIVER( unkch1 ) /* bootleg */
- DRIVER( unkch2 ) /* bootleg */
- DRIVER( unkch3 ) /* bootleg */
- DRIVER( unkch4 ) /* bootleg */
-
- DRIVER( ns8lines ) /* unknown */
- DRIVER( ns8linew ) /* unknown */
- DRIVER( ladylinr ) /* (c) 198? TAB Austria */
- DRIVER( kkojnoli ) /* 198? south korean hack */
- DRIVER( wcat3 )
- DRIVER( magodds ) /* 198? (c) Micro Manufacturing Ltd. */
- DRIVER( magoddsa ) /* 198? (c) Micro Manufacturing Ltd. */
- DRIVER( magoddsb ) /* 198? (c) Micro Manufacturing Ltd. */
- DRIVER( magoddsc ) /* 198? (c) Micro Manufacturing Ltd. */
- DRIVER( magoddsd ) /* 198? (c) Micro Manufacturing Ltd. */
-
- DRIVER( sfbonus ) /* (c) 2003 Amcoe - Skill Fruit Bonus */
- DRIVER( sfbonusd1 ) /* (c) 2003 Amcoe */
- DRIVER( sfbonusv1 ) /* (c) 2003 Amcoe */
- DRIVER( sfbonuso ) /* (c) 2003 Amcoe */
- DRIVER( sfbonuso2 ) /* (c) 2003 Amcoe */
- DRIVER( parrot3 ) /* (c) 2003 Amcoe - Parrot Poker III */
- DRIVER( parrot3b1 ) /* (c) 2004 Amcoe */
- DRIVER( parrot3d1 ) /* (c) 2004 Amcoe */
- DRIVER( parrot3v1 ) /* (c) 2004 Amcoe */
- DRIVER( parrot3o ) /* (c) 2004 Amcoe */
- DRIVER( hldspin1 ) /* (c) 2000 Amcoe - Hold & Spin I */
- DRIVER( hldspin1dt ) /* (c) 2000 Amcoe */
- DRIVER( hldspin1vt ) /* (c) 2000 Amcoe */
- DRIVER( hldspin1o ) /* (c) 2000 Amcoe */
- DRIVER( hldspin2 ) /* (c) 2000 Amcoe - Hold & Spin II */
- DRIVER( hldspin2d1 ) /* (c) 2000 Amcoe */
- DRIVER( hldspin2v1 ) /* (c) 2000 Amcoe */
- DRIVER( hldspin2o ) /* (c) 2000 Amcoe */
- DRIVER( fcnudge ) /* (c) 2003 Amcoe - Fruit Carnival Nudge */
- DRIVER( fcnudgeo ) /* (c) 2003 Amcoe */
- DRIVER( fcnudgeo2 ) /* (c) 2003 Amcoe */
- DRIVER( fcnudgeo3 ) /* (c) 2003 Amcoe */
- DRIVER( pickwin ) /* (c) 2001 Amcoe - Pick 'n Win */
- DRIVER( pickwinb1 ) /* (c) 2001 Amcoe */
- DRIVER( pickwind1 ) /* (c) 2001 Amcoe */
- DRIVER( pickwinv1 ) /* (c) 2001 Amcoe */
- DRIVER( pickwinbt ) /* (c) 2001 Amcoe */
- DRIVER( pickwindt ) /* (c) 2001 Amcoe */
- DRIVER( pickwinvt ) /* (c) 2001 Amcoe */
- DRIVER( pickwino ) /* (c) 2001 Amcoe */
- DRIVER( pickwino2 ) /* (c) 2001 Amcoe */
- DRIVER( tighook ) /* (c) 2004 Amcoe - Tiger Hook */
- DRIVER( tighookc1 ) /* (c) 2004 Amcoe */
- DRIVER( tighookd1 ) /* (c) 2004 Amcoe */
- DRIVER( tighookv1 ) /* (c) 2004 Amcoe */
- DRIVER( tighookc2 ) /* (c) 2004 Amcoe */
- DRIVER( tighookd2 ) /* (c) 2004 Amcoe */
- DRIVER( tighookv2 ) /* (c) 2004 Amcoe */
- DRIVER( tighooko ) /* (c) 2004 Amcoe */
- DRIVER( tighooko2 ) /* (c) 2004 Amcoe */
- DRIVER( robadv ) /* (c) 2004 Amcoe - Robin's Adventure */
- DRIVER( robadvc1 ) /* (c) 2004 Amcoe */
- DRIVER( robadvd1 ) /* (c) 2004 Amcoe */
- DRIVER( robadvv1 ) /* (c) 2004 Amcoe */
- DRIVER( robadvo ) /* (c) 2004 Amcoe */
- DRIVER( robadv2 ) /* (c) 2004 Amcoe - Robin's Adventure 2 */
- DRIVER( robadv2c1 ) /* (c) 2004 Amcoe */
- DRIVER( robadv2d1 ) /* (c) 2004 Amcoe */
- DRIVER( robadv2v1 ) /* (c) 2004 Amcoe */
- DRIVER( robadv2c2 ) /* (c) 2004 Amcoe */
- DRIVER( robadv2d2 ) /* (c) 2004 Amcoe */
- DRIVER( robadv2v2 ) /* (c) 2004 Amcoe */
- DRIVER( robadv2c3 ) /* (c) 2004 Amcoe */
- DRIVER( robadv2d3 ) /* (c) 2004 Amcoe */
- DRIVER( robadv2v3 ) /* (c) 2004 Amcoe */
- DRIVER( robadv2o ) /* (c) 2004 Amcoe */
- DRIVER( robadv2o2 ) /* (c) 2004 Amcoe */
- DRIVER( pirpok2 ) /* (c) 2003 Amcoe - Pirate Poker II */
- DRIVER( pirpok2b1 ) /* (c) 2003 Amcoe */
- DRIVER( pirpok2d1 ) /* (c) 2003 Amcoe */
- DRIVER( pirpok2v1 ) /* (c) 2003 Amcoe */
- DRIVER( pirpok2o ) /* (c) 2003 Amcoe */
- DRIVER( anibonus ) /* (c) 2003 Amcoe - Animal Bonus */
- DRIVER( anibonusv1 ) /* (c) 2003 Amcoe */
- DRIVER( anibonusv2 ) /* (c) 2003 Amcoe */
- DRIVER( anibonusb1 ) /* (c) 2003 Amcoe */
- DRIVER( anibonusd1 ) /* (c) 2003 Amcoe */
- DRIVER( anibonusb2 ) /* (c) 2003 Amcoe */
- DRIVER( anibonusd2 ) /* (c) 2003 Amcoe */
- DRIVER( anibonuso ) /* (c) 2003 Amcoe */
- DRIVER( anibonuso2 ) /* (c) 2003 Amcoe */
- DRIVER( anibonuso3 ) /* (c) 2003 Amcoe */
- DRIVER( anibonusxo ) /* (c) 2003 Amcoe */
- DRIVER( anibonusxo2 ) /* (c) 2003 Amcoe */
- DRIVER( anibonusxo3 ) /* (c) 2003 Amcoe */
- DRIVER( abnudge ) /* (c) 2003 Amcoe - Animal Bonus Nudge */
- DRIVER( abnudgeb ) /* (c) 2003 Amcoe */
- DRIVER( abnudged ) /* (c) 2003 Amcoe */
- DRIVER( abnudgeo ) /* (c) 2003 Amcoe */
- DRIVER( dblchal ) /* (c) 2003 Amcoe - Double Challenge */
- DRIVER( dblchalc1 ) /* (c) 2003 Amcoe */
- DRIVER( dblchald1 ) /* (c) 2003 Amcoe */
- DRIVER( dblchalv1 ) /* (c) 2003 Amcoe */
- DRIVER( dblchalo ) /* (c) 2003 Amcoe */
- DRIVER( anithunt ) /* (c) 2003 Amcoe - Animal Treasure Hunt */
- DRIVER( anithuntd1 ) /* (c) 2003 Amcoe */
- DRIVER( anithuntv1 ) /* (c) 2003 Amcoe */
- DRIVER( anithunto ) /* (c) 2003 Amcoe */
- DRIVER( anithunto2 ) /* (c) 2003 Amcoe */
- DRIVER( sfruitb ) /* (c) 2002 Amcoe - Super Fruit Bonus */
- DRIVER( sfruitbb1 ) /* (c) 2002 Amcoe */
- DRIVER( sfruitbd1 ) /* (c) 2002 Amcoe */
- DRIVER( sfruitbv1 ) /* (c) 2002 Amcoe */
- DRIVER( sfruitbb2 ) /* (c) 2002 Amcoe */
- DRIVER( sfruitbd2 ) /* (c) 2002 Amcoe */
- DRIVER( sfruitbv2 ) /* (c) 2002 Amcoe */
- DRIVER( sfruitbo ) /* (c) 2002 Amcoe */
- DRIVER( sfruitbo2 ) /* (c) 2002 Amcoe */
- DRIVER( sfruitbh ) /* (c) 2002 Amcoe */
- DRIVER( sfruitbbh ) /* (c) 2002 Amcoe */
- DRIVER( sfruitbdh ) /* (c) 2002 Amcoe */
- DRIVER( sfruitbvh ) /* (c) 2002 Amcoe */
- DRIVER( sfruitboh ) /* (c) 2002 Amcoe */
- DRIVER( fb2gen ) /* (c) 2004 Amcoe - Fruit Bonus 2nd Generation */
- DRIVER( fb2genc1 ) /* (c) 2004 Amcoe */
- DRIVER( fb2gend1 ) /* (c) 2004 Amcoe */
- DRIVER( fb2genv1 ) /* (c) 2004 Amcoe */
- DRIVER( fb2genc2 ) /* (c) 2004 Amcoe */
- DRIVER( fb2gend2 ) /* (c) 2004 Amcoe */
- DRIVER( fb2genv2 ) /* (c) 2004 Amcoe */
- DRIVER( fb2geno ) /* (c) 2004 Amcoe */
- DRIVER( fb2geno2 ) /* (c) 2004 Amcoe */
- DRIVER( fb2nd ) /* (c) 2004 Amcoe - Fruit Bonus 2nd Edition */
- DRIVER( fb2ndd1 ) /* (c) 2004 Amcoe */
- DRIVER( fb2ndv1 ) /* (c) 2004 Amcoe */
- DRIVER( fb2ndc2 ) /* (c) 2004 Amcoe */
- DRIVER( fb2ndd2 ) /* (c) 2004 Amcoe */
- DRIVER( fb2ndv2 ) /* (c) 2004 Amcoe */
- DRIVER( fb2ndo ) /* (c) 2004 Amcoe */
- DRIVER( fb4 ) /* (c) 2004 Amcoe - Fruit Bonus 2004 */
- DRIVER( fb4c1 ) /* (c) 2004 Amcoe */
- DRIVER( fb4d1 ) /* (c) 2004 Amcoe */
- DRIVER( fb4v1 ) /* (c) 2004 Amcoe */
- DRIVER( fb4exp ) /* (c) 2004 Amcoe */
- DRIVER( fb4b2 ) /* (c) 2004 Amcoe */
- DRIVER( fb4c2 ) /* (c) 2004 Amcoe */
- DRIVER( fb4d2 ) /* (c) 2004 Amcoe */
- DRIVER( fb4v2 ) /* (c) 2004 Amcoe */
- DRIVER( fb4o ) /* (c) 2004 Amcoe */
- DRIVER( fb4o2 ) /* (c) 2004 Amcoe */
- DRIVER( fb5 ) /* (c) 2005 Amcoe - Fruit Bonus 2005 */
- DRIVER( fb5c ) /* (c) 2005 Amcoe */
- DRIVER( fb5d ) /* (c) 2005 Amcoe */
- DRIVER( fb5v ) /* (c) 2005 Amcoe */
- DRIVER( fb6 ) /* (c) 2006 Amcoe - Fruit Bonus '06 - 10th anniversary */
- DRIVER( fb6v ) /* (c) 2006 Amcoe */
- DRIVER( fb6d1 ) /* (c) 2006 Amcoe */
- DRIVER( fb6s1 ) /* (c) 2006 Amcoe */
- DRIVER( fb6v1 ) /* (c) 2006 Amcoe */
- DRIVER( fb6d2 ) /* (c) 2006 Amcoe */
- DRIVER( fb6s2 ) /* (c) 2006 Amcoe */
- DRIVER( fb6v2 ) /* (c) 2006 Amcoe */
- DRIVER( fb6s3 ) /* (c) 2006 Amcoe */
- DRIVER( fb6se ) /* (c) 2006 Amcoe - Fruit Bonus 2006 Special Edition */
- DRIVER( fb6sev ) /* (c) 2006 Amcoe */
- DRIVER( fb6sed1 ) /* (c) 2006 Amcoe */
- DRIVER( fb6sev1 ) /* (c) 2006 Amcoe */
- DRIVER( fb6sed2 ) /* (c) 2006 Amcoe */
- DRIVER( fb6sev2 ) /* (c) 2006 Amcoe */
- DRIVER( version4 ) /* (c) 2006 Amcoe - Version 4 ? */
- DRIVER( bugfever ) /* (c) 2006 Amcoe - Bug Fever */
- DRIVER( bugfevero ) /* (c) 2006 Amcoe */
- DRIVER( bugfeverd ) /* (c) 2006 Amcoe */
- DRIVER( bugfeverv ) /* (c) 2006 Amcoe */
- DRIVER( bugfeverv2 ) /* (c) 2006 Amcoe */
- DRIVER( funriver ) /* (c) 2005 Amcoe - Fun River */
- DRIVER( funriverv ) /* (c) 2005 Amcoe */
- DRIVER( dvisland ) /* (c) 2006 Amcoe - Devil's Island */
- DRIVER( dvislando ) /* (c) 2006 Amcoe */
- DRIVER( atworld ) /* (c) 2007 Amcoe - Around The World */
- DRIVER( atworldd1 ) /* (c) 2007 Amcoe */
- DRIVER( amclink ) /* (c) 200? Amcoe - Amcoe Link Control Box? */
- DRIVER( fbdeluxe ) /* (c) 200? Amcoe - Amcoe Link Control Box? */
-
- DRIVER( act2000 ) /* (c) 1999 Amcoe - Action 2000 */
- DRIVER( act2000v1 ) /* (c) 1999 Amcoe */
- DRIVER( act2000d1 ) /* (c) 1999 Amcoe */
- DRIVER( act2000b1 ) /* (c) 1999 Amcoe */
- DRIVER( act2000vx ) /* (c) 1999 Amcoe */
- DRIVER( act2000dx ) /* (c) 1999 Amcoe */
- DRIVER( act2000bx ) /* (c) 1999 Amcoe */
- DRIVER( act2000o ) /* (c) 1999 Amcoe */
- DRIVER( act2000o2 ) /* (c) 1999 Amcoe */
- DRIVER( act2000o3 ) /* (c) 1999 Amcoe */
- DRIVER( ch2000 ) /* (c) 2000 Amcoe - Fruit Bonus 2000 / New Cherry 2000 */
- DRIVER( ch2000b1 ) /* (c) 2000 Amcoe */
- DRIVER( ch2000c1 ) /* (c) 2000 Amcoe */
- DRIVER( ch2000d1 ) /* (c) 2000 Amcoe */
- DRIVER( ch2000v1 ) /* (c) 2000 Amcoe */
- DRIVER( ch2000b2 ) /* (c) 2000 Amcoe */
- DRIVER( ch2000c2 ) /* (c) 2000 Amcoe */
- DRIVER( ch2000d2 ) /* (c) 2000 Amcoe */
- DRIVER( ch2000v2 ) /* (c) 2000 Amcoe */
- DRIVER( ch2000o ) /* (c) 2000 Amcoe */
- DRIVER( ch2000o2 ) /* (c) 2000 Amcoe */
- DRIVER( ch2000o3 ) /* (c) 2000 Amcoe */
- DRIVER( pir2001 ) /* (c) 2001 Amcoe - Pirate 2001 */
- DRIVER( pir2001b1 ) /* (c) 2001 Amcoe */
- DRIVER( pir2001d1 ) /* (c) 2001 Amcoe */
- DRIVER( pir2001v1 ) /* (c) 2001 Amcoe */
- DRIVER( pir2001bx ) /* (c) 2001 Amcoe */
- DRIVER( pir2001dx ) /* (c) 2001 Amcoe */
- DRIVER( pir2001vx ) /* (c) 2001 Amcoe */
- DRIVER( pir2001o ) /* (c) 2001 Amcoe */
- DRIVER( pir2001o2 ) /* (c) 2001 Amcoe */
- DRIVER( pir2001o3 ) /* (c) 2001 Amcoe */
- DRIVER( pir2002 ) /* (c) 2001 Amcoe - Pirate 2002 */
- DRIVER( pir2002b1 ) /* (c) 2001 Amcoe */
- DRIVER( pir2002d1 ) /* (c) 2001 Amcoe */
- DRIVER( pir2002v1 ) /* (c) 2001 Amcoe */
- DRIVER( pir2002bx ) /* (c) 2001 Amcoe */
- DRIVER( pir2002dx ) /* (c) 2001 Amcoe */
- DRIVER( pir2002vx ) /* (c) 2001 Amcoe */
- DRIVER( pir2002o ) /* (c) 2001 Amcoe */
- DRIVER( pir2002o2 ) /* (c) 2001 Amcoe */
- DRIVER( pir2002o3 ) /* (c) 2001 Amcoe */
- DRIVER( classice ) /* (c) 2004 Amcoe - Classic Edition */
- DRIVER( classicev ) /* (c) 2004 Amcoe */
- DRIVER( classice1 ) /* (c) 2004 Amcoe */
- DRIVER( classiced1 )/* (c) 2004 Amcoe */
- DRIVER( classicev1 )/* (c) 2004 Amcoe */
- DRIVER( classice2 ) /* (c) 2004 Amcoe */
- DRIVER( classiced2 )/* (c) 2004 Amcoe */
- DRIVER( classicev2 )/* (c) 2004 Amcoe */
- DRIVER( seawld ) /* (c) 200? Amcoe - Sea World */
- DRIVER( seawldd1 ) /* (c) 200? Amcoe */
- DRIVER( moneymac ) /* (c) 200? Amcoe - Money Machine */
- DRIVER( moneymacd1 )/* (c) 200? Amcoe */
- DRIVER( moneymacv1 )/* (c) 200? Amcoe */
- DRIVER( moneymacd2 )/* (c) 200? Amcoe */
- DRIVER( moneymacv2 )/* (c) 200? Amcoe */
-
-
- DRIVER( chsuper3 ) /* unknown */
- DRIVER( chsuper2 ) /* unknown */
- DRIVER( chmpnum ) /* unknown */
- DRIVER( 3super8 ) /* unknown */
- DRIVER( buster ) /* (c) 1987 Marian Electronics Ltd. */
- DRIVER( spielbud ) /* (c) 1985 ADP */
-
- /* Hi-Soft */
- DRIVER( himesiki ) /* (c) 1989 Hi-Soft */
-
- /* Draw Poker HI-LO based (z80) */
- DRIVER( norautp ) /* (c) 1988 Noraut Ltd. */
- DRIVER( norautdx ) /* (c) 198? Noraut Ltd. */
- DRIVER( norautpn ) /* (c) 199? unknown */
- DRIVER( norautjo ) /* (c) 198? Noraut Ltd. */
- DRIVER( norautpl ) /* (c) 198? Prologic / Noraut Ltd. */
- DRIVER( norautjp ) /* (c) 198? Noraut Ltd. */
- DRIVER( norautrh ) /* (c) 198? Noraut Ltd. */
- DRIVER( norautra ) /* (c) 198? Noraut Ltd. */
- DRIVER( norautu ) /* (c) 198? Noraut Ltd. */
- DRIVER( noraut3a ) /* (c) 2002 Noraut Ltd. */
- DRIVER( noraut3b ) /* (c) 2003 Noraut Ltd. */
- DRIVER( norautua ) /* (c) 198? Noraut Ltd. */
- DRIVER( norautub ) /* (c) 198? Noraut Ltd. */
- DRIVER( mainline ) /* (c) Mainline London */
- DRIVER( df_djpkr ) /* (c) DellFern Ltd. */
- DRIVER( ndxron10 ) /* 2005, unknown */
- DRIVER( cgip30cs ) /* (c) 1999, CGI */
- DRIVER( kimblz80 ) /* (c) 198?, Kimble Ireland */
- DRIVER( pma ) /* 1983, PMA */
- DRIVER( bjpoker ) /* (c) M. Kramer Inc. */
-
- /* Draw Poker HI-LO based (8080) */
- DRIVER( dphl ) /* (c) 1983 M. Kramer Inc. */
- DRIVER( dphla ) /* unknown */
- DRIVER( dphljp ) /* unknown */
- DRIVER( kimbldhl ) /* (c) 198?, Kimble Ireland */
- DRIVER( gtipoker ) /* (c) 1983 GTI Inc */
- DRIVER( smshilo ) /* (c) 1983 SMS Manufacturing Corp. */
- DRIVER( drhl ) /* (c) 1986 Drew, Inc. */
- DRIVER( drhla ) /* (c) 1986 Drew, Inc. */
- DRIVER( tpoker2 ) /* (c) 1993 Micro Manufacturing, Inc. */
- DRIVER( ssjkrpkr ) /* (c) 1982 Southern Systems & Assembly, Ltd. */
- DRIVER( fastdrwp ) /* Stern? */
- DRIVER( dphlunka ) /* SMS Manufacturing Corp? */
- DRIVER( dphlunkb ) /* SMS Manufacturing Corp? */
-
-
- /* Sanki Denshi Kogyo */
- DRIVER( pachifev ) /* (c) 1983? */
-
- /* New Image Technologies */
- DRIVER( bonanza ) /* (c) 1993 */
- DRIVER( bonanzar2 ) /* (c) 1993 */
- DRIVER( streetg ) /* (c) 1993 */
- DRIVER( streetgr3 ) /* (c) 1993 */
- DRIVER( streetg2 ) /* (c) 1993 */
- DRIVER( streetg2r5 ) /* (c) 1993 */
-
- /* Micro Manufacturing */
- DRIVER( magtouch ) /* (c) 1995 */
-
- /* Coinmaster-Gaming VGA based */
- DRIVER( colorama ) /* (c) 2001 Coinmaster-Gaming, Ltd. */
- DRIVER( cmrltv75 ) /* (c) 2001 Coinmaster-Gaming, Ltd. */
- DRIVER( cmkenosp ) /* (c) 2000 Coinmaster-Gaming, Ltd. */
- DRIVER( cmkenospa ) /* (c) 2000 Coinmaster-Gaming, Ltd. */
-
- /* Igrosoft Original sets */
- /* Multifish */
- //DRIVER( mfish ) /* (c) 2002 */
- //DRIVER( mfish_2 ) /* (c) 2002 */
- //DRIVER( mfish_4 ) /* (c) 2002 */
- //DRIVER( mfish_5 ) /* (c) 2002 */
- //DRIVER( mfish_7 ) /* (c) 2002 */
- //DRIVER( mfish_8 ) /* (c) 2002 */
- //DRIVER( mfish_9 ) /* (c) 2002 */
- //DRIVER( mfish_10 ) /* (c) 2002 */
- //DRIVER( mfish_13 ) /* (c) 2002 */
- DRIVER( mfish_3 ) /* (c) 2002 */
- DRIVER( mfish_6 ) /* (c) 2002 */
- DRIVER( mfish_11 ) /* (c) 2002 */
- DRIVER( mfish_12 ) /* (c) 2002 */
- DRIVER( mfish_13 ) /* (c) 2002 */
-
- /* Crazy Monkey */
- //DRIVER( crzmon ) /* (c) 2003 */
- //DRIVER( crzmon_2 ) /* (c) 2003 */
- //DRIVER( crzmon_3 ) /* (c) 2003 */
- //DRIVER( crzmon_4 ) /* (c) 2003 */
- //DRIVER( crzmon_5 ) /* (c) 2003 */
- //DRIVER( crzmon_6 ) /* (c) 2003 */
- DRIVER( crzmon_5 ) /* (c) 2003 */
- DRIVER( crzmon_7 ) /* (c) 2003 */
- DRIVER( crzmon_8 ) /* (c) 2003 */
- DRIVER( crzmon_9 ) /* (c) 2003 */
-
- /* Fruit Cocktail */
- //DRIVER( fcockt ) /* (c) 2003 */
- //DRIVER( fcockt_2 ) /* (c) 2003 */
- DRIVER( fcockt_3 ) /* (c) 2003 */
- //DRIVER( fcockt_4 ) /* (c) 2003 */
- DRIVER( fcockt_5 ) /* (c) 2003 */
- DRIVER( fcockt_6 ) /* (c) 2003 */
- DRIVER( fcockt_7 ) /* (c) 2003 */
- DRIVER( fcockt_8 ) /* (c) 2003 */
- DRIVER( fcockt_9 ) /* (c) 2003 */
- DRIVER( fcockt_10 ) /* (c) 2003 */
- DRIVER( fcockt_11 ) /* (c) 2003 */
- DRIVER( fcockt_12 ) /* (c) 2003 */
-
- /* Lucky Haunter */
- //DRIVER( lhaunt ) /* (c) 2003 */
- DRIVER( lhaunt_2 ) /* (c) 2003 */
- //DRIVER( lhaunt_3 ) /* (c) 2003 */
- DRIVER( lhaunt_4 ) /* (c) 2003 */
- DRIVER( lhaunt_5 ) /* (c) 2003 */
- DRIVER( lhaunt_6 ) /* (c) 2003 */
- DRIVER( lhaunt_7 ) /* (c) 2003 */
- DRIVER( lhaunt_8 ) /* (c) 2003 */
-
- /* Rollfruit */
- //DRIVER( rollfr ) /* (c) 2003 */
- DRIVER( rollfr_2 ) /* (c) 2003 */
-
- /* Garage */
- //DRIVER( garage ) /* (c) 2004 */
- //DRIVER( garage_2 ) /* (c) 2004 */
- //DRIVER( garage_3 ) /* (c) 2004 */
- DRIVER( garage_4 ) /* (c) 2004 */
- DRIVER( garage_5 ) /* (c) 2004 */
- DRIVER( garage_6 ) /* (c) 2004 */
- DRIVER( garage_7 ) /* (c) 2004 */
-
- /* Rock Climber */
- //DRIVER( rclimb_2 ) /* (c) 2004 */
- DRIVER( rclimb ) /* (c) 2004 */
- DRIVER( rclimb_3 ) /* (c) 2004 */
- DRIVER( rclimb_4 ) /* (c) 2004 */
- DRIVER( rclimb_5 ) /* (c) 2004 */
-
- /* Sweet Life */
- DRIVER( sweetl ) /* (c) 2004 */
- DRIVER( sweetl_2 ) /* (c) 2004 */
-
- /* Resident */
- DRIVER( resdnt ) /* (c) 2004 */
- DRIVER( resdnt_2 ) /* (c) 2004 */
- DRIVER( resdnt_3 ) /* (c) 2004 */
-
- /* Island */
- DRIVER( island ) /* (c) 2005 */
- DRIVER( island_2 ) /* (c) 2005 */
-
- /* Pirate */
- //DRIVER( pirate ) /* (c) 2005 */
- DRIVER( pirate_2 ) /* (c) 2005 */
- DRIVER( pirate_3 ) /* (c) 2005 */
- DRIVER( pirate_4 ) /* (c) 2005 */
-
- /* Island 2 */
- DRIVER( island2 ) /* (c) 2006 */
- DRIVER( island2_3 ) /* (c) 2006 */
- DRIVER( island2_4 ) /* (c) 2006 */
-
- /* Pirate 2 */
- DRIVER( pirate2 ) /* (c) 2006 */
- DRIVER( pirate2_2 ) /* (c) 2006 */
-
- /* Keks */
- DRIVER( keks ) /* (c) 2006 */
- DRIVER( keks_2 ) /* (c) 2006 */
- DRIVER( keks_3 ) /* (c) 2006 */
-
- /* Gnome */
- DRIVER( gnome ) /* (c) 2007 */
- DRIVER( gnome_2 ) /* (c) 2007 */
-
- /* Sweet Life 2 */
- DRIVER( sweetl2 ) /* (c) 2007 */
-
- /* Igrosoft bootleg sets */
-
- DRIVER( mfish_3a ) /* bootleg - Multifish */
- DRIVER( mfish_12a ) /* bootleg */
- DRIVER( crzmon_7a ) /* bootleg - Crazy Monkey */
- DRIVER( crzmon_7b ) /* bootleg */
- DRIVER( crzmon_8a ) /* bootleg */
- DRIVER( crzmon_8b ) /* bootleg */
- DRIVER( crzmon_8c ) /* bootleg */
- DRIVER( crzmon_8d ) /* bootleg */
- DRIVER( crzmon_8e ) /* bootleg */
- DRIVER( crzmon_8f ) /* bootleg */
- DRIVER( crzmon_9a ) /* bootleg */
- DRIVER( crzmon_9b ) /* bootleg */
- DRIVER( crzmon_9c ) /* bootleg */
- DRIVER( fcockt_6a ) /* bootleg - Fruit Cocktail */
- DRIVER( fcockt_6b ) /* bootleg */
- DRIVER( fcockt_6c ) /* bootleg */
- DRIVER( fcockt_6d ) /* bootleg */
- DRIVER( fcockt_7a ) /* bootleg */
- DRIVER( fcockt_7b ) /* bootleg */
- DRIVER( fcockt_7c ) /* bootleg */
- DRIVER( fcockt_7d ) /* bootleg */
- DRIVER( fcockt_7e ) /* bootleg */
- DRIVER( fcockt_7f ) /* bootleg */
- DRIVER( fcockt_7g ) /* bootleg */
- DRIVER( fcockt_7h ) /* bootleg */
- DRIVER( fcockt_8a ) /* bootleg */
- DRIVER( fcockt_8b ) /* bootleg */
- DRIVER( lhaunt_4a ) /* bootleg - Lucky Haunter */
- DRIVER( lhaunt_5a ) /* bootleg */
- DRIVER( lhaunt_6a ) /* bootleg */
- DRIVER( lhaunt_6b ) /* bootleg */
- DRIVER( lhaunt_6c ) /* bootleg */
- DRIVER( lhaunt_6d ) /* bootleg */
- DRIVER( lhaunt_6e ) /* bootleg */
- DRIVER( lhaunt_6f ) /* bootleg */
- DRIVER( garage_4a ) /* bootleg - Garage */
- DRIVER( garage_4b ) /* bootleg */
- DRIVER( garage_4c ) /* bootleg */
- DRIVER( garage_5a ) /* bootleg */
- DRIVER( garage_5b ) /* bootleg */
- DRIVER( garage_5c ) /* bootleg */
- DRIVER( garage_5d ) /* bootleg */
- DRIVER( garage_5e ) /* bootleg */
- DRIVER( rclimb_3a ) /* bootleg - Rock Climber */
- DRIVER( rclimb_3b ) /* bootleg */
- DRIVER( rclimb_3c ) /* bootleg */
- DRIVER( rclimb_3d ) /* bootleg */
- DRIVER( rclimb_3e ) /* bootleg */
- DRIVER( sweetla ) /* bootleg - Sweet Life */
- DRIVER( sweetlb ) /* bootleg */
- DRIVER( resdnt_2a ) /* bootleg - Resident */
- DRIVER( resdnt_2b ) /* bootleg */
- DRIVER( resdnt_2c ) /* bootleg */
- DRIVER( resdnt_2d ) /* bootleg */
- DRIVER( resdnt_2e ) /* bootleg */
- DRIVER( resdnt_2f ) /* bootleg */
- DRIVER( resdnt_2g ) /* bootleg */
- DRIVER( islanda ) /* bootleg - Island */
- DRIVER( islandb ) /* bootleg */
- DRIVER( islandc ) /* bootleg */
- DRIVER( island2a ) /* bootleg - Island 2 */
- DRIVER( island2b ) /* bootleg */
- DRIVER( island2c ) /* bootleg */
- DRIVER( island2_3a ) /* bootleg */
- DRIVER( island2_4a ) /* bootleg */
- DRIVER( pirate2a ) /* bootleg - Pirate 2 */
- DRIVER( pirate2b ) /* bootleg */
- DRIVER( pirate2c ) /* bootleg */
- DRIVER( pirate2d ) /* bootleg */
- DRIVER( pirate2e ) /* bootleg */
- DRIVER( pirate2f ) /* bootleg */
- DRIVER( pirate2g ) /* bootleg */
- DRIVER( pirate2h ) /* bootleg */
- DRIVER( pirate2_2a ) /* bootleg */
- DRIVER( keksa ) /* bootleg - Keks */
- DRIVER( keksb ) /* bootleg */
- DRIVER( keksc ) /* bootleg */
- DRIVER( keks_2a ) /* bootleg */
- DRIVER( keks_2b ) /* bootleg */
- DRIVER( keks_2c ) /* bootleg */
- DRIVER( keks_2d ) /* bootleg */
- DRIVER( keks_2e ) /* bootleg */
- DRIVER( keks_2f ) /* bootleg */
- DRIVER( keks_2g ) /* bootleg */
- DRIVER( keks_3a ) /* bootleg */
- DRIVER( keks_3b ) /* bootleg */
- DRIVER( gnomea ) /* bootleg - Gnome */
- DRIVER( gnomeb ) /* bootleg */
- DRIVER( gnomec ) /* bootleg */
- DRIVER( gnomed ) /* bootleg */
- DRIVER( gnomee ) /* bootleg */
- DRIVER( gnome_2a ) /* bootleg */
-
- /* Disney */
- DRIVER( cdimono1 ) /* Base unit */
- DRIVER( quizard ) /* (c) Disney 1996 */
- DRIVER( quizrd22 ) /* (c) Disney 1995 */
- DRIVER( quizrd17 ) /* (c) Disney 1996 */
- DRIVER( quizrd12 ) /* (c) Disney 1996 */
- DRIVER( quizrr42 ) /* (c) Disney 1998 */
- DRIVER( quizrr41 ) /* (c) Disney 1998 */
-
-/* Drivers below are mechanical games, usually with no video display, requiring external artwork to function.
- These are currently mostly 'fruit machine' style games, although this may later be extended to system logic
- emulation for pinball machiens.
-
- the m_ prefix is used to identify them as many have very generic names.
-
- */
-
- /* Scorpion 2 */
- DRIVER( m_brkfst )
- DRIVER( m_brkfs1 )
- DRIVER( m_brkfs2 )
- DRIVER( m_brkfs3 )
- DRIVER( m_brkfs4 )
- DRIVER( m_brkfs5 )
-
- DRIVER( m_bdrwho )
- DRIVER( m_bdrwh1 )
- DRIVER( m_bdrwh2 )
- DRIVER( m_bdrwh3 )
- DRIVER( m_bdrwh4 )
- DRIVER( m_bdrwh5 )
- DRIVER( m_bdrwh6 )
- DRIVER( m_bdrwh7 )
- DRIVER( m_bdrwh8 )
- DRIVER( m_bdrwh9 )
- DRIVER( m_bdrw10 )
- DRIVER( m_bdrw11 )
- DRIVER( m_bdrw12 )
- DRIVER( m_bdrw13 )
- DRIVER( m_bdrw14 )
- DRIVER( m_bdrw15 )
- DRIVER( m_bdrw16 )
- DRIVER( m_bdrw17 )
-
- DRIVER( m_bfocus )
- DRIVER( m_bcgslm )
- DRIVER( m_luvjub )
- DRIVER( m_cpeno1 )
-
- /* System85 games */
- DRIVER( m_supcrd ) /* (c) 198? BFM */
-
- /* JPM Impact games */
- DRIVER( m_tbirds )
-
- /* Scorpion1 games */
- DRIVER( m_lotsse ) /* (c) 198? BFM Dutch ROMS, prelim*/
- DRIVER( m_roulet ) /* (c) 198? BFM Dutch ROMS, prelim*/
- DRIVER( m_clattr ) /* (c) 1990 BFM, Game Card 39-370-196*/
- DRIVER( m_tppokr ) /* (c) 1996 BFM/ELAM,Game Card 95-750-899, uses Adder board for feature gfx*/
-
- /* Maygay Machines Ltd. */
- DRIVER( m_sptlgt )
-
- DRIVER( screenpl )
- DRIVER( screenp1 )
- DRIVER( screenp2 )
-
- /* MPU4 */
- DRIVER( m_oldtmr ) /* Barcrest - highly prelim*/
- DRIVER( m_ccelbr )
- DRIVER( m_gmball )
- DRIVER( m_grtecp ) /* 199? */
- DRIVER( m_blsbys ) /* BwB */
-
- /* MPU5 */
- DRIVER( m_honmon )
-
- /* Leisure Ent. */
- DRIVER( roul ) /* (c) 1990 */
-
- /* Accept LTD. */
- DRIVER( hitpoker ) /* (c) 1997 */
-
- /* Videotronics */
- DRIVER( vpoker ) /* (c) 198? */
- DRIVER( 5acespkr ) /* (c) 198? */
-
- /* Play Mechanix */
- DRIVER( jnero ) /* (c) 2004 */
-
- /* Amatic Trading GMBH */
- DRIVER( am_uslot ) /* (c) 1996 Amatic */
- DRIVER( am_mg24 ) /* (c) 2000 Amatic */
- DRIVER( am_mg3 ) /* (c) 2000 Amatic */
-
- DRIVER( neptunp2 )
- DRIVER( rgum )
-
- /* Extrema Systems International Ltd. */
- DRIVER( poker72 )
-
- DRIVER( chkun )
-
- /* Blitz System Inc. */
- DRIVER( megadpkr ) /* (c) 1990 Blitz System Inc */
- DRIVER( megadpkrb ) /* (c) 1990 Blitz System Inc */
-
- /* Blitz System Inc. 68k + Blitter Hardware */
- DRIVER( megadblj ) /* (c) 1990 Blitz Systems Inc. */
- DRIVER( megadble ) /* (c) 1990 Blitz Systems Inc. */
- DRIVER( maxidbl ) /* (c) 1992 Blitz Systems Inc. */
- DRIVER( bankrob ) /* (c) 1993 Entertainment Technology Corp. */
- DRIVER( bankroba ) /* (c) 1993 Entertainment Technology Corp. */
- DRIVER( poker52 ) /* (c) 1993 Blitz Systems Inc. ? */
- DRIVER( steaser ) /* (c) 1993 unknown */
- DRIVER( dualgame ) /* (c) 1995 Labtronix Technologies */
- DRIVER( hermit ) /* (c) 1995 Dugamex */
- DRIVER( deucesw2 ) /* (c) 1997 */
- DRIVER( cjffruit ) /* (c) 1998 Cadillac Jack */
- DRIVER( ilpag ) /* (c) 199? unknown */
-
- /* Olympic Video Gaming */
- DRIVER( hotstuff )
-
- /* Interactive Light */
- DRIVER( savquest )
-
- /* Jamie System Development */
- DRIVER( xtom3d )
-
- /* Jubilee */
- DRIVER( jubileep )
-
- /* Golden Games / C+M Technics AG */
- DRIVER( swisspkr ) /* (c) 1990 Golden Games */
- DRIVER( moviecrd ) /* (c) 1998 Golden Games */
-
- /* NSM */
- DRIVER( nsmpoker )
-
- /* Advanced Video Technologies */
- DRIVER( avtsym14 ) /* (c) 1985 AVT */
- DRIVER( avtsym25 ) /* (c) 1985 AVT */
- DRIVER( avtbingo ) /* (c) 1985 AVT */
- DRIVER( avtnfl ) /* (c) 1989 AVT */
-
- /* Corona hardware */
- DRIVER( winner81 ) /* (c) 1981 Corona Co, Ltd. */
- DRIVER( winner81b ) /* (c) 1981 Corona Co, Ltd. */
- DRIVER( winner82 ) /* (c) 1982 Corona Co, Ltd. */
- DRIVER( re800ea ) /* (c) 1991 Entretenimientos GEMINIS */
- DRIVER( re800v1 ) /* (c) 1991 Entretenimientos GEMINIS */
- DRIVER( re800v3 ) /* (c) 1992 Entretenimientos GEMINIS */
- DRIVER( rcirulet ) /* (c) 199? Entretenimientos GEMINIS */
- DRIVER( luckyrlt ) /* (c) 1990 unknown */
-
- DRIVER( dfruit )
-
- // allied.c
- DRIVER( allied )
- DRIVER( suprpick )
- DRIVER( royclark )
- DRIVER( thndbolt )
- DRIVER( hoedown )
- DRIVER( takefive )
- DRIVER( heartspd )
- DRIVER( foathens )
- DRIVER( disco79 )
- DRIVER( erosone )
- DRIVER( circa33 )
- DRIVER( starshot )
-
-
- // alvg.c
- DRIVER( agsoccer )
- DRIVER( wrldtour )
- DRIVER( wrldtour2 )
- DRIVER( usafootb )
- DRIVER( mystcast )
- DRIVER( pstlpkr )
- DRIVER( punchy )
- DRIVER( dinoeggs )
-
- /*
- Atari Generation/System 1
- */
- DRIVER( atarians )
- DRIVER( time2000 )
- DRIVER( aavenger )
- DRIVER( midearth )
- DRIVER( spcrider )
- /*
- Atari Generation/System 2
- */
- DRIVER( supermap )
- DRIVER( hercules )
- /*
- Atari Generation/System 3
- */
- DRIVER( roadrunr )
-
- // bingo.c
- DRIVER( cntinntl )
- DRIVER( goldgame )
- DRIVER( goldgam2 )
-
- /*
- Bally MPU AS-2518-17
- */
- DRIVER( blackjck )
- DRIVER( bowarrow )
- DRIVER( eightbll )
- DRIVER( evelknie )
- DRIVER( freedom )
- DRIVER( matahari )
- DRIVER( nightrdr )
- DRIVER( nightr20 )
- DRIVER( pwerplay )
- DRIVER( stk_sprs )
-
- /*
- Bally MPU AS-2518-35
- */
- DRIVER( bullseye )
- DRIVER( blakpyra )
- DRIVER( bmx )
- DRIVER( centaur )
- DRIVER( cosflash )
- DRIVER( cybrnaut )
- DRIVER( dollyptn )
- DRIVER( eballdlx )
- DRIVER( eballd14 )
- DRIVER( elektra )
- DRIVER( embryon )
- DRIVER( fathom )
- DRIVER( fbclass )
- DRIVER( fball_ii )
- DRIVER( flashgdn )
- DRIVER( flashgdnf )
- DRIVER( flashgdnv )
- DRIVER( frontier )
- DRIVER( futurspa )
- DRIVER( goldball )
- DRIVER( goldballn )
- DRIVER( granslam )
- DRIVER( granslam4 )
- DRIVER( hglbtrtr )
- DRIVER( hotdoggn )
- DRIVER( kosteel )
- DRIVER( kiss )
- DRIVER( lostwrlp )
- DRIVER( medusa )
- DRIVER( m_mpac )
- DRIVER( mystic )
- DRIVER( myststar )
- DRIVER( newwave )
- DRIVER( ngndshkr )
- DRIVER( paragon )
- DRIVER( playboy )
- DRIVER( rapidfip )
- DRIVER( rollston )
- DRIVER( saturn2 )
- DRIVER( slbmania )
- DRIVER( skatebll )
- DRIVER( spacehaw )
- DRIVER( spaceinv )
- DRIVER( speakesy )
- DRIVER( speakesy4p )
- DRIVER( spectrm )
- DRIVER( spectrm4 )
- DRIVER( spyhuntr )
- DRIVER( startrep )
- DRIVER( sst )
- DRIVER( smman )
- DRIVER( tigerrag )
- DRIVER( vector )
- DRIVER( viking )
- DRIVER( voltan )
- DRIVER( xsandos )
- DRIVER( xenon )
- DRIVER( xenonf )
- DRIVER( worlddef )
- DRIVER( darkshad )
- DRIVER( skflight )
- DRIVER( cobrap )
- DRIVER( futrquen )
- DRIVER( f1gpp )
- DRIVER( toppin )
- DRIVER( uboat65 )
- DRIVER( bbbowlin )
- DRIVER( monrobwl )
- DRIVER( mdntmrdr )
- DRIVER( blbeauty )
- DRIVER( suprbowl )
-
- /*
- Bally Kiss 8035 prototype
- */
- DRIVER( kissp )
-
- /*
- Bally MPU A084-91786-AH06 (6803)
- */
- DRIVER( atlantip )
- DRIVER( beatclck )
- DRIVER( blackblt )
- DRIVER( black100 )
- DRIVER( black100s )
- DRIVER( cityslck )
- DRIVER( dungdrag )
- DRIVER( eballchp )
- DRIVER( esclwrld )
- DRIVER( esclwrldg )
- DRIVER( hardbody )
- DRIVER( hardbodyg )
- DRIVER( hvymetap )
- DRIVER( ladyluck )
- DRIVER( motrdome )
- DRIVER( prtyanim )
- DRIVER( specforc )
- DRIVER( strngsci )
- DRIVER( trucksp3 )
- DRIVER( trucksp2 )
-
- /*
- Bally MPU AS-2518-133
- */
- DRIVER( babypac )
- DRIVER( granny )
-
- // by68701.c
- DRIVER( flashgdnp1 )
- DRIVER( flashgdnp2 )
- DRIVER( eballdlxp1 )
- DRIVER( eballdlxp2 )
- DRIVER( eballdlxp3 )
- DRIVER( eballdlxp4 )
-
- // capcom.c
- DRIVER( abv106 )
- DRIVER( abv106r )
- DRIVER( bbb109 )
- DRIVER( bbb108 )
- DRIVER( bsv103 )
- DRIVER( bsv100r )
- DRIVER( bsv102r )
- DRIVER( bsb105 )
- DRIVER( ffv104 )
- DRIVER( ffv101 )
- DRIVER( kpv106 )
- DRIVER( pmv112 )
- DRIVER( pmv112r )
- DRIVER( ghv101 )
-
-
- // de_1.c
- DRIVER( lwar_a83 )
- DRIVER( lwar_e90 )
-
-
- // de_2.c
- DRIVER( mnfb_c27 )
- DRIVER( poto_a32 )
- DRIVER( play_a24 )
- DRIVER( robo_a34 )
- DRIVER( ssvc_a26 )
- DRIVER( tmac_a24 )
- DRIVER( tmac_a18 )
- DRIVER( torp_e21 )
-
-
- // de_3.c
- DRIVER( rab_320 )
- DRIVER( rab_130 )
- DRIVER( rab_103 )
- DRIVER( aar_101 )
- DRIVER( bttf_a27 )
- DRIVER( bttf_a20 )
- DRIVER( bttf_a21 )
- DRIVER( bttf_g27 )
- DRIVER( btmn_103 )
- DRIVER( btmn_101 )
- DRIVER( btmn_g13 )
- DRIVER( btmn_106 )
- DRIVER( ckpt_a17 )
- DRIVER( gnr_300 )
- DRIVER( hook_408 )
- DRIVER( hook_401 )
- DRIVER( hook_404 )
- DRIVER( jupk_513 )
- DRIVER( jupk_501 )
- DRIVER( jupk_g51 )
- DRIVER( lah_112 )
- DRIVER( lah_l104 )
- DRIVER( lah_l108 )
- DRIVER( lah_110 )
- DRIVER( lw3_208 )
- DRIVER( lw3_207 )
- DRIVER( lw3_205 )
- DRIVER( lw3_200 )
- DRIVER( trek_201 )
- DRIVER( trek_200 )
- DRIVER( trek_120 )
- DRIVER( trek_110 )
- DRIVER( trek_11a )
- DRIVER( stwr_103 )
- DRIVER( stwr_g11 )
- DRIVER( stwr_a14 )
- DRIVER( stwr_102 )
- DRIVER( stwr_e12 )
- DRIVER( tftc_303 )
- DRIVER( tftc_300 )
- DRIVER( tftc_200 )
- DRIVER( tftc_104 )
- DRIVER( tmnt_104 )
- DRIVER( tmnt_103 )
- DRIVER( simp_a27 )
- DRIVER( simp_a20 )
- DRIVER( tomy_400 )
- DRIVER( tomy_h30 )
- DRIVER( wwfr_106 )
- DRIVER( wwfr_103 )
-
-
- // de_3b.c
- DRIVER( batmanf )
- DRIVER( batmanf3 )
- DRIVER( bmf_uk )
- DRIVER( bmf_cn )
- DRIVER( bmf_no )
- DRIVER( bmf_sv )
- DRIVER( bmf_at )
- DRIVER( bmf_ch )
- DRIVER( bmf_de )
- DRIVER( bmf_be )
- DRIVER( bmf_fr )
- DRIVER( bmf_nl )
- DRIVER( bmf_it )
- DRIVER( bmf_sp )
- DRIVER( bmf_jp )
- DRIVER( bmf_time )
- DRIVER( baywatch )
- DRIVER( frankst )
- DRIVER( frankstg )
- DRIVER( mav_402 )
- DRIVER( mav_401 )
- DRIVER( mav_400 )
- DRIVER( mav_100 )
- DRIVER( detest )
- DRIVER( ctcheese )
-
-
- // flicker.c
- DRIVER( flicker )
-
-
- // g627.c
- DRIVER( rotation )
-
-
- // gp_1.c
- DRIVER( gp_110 )
- DRIVER( blvelvet )
- DRIVER( camlight )
- DRIVER( chucklck )
- DRIVER( famlyfun )
- DRIVER( foxylady )
- DRIVER( real )
- DRIVER( rio )
- DRIVER( startrip )
-
-
- // gp_2.c
- DRIVER( agent777 )
- DRIVER( andromep )
- DRIVER( andromepa )
- DRIVER( attila )
- DRIVER( cpthook )
- DRIVER( cyclopes )
- DRIVER( gwarfare )
- DRIVER( ladyshot )
- DRIVER( mbossy )
- DRIVER( coneyis )
- DRIVER( lizard )
- DRIVER( sshootr2 )
- DRIVER( sshootep )
- DRIVER( suprnova )
- DRIVER( vegasgp )
-
-
- // gts1.c
- DRIVER( gts1 )
- DRIVER( gts1s )
- DRIVER( astannie )
- DRIVER( buckrgrs )
- DRIVER( charlies )
- DRIVER( cleoptra )
- DRIVER( closeenc )
- DRIVER( countdwn )
- DRIVER( dragon )
- DRIVER( geniep )
- DRIVER( jokrpokr )
- DRIVER( pinpool )
- DRIVER( roldisco )
- DRIVER( sinbad )
- DRIVER( sinbadn )
- DRIVER( solaride )
- DRIVER( hulk )
- DRIVER( torch )
- DRIVER( totem )
- DRIVER( hexagone )
- DRIVER( sys1test )
-
-
- // gts3.c
- DRIVER( barbwire )
- DRIVER( bellring )
- DRIVER( brooks )
- DRIVER( cactjack )
- DRIVER( carhop )
- DRIVER( ccruise )
- DRIVER( clas1812 )
- DRIVER( cueball )
- DRIVER( deadweap )
- DRIVER( bighurt )
- DRIVER( freddy )
- DRIVER( freddy4 )
- DRIVER( gladiatp )
- DRIVER( hoops )
- DRIVER( lca )
- DRIVER( lca2 )
- DRIVER( andretti )
- DRIVER( andretti4 )
- DRIVER( nudgeit )
- DRIVER( opthund )
- DRIVER( rescu911 )
- DRIVER( shaqattq )
- DRIVER( shaqattq2 )
- DRIVER( silvslug )
- DRIVER( stargatp )
- DRIVER( stargatp1 )
- DRIVER( stargatp2 )
- DRIVER( stargatp3 )
- DRIVER( stargatp4 )
- DRIVER( sfight2 )
- DRIVER( sfight2a )
- DRIVER( sfight2b )
- DRIVER( smb )
- DRIVER( smb1 )
- DRIVER( smb2 )
- DRIVER( smb3 )
- DRIVER( smbmush )
- DRIVER( surfnsaf )
- DRIVER( teedoffp )
- DRIVER( teedoffp1 )
- DRIVER( teedoffp3 )
- DRIVER( tfight )
- DRIVER( vegas )
- DRIVER( waterwld )
- DRIVER( waterwld2 )
- DRIVER( wipeout )
- DRIVER( wcsoccer )
- DRIVER( wcsoccerd2 )
- DRIVER( tt_game )
- DRIVER( snspares )
- DRIVER( snspares1 )
-
-
- // gts80.c
- DRIVER( blckhole )
- DRIVER( blckhole2 )
- DRIVER( blckhols )
- DRIVER( circusp )
- DRIVER( cntforce )
- DRIVER( eclipse )
- DRIVER( forceii )
- DRIVER( hh )
- DRIVER( hh_1 )
- DRIVER( jamesb )
- DRIVER( jamesb2 )
- DRIVER( marsp )
- DRIVER( panthera )
- DRIVER( pnkpnthr )
- DRIVER( starrace )
- DRIVER( spidermn )
- DRIVER( timeline )
- DRIVER( vlcno_ax )
- DRIVER( vlcno_1b )
- DRIVER( vlcno_1a )
- DRIVER( s80tst )
-
-
- // gts80a.c
- DRIVER( alienstr )
- DRIVER( amazonh )
- DRIVER( caveman )
- DRIVER( cavemana )
- DRIVER( dvlsdre )
- DRIVER( dvlsdre2 )
- DRIVER( eldorado )
- DRIVER( goinnuts )
- DRIVER( icefever )
- DRIVER( jack2opn )
- DRIVER( krullp )
- DRIVER( punk )
- DRIVER( qbquest )
- DRIVER( rackempp )
- DRIVER( raimfire )
- DRIVER( rocky )
- DRIVER( rflshdlx )
- DRIVER( spirit )
- DRIVER( striker )
- DRIVER( sorbit )
- DRIVER( thegames )
- DRIVER( touchdn )
-
-
- // gts80b.c
- DRIVER( arena )
- DRIVER( badgirls )
- DRIVER( bighouse )
- DRIVER( bonebstr )
- DRIVER( bountyh )
- DRIVER( triplay )
- DRIVER( diamondp )
- DRIVER( excalibr )
- DRIVER( genesisp )
- DRIVER( goldwing )
- DRIVER( hlywoodh )
- DRIVER( hotshots )
- DRIVER( mntecrlo )
- DRIVER( nmoves )
- DRIVER( raven )
- DRIVER( robowars )
- DRIVER( rock )
- DRIVER( rock_enc )
- DRIVER( sprbreak )
- DRIVER( sprbreaks )
- DRIVER( tagteamp )
- DRIVER( tagteamp2 )
- DRIVER( txsector )
- DRIVER( victoryp )
-
-
- // hankin.c
- DRIVER( fjholden )
- DRIVER( howzat )
- DRIVER( orbit1 )
- DRIVER( shark )
- DRIVER( empsback )
-
-
- // icecold.c
- DRIVER( icecold )
-
- // inder.c
- DRIVER( ind250cc )
- DRIVER( atleta )
- DRIVER( brvteam )
- DRIVER( canasta )
- DRIVER( pinclown )
- DRIVER( corsario )
- DRIVER( lapbylap )
-
-
- // jp.c
- DRIVER( america )
- DRIVER( aqualand )
- DRIVER( faeton )
- DRIVER( lortium )
- DRIVER( petaco )
- DRIVER( petaco2 )
- DRIVER( olympus )
-
-
- // jvh.c
- DRIVER( escape )
- DRIVER( movmastr )
-
-
- // ltd.c
- DRIVER( alcapone )
- DRIVER( atla_ltd )
- DRIVER( bhol_ltd )
- DRIVER( columbia )
- DRIVER( cowboy )
- DRIVER( pecmen )
- DRIVER( zephy )
-
- // micropin.c
- DRIVER( pentacup )
- DRIVER( pentacup2 )
-
- // mephisto.c
- DRIVER( mephistp )
- DRIVER( mephistp1 )
-
- // mrgame.c
- DRIVER( dakar )
- DRIVER( motrshow )
- DRIVER( motrshowa )
- DRIVER( macattck )
- DRIVER( wcup90 )
-
-
- // nsm.c
- DRIVER( firebird )
-
-
- // peyper.c
- DRIVER( odisea )
- DRIVER( wolfman )
- DRIVER( odin_dlx )
- DRIVER( solarwap )
- DRIVER( poleposn )
- DRIVER( sonstwar )
-
-
- // play_1.c
- DRIVER( bigtown )
- DRIVER( chance )
- DRIVER( lastlap )
- DRIVER( spcgambl )
- DRIVER( party )
-
-
- // play_2.c
- DRIVER( antar )
- DRIVER( antar2 )
- DRIVER( evlfight )
- DRIVER( attack )
- DRIVER( blkfever )
- DRIVER( cerberup )
- DRIVER( madrace )
-
-
- // play_3.c
- DRIVER( megaaton )
-
-
- // play_5.c
- DRIVER( spain82 )
- DRIVER( ufo_x )
- DRIVER( kz26 )
- DRIVER( rock2500 )
- DRIVER( starfirp )
- DRIVER( trailer )
-
- // rowamet.c
- DRIVER( heavymtl )
-
-
- // s11.c
- DRIVER( gmine_l2 )
- DRIVER( grand_l4 )
- DRIVER( hs_l4 )
- DRIVER( hs_l3 )
- DRIVER( rdkng_l4 )
- DRIVER( rdkng_l1 )
- DRIVER( rdkng_l2 )
- DRIVER( rdkng_l3 )
- DRIVER( tdawg_l1 )
- DRIVER( shfin_l1 )
-
-
- // s11a.c
- DRIVER( f14_l1 )
- DRIVER( f14_p3 )
- DRIVER( f14_p4 )
- DRIVER( fire_l3 )
- DRIVER( milln_l3 )
- DRIVER( pb_l5 )
- DRIVER( pb_l2 )
- DRIVER( pb_l3 )
-
-
- // s11b.c
- DRIVER( bcats_l5 )
- DRIVER( bcats_l2 )
- DRIVER( bnzai_l3 )
- DRIVER( bnzai_g3 )
- DRIVER( bnzai_l1 )
- DRIVER( bnzai_pa )
- DRIVER( bguns_l8 )
- DRIVER( bguns_l7 )
- DRIVER( bguns_la )
- DRIVER( bguns_p1 )
- DRIVER( bk2k_l4 )
- DRIVER( bk2k_lg1 )
- DRIVER( bk2k_lg3 )
- DRIVER( bk2k_pu1 )
- DRIVER( cycln_l5 )
- DRIVER( cycln_l4 )
- DRIVER( esha_la3 )
- DRIVER( esha_ma3 )
- DRIVER( esha_pr4 )
- DRIVER( esha_lg1 )
- DRIVER( esha_lg2 )
- DRIVER( esha_la1 )
- DRIVER( esha_pa1 )
- DRIVER( eatpm_l4 )
- DRIVER( eatpm_l1 )
- DRIVER( eatpm_l2 )
- DRIVER( eatpm_4g )
- DRIVER( eatpm_4u )
- DRIVER( eatpm_p7 )
- DRIVER( jokrz_l6 )
- DRIVER( jokrz_l3 )
- DRIVER( mousn_l4 )
- DRIVER( mousn_l1 )
- DRIVER( mousn_lu )
- DRIVER( mousn_lx )
- DRIVER( polic_l4 )
- DRIVER( polic_l3 )
- DRIVER( polic_l2 )
- DRIVER( spstn_l5 )
- DRIVER( swrds_l2 )
- DRIVER( taxi_l4 )
- DRIVER( taxi_l3 )
- DRIVER( taxi_lg1 )
- DRIVER( tsptr_l3 )
- DRIVER( whirl_l3 )
- DRIVER( whirl_l2 )
- DRIVER( whirl_lg3 )
-
-
- // s11c.c
- DRIVER( bbnny_l2 )
- DRIVER( bbnny_lu )
- DRIVER( diner_l4 )
- DRIVER( diner_l3 )
- DRIVER( diner_l1 )
- DRIVER( dd_l2 )
- DRIVER( dd_p6 )
- DRIVER( pool_l7 )
- DRIVER( pool_l6 )
- DRIVER( pool_le2 )
- DRIVER( pool_p7 )
- DRIVER( radcl_l1 )
- DRIVER( radcl_g1 )
- DRIVER( radcl_p3 )
- DRIVER( rvrbt_l3 )
- DRIVER( rollr_l2 )
- DRIVER( rollr_ex )
- DRIVER( rollr_e1 )
- DRIVER( rollr_p2 )
- DRIVER( rollr_l3 )
- DRIVER( rollr_g3 )
- DRIVER( gs_l3 )
- DRIVER( gs_l4 )
- DRIVER( strax_p7 )
-
-
- // s3.c
- DRIVER( httip_l1 )
- DRIVER( lucky_l1 )
- DRIVER( wldcp_l1 )
- DRIVER( cntct_l1 )
- DRIVER( disco_l1 )
-
-
- // s4.c
- DRIVER( flash_l1 )
- DRIVER( flash_t1 )
- DRIVER( phnix_l1 )
- DRIVER( pkrno_l1 )
- DRIVER( stlwr_l2 )
- DRIVER( pomp_l1 )
- DRIVER( arist_l1 )
- DRIVER( topaz_l1 )
- DRIVER( taurs_l1 )
- DRIVER( kingt_l1 )
- DRIVER( omni_l1 )
- DRIVER( bstrk_l1 )
- DRIVER( tstrk_l1 )
-
-
- // s6.c
- DRIVER( blkou_l1 )
- DRIVER( blkou_t1 )
- DRIVER( blkou_f1 )
- DRIVER( frpwr_l6 )
- DRIVER( frpwr_t6 )
- DRIVER( frpwr_l2 )
- DRIVER( grgar_l1 )
- DRIVER( grgar_t1 )
- DRIVER( lzbal_l2 )
- DRIVER( lzbal_t2 )
- DRIVER( tmwrp_l2 )
- DRIVER( tmwrp_t2 )
- DRIVER( scrpn_l1 )
- DRIVER( scrpn_t1 )
- DRIVER( trizn_l1 )
- DRIVER( trizn_t1 )
-
-
- // s6a.c
- DRIVER( algar_l1 )
- DRIVER( alpok_l6 )
- DRIVER( alpok_l2 )
- DRIVER( alpok_f6 )
-
-
- // s7.c
- DRIVER( vrkon_l1 )
- DRIVER( barra_l1 )
- DRIVER( bk_l4 )
- DRIVER( bk_f4 )
- DRIVER( bk_l3 )
- DRIVER( csmic_l1 )
- DRIVER( dfndr_l4 )
- DRIVER( fpwr2_l2 )
- DRIVER( hypbl_l4 )
- DRIVER( jst_l2 )
- DRIVER( jngld_l2 )
- DRIVER( lsrcu_l2 )
- DRIVER( pharo_l2 )
- DRIVER( solar_l2 )
- DRIVER( strlt_l1 )
- DRIVER( tmfnt_l5 )
- DRIVER( wrlok_l3 )
- DRIVER( thund_p1 )
- DRIVER( ratrc_l1 )
-
-
- // s8.c
- DRIVER( pfevr_l2 )
- DRIVER( pfevr_p3 )
-
-
- // s9.c
- DRIVER( comet_l4 )
- DRIVER( comet_l5 )
- DRIVER( sorcr_l1 )
- DRIVER( sorcr_l2 )
- DRIVER( sshtl_l7 )
- DRIVER( alcat_l7 )
- DRIVER( szone_l5 )
- DRIVER( szone_l2 )
-
-
- // sleic.c
- DRIVER( sleicpin )
-
-
- // spinb.c
- DRIVER( bushido )
- DRIVER( bushidoa )
- DRIVER( jolypark )
- DRIVER( mach2 )
-
-
- // st_mp100.c
- DRIVER( princess )
- DRIVER( dracula )
- DRIVER( hothand )
- DRIVER( lectrono )
- DRIVER( magic )
- DRIVER( memlane )
- DRIVER( nugent )
- DRIVER( pinball )
- DRIVER( stars )
- DRIVER( stingray )
- DRIVER( trident )
- DRIVER( wildfyre )
-
-
- // st_mp200.c
- DRIVER( ali )
- DRIVER( biggame )
- DRIVER( catacomp )
- DRIVER( cheetah )
- DRIVER( dragfist )
- DRIVER( flight2k )
- DRIVER( freefall )
- DRIVER( galaxypi )
- DRIVER( ironmaid )
- DRIVER( lazrlord )
- DRIVER( lightnin )
- DRIVER( meteorp )
- DRIVER( nineball )
- DRIVER( orbitor1 )
- DRIVER( quicksil )
- DRIVER( seawitch )
- DRIVER( splitsec )
- DRIVER( stargzr )
- DRIVER( viperp )
- DRIVER( gamatron )
- DRIVER( blkshpsq )
- DRIVER( st_game )
-
-
- // taito.c
- DRIVER( taitest )
- DRIVER( cavnegro )
- DRIVER( cavnegro1 )
- DRIVER( cavnegro2 )
- DRIVER( cosmic )
- DRIVER( drakor )
- DRIVER( fireact )
- DRIVER( fireactd )
- DRIVER( gemini2k )
- DRIVER( gemini2k1 )
- DRIVER( gork )
- DRIVER( hawkman )
- DRIVER( hawkman1 )
- DRIVER( ladylukt )
- DRIVER( lunelle )
- DRIVER( meteort )
- DRIVER( mrblack )
- DRIVER( mrblack1 )
- DRIVER( obaoba )
- DRIVER( obaoba1 )
- DRIVER( polar )
- DRIVER( rally )
- DRIVER( sharkt )
- DRIVER( shock )
- DRIVER( snake )
- DRIVER( sshuttle )
- DRIVER( sshuttle1 )
- DRIVER( stest )
- DRIVER( sureshop )
- DRIVER( titan )
- DRIVER( titan1 )
- DRIVER( vegast )
- DRIVER( voleybal )
- DRIVER( vortexp )
- DRIVER( zarza )
- DRIVER( zarza1 )
- DRIVER( mrblkz80 )
-
-
- // techno.c
- DRIVER( xforce )
-
-
- // vd.c
- DRIVER( break )
-
-
- // whitestar.c
- DRIVER( apollo13 )
- DRIVER( aust301 )
- DRIVER( aust300 )
- DRIVER( aust201 )
- DRIVER( austin )
- DRIVER( austnew )
- DRIVER( austinf )
- DRIVER( austing )
- DRIVER( austini )
- DRIVER( godzillp )
- DRIVER( gldneye )
- DRIVER( goldcue )
- DRIVER( harl_a13 )
- DRIVER( harl_a10 )
- DRIVER( harl_f13 )
- DRIVER( harl_g13 )
- DRIVER( harl_i13 )
- DRIVER( harl_l13 )
- DRIVER( harl_a30 )
- DRIVER( harl_f30 )
- DRIVER( harl_g30 )
- DRIVER( harl_i30 )
- DRIVER( harl_l30 )
- DRIVER( harl_a18 )
- DRIVER( harl_f18 )
- DRIVER( harl_g18 )
- DRIVER( harl_i18 )
- DRIVER( harl_l18 )
- DRIVER( hirolcas )
- DRIVER( hirolcas_210 )
- DRIVER( hironew )
- DRIVER( hirolcat )
- DRIVER( hirol_fr )
- DRIVER( hirol_gr )
- DRIVER( hirol_gr_210 )
- DRIVER( hirol_it )
- DRIVER( id4 )
- DRIVER( lostspc )
- DRIVER( monopolp )
- DRIVER( monop303 )
- DRIVER( monop301 )
- DRIVER( monop251 )
- DRIVER( monop233 )
- DRIVER( monopolf )
- DRIVER( monopolg )
- DRIVER( monopoli )
- DRIVER( monopoll )
- DRIVER( mononew )
- DRIVER( nfl )
- DRIVER( playboys )
- DRIVER( playboys_401 )
- DRIVER( playboys_303 )
- DRIVER( playboys_300 )
- DRIVER( playboys_203 )
- DRIVER( playnew )
- DRIVER( playboyf )
- DRIVER( playboyf_401 )
- DRIVER( playboyf_303 )
- DRIVER( playboyf_300 )
- DRIVER( playboyf_203 )
- DRIVER( playboyg )
- DRIVER( playboyg_401 )
- DRIVER( playboyg_303 )
- DRIVER( playboyg_300 )
- DRIVER( playboyg_203 )
- DRIVER( playboyi )
- DRIVER( playboyi_401 )
- DRIVER( playboyi_303 )
- DRIVER( playboyi_300 )
- DRIVER( playboyi_203 )
- DRIVER( playboyl )
- DRIVER( playboyl_401 )
- DRIVER( playboyl_303 )
- DRIVER( playboyl_300 )
- DRIVER( playboyl_203 )
- DRIVER( rctycn )
- DRIVER( rctycn_701 )
- DRIVER( rctycn_600 )
- DRIVER( rctycn_400 )
- DRIVER( rctnew )
- DRIVER( rctycng )
- DRIVER( rctycng_701 )
- DRIVER( rctycng_400 )
- DRIVER( rctycnf )
- DRIVER( rctycnf_701 )
- DRIVER( rctycnf_600 )
- DRIVER( rctycnf_400 )
- DRIVER( rctycni )
- DRIVER( rctycni_701 )
- DRIVER( rctycni_600 )
- DRIVER( rctycni_400 )
- DRIVER( rctycnl )
- DRIVER( rctycnl_701 )
- DRIVER( rctycnl_600 )
- DRIVER( rctycnl_400 )
- DRIVER( shrkysht )
- DRIVER( shrky_207 )
- DRIVER( shrknew )
- DRIVER( shrkygr )
- DRIVER( shrkygr_207 )
- DRIVER( shrkyfr )
- DRIVER( shrkyfr_207 )
- DRIVER( shrkyit )
- DRIVER( shrkyit_207 )
- DRIVER( sprk_103 )
- DRIVER( sprk_090 )
- DRIVER( spacejam )
- DRIVER( spacejmg )
- DRIVER( spacejmf )
- DRIVER( spacejmi )
- DRIVER( swtril43 )
- DRIVER( swtril41 )
- DRIVER( startrp )
- DRIVER( strikext )
- DRIVER( strknew )
- DRIVER( strxt_uk )
- DRIVER( strxt_gr )
- DRIVER( strxt_fr )
- DRIVER( strxt_it )
- DRIVER( strxt_sp )
- DRIVER( term3 )
- DRIVER( term3_205 )
- DRIVER( t3new )
- DRIVER( term3g )
- DRIVER( term3l )
- DRIVER( term3l_205 )
- DRIVER( term3f )
- DRIVER( term3f_205 )
- DRIVER( term3i )
- DRIVER( term3i_205 )
- DRIVER( jplstw22 )
- DRIVER( jplstw20 )
- DRIVER( simpprty )
- DRIVER( simpprty_400 )
- DRIVER( simpprty_204 )
- DRIVER( simpnew )
- DRIVER( simpprtg )
- DRIVER( simpprtg_400 )
- DRIVER( simpprtl )
- DRIVER( simpprtl_400 )
- DRIVER( simpprtl_204 )
- DRIVER( simpprtf )
- DRIVER( simpprtf_400 )
- DRIVER( simpprtf_204 )
- DRIVER( simpprti )
- DRIVER( simpprti_400 )
- DRIVER( simpprti_204 )
- DRIVER( xfilesp )
- DRIVER( xfiles2 )
- DRIVER( twst_405 )
- DRIVER( twst_404 )
- DRIVER( twst_300 )
- DRIVER( viprsega )
- DRIVER( ctchzdlx )
- DRIVER( titanic )
- DRIVER( monopred )
- DRIVER( wackadoo )
-
-
- // white_mod.c
- DRIVER( elvisp )
- DRIVER( elvisp4 )
- DRIVER( elvisp303 )
- DRIVER( elvisp302 )
- DRIVER( elvisl )
- DRIVER( elvisl4 )
- DRIVER( elvisl303 )
- DRIVER( elvisl302 )
- DRIVER( elvisg )
- DRIVER( elvisg4 )
- DRIVER( elvisg303 )
- DRIVER( elvisg302 )
- DRIVER( elvisf )
- DRIVER( elvisf4 )
- DRIVER( elvisf303 )
- DRIVER( elvisf302 )
- DRIVER( elvisi )
- DRIVER( elvisi4 )
- DRIVER( elvisi303 )
- DRIVER( elvisi302 )
- DRIVER( gprix )
- DRIVER( gprix_400 )
- DRIVER( gprix_340 )
- DRIVER( gprix_301 )
- DRIVER( gprixg )
- DRIVER( gprixg_400 )
- DRIVER( gprixg_340 )
- DRIVER( gprixg_301 )
- DRIVER( gprixl )
- DRIVER( gprixl_400 )
- DRIVER( gprixl_340 )
- DRIVER( gprixl_301 )
- DRIVER( gprixf )
- DRIVER( gprixf_400 )
- DRIVER( gprixf_340 )
- DRIVER( gprixf_301 )
- DRIVER( gprixi )
- DRIVER( gprixi_400 )
- DRIVER( gprixi_340 )
- DRIVER( gprixi_301 )
- DRIVER( nascar )
- DRIVER( nascar_400 )
- DRIVER( nascar_350 )
- DRIVER( nascar_340 )
- DRIVER( nascar_301 )
- DRIVER( nascarl )
- DRIVER( nascarl_400 )
- DRIVER( nascarl_340 )
- DRIVER( nascarl_301 )
- DRIVER( ripleys )
- DRIVER( rip310 )
- DRIVER( rip302 )
- DRIVER( rip300 )
- DRIVER( ripleysf )
- DRIVER( ripf310 )
- DRIVER( ripf302 )
- DRIVER( ripf300 )
- DRIVER( ripleysg )
- DRIVER( ripg310 )
- DRIVER( ripg302 )
- DRIVER( ripg300 )
- DRIVER( ripleysi )
- DRIVER( ripi310 )
- DRIVER( ripi302 )
- DRIVER( ripi300 )
- DRIVER( ripleysl )
- DRIVER( ripl310 )
- DRIVER( ripl302 )
- DRIVER( ripl300 )
- DRIVER( lotr )
- DRIVER( lotr9 )
- DRIVER( lotr8 )
- DRIVER( lotr7 )
- DRIVER( lotr401 )
- DRIVER( lotr_le )
- DRIVER( lotr_sp )
- DRIVER( lotr_sp9 )
- DRIVER( lotr_sp8 )
- DRIVER( lotr_sp7 )
- DRIVER( lotr_sp401 )
- DRIVER( lotr_gr )
- DRIVER( lotr_gr9 )
- DRIVER( lotr_gr8 )
- DRIVER( lotr_gr7 )
- DRIVER( lotr_gr401 )
- DRIVER( lotr_fr )
- DRIVER( lotr_fr9 )
- DRIVER( lotr_fr8 )
- DRIVER( lotr_fr7 )
- DRIVER( lotr_fr401 )
- DRIVER( lotr_it )
- DRIVER( lotr_it9 )
- DRIVER( lotr_it8 )
- DRIVER( lotr_it7 )
- DRIVER( lotr_it401 )
- DRIVER( sopranos )
- DRIVER( sopranos_300 )
- DRIVER( sopranos_204 )
- DRIVER( sopranog )
- DRIVER( sopranog_300 )
- DRIVER( sopranog_107 )
- DRIVER( sopranof )
- DRIVER( sopranof_300 )
- DRIVER( sopranof_107 )
- DRIVER( sopranol )
- DRIVER( sopranol_300 )
- DRIVER( sopranol_107 )
- DRIVER( sopranoi )
- DRIVER( sopranoi_300 )
- DRIVER( sopranoi_107 )
-
-
- // wico.c
- DRIVER( aftor )
-
-
- // wpc_95.c
- DRIVER( tf95_12 )
- DRIVER( afm_113 )
- DRIVER( afm_113b )
- DRIVER( afm_11 )
- DRIVER( afm_11u )
- DRIVER( afm_10 )
- DRIVER( cc_12 )
- DRIVER( cc_13 )
- DRIVER( cv_14 )
- DRIVER( cv_20h )
- DRIVER( cv_10 )
- DRIVER( cv_11 )
- DRIVER( cv_13 )
- DRIVER( congo_21 )
- DRIVER( congo_20 )
- DRIVER( jy_12 )
- DRIVER( jy_11 )
- DRIVER( jy_03 )
- DRIVER( mm_10 )
- DRIVER( mm_10u )
- DRIVER( mm_109 )
- DRIVER( mm_109b )
- DRIVER( mm_109c )
- DRIVER( mm_05 )
- DRIVER( mb_10 )
- DRIVER( mb_106 )
- DRIVER( mb_106b )
- DRIVER( nbaf_31 )
- DRIVER( nbaf_31a )
- DRIVER( nbaf_11s )
- DRIVER( nbaf_11 )
- DRIVER( nbaf_11a )
- DRIVER( nbaf_115 )
- DRIVER( nbaf_21 )
- DRIVER( nbaf_22 )
- DRIVER( nbaf_23 )
- DRIVER( ngg_13 )
- DRIVER( ngg_p06 )
- DRIVER( ngg_10 )
- DRIVER( sc_18 )
- DRIVER( sc_18n )
- DRIVER( sc_18s2 )
- DRIVER( sc_17 )
- DRIVER( sc_17n )
- DRIVER( sc_14 )
- DRIVER( ss_15 )
- DRIVER( ss_14 )
- DRIVER( ss_12 )
- DRIVER( ss_03 )
- DRIVER( totan_14 )
- DRIVER( totan_13 )
- DRIVER( totan_12 )
- DRIVER( totan_04 )
- DRIVER( cp_16 )
- DRIVER( cp_15 )
- DRIVER( ttt_10 )
-
-
- // wpc_an.c
- DRIVER( tfa_13 )
- DRIVER( dd_p7 )
- DRIVER( dd_p06 )
- DRIVER( fh_l9 )
- DRIVER( fh_l9b )
- DRIVER( fh_905h )
- DRIVER( fh_l3 )
- DRIVER( fh_l4 )
- DRIVER( fh_l5 )
- DRIVER( hd_l3 )
- DRIVER( hd_l1 )
- DRIVER( bop_l7 )
- DRIVER( bop_l6 )
- DRIVER( bop_l5 )
- DRIVER( bop_l4 )
- DRIVER( bop_l3 )
- DRIVER( bop_l2 )
-
-
- // wpc_dcs.c
- DRIVER( dm_lx4 )
- DRIVER( dm_pa2 )
- DRIVER( dm_px5 )
- DRIVER( dm_la1 )
- DRIVER( dm_lx3 )
- DRIVER( dm_h5 )
- DRIVER( dm_h6 )
- DRIVER( ij_l7 )
- DRIVER( ij_lg7 )
- DRIVER( ij_l6 )
- DRIVER( ij_l5 )
- DRIVER( ij_l4 )
- DRIVER( ij_l3 )
- DRIVER( jd_l7 )
- DRIVER( jd_l1 )
- DRIVER( jd_l6 )
- DRIVER( pop_lx5 )
- DRIVER( pop_pa3 )
- DRIVER( sttng_l7 )
- DRIVER( sttng_x7 )
- DRIVER( sttng_p5 )
- DRIVER( sttng_s7 )
- DRIVER( sttng_g7 )
- DRIVER( sttng_l1 )
- DRIVER( sttng_l2 )
- DRIVER( afv_l4 )
-
-
- // wpc_dot.c
- DRIVER( tfdmd_l3 )
- DRIVER( gi_l9 )
- DRIVER( gi_l3 )
- DRIVER( gi_l4 )
- DRIVER( gi_l6 )
- DRIVER( hshot_p8 )
- DRIVER( hurr_l2 )
- DRIVER( pz_f4 )
- DRIVER( pz_l1 )
- DRIVER( pz_l2 )
- DRIVER( pz_l3 )
- DRIVER( sf_l1 )
- DRIVER( t2_l8 )
- DRIVER( t2_l6 )
- DRIVER( t2_p2f )
- DRIVER( t2_l4 )
- DRIVER( t2_l3 )
- DRIVER( t2_l2 )
-
-
- // wpc_flip1.c
- DRIVER( taf_l5 )
- DRIVER( taf_p2 )
- DRIVER( taf_l1 )
- DRIVER( taf_l2 )
- DRIVER( taf_l3 )
- DRIVER( taf_l4 )
- DRIVER( taf_l7 )
- DRIVER( taf_l6 )
- DRIVER( taf_h4 )
-
-
- // wpc_flip2.c
- DRIVER( br_l4 )
- DRIVER( br_p17 )
- DRIVER( br_l1 )
- DRIVER( br_l3 )
- DRIVER( drac_l1 )
- DRIVER( drac_p11 )
- DRIVER( cftbl_l3 )
- DRIVER( cftbl_l4 )
- DRIVER( dw_l2 )
- DRIVER( dw_l1 )
- DRIVER( dw_p5 )
- DRIVER( ft_l5 )
- DRIVER( ft_l3 )
- DRIVER( ft_l4 )
- DRIVER( ft_p4 )
- DRIVER( tafg_lx3 )
- DRIVER( tafg_h3 )
- DRIVER( tafg_la2 )
- DRIVER( tafg_la3 )
- DRIVER( gw_l5 )
- DRIVER( gw_pc )
- DRIVER( gw_l1 )
- DRIVER( gw_l2 )
- DRIVER( gw_l3 )
- DRIVER( gw_p7 )
- DRIVER( tz_92 )
- DRIVER( tz_94h )
- DRIVER( tz_94ch )
- DRIVER( tz_pa1 )
- DRIVER( tz_p3 )
- DRIVER( tz_p4 )
- DRIVER( tz_l1 )
- DRIVER( tz_l2 )
- DRIVER( tz_ifpa )
- DRIVER( tz_l3 )
- DRIVER( tz_l4 )
- DRIVER( tz_h7 )
- DRIVER( tz_h8 )
- DRIVER( ww_l5 )
- DRIVER( ww_lh6 )
- DRIVER( ww_lh5 )
- DRIVER( ww_l4 )
- DRIVER( ww_l3 )
- DRIVER( ww_l2 )
- DRIVER( ww_p8 )
- DRIVER( ww_p1 )
- DRIVER( strik_l4 )
- DRIVER( lc_11 )
-
-
- // wpc_s.c
- DRIVER( corv_21 )
- DRIVER( corv_px4 )
- DRIVER( corv_lx1 )
- DRIVER( dh_lx2 )
- DRIVER( i500_11r )
- DRIVER( i500_11b )
- DRIVER( jb_10r )
- DRIVER( jb_10b )
- DRIVER( jm_12r )
- DRIVER( jm_12b )
- DRIVER( nf_23x )
- DRIVER( nf_23 )
- DRIVER( nf_23f )
- DRIVER( nf_22 )
- DRIVER( nf_20 )
- DRIVER( rs_l6 )
- DRIVER( rs_la5 )
- DRIVER( rs_lx5 )
- DRIVER( rs_la4 )
- DRIVER( rs_lx4 )
- DRIVER( rs_lx3 )
- DRIVER( rs_lx2 )
- DRIVER( fs_lx5 )
- DRIVER( fs_lx2 )
- DRIVER( fs_sp2 )
- DRIVER( fs_lx4 )
- DRIVER( ts_lx5 )
- DRIVER( ts_lh6 )
- DRIVER( ts_lx4 )
- DRIVER( ts_la4 )
- DRIVER( ts_la2 )
- DRIVER( ts_pa1 )
- DRIVER( ts_lf6 )
- DRIVER( ts_lm6 )
- DRIVER( tom_13 )
- DRIVER( tom_14h )
- DRIVER( tom_12 )
- DRIVER( tom_06 )
- DRIVER( wd_12 )
- DRIVER( wd_12g )
- DRIVER( wd_11 )
- DRIVER( wd_10r )
- DRIVER( wd_10g )
- DRIVER( wd_10f )
- DRIVER( wd_03r )
- DRIVER( wd_048r )
- DRIVER( wcs_l2 )
- DRIVER( wcs_p2 )
- DRIVER( wcs_p3 )
- DRIVER( tfs_12 )
-
-
- // zac_1.c
- DRIVER( ewf )
- DRIVER( firemntn )
- DRIVER( futurwld )
- DRIVER( hotwheel )
- DRIVER( hod )
- DRIVER( locomotp )
- DRIVER( strapids )
- DRIVER( sshtlzac )
- DRIVER( stargod )
- DRIVER( stargoda )
- DRIVER( wsports )
-
-
- // zac_2.c
- DRIVER( bbeltzac )
- DRIVER( clown )
- DRIVER( dvlrider )
- DRIVER( dvlrideri )
- DRIVER( dvlriderg )
- DRIVER( farfalla )
- DRIVER( farfallai )
- DRIVER( farfallag )
- DRIVER( mcastle )
- DRIVER( mcastlei )
- DRIVER( mcastleg )
- DRIVER( mcastlef )
- DRIVER( mexico )
- DRIVER( nstrphnx )
- DRIVER( pinchamp )
- DRIVER( pinchampg )
- DRIVER( pinchampi )
- DRIVER( pinchamp7 )
- DRIVER( pinchamp7g )
- DRIVER( pinchamp7i )
- DRIVER( poolcham )
- DRIVER( poolchami )
- DRIVER( poolchama )
- DRIVER( robot )
- DRIVER( roboti )
- DRIVER( robotg )
- DRIVER( robotf )
- DRIVER( scram_tp )
- DRIVER( socrking )
- DRIVER( socrkingi )
- DRIVER( socrkingg )
- DRIVER( spookyp )
- DRIVER( spookyi )
- DRIVER( strsphnx )
- DRIVER( tmachzac )
- DRIVER( tmachzacg )
- DRIVER( tmachzacf )
- DRIVER( zankor )
-
-
- // zac_proto.c
- DRIVER( skijump )
- DRIVER( spacecty )
- DRIVER( strike )
-
-
-#endif /* DRIVER_RECURSIVE */
diff --git a/src/mame/tiny.c b/src/mame/tiny.c
deleted file mode 100644
index 8aa2a10eb5b..00000000000
--- a/src/mame/tiny.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/******************************************************************************
-
- tiny.c
-
- mamedriv.c substitute file for "tiny" MAME builds.
-
- Copyright Nicola Salmoria and the MAME Team.
- Visit http://mamedev.org for licensing and usage restrictions.
-
- The list of used drivers. Drivers have to be included here to be recognized
- by the executable.
-
- To save some typing, we use a hack here. This file is recursively #included
- twice, with different definitions of the DRIVER() macro. The first one
- declares external references to the drivers; the second one builds an array
- storing all the drivers.
-
-******************************************************************************/
-
-#include "emu.h"
-
-#ifndef DRIVER_RECURSIVE
-
-#define DRIVER_RECURSIVE
-
-/* step 1: declare all external references */
-#define DRIVER(NAME) GAME_EXTERN(NAME);
-#include "tiny.c"
-
-/* step 2: define the drivers[] array */
-#undef DRIVER
-#define DRIVER(NAME) &GAME_NAME(NAME),
-const game_driver * const drivers[] =
-{
-#include "tiny.c"
- 0 /* end of array */
-};
-
-#else /* DRIVER_RECURSIVE */
-
- DRIVER( robby ) /* (c) 1981 Bally Midway */
- DRIVER( gridlee ) /* [1983 Videa] prototype - no copyright notice */
- DRIVER( alienar ) /* (c) 1985 Duncan Brown */
-
- DRIVER( carpolo ) /* (c) 1977 Exidy */
- DRIVER( sidetrac ) /* (c) 1979 Exidy */
- DRIVER( targ ) /* (c) 1980 Exidy */
- DRIVER( spectar ) /* (c) 1980 Exidy */
- DRIVER( teetert ) /* (c) 1982 Exidy */
- DRIVER( hardhat ) /* (c) 1982 */
- DRIVER( fax ) /* (c) 1983 */
- DRIVER( fax2 ) /* (c) 1983 */
- DRIVER( circus ) /* (c) 1977 Exidy */
- DRIVER( robotbwl ) /* (c) 197? Exidy */
- DRIVER( crash ) /* (c) 1979 Exidy */
- DRIVER( ripcord ) /* (c) 1979 Exidy */
- DRIVER( starfire ) /* (c) 1979 Exidy */
- DRIVER( starfirea ) /* (c) 1979 Exidy */
- DRIVER( fireone ) /* (c) 1979 Exidy */
- DRIVER( starfir2 ) /* (c) 1979 Exidy */
- DRIVER( victory ) /* (c) 1982 */
- DRIVER( victorba ) /* (c) 1982 */
- DRIVER( topgunnr ) /* (c) 1986 */
-
- DRIVER( looping ) /* (c) 1982 Video Games GMBH */
- DRIVER( supertnk ) /* (c) 1981 VIDEO GAMES GmbH, W.-GERMANY */
-
- DRIVER( wrally ) /* (c) 1993 - Ref 930705 */
-
-#endif /* DRIVER_RECURSIVE */
diff --git a/src/mame/tiny.lst b/src/mame/tiny.lst
new file mode 100644
index 00000000000..1261b88ed7b
--- /dev/null
+++ b/src/mame/tiny.lst
@@ -0,0 +1,68 @@
+/******************************************************************************
+
+ tiny.lst
+
+ List of all enabled drivers in the system. This file is parsed by
+ makelist.exe, sorted, and output as C code describing the drivers.
+
+****************************************************************************
+
+ Copyright Aaron Giles
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name 'MAME' nor the names of its contributors may be
+ used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY AARON GILES ''AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL AARON GILES BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+ IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+
+******************************************************************************/
+
+robby // (c) 1981 Bally Midway
+gridlee // [1983 Videa] prototype - no copyright notice
+alienar // (c) 1985 Duncan Brown
+
+carpolo // (c) 1977 Exidy
+sidetrac // (c) 1979 Exidy
+targ // (c) 1980 Exidy
+spectar // (c) 1980 Exidy
+teetert // (c) 1982 Exidy
+hardhat // (c) 1982
+fax // (c) 1983
+fax2 // (c) 1983
+circus // (c) 1977 Exidy
+robotbwl // (c) 197? Exidy
+crash // (c) 1979 Exidy
+ripcord // (c) 1979 Exidy
+starfire // (c) 1979 Exidy
+starfirea // (c) 1979 Exidy
+fireone // (c) 1979 Exidy
+starfir2 // (c) 1979 Exidy
+victory // (c) 1982
+victorba // (c) 1982
+topgunnr // (c) 1986
+
+looping // (c) 1982 Video Games GMBH
+supertnk // (c) 1981 VIDEO GAMES GmbH, W.-GERMANY
+
+wrally // (c) 1993 - Ref 930705
diff --git a/src/mame/tiny.mak b/src/mame/tiny.mak
index 177b479604c..ee77e6f2e25 100644
--- a/src/mame/tiny.mak
+++ b/src/mame/tiny.mak
@@ -71,7 +71,6 @@ SOUNDS += CEM3394
#-------------------------------------------------
DRVLIBS = \
- $(MAMEOBJ)/tiny.o \
$(EMUDRIVERS)/emudummy.o \
$(MACHINE)/ticket.o \
$(DRIVERS)/carpolo.o $(MACHINE)/carpolo.o $(VIDEO)/carpolo.o \
diff --git a/src/osd/osdcore.h b/src/osd/osdcore.h
index 6f98828f4b3..b4d22bc3bfc 100644
--- a/src/osd/osdcore.h
+++ b/src/osd/osdcore.h
@@ -723,7 +723,7 @@ void osd_work_item_release(osd_work_item *item);
***************************************************************************/
/*-----------------------------------------------------------------------------
- osd_malloc: allocate memory that
+ osd_malloc: allocate memory
Parameters:
@@ -742,6 +742,26 @@ void *osd_malloc(size_t size);
/*-----------------------------------------------------------------------------
+ osd_malloc_array: allocate memory, hinting tha this memory contains an
+ array
+
+ Parameters:
+
+ size - the number of bytes to allocate
+
+ Return value:
+
+ a pointer to the allocated memory
+
+ Notes:
+
+ This is just a hook to do OS-specific allocation trickery.
+ It can be safely written as a wrapper to malloc().
+-----------------------------------------------------------------------------*/
+void *osd_malloc_array(size_t size);
+
+
+/*-----------------------------------------------------------------------------
osd_free: free memory allocated by osd_malloc
Parameters:
diff --git a/src/osd/osdmini/minimain.c b/src/osd/osdmini/minimain.c
index 69a3037bcb0..0e43ce3e0a6 100644
--- a/src/osd/osdmini/minimain.c
+++ b/src/osd/osdmini/minimain.c
@@ -93,10 +93,12 @@ static INT32 keyboard_get_state(void *device_internal, void *item_internal);
int main(int argc, char *argv[])
{
- // cli_execute does the heavy lifting; if we have osd-specific options, we
- // would pass them as the third parameter here
+ // cli_frontend does the heavy lifting; if we have osd-specific options, we
+ // create a derivative of cli_options and add our own
+ cli_options options;
mini_osd_interface osd;
- return cli_execute(argc, argv, osd, NULL);
+ cli_frontend frontend(options, osd);
+ return frontend.execute(argc, argv);
}
@@ -135,7 +137,7 @@ void mini_osd_interface::init(running_machine &machine)
// initialize the input system by adding devices
// let's pretend like we have a keyboard device
- keyboard_device = input_device_add(&machine, DEVICE_CLASS_KEYBOARD, "Keyboard", NULL);
+ keyboard_device = input_device_add(machine, DEVICE_CLASS_KEYBOARD, "Keyboard", NULL);
if (keyboard_device == NULL)
fatalerror("Error creating keyboard device");
diff --git a/src/osd/osdmini/minimisc.c b/src/osd/osdmini/minimisc.c
index 8d040b28e0e..1a4c3a33da6 100644
--- a/src/osd/osdmini/minimisc.c
+++ b/src/osd/osdmini/minimisc.c
@@ -44,7 +44,7 @@
//============================================================
-// osd_alloc
+// osd_malloc
//============================================================
void *osd_malloc(size_t size)
@@ -54,6 +54,16 @@ void *osd_malloc(size_t size)
//============================================================
+// osd_malloc_array
+//============================================================
+
+void *osd_malloc_array(size_t size)
+{
+ return malloc(size);
+}
+
+
+//============================================================
// osd_free
//============================================================
diff --git a/src/osd/sdl/draw13.c b/src/osd/sdl/draw13.c
index aa20f9ca2a6..b30d3fc2fc4 100644
--- a/src/osd/sdl/draw13.c
+++ b/src/osd/sdl/draw13.c
@@ -964,7 +964,7 @@ static texture_info *texture_create(sdl_window_info *window, const render_texinf
if ( (texture->copyinfo->func != NULL) && (texture->sdl_access == SDL_TEXTUREACCESS_STATIC))
{
- texture->pixels = osd_malloc(texture->setup.rotwidth * texture->setup.rotheight * texture->copyinfo->dst_bpp);
+ texture->pixels = osd_malloc_array(texture->setup.rotwidth * texture->setup.rotheight * texture->copyinfo->dst_bpp);
texture->pixels_own=TRUE;
}
/* add us to the texture list */
diff --git a/src/osd/sdl/sdldir.c b/src/osd/sdl/sdldir.c
index d70f81eb07c..b27711f0338 100644
--- a/src/osd/sdl/sdldir.c
+++ b/src/osd/sdl/sdldir.c
@@ -67,7 +67,7 @@ struct _osd_directory
static char *build_full_path(const char *path, const char *file)
{
- char *ret = (char *) osd_malloc(strlen(path)+strlen(file)+2);
+ char *ret = (char *) osd_malloc_array(strlen(path)+strlen(file)+2);
char *p = ret;
strcpy(p, path);
@@ -126,13 +126,13 @@ osd_directory *osd_opendir(const char *dirname)
dir->fd = NULL;
}
- tmpstr = (char *) osd_malloc(strlen(dirname)+1);
+ tmpstr = (char *) osd_malloc_array(strlen(dirname)+1);
strcpy(tmpstr, dirname);
if (tmpstr[0] == '$')
{
char *envval;
- envstr = (char *) osd_malloc(strlen(tmpstr)+1);
+ envstr = (char *) osd_malloc_array(strlen(tmpstr)+1);
strcpy(envstr, tmpstr);
@@ -149,7 +149,7 @@ osd_directory *osd_opendir(const char *dirname)
{
j = strlen(envval) + strlen(tmpstr) + 1;
osd_free(tmpstr);
- tmpstr = (char *) osd_malloc(j);
+ tmpstr = (char *) osd_malloc_array(j);
// start with the value of $HOME
strcpy(tmpstr, envval);
diff --git a/src/osd/sdl/sdlfile.c b/src/osd/sdl/sdlfile.c
index 3326c474746..d7fc70fce4b 100644
--- a/src/osd/sdl/sdlfile.c
+++ b/src/osd/sdl/sdlfile.c
@@ -115,7 +115,7 @@ file_error osd_open(const char *path, UINT32 openflags, osd_file **file, UINT64
tmpstr = NULL;
// allocate a file object, plus space for the converted filename
- *file = (osd_file *) osd_malloc(sizeof(**file) + sizeof(char) * strlen(path));
+ *file = (osd_file *) osd_malloc_array(sizeof(**file) + sizeof(char) * strlen(path));
if (*file == NULL)
{
filerr = FILERR_OUT_OF_MEMORY;
@@ -160,14 +160,14 @@ file_error osd_open(const char *path, UINT32 openflags, osd_file **file, UINT64
goto error;
}
- tmpstr = (char *) osd_malloc(strlen((*file)->filename)+1);
+ tmpstr = (char *) osd_malloc_array(strlen((*file)->filename)+1);
strcpy(tmpstr, (*file)->filename);
// does path start with an environment variable?
if (tmpstr[0] == '$')
{
char *envval;
- envstr = (char *) osd_malloc(strlen(tmpstr)+1);
+ envstr = (char *) osd_malloc_array(strlen(tmpstr)+1);
strcpy(envstr, tmpstr);
@@ -184,7 +184,7 @@ file_error osd_open(const char *path, UINT32 openflags, osd_file **file, UINT64
{
j = strlen(envval) + strlen(tmpstr) + 1;
osd_free(tmpstr);
- tmpstr = (char *) osd_malloc(j);
+ tmpstr = (char *) osd_malloc_array(j);
// start with the value of $HOME
strcpy(tmpstr, envval);
diff --git a/src/osd/sdl/sdlmain.c b/src/osd/sdl/sdlmain.c
index 747b881d060..e54de5bcf6b 100644
--- a/src/osd/sdl/sdlmain.c
+++ b/src/osd/sdl/sdlmain.c
@@ -348,7 +348,8 @@ int main(int argc, char *argv[])
{
sdl_osd_interface osd;
sdl_options options;
- res = cli_execute(options, osd, argc, argv);
+ cli_frontend frontend(options, osd);
+ res = frontend.execute(argc, argv);
}
#ifdef MALLOC_DEBUG
diff --git a/src/osd/sdl/sdlos_macosx.c b/src/osd/sdl/sdlos_macosx.c
index baa8ac2d167..c37eb8ad726 100644
--- a/src/osd/sdl/sdlos_macosx.c
+++ b/src/osd/sdl/sdlos_macosx.c
@@ -177,6 +177,20 @@ void *osd_malloc(size_t size)
//============================================================
+// osd_malloc_array
+//============================================================
+
+void *osd_malloc_array(size_t size)
+{
+#ifndef MALLOC_DEBUG
+ return malloc(size);
+#else
+#error "MALLOC_DEBUG not yet supported"
+#endif
+}
+
+
+//============================================================
// osd_free
//============================================================
@@ -277,7 +291,7 @@ char *osd_get_clipboard_text(void)
length = CFDataGetLength (data_ref);
range = CFRangeMake (0,length);
- result = (char *)osd_malloc (length+1);
+ result = (char *)osd_malloc_array (length+1);
if (result != NULL)
{
CFDataGetBytes (data_ref, range, (unsigned char *)result);
@@ -330,7 +344,7 @@ osd_directory_entry *osd_stat(const char *path)
// create an osd_directory_entry; be sure to make sure that the caller can
// free all resources by just freeing the resulting osd_directory_entry
- result = (osd_directory_entry *) osd_malloc(sizeof(*result) + strlen(path) + 1);
+ result = (osd_directory_entry *) osd_malloc_array(sizeof(*result) + strlen(path) + 1);
strcpy(((char *) result) + sizeof(*result), path);
result->name = ((char *) result) + sizeof(*result);
result->type = S_ISDIR(st.st_mode) ? ENTTYPE_DIR : ENTTYPE_FILE;
@@ -367,7 +381,7 @@ file_error osd_get_full_path(char **dst, const char *path)
}
else
{
- *dst = (char *)osd_malloc(strlen(path_buffer)+strlen(path)+3);
+ *dst = (char *)osd_malloc_array(strlen(path_buffer)+strlen(path)+3);
// if it's already a full path, just pass it through
if (path[0] == '/')
diff --git a/src/osd/sdl/sdlos_os2.c b/src/osd/sdl/sdlos_os2.c
index 97a0f8419ac..87512222db4 100644
--- a/src/osd/sdl/sdlos_os2.c
+++ b/src/osd/sdl/sdlos_os2.c
@@ -199,6 +199,20 @@ void *osd_malloc(size_t size)
//============================================================
+// osd_malloc_array
+//============================================================
+
+void *osd_malloc_array(size_t size)
+{
+#ifndef MALLOC_DEBUG
+ return malloc(size);
+#else
+#error "MALLOC_DEBUG not yet supported"
+#endif
+}
+
+
+//============================================================
// osd_free
//============================================================
@@ -258,7 +272,7 @@ osd_directory_entry *osd_stat(const char *path)
// create an osd_directory_entry; be sure to make sure that the caller can
// free all resources by just freeing the resulting osd_directory_entry
- result = (osd_directory_entry *) osd_malloc(sizeof(*result) + strlen(path)
+ result = (osd_directory_entry *) osd_malloc_array(sizeof(*result) + strlen(path)
1);
strcpy(((char *) result) + sizeof(*result), path);
result->name = ((char *) result) + sizeof(*result);
@@ -300,7 +314,7 @@ const char *osd_get_volume_name(int idx)
file_error osd_get_full_path(char **dst, const char *path)
{
- *dst = (char *)osd_malloc(CCHMAXPATH + 1);
+ *dst = (char *)osd_malloc_array(CCHMAXPATH + 1);
if (*dst == NULL)
return FILERR_OUT_OF_MEMORY;
diff --git a/src/osd/sdl/sdlos_unix.c b/src/osd/sdl/sdlos_unix.c
index 6d2d92032e5..c1ba9baeea5 100644
--- a/src/osd/sdl/sdlos_unix.c
+++ b/src/osd/sdl/sdlos_unix.c
@@ -93,6 +93,20 @@ void *osd_malloc(size_t size)
//============================================================
+// osd_malloc_array
+//============================================================
+
+void *osd_malloc_array(size_t size)
+{
+#ifndef MALLOC_DEBUG
+ return malloc(size);
+#else
+#error "MALLOC_DEBUG not yet supported"
+#endif
+}
+
+
+//============================================================
// osd_free
//============================================================
@@ -207,7 +221,7 @@ char *osd_get_clipboard_text(void)
/* return a copy & free original */
if (prop != NULL)
{
- result = (char *) osd_malloc(strlen((char *)prop)+1);
+ result = (char *) osd_malloc_array(strlen((char *)prop)+1);
strcpy(result, (char *)prop);
}
else
@@ -256,7 +270,7 @@ osd_directory_entry *osd_stat(const char *path)
// create an osd_directory_entry; be sure to make sure that the caller can
// free all resources by just freeing the resulting osd_directory_entry
- result = (osd_directory_entry *) osd_malloc(sizeof(*result) + strlen(path) + 1);
+ result = (osd_directory_entry *) osd_malloc_array(sizeof(*result) + strlen(path) + 1);
strcpy(((char *) result) + sizeof(*result), path);
result->name = ((char *) result) + sizeof(*result);
result->type = S_ISDIR(st.st_mode) ? ENTTYPE_DIR : ENTTYPE_FILE;
@@ -293,7 +307,7 @@ file_error osd_get_full_path(char **dst, const char *path)
}
else
{
- *dst = (char *)osd_malloc(strlen(path_buffer)+strlen(path)+3);
+ *dst = (char *)osd_malloc_array(strlen(path_buffer)+strlen(path)+3);
// if it's already a full path, just pass it through
if (path[0] == '/')
diff --git a/src/osd/sdl/sdlos_win32.c b/src/osd/sdl/sdlos_win32.c
index 31be832703b..2ffee467d11 100644
--- a/src/osd/sdl/sdlos_win32.c
+++ b/src/osd/sdl/sdlos_win32.c
@@ -180,36 +180,49 @@ void *osd_malloc(size_t size)
#ifndef MALLOC_DEBUG
return HeapAlloc(GetProcessHeap(), 0, size);
#else
- // add in space for the base pointer
+ // add in space for the size
size += sizeof(size_t);
- // small items just come from the heap
- void *result;
- if (size < GUARD_PAGE_THRESH)
- result = HeapAlloc(GetProcessHeap(), 0, size);
+ // basic objects just come from the heap
+ void *result = HeapAlloc(GetProcessHeap(), 0, size);
- // large items get guard pages
- else
- {
- // round the size up to a page boundary
- size_t rounded_size = ((size + sizeof(void *) + PAGE_SIZE - 1) / PAGE_SIZE) * PAGE_SIZE;
+ // store the size and return and pointer to the data afterward
+ *reinterpret_cast<size_t *>(result) = size;
+ return reinterpret_cast<UINT8 *>(result) + sizeof(size_t);
+#endif
+}
- // reserve that much memory, plus two guard pages
- void *page_base = VirtualAlloc(NULL, rounded_size + 2 * PAGE_SIZE, MEM_RESERVE, PAGE_NOACCESS);
- if (page_base == NULL)
- return NULL;
- // now allow access to everything but the first and last pages
- page_base = VirtualAlloc(reinterpret_cast<UINT8 *>(page_base) + PAGE_SIZE, rounded_size, MEM_COMMIT, PAGE_READWRITE);
- if (page_base == NULL)
- return NULL;
+//============================================================
+// osd_malloc_array
+//============================================================
- // work backwards from the page base to get to the block base
- result = GUARD_ALIGN_START ? page_base : (reinterpret_cast<UINT8 *>(page_base) + rounded_size - size);
- }
+void *osd_malloc_array(size_t size)
+{
+#ifndef MALLOC_DEBUG
+ return HeapAlloc(GetProcessHeap(), 0, size);
+#else
+ // add in space for the size
+ size += sizeof(size_t);
- // store the page_base at the start
- *reinterpret_cast<size_t *>(result) = size;
+ // round the size up to a page boundary
+ size_t rounded_size = ((size + sizeof(void *) + PAGE_SIZE - 1) / PAGE_SIZE) * PAGE_SIZE;
+
+ // reserve that much memory, plus two guard pages
+ void *page_base = VirtualAlloc(NULL, rounded_size + 2 * PAGE_SIZE, MEM_RESERVE, PAGE_NOACCESS);
+ if (page_base == NULL)
+ return NULL;
+
+ // now allow access to everything but the first and last pages
+ page_base = VirtualAlloc(reinterpret_cast<UINT8 *>(page_base) + PAGE_SIZE, rounded_size, MEM_COMMIT, PAGE_READWRITE);
+ if (page_base == NULL)
+ return NULL;
+
+ // work backwards from the page base to get to the block base
+ void *result = GUARD_ALIGN_START ? page_base : (reinterpret_cast<UINT8 *>(page_base) + rounded_size - size);
+
+ // store the size at the start with a flag indicating it has a guard page
+ *reinterpret_cast<size_t *>(result) = size | 0x80000000;
return reinterpret_cast<UINT8 *>(result) + sizeof(size_t);
#endif
}
@@ -226,14 +239,14 @@ void osd_free(void *ptr)
#else
size_t size = reinterpret_cast<size_t *>(ptr)[-1];
- // small items just get freed
- if (size < GUARD_PAGE_THRESH)
+ // if no guard page, just free the pointer
+ if ((size & 0x80000000) == 0)
HeapFree(GetProcessHeap(), 0, reinterpret_cast<UINT8 *>(ptr) - sizeof(size_t));
// large items need more care
else
{
- FPTR page_base = (reinterpret_cast<FPTR>(ptr) - sizeof(size_t)) & ~(PAGE_SIZE - 1);
+ ULONG_PTR page_base = (reinterpret_cast<ULONG_PTR>(ptr) - sizeof(size_t)) & ~(PAGE_SIZE - 1);
VirtualFree(reinterpret_cast<void *>(page_base - PAGE_SIZE), 0, MEM_RELEASE);
}
#endif
@@ -262,7 +275,7 @@ int osd_setenv(const char *name, const char *value, int overwrite)
if (osd_getenv(name) != NULL)
return 0;
}
- buf = (char *) osd_malloc(strlen(name)+strlen(value)+2);
+ buf = (char *) osd_malloc_array(strlen(name)+strlen(value)+2);
sprintf(buf, "%s=%s", name, value);
result = putenv(buf);
@@ -371,7 +384,7 @@ CHAR *astring_from_utf8(const char *utf8string)
// convert UTF-16 to "ANSI code page" string
char_count = WideCharToMultiByte(CP_ACP, 0, wstring, -1, NULL, 0, NULL, NULL);
- result = (CHAR *)osd_malloc(char_count * sizeof(*result));
+ result = (CHAR *)osd_malloc_array(char_count * sizeof(*result));
if (result != NULL)
WideCharToMultiByte(CP_ACP, 0, wstring, -1, result, char_count, NULL, NULL);
@@ -389,7 +402,7 @@ WCHAR *wstring_from_utf8(const char *utf8string)
// convert MAME string (UTF-8) to UTF-16
char_count = MultiByteToWideChar(CP_UTF8, 0, utf8string, -1, NULL, 0);
- result = (WCHAR *)osd_malloc(char_count * sizeof(*result));
+ result = (WCHAR *)osd_malloc_array(char_count * sizeof(*result));
if (result != NULL)
MultiByteToWideChar(CP_UTF8, 0, utf8string, -1, result, char_count);
diff --git a/src/osd/sdl/sdlwork.c b/src/osd/sdl/sdlwork.c
index 4edfcad6463..8959855cc51 100644
--- a/src/osd/sdl/sdlwork.c
+++ b/src/osd/sdl/sdlwork.c
@@ -183,7 +183,7 @@ osd_work_queue *osd_work_queue_alloc(int flags)
queue->threads = MIN(queue->threads, WORK_MAX_THREADS);
// allocate memory for thread array (+1 to count the calling thread)
- queue->thread = (work_thread_info *)osd_malloc((queue->threads + 1) * sizeof(queue->thread[0]));
+ queue->thread = (work_thread_info *)osd_malloc_array((queue->threads + 1) * sizeof(queue->thread[0]));
if (queue->thread == NULL)
goto error;
memset(queue->thread, 0, (queue->threads + 1) * sizeof(queue->thread[0]));
diff --git a/src/osd/sdl/strconv.c b/src/osd/sdl/strconv.c
index 1356b236600..771a302fa92 100644
--- a/src/osd/sdl/strconv.c
+++ b/src/osd/sdl/strconv.c
@@ -38,7 +38,7 @@ char *utf8_from_astring(const CHAR *astring)
// convert UTF-16 to MAME string (UTF-8)
char_count = WideCharToMultiByte(CP_UTF8, 0, wstring, -1, NULL, 0, NULL, NULL);
- result = (CHAR *)osd_malloc(char_count * sizeof(*result));
+ result = (CHAR *)osd_malloc_array(char_count * sizeof(*result));
if (result != NULL)
WideCharToMultiByte(CP_UTF8, 0, wstring, -1, result, char_count, NULL, NULL);
@@ -56,7 +56,7 @@ char *utf8_from_wstring(const WCHAR *wstring)
// convert UTF-16 to MAME string (UTF-8)
char_count = WideCharToMultiByte(CP_UTF8, 0, wstring, -1, NULL, 0, NULL, NULL);
- result = (char *)osd_malloc(char_count * sizeof(*result));
+ result = (char *)osd_malloc_array(char_count * sizeof(*result));
if (result != NULL)
WideCharToMultiByte(CP_UTF8, 0, wstring, -1, result, char_count, NULL, NULL);
diff --git a/src/osd/windows/strconv.c b/src/osd/windows/strconv.c
index 14cd614951e..0af5fe9c2a3 100644
--- a/src/osd/windows/strconv.c
+++ b/src/osd/windows/strconv.c
@@ -65,7 +65,7 @@ CHAR *astring_from_utf8(const char *utf8string)
// convert UTF-16 to "ANSI code page" string
char_count = WideCharToMultiByte(CP_ACP, 0, wstring, -1, NULL, 0, NULL, NULL);
- result = (CHAR *)osd_malloc(char_count * sizeof(*result));
+ result = (CHAR *)osd_malloc_array(char_count * sizeof(*result));
if (result != NULL)
WideCharToMultiByte(CP_ACP, 0, wstring, -1, result, char_count, NULL, NULL);
@@ -90,7 +90,7 @@ char *utf8_from_astring(const CHAR *astring)
// convert UTF-16 to MAME string (UTF-8)
char_count = WideCharToMultiByte(CP_UTF8, 0, wstring, -1, NULL, 0, NULL, NULL);
- result = (CHAR *)osd_malloc(char_count * sizeof(*result));
+ result = (CHAR *)osd_malloc_array(char_count * sizeof(*result));
if (result != NULL)
WideCharToMultiByte(CP_UTF8, 0, wstring, -1, result, char_count, NULL, NULL);
@@ -109,7 +109,7 @@ WCHAR *wstring_from_utf8(const char *utf8string)
// convert MAME string (UTF-8) to UTF-16
char_count = MultiByteToWideChar(CP_UTF8, 0, utf8string, -1, NULL, 0);
- result = (WCHAR *)osd_malloc(char_count * sizeof(*result));
+ result = (WCHAR *)osd_malloc_array(char_count * sizeof(*result));
if (result != NULL)
MultiByteToWideChar(CP_UTF8, 0, utf8string, -1, result, char_count);
@@ -128,7 +128,7 @@ char *utf8_from_wstring(const WCHAR *wstring)
// convert UTF-16 to MAME string (UTF-8)
char_count = WideCharToMultiByte(CP_UTF8, 0, wstring, -1, NULL, 0, NULL, NULL);
- result = (char *)osd_malloc(char_count * sizeof(*result));
+ result = (char *)osd_malloc_array(char_count * sizeof(*result));
if (result != NULL)
WideCharToMultiByte(CP_UTF8, 0, wstring, -1, result, char_count, NULL, NULL);
diff --git a/src/osd/windows/winalloc.c b/src/osd/windows/winalloc.c
deleted file mode 100644
index 0fcbee53fbd..00000000000
--- a/src/osd/windows/winalloc.c
+++ /dev/null
@@ -1,618 +0,0 @@
-//============================================================
-//
-// winalloc.c - Win32 memory allocation routines
-//
-//============================================================
-//
-// Copyright Aaron Giles
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or
-// without modification, are permitted provided that the
-// following conditions are met:
-//
-// * Redistributions of source code must retain the above
-// copyright notice, this list of conditions and the
-// following disclaimer.
-// * Redistributions in binary form must reproduce the
-// above copyright notice, this list of conditions and
-// the following disclaimer in the documentation and/or
-// other materials provided with the distribution.
-// * Neither the name 'MAME' nor the names of its
-// contributors may be used to endorse or promote
-// products derived from this software without specific
-// prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY AARON GILES ''AS IS'' AND
-// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-// FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-// EVENT SHALL AARON GILES BE LIABLE FOR ANY DIRECT,
-// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGE (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-// IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-//============================================================
-
-// standard windows headers
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <tchar.h>
-
-// MAME headers
-#include "osdcore.h"
-
-// undefine any redefines we have in the prefix
-#undef malloc
-#undef calloc
-#undef realloc
-
-
-
-//============================================================
-// CONSTANTS
-//============================================================
-
-#define OVERRIDE_STANDARD_CALLS (0)
-
-#define PAGE_SIZE 4096
-#define COOKIE_VAL 0x11335577
-
-// set this to 1 to align memory blocks to the start of a page;
-// otherwise, they are aligned to the end, thus catching array
-// overruns
-#define ALIGN_START 0
-
-// set this to 1 to record all mallocs and frees in the logfile
-#define LOG_CALLS 0
-
-#if LOG_CALLS
-#define LOG(x) do { if (LOG_CALLS) logerror x; } while (0)
-void CLIB_DECL logerror(const char *text,...);
-#else
-#define LOG(x)
-#endif
-
-
-//============================================================
-// TYPEDEFS
-//============================================================
-
-typedef struct _memory_entry memory_entry;
-struct _memory_entry
-{
- memory_entry * next;
- memory_entry * prev;
- size_t size;
- void * base;
- const char * file;
- int line;
- int id;
-};
-
-
-
-//============================================================
-// GLOBAL VARIABLES
-//============================================================
-
-int winalloc_in_main_code = FALSE;
-
-
-
-//============================================================
-// LOCAL VARIABLES
-//============================================================
-
-static memory_entry *alloc_list;
-static memory_entry *free_list;
-static int current_id;
-
-static CRITICAL_SECTION memory_lock;
-
-static UINT8 global_init_done = FALSE;
-static UINT8 use_malloc_tracking = FALSE;
-
-
-
-//============================================================
-// PROTOTYPES
-//============================================================
-
-static memory_entry *allocate_entry(void);
-static memory_entry *find_entry(void *pointer);
-static void free_entry(memory_entry *entry);
-
-static void global_init(void);
-
-
-
-//============================================================
-// INLINES
-//============================================================
-
-INLINE void global_init_if_not_done(void)
-{
- if (!global_init_done)
- {
- global_init_done = TRUE;
- global_init();
- }
-}
-
-
-INLINE void memory_lock_acquire(void)
-{
- EnterCriticalSection(&memory_lock);
-}
-
-
-INLINE void memory_lock_release(void)
-{
- LeaveCriticalSection(&memory_lock);
-}
-
-
-
-//============================================================
-// IMPLEMENTATION
-//============================================================
-
-//============================================================
-// malloc_file_line - debugging version of malloc which
-// accepts filename and line number
-//============================================================
-
-void *malloc_file_line(size_t size, const char *file, int line)
-{
- UINT8 *block_base;
- int id = current_id++;
-
- // perform global intialization if not already done
- global_init_if_not_done();
-
- // only proceed if enabled
- if (use_malloc_tracking)
- {
- UINT8 *page_base;
- size_t rounded_size;
- memory_entry *entry;
-
- // round the size up to a page boundary
- rounded_size = ((size + PAGE_SIZE - 1) / PAGE_SIZE) * PAGE_SIZE;
-
- // reserve that much memory, plus two guard pages
- page_base = (UINT8 *)VirtualAlloc(NULL, rounded_size + 2 * PAGE_SIZE, MEM_RESERVE, PAGE_NOACCESS);
- if (page_base == NULL)
- return NULL;
-
- // now allow access to everything but the first and last pages
- page_base = (UINT8 *)VirtualAlloc(page_base + PAGE_SIZE, rounded_size, MEM_COMMIT, PAGE_READWRITE);
- if (page_base == NULL)
- return NULL;
-
- // work backwards from the page base to get to the block base
- if (ALIGN_START)
- block_base = page_base;
- else
- block_base = page_base + rounded_size - size;
-
- // fill in the entry
- entry = allocate_entry();
- entry->size = size;
- entry->base = block_base;
- entry->file = file;
- entry->line = line;
- entry->id = id;
- }
- else
- {
- block_base = (UINT8 *)GlobalAlloc(GMEM_FIXED, size);
- }
-
- // logging
- if (file != NULL)
- LOG(("malloc #%06d size = %d (%s:%d)\n", id, size, file, line));
- else
- LOG(("malloc #%06d size = %d\n", id, size));
-
- return block_base;
-}
-
-
-//============================================================
-// malloc - override for the malloc() function
-//============================================================
-
-#if OVERRIDE_STANDARD_CALLS
-void *CLIB_DECL malloc(size_t size)
-{
- return malloc_file_line(size, NULL, 0);
-}
-#endif
-
-
-//============================================================
-// calloc_file_line - debugging version of calloc which
-// accepts filename and line number
-//============================================================
-
-void *calloc_file_line(size_t size, size_t count, const char *file, int line)
-{
- // first allocate the memory
- void *memory = malloc_file_line(size * count, file, line);
- if (memory == NULL)
- return NULL;
-
- // then memset it
- memset(memory, 0, size * count);
- return memory;
-}
-
-
-//============================================================
-// calloc - override for the calloc() function
-//============================================================
-
-#if OVERRIDE_STANDARD_CALLS
-void *CLIB_DECL calloc(size_t size, size_t count)
-{
- return calloc_file_line(size, count, NULL, 0);
-}
-#endif
-
-
-//============================================================
-// _calloc_crt - override for the _calloc_crt() function,
-// which is called by beginthreadex
-//============================================================
-
-#if OVERRIDE_STANDARD_CALLS
-void *CLIB_DECL _calloc_crt(size_t size, size_t count)
-{
- return calloc_file_line(size, count, NULL, 0);
-}
-#endif
-
-
-//============================================================
-// realloc_file_line - debugging version of realloc which
-// accepts filename and line number
-//============================================================
-
-void *realloc_file_line(void *memory, size_t size, const char *file, int line)
-{
- void *newmemory = NULL;
-
- // perform global intialization if not already done
- global_init_if_not_done();
-
- // only proceed if enabled
- if (use_malloc_tracking)
- {
- // if size is non-zero, we need to reallocate memory
- if (size != 0)
- {
- // allocate space for the new amount
- newmemory = malloc_file_line(size, file, line);
- if (newmemory == NULL)
- return NULL;
-
- // if we have an old pointer, copy it
- if (memory != NULL)
- {
- memory_entry *entry = find_entry(memory);
- if (entry == NULL)
- {
- if (winalloc_in_main_code)
- {
- fprintf(stderr, "Error: realloc a non-existant block (%s:%d)\n", file, line);
- osd_break_into_debugger("Error: realloc a non-existant block\n");
- }
- }
- else
- memcpy(newmemory, memory, (size < entry->size) ? size : entry->size);
- }
- }
-
- // if we have an original pointer, free it
- if (memory != NULL)
- free(memory);
- }
- else
- {
- if (memory != NULL)
- newmemory = (void *) GlobalReAlloc(memory, size, GMEM_MOVEABLE);
- else
- newmemory = (void *) GlobalAlloc(GMEM_FIXED, size);
- }
-
- return newmemory;
-}
-
-
-//============================================================
-// realloc - override for the realloc() function
-//============================================================
-
-#if OVERRIDE_STANDARD_CALLS
-void *CLIB_DECL realloc(void *memory, size_t size)
-{
- return realloc_file_line(memory, size, NULL, 0);
-}
-#endif
-
-
-//============================================================
-// free_file_line - debugging version of free which
-// accepts filename and line number
-//============================================================
-
-void CLIB_DECL free_file_line(void *memory, const char *file, int line)
-{
- memory_entry *entry;
-
- // allow NULL frees
- if (memory == NULL)
- return;
-
- // only proceed if enabled
- if (use_malloc_tracking)
- {
- // error if no entry found
- entry = find_entry(memory);
- if (entry == NULL)
- {
- if (winalloc_in_main_code)
- {
- fprintf(stderr, "Error: free a non-existant block\n");
- osd_break_into_debugger("Error: free a non-existant block");
- }
- return;
- }
- free_entry(entry);
-
- // free the memory
- VirtualFree((UINT8 *)memory - ((size_t)memory & (PAGE_SIZE-1)) - PAGE_SIZE, 0, MEM_RELEASE);
-
- LOG(("free #%06d size = %d\n", entry->id, entry->size));
- }
- else
- {
- GlobalFree(memory);
- }
-}
-
-
-//============================================================
-// free - override for the free() function
-//============================================================
-
-#if OVERRIDE_STANDARD_CALLS
-void CLIB_DECL free(void *memory)
-{
- free_file_line(memory, NULL, 0);
-}
-#endif
-
-
-//============================================================
-// _msize - internal MSVC routine that returns the size of
-// a memory block
-//============================================================
-
-#if OVERRIDE_STANDARD_CALLS
-size_t CLIB_DECL _msize(void *memory)
-{
- size_t result;
-
- // only proceed if enabled
- if (use_malloc_tracking)
- {
- memory_entry *entry = find_entry(memory);
- if (entry == NULL)
- {
- if (winalloc_in_main_code)
- {
- fprintf(stderr, "Error: msize a non-existant block\n");
- osd_break_into_debugger("Error: msize a non-existant block");
- }
- return 0;
- }
- result = entry->size;
- }
- else
- {
- result = GlobalSize(memory);
- }
- return result;
-}
-#endif
-
-
-//============================================================
-// check_unfreed_mem - called from the exit path of any
-// code that wants to check for unfreed memory
-//============================================================
-
-void check_unfreed_mem(void)
-{
- memory_entry *entry;
- int total = 0;
-
- // only valid if we are tracking
- if (use_malloc_tracking)
- {
- memory_lock_acquire();
-
- // check for leaked memory
- for (entry = alloc_list; entry; entry = entry->next)
- if (entry->file != NULL)
- {
- if (total == 0)
- fprintf(stderr, "--- memory leak warning ---\n");
- total += entry->size;
- fprintf(stderr, "allocation #%06d, %d bytes (%s:%d)\n", entry->id, entry->size, entry->file, (int)entry->line);
- }
-
- memory_lock_release();
-
- if (total > 0)
- fprintf(stderr, "a total of %d bytes were not free()'d\n", total);
- }
-}
-
-
-//============================================================
-// allocate_entry - allocate a new entry and link it into
-// the list of allocated memory
-//============================================================
-
-static memory_entry *allocate_entry(void)
-{
- memory_entry *entry;
-
- // always take the lock when allocating
- memory_lock_acquire();
-
- // if we're out of entries, allocate some more
- if (free_list == NULL)
- {
- int entries_per_page = PAGE_SIZE / sizeof(memory_entry);
-
- // allocate a new pages' worth of entry
- entry = (memory_entry *)VirtualAlloc(NULL, PAGE_SIZE, MEM_COMMIT, PAGE_READWRITE);
- if (entry == NULL)
- {
- memory_lock_release();
- fprintf(stderr, "Out of memory for malloc tracking!\n");
- exit(1);
- }
-
- // add all the entries to the list
- while (entries_per_page--)
- {
- entry->next = free_list;
- free_list = entry;
- entry++;
- }
- }
-
- // grab a free list entry
- entry = free_list;
- free_list = free_list->next;
-
- // add ourselves to the alloc list
- entry->next = alloc_list;
- if (entry->next)
- entry->next->prev = entry;
- entry->prev = NULL;
- alloc_list = entry;
-
- // release the lock when finished
- memory_lock_release();
-
- return entry;
-}
-
-
-//============================================================
-// find_entry - find a memory_object entry in the list that
-// contains the given pointer
-//============================================================
-
-static memory_entry *find_entry(void *pointer)
-{
- memory_entry *entry;
-
- // scan the list looking for a matching base
- if (pointer)
- {
- memory_lock_acquire();
-
- for (entry = alloc_list; entry; entry = entry->next)
- if (entry->base == pointer)
- break;
-
- memory_lock_release();
- return entry;
- }
- return NULL;
-}
-
-
-//============================================================
-// free_entry - free a memory_entry object
-//============================================================
-
-static void free_entry(memory_entry *entry)
-{
- memory_lock_acquire();
-
- // remove ourselves from the alloc list
- if (entry->prev)
- entry->prev->next = entry->next;
- else
- alloc_list = entry->next;
- if (entry->next)
- entry->next->prev = entry->prev;
-
- // add ourself to the free list
- entry->next = free_list;
- free_list = entry;
-
- memory_lock_release();
-}
-
-
-//============================================================
-// global_init - global initialization of memory variables
-//============================================================
-
-static void global_init(void)
-{
- TCHAR *envstring;
-
- // create the memory lock
- InitializeCriticalSection(&memory_lock);
-
- // determine if we enabled by default
- if (win_is_gui_application()) {
- use_malloc_tracking = FALSE;
- } else {
- use_malloc_tracking = TRUE;
- }
-
- // now allow overrides by the environment
- envstring = _tgetenv(_T("OSDDEBUGMALLOC"));
- if (envstring != NULL)
- use_malloc_tracking = (_ttoi(envstring) != 0);
-
-#ifdef PTR64
- // 64-bit builds also can allocate everything under 4GB, unless disabled
- envstring = _tgetenv(_T("OSDDEBUG4GB"));
- if (envstring == NULL || _ttoi(envstring) != 0)
- {
- INT8 allocshift;
-
- // loop from 256MB down to 4k (page size)
- for (allocshift = 8 + 20; allocshift >= 12; allocshift--)
- {
- // keep allocating address space at that size until we get something >4gb
- while ((UINT64)VirtualAlloc(NULL, (UINT64)1 << allocshift, MEM_RESERVE, PAGE_NOACCESS) < ((UINT64)1 << 32)) ;
- }
-
- // loop from 64k down
- for (allocshift = 6 + 10; allocshift >= 1; allocshift--)
- {
- // keep allocating memory until we get something >4gb
- while ((UINT64)GlobalAlloc(GMEM_FIXED, (UINT64)1 << allocshift) < ((UINT64)1 << 32)) ;
- }
- }
-#endif
-}
diff --git a/src/osd/windows/winmain.c b/src/osd/windows/winmain.c
index 8ffb2a29a05..fc3ca77ae69 100644
--- a/src/osd/windows/winmain.c
+++ b/src/osd/windows/winmain.c
@@ -418,7 +418,8 @@ int main(int argc, char *argv[])
{
windows_options options;
windows_osd_interface osd;
- result = cli_execute(options, osd, argc, argv);
+ cli_frontend frontend(options, osd);
+ frontend.execute(argc, argv);
}
// free symbols
diff --git a/src/osd/windows/winmisc.c b/src/osd/windows/winmisc.c
index 63d8642b8fb..c83613a5e37 100644
--- a/src/osd/windows/winmisc.c
+++ b/src/osd/windows/winmisc.c
@@ -45,7 +45,7 @@
#include <tchar.h>
// MAME headers
-#include "emucore.h"
+#include "osdcore.h"
// MAMEOS headers
#include "winutf8.h"
@@ -60,9 +60,6 @@
// presumed size of a page of memory
#define PAGE_SIZE 4096
-// allocations this size and larger get guard pages
-#define GUARD_PAGE_THRESH 32
-
// align allocations to start or end of the page?
#define GUARD_ALIGN_START 0
@@ -85,36 +82,49 @@ void *osd_malloc(size_t size)
#ifndef MALLOC_DEBUG
return HeapAlloc(GetProcessHeap(), 0, size);
#else
- // add in space for the base pointer
+ // add in space for the size
size += sizeof(size_t);
- // small items just come from the heap
- void *result;
- if (size < GUARD_PAGE_THRESH)
- result = HeapAlloc(GetProcessHeap(), 0, size);
+ // basic objects just come from the heap
+ void *result = HeapAlloc(GetProcessHeap(), 0, size);
- // large items get guard pages
- else
- {
- // round the size up to a page boundary
- size_t rounded_size = ((size + sizeof(void *) + PAGE_SIZE - 1) / PAGE_SIZE) * PAGE_SIZE;
+ // store the size and return and pointer to the data afterward
+ *reinterpret_cast<size_t *>(result) = size;
+ return reinterpret_cast<UINT8 *>(result) + sizeof(size_t);
+#endif
+}
- // reserve that much memory, plus two guard pages
- void *page_base = VirtualAlloc(NULL, rounded_size + 2 * PAGE_SIZE, MEM_RESERVE, PAGE_NOACCESS);
- if (page_base == NULL)
- return NULL;
- // now allow access to everything but the first and last pages
- page_base = VirtualAlloc(reinterpret_cast<UINT8 *>(page_base) + PAGE_SIZE, rounded_size, MEM_COMMIT, PAGE_READWRITE);
- if (page_base == NULL)
- return NULL;
+//============================================================
+// osd_malloc_array
+//============================================================
- // work backwards from the page base to get to the block base
- result = GUARD_ALIGN_START ? page_base : (reinterpret_cast<UINT8 *>(page_base) + rounded_size - size);
- }
+void *osd_malloc_array(size_t size)
+{
+#ifndef MALLOC_DEBUG
+ return HeapAlloc(GetProcessHeap(), 0, size);
+#else
+ // add in space for the size
+ size += sizeof(size_t);
- // store the page_base at the start
- *reinterpret_cast<size_t *>(result) = size;
+ // round the size up to a page boundary
+ size_t rounded_size = ((size + sizeof(void *) + PAGE_SIZE - 1) / PAGE_SIZE) * PAGE_SIZE;
+
+ // reserve that much memory, plus two guard pages
+ void *page_base = VirtualAlloc(NULL, rounded_size + 2 * PAGE_SIZE, MEM_RESERVE, PAGE_NOACCESS);
+ if (page_base == NULL)
+ return NULL;
+
+ // now allow access to everything but the first and last pages
+ page_base = VirtualAlloc(reinterpret_cast<UINT8 *>(page_base) + PAGE_SIZE, rounded_size, MEM_COMMIT, PAGE_READWRITE);
+ if (page_base == NULL)
+ return NULL;
+
+ // work backwards from the page base to get to the block base
+ void *result = GUARD_ALIGN_START ? page_base : (reinterpret_cast<UINT8 *>(page_base) + rounded_size - size);
+
+ // store the size at the start with a flag indicating it has a guard page
+ *reinterpret_cast<size_t *>(result) = size | 0x80000000;
return reinterpret_cast<UINT8 *>(result) + sizeof(size_t);
#endif
}
@@ -131,14 +141,14 @@ void osd_free(void *ptr)
#else
size_t size = reinterpret_cast<size_t *>(ptr)[-1];
- // small items just get freed
- if (size < GUARD_PAGE_THRESH)
+ // if no guard page, just free the pointer
+ if ((size & 0x80000000) == 0)
HeapFree(GetProcessHeap(), 0, reinterpret_cast<UINT8 *>(ptr) - sizeof(size_t));
// large items need more care
else
{
- FPTR page_base = (reinterpret_cast<FPTR>(ptr) - sizeof(size_t)) & ~(PAGE_SIZE - 1);
+ ULONG_PTR page_base = (reinterpret_cast<ULONG_PTR>(ptr) - sizeof(size_t)) & ~(PAGE_SIZE - 1);
VirtualFree(reinterpret_cast<void *>(page_base - PAGE_SIZE), 0, MEM_RELEASE);
}
#endif